AI Agent 入门指南
一、大模型 Agent 介绍
LLM-Based Agent 最开始的定义来自于以下概念图,该图展示了 LLM-Based Agent 的关键要素 Memory、Tools、Planning、Action。

虽然上述图表涵盖了关键要素,但各模块功能定义不够清晰。这里参考其他论文中的框架图进行说明:

(一)Profile 模块
定义和管理 Agent 角色的特性和行为。以强化学习里面的 AC 算法为例,Actor 和 Critic 就是不同的 Agent。
它包含一系列参数和规则,描述了 Agent 的各种属性,如角色、目标、能力、知识和行为方式等。这些属性决定了 Agent 如何与环境交互,如何理解和响应任务,以及如何进行决策和规划。
Agent 角色生成有 3 种常用的方式,包括手工生成、LLM 生成方法、数据集对齐方法:
- 手工生成方法:手动指定 Agent 配置文件,利用大语言模型 + Prompt 设置 Agent。例如,如果一个人想设计具有不同个性的 Agent,他可以使用'你是一个外向的人'或'你是一个内向的人'来描述 Agent。这种场景如果需要生成很多 Agent,效率比较低下。
- LLM 生成方法:首先设定 Agent 的组成规则,明确目标 Agent 应具备的属性;然后指定几个手工创建的种子配置文件作为示例;最后利用语言模型的 Self-Instruct 能力生成大量 Agent 配置文件。
- 数据集对齐方法:是从真实世界的人口数据集中获取 Agent 的配置文件信息,比如通过抽取人口调查数据组织成自然语言描述。这样可以使 Agent 行为更真实可信,准确反映真实人口的属性分布。
(二)Memory 模块
存储和组织从环境中获取的信息,以指导未来行动。和强化学习 DQN 里面的经验池功能类似。
内存模块通常包含短期记忆和长期记忆两个部分。短期记忆暂存最近的感知,长期记忆存储重要信息供随时检索。
格式上,内存信息可以用自然语言表达,也可以编码为向量嵌入提高检索效率。还可以利用数据库存储,或组织为结构化列表表示内存语义。
操作上,主要通过记忆读取、写入和反射三种机制与环境交互。读取提取相关信息指导行动,写入存储重要信息,反射总结见解提升抽象水平。反射这个操作有点类似于强化学习里面的优先级经验采样,只不过优先级经验采样是从经验池中挑选数据,反射是对所有的记忆进行抽象。
(三)Planning 模块
帮助 Agent 将复杂的任务分解为更易处理的子任务,并制定出有效的策略。
它大致分为两种类型,一种是不依赖反馈的计划,另一种则是基于反馈的计划。反馈类似于强化学习里面的 Reward。
- 不依赖反馈的计划在制定过程中并不参考任务执行后的反馈,它有几种常用的策略。比如单路径推理,它按照级联的方式,一步一步地生成计划。另外,还有多路径推理,它会生成多个备选的计划路径,形成树状或图状的结构。当然,我们也可以利用外部的规划器进行快速搜索,以找出最优的计划。
- 基于反馈的计划,它会根据任务执行后的反馈来调整计划,这种方式更适合需要进行长期规划的情况。反馈的来源可能来自任务执行结果的客观反馈,也可能是根据人的主观判断给出的反馈,也可能是根据其他 Agent 给出的反馈,甚至还可以是由辅助模型提供的反馈。由辅助模型提供的反馈类似于强化学习里面的 Reward Modeling。
(四)Action 模块
将抽象的决策转化为具体的行动。这个就和强化学习的 Action 是类似的。
在执行任务时,需要考虑行动的目标、生成方式、应用范围以及可能产生的影响。
理想的行动应当是有目的的,例如完成特定任务、与其他代理进行交流或者探索环境。行动的产生可以依赖于查询过去的记忆经验,或者遵循预设的计划。而行动的范围,不仅可以通过利用如 API 和知识库等外部工具来扩展,还需要发挥大型语言模型(LLM)的内在能力,例如规划、对话及理解常识等。





