真正理解 Agent,不是学会堆砌概念,而是看清它如何一步步"长"出思考、规划、自省与协作的能力。本文将通过开源项目案例,带你走完这条演进之路。
引言
如果说大语言模型是大脑,那么 Agent 就是让大脑拥有"双手"和"工作流"的完整系统。
当我们回顾 AI Agent 的演进历程,会发现一条清晰的能力进化链:
工具调用(基础能力)
↓
ReAct(推理 + 行动交替)
↓
Plan & Execute(先规划后执行)
↓
Reflection(自我反思与修正)
↓
Multi-Agent(多角色协作)
其中,Tool‑calling 是所有范式的共同基石;而后面四种,则是逐步复杂化的完整工作流范式。本文沿着这条演进路径,逐一拆解每种设计模式,并为每一种配上真实的开源项目案例,让你既有理论认知,又有实践抓手。
0. 地基:Tool‑calling ------ Agent 的"双手"
它是什么?
在 Agent 诞生之前,大模型只能输出文本。Tool‑calling(函数调用)让它第一次能够与外部世界交互:查天气、发邮件、调 API、操作数据库......
本质上,它是一个原子动作:
用户输入 → 模型识别意图 → 调用指定工具 → 返回工具结果
它的定位
- 不是什么:不是完整的工作流,没有循环、规划、反思。
- 是什么:所有高阶 Agent 范式中"Action"环节的主流实现方式。
就好比人类的手 :你可以用它来拿杯子、敲键盘,但"有手"并不等于你有了做事的方法论。方法论的起点是下一个环节------ReAct。
🔗 延伸阅读
Tool-calling 本身是一个活跃的研究领域。例如,EMNLP 2025 上发表的 Toolscaler 论文指出:为每个工具分配唯一 token 的方案存在表示空间线性增长的问题,并提出了结构感知语义分词来压缩工具表示。这说明了 Tool-calling 作为基础能力,仍在持续进化中。
1. 第一范式:ReAct ------ 让 AI "边想边做"
演进动机
仅有工具调用时,模型只能执行单次指令,无法根据观察结果调整下一步行动。我们需要一个循环推理机制。
核心思想
ReAct = Reason + Act,将"推理"与"行动"交替进行,每一步都基于当前观察做出下一步的思考与决策。
工作流程
Thought → Action → Observation → Thought → Action → ... → Answer
- Thought:Agent 用自然语言写下的"内心独白",回答"我现在知道什么、接下来该做什么"
- Action:调用工具或给出答案
- Observation:工具返回的结果
🔗 开源项目:Autono
- GitHub:https://github.com/vortezwohl/Autono
- 定位:基于 ReAct 范式的高鲁棒性自主 Agent 框架
核心设计亮点:
- 动态行动生成:每一步的行动由模型动态决定,而非依赖 LLM 规划器生成的固定工作流
- 及时放弃策略:引入概率惩罚机制,当任务成功率过低时主动放弃,避免无限循环
- 记忆转移机制:支持多 Agent 间的共享记忆和动态更新
- MCP 协议兼容:可无缝集成各种工具和数据源
什么时候用它?
- 多轮交互且路径不确定的任务(如客服对话、信息检索)
- 需要根据实时反馈调整策略的场景
2. 第二范式:Plan & Execute ------ 让 AI "三思而后行"
演进动机
ReAct 虽然灵活,但"走一步看一步"的方式在多步骤任务中效率低下,且可能中途"迷路"。人类做事通常是:先定计划,再按计划执行。
核心思想
规划与执行分离:
- Planner:将用户目标拆解为有序的子任务列表
- Executor:依次执行每个子任务(借助工具调用)
- Replanner:当执行失败或信息变化时,重新生成计划
工作流程
Plan → Execute Step1 → Replan → Execute Step2 → ... → Response
🔗 开源项目:Eino ADK Plan-Execute Agent
- 文档:https://www.cloudwego.io/docs/eino/core_modules/eino_adk/agent_implementation/plan_execute/
- 定位:字节跳动开源的 Go 语言 Agent 框架,与 CloudWeGo 生态深度集成
核心设计(三 Agent 协作):
- Planner:生成初始任务计划(结构化步骤序列)
- Executor:执行当前步骤,调用外部工具(搜索、计算、数据库等)
- Replanner:评估执行进度,决定继续(生成新计划)或终止
代码示例(Go):
go
planExecuteAgent, err := planexecute.NewPlanExecuteAgent(ctx, &planexecute.Config{
Planner: planner, // 规划器
Executor: executor, // 执行器
Replanner: replanner, // 重规划器
MaxIterations: 10,
})
什么时候用它?
- 明确的多步骤批处理任务(如报告生成、数据处理、业务流程自动化)
- 需要流程完整性和可追溯性的企业场景
3. 第三范式:Reflection ------ 让 AI 学会"自我批评"
演进动机
无论 ReAct 还是 Plan & Execute,第一次生成的答案往往不是最优的。人类写文章要改几稿,写代码要调试......我们想让 Agent 也拥有自我审视与修正的能力。
核心思想
Agent 生成输出后,通过评估 → 反思 → 迭代的循环来提升质量。
经典实现是 2023 年提出的 Reflexion 架构:
- Actor:生成初步答案
- Evaluator:评估答案质量
- Reflector:生成自然语言的"反思意见"
- Memory:存储反思意见,供下一轮生成使用
下一轮生成会结合历史输出与反思意见进行修正,而非完全从零开始重写。
工作流程(循环)
Generate → Evaluate → Reflect → Update Memory → Generate (based on history + feedback) → ...
🔗 开源项目:Reflexion(官方实现)
- GitHub:https://github.com/noahshinn/reflexion
- 定位:Reflexion 论文的官方实现,由论文一作 Noah Shinn 发布
核心设计:
- Actor:基于 ReAct 范式的任务执行器
- Evaluator:评估任务完成质量(如代码能否通过测试)
- Reflector:LLM 将评估结果转化为自然语言的"反思意见"
- 记忆机制:反思意见存入长期记忆,指导下一轮行动
技术亮点:
- 在 HumanEval 代码生成任务中,Reflexion 将 pass@1 从 67% 提升至 88%
- 在 AlfWorld 家务机器人任务中,成功率从 73% 提升至 97%
延伸项目 - Memos Local Plugin:
- NPM:https://www.npmjs.com/package/@memtensor/memos-local-plugin
- 定位:为 AI Agent 提供"反思驱动进化"的记忆系统
- 核心:四层记忆架构(L1 trace → L2 policy → L3 world model → Skill),通过反馈驱动持续学习
什么时候用它?
- 对输出质量要求极高的场景(代码生成、论文润色、创意写作)
- 希望 Agent 具备长期自我进化能力的系统
4. 第四范式:Multi‑Agent ------ 让多个 AI "团队作战"
演进动机
单个 Agent 能力再强,也有三个天花板:
- 认知广度:一个角色难以兼顾产品、开发、测试、合规等多视角
- 并行能力:复杂任务中的独立子任务无法同时推进
- 对抗性决策:没有辩论,容易陷入偏见
核心思想
多个 Agent 分工协作,通过对话、投票、辩论等方式共同完成目标。
🔗 开源项目一:AutoGen(微软)
- GitHub:https://github.com/microsoft/autogen
- 定位:微软开源的对话式多 Agent 协作框架
核心设计:
- 对话驱动架构:Agent 之间通过自然语言对话完成协作
- 内置 Agent 类型:AssistantAgent(执行任务)、UserProxyAgent(模拟人类输入/执行代码)
- 多种控制流:支持"两 Agent 对话"、"群聊"、"层级管理"等多种协作模式
- AutoGenBench:内置评测工具,便于性能验证
适用场景:科研项目、代码生成、跨系统任务协作
🔗 开源项目二:CrewAI
- GitHub:https://github.com/crewAIInc/crewAI
- 定位:角色驱动的多智能体协作框架
核心设计:
- 角色分工机制:每个 Agent 有明确的 role、goal 和 backstory
- 任务编排 :通过
Process定义任务执行顺序(顺序/层次) - 工具共享:Agent 之间可共享工具集
- 可视化任务编排:降低复杂协作的开发门槛
代码示例(Python):
python
from crewai import Agent, Task, Crew
researcher = Agent(
role='资深研究员',
goal='发现突破性技术',
backstory='你是一位在AI领域工作20年的专家'
)
writer = Agent(
role='技术写作者',
goal='用通俗语言解释复杂概念',
backstory='你是顶尖科技媒体的主编'
)
crew = Crew(agents=[researcher, writer], tasks=[research_task, write_task])
result = crew.kickoff()
适用场景:内容创作、数据分析、多步骤协作任务
🔗 开源项目三:agent-colosseum
- PyPI:https://pypi.org/project/agent-colosseum/
- 定位:"Make AI agents fight, research, and review each other"
四种竞技模式:
| 模式 | 工作机制 | 适用场景 |
|---|---|---|
| Debate | Pro vs Con + Judge,强制对抗 | 事实性问题、推理 |
| Research | 多角色调研 → 交叉质询 → 综合 | 多视角研究分析 |
| Red Team | 一人辩护,多人攻击 → 强化主张 | 安全测试、压力测试 |
| Peer Review | 作者陈述 → 评审 → 修订 | 内容审查、论文评审 |
数据证明:据项目文档,Multi-Agent Debate 在推理任务上比 Single-Agent 有显著提升。
什么时候用 Multi-Agent?
- 需要不同角色视角的复杂项目(软件开发、市场调研、内容审核)
- 需要并行处理和对抗性决策的场景
- 单一 Agent 已经无法满足质量或效率要求的任务
一张演进全景图
| 演进阶段 | 核心范式 | 开源代表项目 | 解决的核心问题 | 主要代价 | 典型失败模式 |
|---|---|---|---|---|---|
| 地基 | Tool‑calling | (作为能力内置) | 让模型执行具体动作 | 无流程控制 | 单次调用无法处理复杂任务 |
| 第一阶 | ReAct | Autono | 动态环境下的逐步推理与行动 | 高成本、可能循环 | 陷入无限循环,步数耗尽 |
| 第二阶 | Plan & Execute | Eino ADK | 多步骤任务的效率与稳定性 | 计划敏感 | 计划一步出错,后续全盘皆输 |
| 第三阶 | Reflection | Reflexion | 输出质量的自适应提升 | 高成本、迭代风险 | 过度修正,陷入死循环 |
| 第四阶 | Multi‑Agent | AutoGen / CrewAI | 分工、并行、对抗决策 | 系统复杂度高 | 通信开销爆炸,协调失效 |
重要说明 :这些范式不是互斥的,而是可以组合使用。例如:一个 Multi‑Agent 系统中的每个 Agent 内部可能采用 ReAct + Reflection;Plan & Execute 的执行步骤中可以嵌入 Reflection 循环来提升环节质量。
组合使用的真实案例
| 组合方式 | 典型系统 | 实现逻辑 |
|---|---|---|
| ReAct + Reflection | Reflexion | Actor 使用 ReAct 执行任务,Reflector 对执行结果进行反思,形成闭环 |
| Plan & Execute + Multi-Agent | MetaGPT | 多个 Agent 分别扮演产品、开发、测试等角色,按 Plan & Execute 的流程协作 |
| Multi-Agent + ReAct | AutoGen | 每个 Agent 内部使用 ReAct 范式进行推理和行动,Agent 之间通过对话协作 |
如何选择演进路线?
- 任务只是单步指令 → 直接使用 Tool‑calling(甚至不需要 Agent 框架)
- 多轮交互且路径不确定 → 从 ReAct 开始(参考 Autono)
- 明确的多步骤批处理任务 → Plan & Execute 效率更高(参考 Eino ADK)
- 对质量要求极高 (代码、论文) → 在基础范式上叠加 Reflection(参考 Reflexion)
- 单一 Agent 搞不定 → 考虑 Multi‑Agent(参考 AutoGen 或 CrewAI)
💡 工程原则:从不复杂的范式开始,随着需求增长逐步演进。不要一开始就搭建 Multi‑Agent,那很可能是过度设计。
写在最后
AI Agent 的设计不是一道选择题,而是一条演进路。从 Tool‑calling 这一双手开始,ReAct 给了它思考的节律,Plan & Execute 给了它结构化的步法,Reflection 给了它自我修正的眼睛,最终 Multi‑Agent 让它可以组建一支交响乐团。
理解这条演进路径,远比死记硬背概念更重要。而当你真正动手实现时,希望文中的开源项目能成为你值得参考的"他山之石"。
如果你在实践中摸索出了新的模式,或者对某个项目有更深入的问题,欢迎一起讨论。
主要参考文献
- Reflexion 论文官方实现:https://github.com/noahshinn/reflexion
- AutoGen 微软多 Agent 框架:https://github.com/microsoft/autogen
- CrewAI 角色驱动协作框架:https://github.com/crewAIInc/crewAI
- Eino ADK 字节跳动开源:https://www.cloudwego.io/docs/eino/
- Autono ReAct 框架:https://github.com/vortezwohl/Autono
- agent-colosseum 竞技模式:https://pypi.org/project/agent-colosseum/
- Memos 反思记忆插件:https://www.npmjs.com/package/@memtensor/memos-local-plugin
注:本文中的"范式"特指 Agent 工作流的顶层组织模式。Tool‑calling 作为基础能力被单独列出,避免概念混淆。