Agent设计模式
我们可以将智能体(Agent)理解为一个具备自主理解、规划、记忆和工具使用能力的数字化实体。想象一个高度智能的个人助理,你只需告诉他“帮我规划一次去千岛湖的周末旅行”,他就能自主完成以下任务:
- 感知(Perception):理解用户的自然语言指令。
- 规划与推理(Planning & Reasoning):借助模型推理能力,将任务拆解为查询往返机票、筛选酒店、规划景点路线、预估预算等子任务。
- 记忆(Memory):记住你之前的偏好,比如喜欢靠窗的座位、偏爱的经济型酒店。
- 工具(Tool):调用外部工具,如机票预订 API、酒店查询系统、地图服务等,来执行这些子任务。
- 反馈与迭代(Feedback & Iteration):将规划好的行程草案反馈给你,并根据你的修改意见进行调整,最终完成预订。
智能体让 AI 从一个只会内容生成的语言模型,进化成一个具备自主规划能力的行动者。
1、Chain of Thought(思维链)
- 提出背景:Google Research 在 2022 年发表的论文《Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》。
- 核心思想:让模型在回答前,把推理过程一步步写出来。不是一口气报出答案,而是把整个推理过程展示出来。
- 场景例子:问小王比小李大 1 岁,小张的年龄是小李的两倍。如果三个人的年龄加起来是 41岁,问小王多大?思维链方式:假设小李的年龄是 x,那么小王 = x + 3,小张 = 2x,总和 = (x + 1) + x + (2x) = 4x + 1,4x + 1 = 41,4x = 38,x = 10,所以小王 = 10 + 3 = 13。结果小王 13 岁。这种方式在逻辑推理、数值计算、逐步分析类问题里,会显得更稳健。
2、Self-Ask(自问自答)
3、Reflection / Self-Critique Loop(反思/自我批评循环)
提出背景:论文 《Self‑Reflection in LLM Agents: Effects on Problem‑Solving Performance(Renze & Guven, 2024)》提出让大语言模型(LLM)在回答后反思自己的错误并修正。另外,框架 Reflexion(Shinn et al., 2023)提出语言代理通过“口头强化(verbal reinforcement)”方式记忆反思([https://arxiv.org/abs/2303.11366])(https://arxiv.org/abs/2303.11366))。
- 核心思想:在模型输出答案之后,主动让模型“回顾”其推理或行动过程,识别可能的错误/偏差,然后基于反思内容生成修正或改进版答案。类似“生成 → 检查 →修正”的循环。
- 场景例子:你让 Agent 撰写一份技术方案或代码片段:首先模型给出版本 A;然后进行反思:「我可能漏掉了异常处理 X」;然后生成版本 B 加入异常处理。结果输出版本 B 更健壮。
4、ReAct(推理 + 行动)
5、Plan-and-Execute(计划与执行)
6、Tree of Thoughts (ToT,树状思维)
7、Multi-Agent / Collaboration 模式
8、World-Model / Simulation Pattern(世界模型/模拟推演)
10、Graph-/Tree-Expansion 推理模式(“图思维/树思维” 的扩展)
12、Memory-Augmented Agent(记忆增强型智能体)
13、Self-Evolution / Self-Improvement Agent(自我进化型智能体)
总结一下,这些认知框架,其实构成了 Agent 世界里的思维模式库:
- CoT:一步步写出推理过程
- Self-Ask:把大问题拆成小问题逐步回答
- ReAct:边推理边行动,与外部世界交互
- Plan-Execute:先生成计划,再按步骤执行
- ToT:多分支探索思路,选最优路径
- Reflexion:自我反思并改进输出
- Multi-Agent:多角色协作分工完成复杂任务
- World-Model:先在模拟世界推演,再决定行动
- Meta-Planning:分层规划,顶层统筹子任务执行
- Graph-of-Thoughts:图状展开多路径推理与评估
- Tool-Chain:串联多个工具形成调用流水线
- Memory-Agent:具备短期与长期记忆的持续学习
- Self-Evolution:自动评估与迭代优化自身能力
它们并不是互斥的,可以混搭使用,理解这些模式,能让我们在应用开发框架选型和使用时,想的更为透彻,一些设计模式,例如 ReAct,已经被 LangChain、LlamaIndex、Dify、Spring AI Alibaba 等 Agent 开发框架内置成基础框架,帮助开发者提升模型的调用效果。
Agent 的应用开发框架天然就很难收敛。不同的框架都有自己的设计模式哲学,只要定位清晰,都能获得一部分开发者群体的青睐,一家独大的情况很难出现。
另外推荐今年一本关于Agent设计模式的书:《Agentic Design Patterns: A Hands-On Guide to Building Intelligent Systems》