当前位置: 首页 > news >正文

李宏毅《机器学习2025》笔记 第二讲 —— AI Agent

一、定义

        AI Agent有很多定义,本堂课指的是人类给出目标后可以自己想办法完成该目标的人工智能。

二、原理

        AI Agent通过不断观察环境然后做出动作来达成目标。

1. RL

        使用RL训练的模型可以完成某一个特定的任务,这可以看作一个AI Agent. 但是做不同的任务需要不同的模型,不通用。

2. LLM

        当大模型出现后,人们开始研究使用LLM实现AI Agent. 将环境通过文字描述输入给LLM,LLM输出要进行的动作。

        使用LLM打造AI Agent 可以使其更加通用,并且LLM可以从环境中获取更多的资讯,而不像RL只是从环境中获取一个不好量化的Reward.

三、关键能力

1. 根据经验调整行为

        AI Agent第一个关键的能力是根据经验调整行为。例如当让AI写一个程序,结果报错了,将错误信息交给AI它要能正确的改正错误。

        但是在AI运行的过程中会有许多记忆,如果每次都回忆全部记忆,效果反而会不好。

        1)Read模组

        为了有目的的回忆,可以打造一个Read模组,让Read模组从记忆中提取与问题相关的讯息。这和RAG很类似,只不过RAG是从外部资料库中检索,而Read模组是从自己的记忆中检索。

2)Write模组

        当过去的经历很长的时候,将这些记忆全部存储到Memory中就会被塞满,而且大多数是无关紧要的小事,所以需要打造一个Write模组每次互动后决定这次的经历是否需要被记忆下来存入Memory. (在chatGPT中有些对话内容就会被记忆下来,可以在个人设置的记忆中管理)。

3)Reflection模组

        就像人类会对记忆进行加工处理一样,AI Agent也可以对记忆进行更高层的抽象处理,发现记忆之间的关联,并做一定的推理,使其更容易被使用。这可以通过Reflection模组实现,现在通常将咨询整理为知识图谱 (Knowledge Graph)。

2. 使用工具

        就像人类使用工具一样,AI也可以使用工具。而语言模型使用工具通常被称为Function Call.

1)如何使用工具

        使用工具的方法有很多,可以专门训练一个使用工具的模型,也可以通过 prompt 教语言模型使用工具,比如设置特定的标签来调用工具和得到输出。

        而具体的标签和工具调用之间的桥梁需要在模型中提前设定好,不让使用者知道。

2)工具很多怎么办

        当工具非常多的时候,也可以和前面记忆提取的Read模组一样,使用一个Tool Selection模组根据当前环境和问题对工具进行选择,然后只将选出的工具的使用描述丢给语言模型。另外现在的LLM是有写程序的能力的,所以完全可以让LLM自己写一个工具出来,放入到自己的工具包中。

3)识别工具的错误

        AI也是人类的工具,就像AI会犯错一样,AI使用的工具也会犯错,而目前的AI已经有一定识别错误的能力了。另外对于什么样的外部信息更容易说服AI,有实验表明AI更倾向于AI同类的话、MetaData更新的信息。

        另外就算工具没有出错,AI也不一定会给出正确答案,如介绍李宏毅,有两个同名的人,AI可能会弄混。

3. 做计划

        人类在完成一个复杂的任务前通常会先做计划,这样可以使任务完成得更好,Agent也是如此。当要Agent完成一项任务时,可以先叫他做计划,这样可以使Agent做得更好。

        然而计划常常跟不上变化,所以Agent需要有随机应变的能力,可以采取的方法有每一次获得observation后都重新根据目前状况做一次plan. 不过现在的语言模型做计划的能力并不强,所以需要采取一些方法增强其计划能力。

1)遍历解空间树

        可以通过采取实际行动遍历解空间树来找出正确的计划,如一开始有三个action可以选择,那么都尝试一遍,分别得到对应obs,再在不同obs下采取不同行动,看最终哪一条路径可以成功,则选择这条路径。

        然而这种暴力搜索方法对算力要求太高,可以采取剪枝,每当到达一个obs时让语言模型自问自答:“到达这个状态了还有成功的机会吗?”,如果有则继续,没有则回溯。

        但是实际上很多行为是不可逆的,比如让Agent订披萨,在他尝试订了一家披萨之后想回溯就不能退货了,所以对解空间树的搜索需要放在 “脑内小剧场” 中进行,在 “脑内小剧场” 中通过 “World Model” 来模拟和环境的互动。

        目前先进的大模型都有推理 (Reasoning) 功能,可以输出他的推理过程,而这些推理过程就是他的脑内小剧场。

http://www.xdnf.cn/news/636157.html

相关文章:

  • Dubbo与OpenFeign的区别
  • Apache 高级配置实战:从连接保持到日志分析的完整指南
  • 用python实现中国象棋
  • Tool-Star新突破!RL赋能LLM多工具协同推理,性能全面超越基线方法
  • Linux的进程控制
  • 基于RedisBloom的JWT黑名单管理方案
  • 【2025】ubuntu22.04 docker安装全过程
  • Odoo 前端开发框架技术全面解析
  • Odoo: Owl Props 深度解析技术指南
  • Linux操作系统之进程(三):进程优先级与进程切换调度
  • npm幻影依赖问题
  • npm修改镜像的教程,将npm镜像修改为国内地址增加下载速度
  • SpringBoot-11-基于注解和XML方式的SpringBoot应用场景对比
  • 【微服务】SpringBoot 对接飞书审批流程使用详解
  • [Excel VBA]如何製作買三送一優惠條件的POS結帳介面?
  • 论文阅读笔记——Janus,Janus Pro
  • java高级 -Junit单元测试
  • JVM八股速查
  • MySQL的索引
  • leetcode2081. k 镜像数字的和-hard
  • 1.altium designer16 软件安装
  • 【短距离通信】【WiFi】WiFi7关键技术之4096-QAM、MRU
  • 深度图数据增强-形态学腐蚀操作
  • 历年哈尔滨工业大学(深圳)保研上机真题
  • MySQL-----表的操作
  • 【b站计算机拓荒者】【2025】微信小程序开发教程 - chapter3 项目实践 -1 项目功能描述
  • 代码随想录第43天:图论4(最小生成树、拓扑排序)
  • python学习打卡day36
  • 【node.js】node.js 安装详细步骤教程【安装在D盘】
  • Vite 构建原理 的深度解析