不是直接调大模型接口,而是给它装上 Tool、Memory、RAG、MCP、Skills —— 它就能自己干活了
一、原生 LLM 的五个“做不到”
在聊 Agent 之前,我们先看一个核心问题:直接调用大模型接口,到底缺什么?
| 问题 | 说明 |
|---|---|
| ❌ 无记忆(Stateless) | 你和它上周聊过的消息,它完全记不住。因为 LLM 天生是 stateless 的 |
| ❌ 不能行动(No Action) | 让它帮忙访问一个网页、做一些事情,它只能告诉你思路,需要我们自己做 |
| ❌ 知识局限(Private Data) | 访问内部私有文档,LLM 不知道 —— 因为不在训练数据里 |
| ❌ 信息滞后(Stale Knowledge) | 最新的世界杯新闻,已经不在预训练数据中 |
| ❌ 无法操作外部系统 | 做 PPT、分析股市并自动买卖 —— 原生 LLM 做不到 |
而 Agent 就是围绕以上问题,给 LLM 加上“外挂装备”:
text
Agent = LLM + Memory + Tool + RAG + MCP + Skills
这样一个知道内部知识、能思考、规划,能够帮你做事情的扩展后的 LLM,就是一个 Agent。
二、Agent 的核心组件逐个拆解
1. Memory(记忆模块)
原生 LLM 是无状态的(stateless),每次对话都是全新的开始。
解决方案:
- 配合数据库持久化存储历史对话
- 配合前端存储(如 localStorage)保存用户上下文
- 配合 Redis 做短期记忆缓存
- LLM + 后端:通过后端服务管理会话状态
2. Tool(工具调用能力)
这是 Agent 最核心的能力 —— 让 LLM 能“动手”干活。
典型场景:
- 读取/写入文件(
fs模块) - 执行命令行命令(CLI)
- 访问网页内容
- 调用第三方 API
笔记中一句话很精辟:
手写一个简单版本的 Claude Code:
LLM + Tool(fs + cli)
3. RAG(检索增强生成)
解决 LLM “不知道” 的问题:
- 内部私有文档 → LLM 不知道 → RAG 模块查询后作为 Prompt 注入
- 最新世界新闻 → 不在训练数据中 → RAG 实时检索
4. MCP(Model Context Protocol)
这是 Anthropic 提出的标准化协议。你可以把它理解为“工具界的 USB-C 接口”。
只要第三方服务(如股票 API、PPT 生成器)遵循 MCP 协议,Agent 就能像“即插即用”一样直接调用,无需为每个服务单独写适配代码。
笔记原文:
MCP(第三方Tool,Llm协议)Tool
5. Skills(技能蒸馏)
这是把一系列复杂的 ReAct 循环和 Tool 调用“打包”成一个高级能力。
例如“自动做周报”这个 Skill,内部可能涉及:
- 读取代码提交记录(Git Tool)
- 调用大模型总结(LLM)
- 写入文档(Write Tool)
但对外只暴露一个“生成周报”的接口。
笔记中举例:做ppt,分析股市并自动买卖。
三、Agent 的完整工作流程
一张图看懂 Agent 如何响应你的请求:
text
用户以 Prompt 形式提出一个复杂任务
↓
LLM Planning / Reasoning
(规划 / 推理)
↓
┌───────┼───────┐
↓ ↓ ↓
Memory Tool RAG
(加载记忆)(调用工具)(查询知识)
↓
工具分步骤、调用多个工具
↓
RAG 查询出来的内容作为 Prompt Template
↓
Response
↓
用户(任务完成)
核心要点:
- LLM 本身就可以思考、规划
- 用 Tool 扩展能力,让它能自己做事
- 用 Memory 管理记忆,让它记住你要它记住的东西
- 用 RAG 查询内部知识,让它知道你不知道的
四、Agent 开发全景:Langchain 与 LangGraph
笔记中明确提到了 Langchain 生态的完整布局:
| 框架 | 用途 |
|---|---|
| Langchain | 单智能体开发框架 |
| Langgraph | 多智能体开发框架 |
| 技术栈 | Node(Next.js)+ Langchain + Langgraph |
原文:
node(nextjs)+Langchain(单智能体开发框架)+Langgraph(多智能体开发框架)
当任务复杂到需要多个角色(如“产品经理 Agent”+“程序员 Agent”+“测试 Agent”)分头行动、互相审核时,LangGraph 的“图结构”工作流就派上了用场。
而如果你想把 Agent 能力嵌入 Web 应用,Next.js 是绝佳的全栈选择:后端用 Node.js 运行 LangChain/LangGraph,前端负责展示 ReAct 循环的实时状态,这样才能打造出类似 Cursor 或 Manus 的 AI 全栈产品。
五、总结
| 组件 | 解决的问题 |
|---|---|
| LLM | 思考、规划、推理 |
| Memory | 记住历史对话和上下文 |
| Tool | 读写文件、执行命令、访问网页 |
| RAG | 获取私有文档和最新信息 |
| MCP | 标准化对接第三方工具 |
| Skills | 固化复杂任务为可复用技能 |
Agent 其实并不复杂。LLM 本身就可以思考、规划,给它用 Tool 扩展能力,它就能自己做事情,用 Memory 管理记忆,它就可以记住你要它记住的东西。这样一个知道内部知识、能思考、规划,能够帮你做事情的扩展后的 LLM,就是一个 Agent。
下一篇文章,我们将深入 Agent 的“大脑”,看看它收到一个复杂任务后,是如何一步步思考 → 行动 → 观察,直到把任务做成的。这就是 Agent 界的“祖传算法”——ReAct 模式。