第2课:深度剖析AI Agent核心模块 - 学习笔记
📚 课程核心主题
本节课深入讲解AI Agent系统的三个核心组件,理解智能体系统是如何工作的。
🎯 AI Agent系统的架构(核心)
AI Agent系统是以LM(大语言模型)为驱动的,它包含三个关键组件:
- Planning(规划)
- Memory(记忆)
- Tool Calling(工具调用)
🧠 第一部分:Planning(规划模块)
Planning是什么?
规划是根据用户的输入,对用户诉求进行意图识别 和任务规划的过程。
Planning包含两个核心部分
1. 子目标拆解
是什么: 把一个复杂的任务分解为更小、更易于管理的子目标
作用:
- 用户输入可能包含多个需求
- 需要将这些需求进行拆分和分解
- 从而能够高效地处理复杂的任务
例子理解:
- 用户要做一个旅行规划
- 需要拆解为:
- 订机票
- 订酒店
- 规划行程(第一天、第二天、第三天)
- 等等
2. 反思与改进(Self-Reflection)
是什么: 对过去的行为进行自我批评、自我反思
作用:
- 从错误中吸取教训
- 为未来的步骤进行改进
- 提供更高的执行结果
例子理解:
- 订酒店时,如果某个酒店订不到怎么办?
- 能不能重新选择?
- 经济舱没有的话,是不是可以切换路线?
- 选择不同的服务商来订购
与传统RAG的区别(重要概念):
- 传统RAG的问题: 被动式检索,一次性检索,无法知道检索的文档是否全面、相关度是否足够
- 使用Agent后的改进:
- 可以进行反思和改进
- 如果检索的文档不足以回答问题
- 可以重新执行检索(loop)
- 这就是反思与改进的体现
💾 第二部分:Memory(记忆模块)
为什么需要Memory?
核心原因:
- 现在的LM(大语言模型)不具备记忆能力
- 它是单次对话,无状态的(stateless)
- 只是一个token的生成过程
因此:
- 为了让AI系统更智能,需要添加记忆存储功能
Memory的分类
1. 短期记忆(Short-term Memory)
是什么:
- 情景学习(Context Learning)
- 对话式场景的情景学习
- 利用模型的短期记忆来进行学习
作用:
- 记录当前对话的轮数
- 记录每轮对话的内容
- 保存在**上下文(Context)**里
特点:
- 只在当前对话会话中有效
- 关闭会话后,下次重新打开就丢失了
例子理解:
- 就像你在和一个朋友聊天
- 你们聊了10句话
- 这些对话信息会临时保存在这次对话中
- 但如果你关闭聊天,重新开启,之前的对话就没了
2. 长期记忆(Long-term Memory)
是什么:
- 为代理提供较长时间内保留和回忆信息的能力
- 通常利用外部的向量存储和快速检索来实现
作用:
- 跨会话保留信息
- 即使关闭了对话,下次还能记住
例子理解:
-
用户偏好存储:
- 比如用户订机票,总是选头等舱/商务舱
- 用户订酒店,总是选四星级以上
- 这些偏好应该存储起来
-
个性化需求:
- 下次做旅程规划时,AI应该知道用户的偏好
- 系统会越来越聪明(越用越智能)
长期记忆的三种类型:
| 类型 | 用途 | 例子 |
|---|---|---|
| 语义记忆(Semantic Memory) | 存储事实、概念、关系 | 基于RAG的检索,存储知识库信息 |
| 情景记忆(Episodic Memory) | 存储具体事件、场景 | 用户之前预定的去伦敦的会议,喜欢住哪些城市 |
| 过程记忆(Procedural Memory) | 存储执行过的动作和流程 | 学习预定航班的最佳流程,转机航班的间隔时间 |
关键点:
- 不同的业务场景,使用不同的记忆类型
- 需要根据应用需求来选择
🔧 第三部分:Tool Calling(工具调用)
为什么需要工具调用?
LM的局限性:
- LM的认知停留在预训练阶段
- 只有静态的全网知识
- 无法获取实时、动态的信息
例子:
- 查询天气(需要实时数据)
- 查询股票走向(需要实时数据)
- 查询最新的AI模型动态(需要最新信息)
- 这些LM都不知道
解决方案:
- 需要调用相应的工具来获取实时信息
工具调用的作用
- 扩展LM的能力
- 让AI系统能够执行实际操作
- 获取实时、动态的数据
📊 三个模块的关系
用户输入
↓
Planning(规划)
├→ 意图识别
├→ 子目标拆解
└→ 反思与改进
↓
Memory(记忆)
├→ 短期记忆(当前对话)
└→ 长期记忆(跨会话)
↓
Tool Calling(工具调用)
└→ 执行实际操作
↓
返回结果
💡 关键概念总结
| 概念 | 简单理解 |
|---|---|
| Planning(规划) | 理解用户意图,拆解任务,反思改进 |
| 子目标拆解 | 把大任务分解成小任务 |
| 反思与改进 | 从错误中学习,重新执行 |
| 短期记忆 | 当前对话的上下文,关闭后丢失 |
| 长期记忆 | 跨会话保留信息,越用越智能 |
| 语义记忆 | 存储事实和概念 |
| 情景记忆 | 存储具体事件和场景 |
| 过程记忆 | 存储执行过的流程和方法 |
| Tool Calling | 调用外部工具获取实时信息 |
❓ 思考题
-
为什么传统RAG效果不好?
- 答:被动式检索,一次性检索,无法判断检索结果是否全面,无法反思改进
-
短期记忆和长期记忆的主要区别?
- 答:短期记忆只在当前会话有效,长期记忆可以跨会话保留
-
为什么需要工具调用?
- 答:LM只能提供预训练时的静态知识,无法获取实时动态信息
-
三种长期记忆类型分别在什么场景使用?
- 语义记忆:存储知识库、事实信息
- 情景记忆:存储用户的历史事件、偏好
- 过程记忆:存储执行流程和方法
📌 本节课重点回顾
✅ AI Agent三大核心组件: Planning + Memory + Tool Calling
✅ Planning的两个功能: 子目标拆解 + 反思与改进
✅ Memory的分类: 短期记忆(当前会话) + 长期记忆(跨会话)
✅ 长期记忆的三种类型: 语义记忆、情景记忆、过程记忆
✅ Tool Calling的作用: 扩展LM能力,获取实时信息
笔记整理时间:2024年
建议:理解三大模块的关系,这是构建AI Agent系统的基础