乐于分享
好东西不私藏

AI Agent 进阶之路:工具使用、RAG 与记忆系统深度解析

AI Agent 进阶之路:工具使用、RAG 与记忆系统深度解析

从"会聊天"到"会干活",Agent 能力跃迁的三个核心支柱


一、为什么 Stage 2 是关键转折点

如果你已经掌握了 Agent 的基本循环(observe → think → act → observe),可能正面临一个困惑:

"我的 Agent 能调用工具了,但怎么让它真正派上用场?"

这就是 Stage 1 → Stage 2 的分水岭。

Stage 1 教会 Agent 说话——学会调用函数、解析 JSON、执行简单工具。但 Stage 2 教会 Agent 做事——学会搜索知识、记住上下文、整合信息、给出可信答案。

这一阶段被定义为 "Learn Tool Use, RAG, And Memory",它是从玩具 Demo 走向实用 Agent 的关键一跃。


二、Tool Use:从"懂你"到"帮你"

2.1 工具调用的本质

Tool Use 的核心思维转变在于:

不要让 Agent 记住一切,而是让它知道去哪里找答案。

一个合格的 Agent 工具系统应该包含:

要素
说明
示例
搜索
联网获取信息
Web Search API
数据库
查询结构化数据
SQL / 向量数据库
文件
读取和处理文档
PDF、CSV、代码文件
浏览器
观察和交互网页
Playwright 操作
代码执行
运行并验证结果
Python / Shell 沙箱

优秀的 Agent 设计让这些工具像乐高积木一样可插拔、可组合,而不是把逻辑硬编码在 Prompt 里。

2.2 MCP:Agent 的 USB-C 接口

说到工具组织,就不得不提 MCP(Model Context Protocol)

这是 Anthropic 推出的开放协议标准,旨在为 AI 应用提供统一的工具连接方式。用一句话概括:MCP 就是 AI 世界的 USB-C 接口。

  • 对开发者:一次开发,到处集成。不需要为每套环境重复造适配器
  • 对 Agent:通过标准协议发现和调用各类数据源、工具、API
  • 对用户:Agent 能访问日历、数据库、设计文件,真正解决实际问题

MCP 的核心架构很简单:

  • Client(Agent 或 AI 应用)
  • Server(暴露工具和数据的外部系统)
  • 传输层(基于 JSON-RPC 的标准通信)

目前已支持 MCP 的平台包括 Claude、ChatGPT、VS Code Copilot、Cursor 等主流工具。

2.3 工具使用的最佳实践

从 Stage 1 到 Stage 2,工具使用需要面对更真实的问题:

  1. 工具失败处理:搜索 API 超时了怎么办?文件不存在怎么回复?
  2. 空结果处理:搜索返回 0 条结果,Agent 能否主动换策略?
  3. 重复调用预防:连续两次调用同一个工具返回相同结果,是否该停止?
  4. 幻觉引用:Agent 编造了引用链接,如何避免?

一个工程化的 Agent 应该有 最大步数限制超时保护 和 错误恢复机制。不加限制的 Agent loop 要么烧光 Token,要么陷入死循环。


三、RAG:让 Agent 成为"资料研究专家"

3.1 RAG 的核心工作流

RAG(Retrieval-Augmented Generation)是 Agent 获取外部知识的主要手段。一个完整的 RAG pipeline 包括:

文档 → 分块(Chunk) → 向量化 → 索引 → 检索 → 重排序 → 生成回答(带引用)

这里的关键细节常常被忽略:

  • 分块策略:按段落?按语义边界?混合策略?不同文档类型需要不同方案
  • Metadata 过滤:按日期、来源、作者过滤能大幅提升检索精度
  • Hybrid Search:向量搜索 + BM25 关键词搜索的融合,效果优于单一方案
  • Reranking:检索回来的 top-k 结果需要二次排序,才能把最相关的放在前面
  • Citation:回答必须附来源,这是可信度的基础

3.2 值得研究的 RAG 项目

有几个优秀开源项目,可以作为学习和参考的素材:

🔍 GPT Researcher ⭐ 最接近"研究助手"成品

一个专注于深度研究的 Agent 系统。给定一个主题,它会自动分解子问题、并行搜索、抓取内容、筛选评估、生成带引用的长报告。它的设计思路非常值得学习:

  • 并行化:多个子 Agent 同时搜索不同方向
  • 去偏见:从多个角度获取信息,减少算法偏倚
  • 稳定输出:通过 Plan-and-Solve 范式确保报告结构稳定

📚 RAGFlow ⭐ 文档理解型 RAG 引擎

专注于企业级文档处理的 RAG 系统,在 ingestion(文档摄入)环节做得极为精细,支持表格、图表、PDF 的深度解析。适合学习"如何把一篇乱糟糟的文档变成高质量的检索语料"。

🧩 AnythingLLM ⭐ 最适合初学者的完整 RAG 形态

一个开箱即用的桌面 RAG + Agent 应用,支持多种 LLM 后端和嵌入模型。适合快速理解"完整 RAG 应用长什么样",再深入到各组件学习。

⚡ Open Deep Research ⭐ LangGraph 的深度研究参考

LangChain 团队出品,展示了如何用 LangGraph 构建多轮搜索、状态管理和引用输出的完整链路。适合系统学习 RAG 的工程化实现。

3.3 RAG 的工程化陷阱

  • 检索不是越多越好:塞太多上下文会稀释 LLM 的注意力,top-k 值需要实验调优
  • 引用验证:Agent 可能会"创造"不存在的来源,需要校验机制
  • 更新机制:知识库变动后,向量索引需要同步更新

四、Memory:Agent 的"记忆之层"

4.1 三层次记忆模型

