从"会聊天"到"会干活",Agent 能力跃迁的三个核心支柱
如果你已经掌握了 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 的关键一跃。
2.1 工具调用的本质
Tool Use 的核心思维转变在于:
不要让 Agent 记住一切,而是让它知道去哪里找答案。
一个合格的 Agent 工具系统应该包含:
| 搜索 | ||
| 数据库 | ||
| 文件 | ||
| 浏览器 | ||
| 代码执行 |
优秀的 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,工具使用需要面对更真实的问题:
工具失败处理:搜索 API 超时了怎么办?文件不存在怎么回复? 空结果处理:搜索返回 0 条结果,Agent 能否主动换策略? 重复调用预防:连续两次调用同一个工具返回相同结果,是否该停止? 幻觉引用:Agent 编造了引用链接,如何避免?
一个工程化的 Agent 应该有 最大步数限制、超时保护 和 错误恢复机制。不加限制的 Agent loop 要么烧光 Token,要么陷入死循环。
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 可能会"创造"不存在的来源,需要校验机制 更新机制:知识库变动后,向量索引需要同步更新
4.1 三层次记忆模型
| 短期上下文 | |||
| 会话记忆 | |||
| 长期记忆 |
区分这三种记忆是 Stage 2 的重要分水岭。 很多初学者把对话历史直接拼进 Prompt,这是短期记忆的用法。真正的长期记忆需要独立的管理层——存储、检索、更新、过期,缺一不可。
4.2 mem0:为 Agent 而生的记忆层
mem0[1] 是一个专注于记忆组件的开源项目(YC S24)。它最新发布的记忆算法带来了明显的进步:
| 91.6 | |||
| 94.8 |
核心创新包括:
单次 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 记忆系统的设计原则
主动记忆 vs 被动记忆:不是所有信息都值得存储。Agent 需要判断"这件事是否值得记住" 记忆优先级:高频信息(用户名字)> 低频信息(三个月前的一次闲聊) 记忆检索:每次对话开始时,从长期记忆中检索相关片段 记忆更新:当信息冲突时,如何决定更新还是保留
Agent Learning Hub 里的 Project Ladder 提供了一个清晰的实战路径,Stage 2 对应 Level 2 & 3:
| Level 2 | ||
| Level 3 |
我的建议学习顺序:
第一周:「模仿」
部署运行 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 精选资源清单
引用链接
[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
夜雨聆风