近期一直在学习 agent 相关的内容,整理了一些笔记,在这里记录下来(后继会持续补充,因为 agent 相关的理论和技术迭代的很快)
组成

在我看来: agent = llm + 工具系统 + 记忆系统
- llm: agent 的大脑,负责决策和规划
- tool: agent 的工具箱,提供各种能力,如搜索、计算、调用 API 等, mcp, skill, tool 在我看来是同一个概念的不同叫法
- tool
- mcp
- skill
- memory: agent 的记忆系统,记录历史交互和状态信息
- rag: rag 也是为了增强 llm 的能力而设计的,可以看做是上下文工程的一种实现方式,这种方式是将数据保存到专门的数据库中,但记忆也可以保存在本地文件中
agent 架构
react
plan-act
reflection
观测和评估
如何评估 agent 的表现? 目前看到的评估方式主要有两种:
- 观测 agent 的行为,看看它是否能够正确地调用工具,是否能够合理地规划和决策
- 评估 agent 的输出,看看它是否能够正确地回答问题,是否能够提供有用的信息
agent 的观测可以通过日志记录和监控来实现,可以记录 agent 的每一步决策和工具调用,以及每一步的输入和输出,这样就可以对 agent 的行为进行分析和评估
agent 的行为可以调用 tool 和 rag,因此要对着两者进行评估:
- tool 的评估:可以通过观察 agent 是否能够正确地调用工具来评估工具的表现,如是否能够正确地调用搜索工具来获取信息,是否能够正确地调用计算工具来进行计算等
- rag 的评估:可以通过观察 agent 是否能够正确地调用 rag 来获取信息来评估 rag 的表现,如是否能够正确地调用 rag 来获取相关的信息来回答问题等