记忆类型
存储范围
典型实现
用途
短期上下文
当前会话窗口
Prompt Token 窗口
当前对话即时理解
会话记忆
多次交互
历史消息摘要
延续之前的对话
长期记忆
跨所有会话
向量存储 / 结构化数据库
记住用户的偏好、事实、积累的知识

区分这三种记忆是 Stage 2 的重要分水岭。 很多初学者把对话历史直接拼进 Prompt,这是短期记忆的用法。真正的长期记忆需要独立的管理层——存储、检索、更新、过期,缺一不可。

4.2 mem0:为 Agent 而生的记忆层

mem0[1] 是一个专注于记忆组件的开源项目(YC S24)。它最新发布的记忆算法带来了明显的进步:

基准
旧算法
新算法
Token消耗
LoCoMo
71.4
91.6
7.0K
LongMemEval
67.8
94.8
6.8K

核心创新包括:

  • 单次 ADD-only 提取:一次 LLM 调用,记忆只增不删
  • 实体链接:提取实体并跨记忆关联,提升检索命中率
  • 多信号检索:语义 + BM25 + 实体匹配并行评分融合
  • 时间感知:根据时间戳区分"当前状态"vs"过去事件"vs"未来计划"

简单来说:mem0 让 Agent 的人类相处越久,越了解对方——而不是每次对话都从零开始。

4.3 Letta:有状态的 Agent 平台

Letta[2](前身是 MemGPT)进一步将记忆概念产品化。它提供了一个完整的状态化 Agent 平台,让 Agent 拥有真正的"持续学习能力"。

Letta 的核心设计包含两个记忆块:

  • Human 块:存储 Agent 关于用户知道的信息
  • Persona 块:存储 Agent 对自身身份和能力的认知

这种设计让 Agent 可以在对话中动态更新自己的"知识",而且这种记忆是跨会话、跨应用的。

4.4 记忆系统的设计原则

  1. 主动记忆 vs 被动记忆:不是所有信息都值得存储。Agent 需要判断"这件事是否值得记住"
  2. 记忆优先级:高频信息(用户名字)> 低频信息(三个月前的一次闲聊)
  3. 记忆检索:每次对话开始时,从长期记忆中检索相关片段
  4. 记忆更新:当信息冲突时,如何决定更新还是保留

五、从 Stage 2 走向实战:项目推荐

Agent Learning Hub 里的 Project Ladder 提供了一个清晰的实战路径,Stage 2 对应 Level 2 & 3:

等级
项目
学会的技能
Level 2
Web Research Agent
搜索、筛选、引用、总结
Level 3
PDF QA Agent
RAG、Chunk、Retrieval、Citation

我的建议学习顺序:

第一周:「模仿」

  • 部署运行 GPT Researcher 或 RAGFlow
  • 观察它的工具调用、检索流程、报告生成
  • 尝试换一个主题,看输出质量的变化

第二周:「解构」

  • 使用 Open Deep Research[3] 学习 LangGraph 的多轮搜索实现
  • 理解它的状态管理、搜索策略和引用组装
  • 尝试添加一个自定义工具(比如本地数据库查询)

第三周:「重构」

  • 结合 mem0 给你的 Agent 加上长期记忆
  • 用 MCP 协议标准化你的工具接口
  • 写一个自己的 Web Research Agent,要求: 
    • ✅ 输入主题后自动搜索
    • ✅ 多来源交叉验证
    • ✅ 输出带引用的总结报告
    • ✅ 对话间记忆连续性

六、总结

Stage 2(Tool Use + RAG + Memory)是 Agent 能力从"演示级"跃迁到"实用级"的必经之路。三个支柱缺一不可:

  • Tool Use 让 Agent 连接真实世界
  • RAG 让 Agent 掌握外部知识
  • Memory 让 Agent 记住你是谁

如果你正在学习 Agent 开发,不妨用这个简单的清单自检:

  •  我的 Agent 能处理工具调用失败吗?
  •  搜索结果回来后有引用来源吗?
  •  Agent 上次记住的信息这次还记得吗?
  •  我区分了短期上下文、会话记忆和长期记忆吗?

全打勾了?恭喜,你已经稳稳站在 Stage 2,可以去挑战 Stage 3(Agent Harness 工程化)了。


附录:Stage 2 精选资源清单

资源
用途
推荐指数
LlamaIndex Agents[4]
学习 Agent + RAG 体系化设计
⭐⭐⭐⭐⭐
Model Context Protocol[5]
工具标准化协议
⭐⭐⭐⭐⭐
GPT Researcher[6]
深度研究型 Agent 参考
⭐⭐⭐⭐
RAGFlow[7]
企业级 RAG 引擎
⭐⭐⭐⭐
mem0[8]
记忆即服务
⭐⭐⭐⭐⭐
Letta[9]
有状态 Agent 平台
⭐⭐⭐⭐
AnythingLLM[10]
入门级完整 RAG 应用
⭐⭐⭐⭐

引用链接

[1]mem0: https://github.com/mem0ai/mem0

[2]Letta: https://github.com/letta-ai/letta

[3]Open Deep Research: https://github.com/langchain-ai/open_deep_research

[4]LlamaIndex Agents: https://docs.llamaindex.ai/en/stable/use_cases/agents/

[5]Model Context Protocol: https://modelcontextprotocol.io/

[6]GPT Researcher: https://github.com/assafelovic/gpt-researcher

[7]RAGFlow: https://github.com/infiniflow/ragflow

[8]mem0: https://github.com/mem0ai/mem0

[9]Letta: https://github.com/letta-ai/letta

[10]AnythingLLM: https://github.com/Mintplex-Labs/anything-llm

[11]Datawhale Agent Learning Hub: https://github.com/datawhalechina/Agent-Learning-Hub