一个真正好用的 AI Agent,不是“一个更会聊天的大模型”。它更像一个小型协作系统:有人负责想清楚怎么做,有人负责一步步执行,有地方保存上下文,还有一组工具连接外部世界。
如果把 Agent 只理解成“LLM + Prompt”,很快就会遇到三个问题:任务复杂一点就乱、做到一半忘了前面、需要查资料或改文件时无从下手。Planner、Executor、Memory、Tools 这四个模块,就是为了解决这些问题而出现的。
本文脉络:
- 一、先用一句话理解 Agent 架构
- 二、为什么一个模型还不够
- 三、四个核心模块分别管什么
- 四、一次 Agent 任务是怎么跑起来的
- 五、Planner:负责把目标拆成计划
- 六、Executor:负责把计划变成行动
- 七、Memory:负责带上该带的上下文
- 八、Tools:负责连接外部世界
- 九、四个模块如何协作
- 十、开发者落地时要注意什么
- 十一、普通用户怎么看懂 Agent 的表现
- 十二、常见问题
一、先用一句话理解 Agent 架构
如果只用一句话解释 AI Agent 的系统架构,我会这么说:
Planner 决定怎么做,Executor 负责去做,Memory 记住该记的东西,Tools 让 Agent 能真正接触外部世界。
更生活化一点:
| 模块 | 像团队里的谁 | 主要作用 |
|---|---|---|
| Planner | 项目经理 / 方案设计者 | 把目标拆成步骤,决定执行顺序 |
| Executor | 执行同学 | 按步骤行动,处理反馈和错误 |
| Memory | 笔记本 / 项目档案 | 保存上下文、偏好、历史经验 |
| Tools | 工具箱 / 外部系统接口 | 搜索、读文件、调 API、跑代码 |
这四个模块放在一起,Agent 才从“会回答”变成“会做事”。
比如你让 Agent:
帮我把这篇文章改得更通俗,并生成配图。
一个只有 LLM 的聊天机器人,大概率直接开始改文字。一个结构完整的 Agent 会先做几件事:
- 读懂目标:文章要面向谁,风格要怎么变。
- 制定计划:先审阅文章,再改结构,再改措辞,最后生成图片。
- 读取上下文:当前文章、已有博客风格、用户之前的偏好。
- 调用工具:读写文件、生成图片、运行构建命令。
- 检查结果:图片有没有错位,文章能不能构建通过。
- 把重要经验记下来:下次类似任务可以少走弯路。
这就是 Agent 架构真正要解决的问题:把“想”和“做”组织成一条可靠流程。
二、为什么一个模型还不够
很多人第一次接触 Agent,会有一个自然想法:既然大模型已经很聪明,为什么还要搞 Planner、Executor、Memory、Tools 这些模块?
原因很简单:模型本身有几个硬限制。
| 限制 | 具体表现 | 需要什么模块补上 |
|---|---|---|
| 没有天然状态 | 一次调用结束后,它不会自动记住过程 | Memory |
| 不会自动接触外部世界 | 不知道最新信息,也不能自己读文件、查数据库 | Tools |
| 复杂任务容易跑偏 | 一边想一边做,做到后面忘了最初目标 | Planner |
| 执行过程需要反馈 | 工具可能失败,测试可能失败,结果需要修正 | Executor |
LLM 更像一个“很强的推理和语言引擎”,但 Agent 是一个“围绕 LLM 搭出来的工作系统”。
这有点像人。一个人脑子再好,也需要:
- 计划表,知道接下来做什么;
- 笔记本,记住资料和决定;
- 电脑和浏览器,去查资料、写代码、发消息;
- 检查机制,确认自己做对了没有。
Agent 架构就是把这些能力工程化。
三、四个核心模块分别管什么
Planner:负责“想清楚”
Planner 的任务不是直接干活,而是先回答:
- 这个目标到底是什么?
- 可以拆成哪些步骤?
- 哪些步骤依赖前面的结果?
- 哪一步风险最高?
- 怎么判断任务完成了?
没有 Planner 的 Agent 很容易“上来就干”。这在简单任务里没问题,但复杂任务会出事。比如“重构一个模块并补测试”,如果没有计划,Agent 可能先改代码,改到一半才发现测试框架没弄清楚,最后把问题越搅越大。
好的 Planner 不一定要写很长的计划,但要写清楚行动顺序和验收标准。
Executor:负责“做出来”
Executor 接收 Planner 的计划,然后逐项执行。
它关心的是:
- 当前要执行哪一步?
- 需要调用哪个工具?
- 工具返回了什么?
- 是否成功?
- 失败了该重试、换方法,还是回到 Planner 重新规划?
Executor 的工作方式通常很像 ReAct:思考一下当前动作,调用工具,读取观察结果,再决定下一步。它不是盲目执行脚本,而是带反馈地执行。
Memory:负责“记住该记的”
Memory 不是把所有历史一股脑塞给模型。更准确地说,它负责判断:
- 哪些信息值得保存?
- 哪些信息这次任务要用?
- 哪些历史已经过期?
- 哪些偏好是长期有效的?
- 哪些失败经验下次还会有用?
Tools:负责“连接外部世界”
没有 Tools,Agent 只能说话;有了 Tools,Agent 才能做事。
Tools 可以是:
| 工具类型 | 例子 |
|---|---|
| 信息工具 | 搜索网页、查文档、查知识库 |
| 文件工具 | 读取文件、修改文件、生成图片 |
| 业务工具 | 查询订单、创建工单、调用 CRM |
| 开发工具 | 运行测试、执行脚本、调用 Git |
| 协议工具 | MCP Server 暴露的 Tools、Resources、Prompts |
工具越强,Agent 越有用;但工具越强,权限边界也越重要。一个能删库、发钱、改订单的 Agent,绝不能只靠一句 Prompt 来约束。
四、一次 Agent 任务是怎么跑起来的
一次比较完整的 Agent 任务,大致会这样跑:
用户提出目标
用户说自己想要什么,也可能附带约束,比如“不要太长”“风格通俗”“不要改动这些文件”。
读取 Memory
Agent 先取出相关上下文:用户偏好、项目规范、历史决策、当前任务状态。
Planner 生成计划
把目标拆成几步,并说明每一步的产出。复杂任务里,计划最好能被用户或系统检查。
Executor 按计划执行
每一步内部可能会调用工具,比如读文件、搜索资料、运行测试、生成图片。
Tools 返回观察结果
工具不只是“执行动作”,还会给 Agent 反馈:文件内容是什么、测试是否通过、接口返回了什么。
检查结果
如果结果符合目标,就进入收尾;如果失败,Executor 可能重试,也可能让 Planner 修改计划。
写回 Memory
对未来有价值的信息会被保存,比如用户偏好、项目约定、失败原因、成功方案。
返回最终结果
给用户的不只是答案,还应该包括做了什么、验证了什么、哪里需要注意。
这个流程有个重点:Agent 不是一次性吐答案,而是在“计划 → 执行 → 观察 → 修正”之间循环。
五、Planner:负责把目标拆成计划
Planner 的好坏,决定 Agent 做复杂任务时稳不稳。
一个好的 Planner 通常会输出三类东西:
| 输出 | 说明 |
|---|---|
| 任务拆解 | 把大目标拆成可执行的小步骤 |
| 依赖关系 | 哪些步骤必须先做,哪些可以并行 |
| 验收标准 | 怎样判断这一步完成了 |
比如用户说:
帮我做一个 AI 客服系统。
差的 Planner 可能直接说:
- 搭建前端。
- 接入模型。
- 接入知识库。
- 上线。
这计划看起来有步骤,其实没什么用。好的 Planner 会先追问或假设边界,然后拆成:
| 步骤 | 产出 |
|---|---|
| 明确业务范围 | 只做 FAQ、订单查询,还是允许退款操作 |
| 设计会话流程 | 用户输入、意图识别、RAG、工具调用、转人工 |
| 设计知识库 | 文档来源、分块、索引、版本管理 |
| 设计工具权限 | 哪些工具只读,哪些需要二次确认 |
| 设计评估指标 | 自助解决率、转人工率、幻觉率、成本 |
Planner 的关键不是“列很多条”,而是把模糊目标变成可执行路径。
六、Executor:负责把计划变成行动
Executor 的难点在于:真实世界不会按计划乖乖配合。
它可能遇到:
- 搜索结果不可信;
- 文件不存在;
- API 超时;
- 测试失败;
- 用户给的约束互相冲突;
- Planner 的计划本身不完整。
所以 Executor 不是“照着计划机械执行”。它要在每一步里做小循环:
| 阶段 | Executor 在做什么 |
|---|---|
| Thought | 判断当前应该做什么 |
| Action | 调用工具或生成内容 |
| Observation | 读取工具结果或执行反馈 |
| Check | 判断是否满足当前步骤 |
| Adjust | 成功就下一步,失败就修正或重新规划 |
这也是为什么很多 Agent 看起来像在“边做边想”。不是它犹豫,而是它必须根据外部反馈调整路线。
七、Memory:负责带上该带的上下文
Memory 最容易被误解成“把历史都记住”。但对 Agent 来说,真正重要的是:在正确的时间,把正确的信息带进工作记忆。
常见 Memory 可以分三层:
| 类型 | 例子 | 作用 |
|---|---|---|
| 短期任务状态 | 当前计划、已完成步骤、工具返回结果 | 保证当前任务不中断 |
| 长期用户偏好 | 喜欢中文、偏好简洁、常用技术栈 | 让 Agent 更懂用户 |
| 经验与知识 | 失败原因、项目约定、常用流程 | 让 Agent 下次少犯同样错误 |
Memory 做得不好,会出现两种相反的问题:
- 失忆:用户明明说过偏好,Agent 下次完全忘了;
- 记太多:把无关历史全塞进上下文,模型反而抓不住重点。
所以 Memory 不是越多越好,而是要有筛选、压缩、过期和冲突处理。
八、Tools:负责连接外部世界
Tools 是 Agent 的手和脚。
没有 Tools,Agent 只能根据已有上下文回答;有 Tools,它可以:
- 查最新资料;
- 读取项目文件;
- 修改代码;
- 调用数据库;
- 创建工单;
- 运行测试;
- 生成图片;
- 通过 MCP 连接外部系统。
但工具调用有一个原则:工具必须返回可验证的观察结果。
比如“查订单状态”这个工具,最好返回结构化数据:
{ ”order_id”: ”A1024”, ”status”: ”shipped”, ”carrier”: ”SF Express”, ”latest_event”: ”已到达深圳转运中心”, ”updated_at”: ”2026-07-10 18:30:00” }不要只返回一句“订单看起来没问题”。结构化结果更容易让 Agent 校验、引用和解释。
工具还有一个更重要的问题:权限。
| 工具能力 | 推荐策略 |
|---|---|
| 只读查询 | 可以自动调用,但要鉴权和脱敏 |
| 文件读取 | 可以自动调用,但要限制目录范围 |
| 文件写入 | 需要明确任务授权,最好保留 diff |
| 业务写操作 | 需要用户确认或人工审批 |
| 高风险操作 | 默认不开放给 Agent |
Agent 越强,工具边界越要清楚。别把“模型很聪明”当成安全策略。
九、四个模块如何协作
这四个模块不是线性调用一次就结束,而是互相来回配合。
一个典型协作过程是:
- 用户提出目标。
- Memory 提供相关背景。
- Planner 根据目标和背景生成计划。
- Executor 取出当前步骤开始执行。
- Executor 调用 Tools,拿到观察结果。
- 如果观察结果符合预期,继续下一步。
- 如果观察结果不符合预期,Executor 先尝试修正。
- 如果局部修正不够,回到 Planner 重新规划。
- 任务完成后,把重要结果写回 Memory。
可以把它理解成一个小团队:
- Planner 说:“我们要分三步做。”
- Executor 说:“第一步执行失败,原因是接口超时。”
- Tools 说:“这是接口返回的错误。”
- Memory 说:“上次类似问题是因为 token 过期。”
- Planner 更新计划:“先刷新 token,再重试接口。”
这就比单纯让模型“继续想想”可靠得多。
十、开发者落地时要注意什么
如果你要自己做一个 Agent 系统,先别急着堆框架。可以先问四个问题。
1. Planner 的输出是否足够可执行?
计划不能只有“分析、实现、测试”这种空话。至少要让 Executor 知道:
- 当前步骤要读什么;
- 要调用什么工具;
- 预期产出是什么;
- 失败时应该怎么办。
2. Executor 是否有检查机制?
Executor 不应该只负责“跑动作”。它还要检查动作结果。
写代码要跑测试;生成文章要检查标题、结构、链接、图片;调用 API 要检查状态码和返回字段。没有检查,Executor 就像闭着眼干活。
3. Memory 是否有边界?
不要把所有历史都塞进上下文。更好的做法是:
- 最近任务状态常驻;
- 长期偏好结构化保存;
- 大段历史按需检索;
- 过期信息降权;
- 冲突信息以最新确认的为准。
4. Tools 是否有权限控制?
工具要分级:
- 读工具和写工具分开;
- 高风险工具默认不开放;
- 写操作保留审计;
- 重要操作需要用户确认;
- 工具返回结果要结构化。
Agent 工程里很多事故,不是模型不够聪明,而是工具边界太随意。
十一、普通用户怎么看懂 Agent 的表现
即使你不是开发者,也可以用这套框架判断一个 Agent 靠不靠谱。
它有没有先理解目标?
靠谱的 Agent 会先确认目标和边界,而不是马上开干。比如你说“帮我改文章”,它最好知道是改风格、改结构、改错别字,还是改成另一种受众。
它有没有计划?
复杂任务里,Agent 如果完全不说明计划,后面很容易跑偏。计划不需要很长,但应该让你知道它准备怎么做。
它会不会使用外部证据?
涉及事实、代码、文件、数据时,靠谱的 Agent 会查资料、读文件、跑命令,而不是凭空回答。
它会不会承认不确定?
好的 Agent 不会把所有事情都说得斩钉截铁。该查证时查证,该转人工时转人工,该说“不确定”时说“不确定”。
它有没有检查结果?
如果 Agent 改了代码却不跑测试,生成图片却不看图,写文章却不检查链接,那它只是完成了动作,还没有完成任务。
十二、常见问题
| 问题 | 回答要点 |
|---|---|
| Agent 和普通聊天机器人最大的区别是什么? | 普通聊天机器人主要生成回答;Agent 会规划任务、调用工具、读取反馈、维护状态,并在必要时修正路线。 |
| Planner 和 Executor 一定要拆成两个模型吗? | 不一定。可以是同一个模型在不同阶段扮演不同角色,也可以用不同模型分别负责规划和执行。关键是职责要分清。 |
| Memory 是不是越多越好? | 不是。Memory 的价值在于“相关”,不是“全面”。无关历史太多会占上下文,还会干扰模型注意力。 |
| Tools 为什么要结构化返回? | 结构化结果更容易校验、引用、复用,也更适合审计。自然语言结果容易含糊。 |
| Agent 为什么会跑偏? | 常见原因是目标不清、计划太粗、上下文混乱、工具反馈没被正确处理,或者缺少结果检查。 |
| MCP 在这套架构里处于什么位置? | MCP 主要帮助 Tools 层标准化,让 Agent 可以用统一方式连接外部系统、资源和提示模板。 |
| 普通用户需要懂这些模块吗? | 不需要懂实现细节,但懂这四个角色后,更容易判断 Agent 为什么会卡住、为什么需要权限、为什么有时要先规划。 |
最后一句话总结:
Agent 不是“一个会聊天的模型”,而是一套围绕模型搭起来的工作系统。Planner、Executor、Memory、Tools 分工越清楚,Agent 就越像一个靠谱的协作者。
学AI大模型的正确顺序,千万不要搞错了
🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!
有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!
就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋
📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇
学习路线:
✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经
以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!
我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~