2025年AI Agent九大设计模式排行榜实战指南

2026-06-22阅读 0热度 0
ai 人工智能

引言

聊点干货。之前在一次内部交流中,分享了关于“从 YC 项目看 AI 趋势以及 AI Agent 开发工具类产品该如何设计”的一些想法,反馈还不错。但回看视频时,总觉得分享可以讲得更透一些。所以,今天这篇内容,就专注聊聊那次分享里最核心的部分——Agent 的九种设计模式

先放一张全景图镇楼。

相关资料,包括论文链接、原作者博客、LangChain 的代码实现等,都已经整理好。接下来,我们逐一拆解每种模式的原理,并结合代码实现来理解。懂一些代码,对产品经理来说尤其重要,因为这些设计模式本质上,都是以结构化 Prompt 的方式“藏”在代码里的。

ReAct 模式

这是 LLM Agent 的开山之作,发表于 2022 年 10 月。现在看来思路很简单,但在 ChatGPT 还没面世的当时,让大模型学会使用工具,确实是极具开创性的尝试。

1. ReAct 原理

ReAct 的核心理念,就是把“思考”和“行动”这两个原本割裂的过程结合起来。没有 ReAct 之前,就像你让孩子去厨房拿一瓶胡椒粉,你只能一步步告诉他要做什么(COT 提示词策略):先看看台面上有没有,再拉开灶台底下的抽屉,最后打开油烟机左边的吊柜。问题是,不管在哪一步找到了,孩子还是会按部就班地把所有地方都翻一遍。

有了 ReAct,流程就变成了这样:

Action 1: 看看台面上有没有。Observation 1: 没有。执行下一步。

Action 2: 拉开灶台底下的抽屉。Observation 2: 找到了。Action 3: 拿出来。

是的,就是这么简单。论文作者提到,人类智能的一项关键能力,就是“带语言推理的行动”。每次行动后,都会有一个“碎碎念”(Observation),相当于让 Agent 维持短期记忆,知道自己做了什么,离目标还有多远。

ReAct 实现(通过代码理解原理)

翻看了几个开源项目后,挑选了一个最容易理解、最产品经理友好的实现。看完你就会明白,所有 Agent 设计模式的本质,都是将人类的思维模式或管理流程,以结构化 Prompt 的方式告诉大模型,让它去规划、调用工具执行,并不断迭代——这一点非常重要。

代码逻辑可以梳理为下图(值得仔细看):

1. 生成提示词。将预设好的 ReAct 提示词模板(格式为 Question → Thought → Action → Observation)和用户的问题合并,得到最终的 Prompt。

2. 调用大模型生成 Thought + Action。将上述 Prompt 发给大模型。但此时,我们并不想让它直接生成 Observation。通过代码中的 Stop 参数(遇到 Observation 就停止输出),大模型就只返回 Thought 和 Action。

3. 调用外部工具。拿到 Action 后,判断是不是“Finish”。如果不是,就利用大模型的 Function Calling 能力,将 Action 后的自然语言转换为外部工具能识别的 API 接口。

4. 生成 Observation。API 返回结果后,再将其转换为自然语言,生成 Observation。然后将 Observation 连同之前的 Thought、Action 一并输入给大模型,重复步骤 2 和 3,直到 Action 为 Finish。

5. 完成输出。将最后一步的结果转化为自然语言输出给用户。

从这个流程可以看出,要让一个 Agent 落地到具体场景,需要定制两项内容:一是 Prompt 模板中 Few-shot 示例的内容,二是 Function Calling 中的外部工具定义。而 Few-shot 示例,本质上就是结构化的人类思维模式。学会了这个方法,你就能用同样的思路去理解其他设计模式了。

Plan and solve 模式

顾名思义,就是先有计划,再来执行。如果说 ReAct 更适合完成“去厨房拿胡椒粉”这种相对简单的线性任务,那么 Plan & Solve 则更适合“西红柿炒鸡蛋”这种复杂任务——你需要先计划好步骤,并且过程中计划可能会变化。比如,当你打开冰箱发现没有西红柿时,“购买西红柿”就成了一个新步骤,需要插入到计划中。

提示词模板方面,论文标题说得很直白:《Plan-and-Solve Prompting: Improving Zero-Shot Chain-of-Thought Reasoning by Large Language Models》。简单说,就是对 Zero-Shot 方法的提升。

架构上由两部分组成:

  • 规划器:负责让 LLM 生成一个多步计划来完成大任务。代码中分为 Planner 和 Replanner。Planner 负责生成初始计划;Replanner 则是在完成单个任务后,根据当前进度进行重新规划。
  • 执行器:接收用户查询和规划中的步骤,调用一个或多个工具来执行。

Reason without Observation

REWOO(Reason without Observation)是相对 ReAct 中的 Observation 来说的。ReAct 的 Prompt 结构是 Thought → Action → Observation,而 REWOO 则去掉了 Observation。但实际上,它只是将 Observation 隐式地嵌入到了下一步的执行单元中,由下一步的执行器自动去“观察”上一步的输出。

举个例子,常见的审批流程就是环环相扣的:我们的目标是完成 C,步骤是先从部门 A 拿到 a 文件,然后拿着 a 去部门 B 办理 b 文件,最后拿着 b 去部门 C 办理 c 文件。这其中,B、C 部门对 a、b 文件的审查本身就是一类 Observation。

架构上由三个组件组成:

  • Planner:生成一个相互依赖的链式计划,明确定义每一步依赖上一步的输出。
  • Worker:循环遍历每个任务,将任务输出分配给相应变量,并在后续调用中用变量结果替换变量。
  • Solver:整合所有输出,生成最终答案。

LLMCompiler

“Compiler”在计算机科学中的意义,就是如何编排任务以提高效率。原论文题目《An LLM Compiler for Parallel Function Calling》非常直白——通过并行 Function Calling 来提高效率。比如,用户提问“张译和吴京差几岁”,Planner 会同时发起“搜索张译年龄”和“搜索吴京年龄”两个任务,最后合并结果即可。

提示词对 Planner 的要求,核心是希望生成一个 DAG(有向无环图),以便并行执行不冲突的任务。

架构上分为一个 Planner(规划器)和一个 Jointer(合并器)。

Basic Reflection

这个模式可以类比为学生(Generator)写作业,老师(Reflector)批改并给出建议,学生根据建议修改,如此反复。

Prompt 的设计,就是复刻师生之间的交互过程。

架构上由一个 Generator 和一个 Reflector 组成。

Reflexion

Reflexion 是 Basic Reflection 的升级版,论文标题是《Reflexion: Language Agents with Verbal Reinforcement Learning》,本质上是强化学习的思路。与 Basic Reflection 相比,它引入了外部数据来评估回答是否准确,并强制让 Agent 发现自己回答中多余或缺失的部分,使反思更具建设性。

在 Prompt 方面,会让大模型在回答问题前先进行反思和批判性思考,明确有没有遗漏或重复,然后再回答,最后进行针对性的修订。

架构上,有一个自带批判式思考陈述(Critique)的 Responder,以及一个以 Critique 为上下文对初始回答进行修改的 Revisor。

Language Agent Tree Search

LATS 的论文标题很直白:《Language Agent Tree Search Unifies Reasoning Acting and Planning in Language Models》。它是 Tree Search + ReAct + Plan & Solve + Reflection 的融合体。在原始论文图中可以看到,LATS 通过树搜索的方式进行奖励评估,同时融入反思,从而找到最优结果。所以,LATS = Tree search + ReAct + Plan & solve + Reflection + 强化学习。

架构上,就是多轮 Basic Reflection,包含多个 Generator 和 Reflector。

Self-Discover

Self-Discover 的核心,是让大模型在更细粒度的层面上对任务本身进行反思。Plan & Solve 反思的是任务是否需要补充,而 Self-Discover 反思的是任务本身。

在 Prompt 方面,Self-Discover 会列出一系列反思方式,让 Agent 自行选择最合适的。

结构上由三个组件组成:

  • Selector:从众多反思方式中选择合适的。
  • Adapter:使用选定的方式进行反思。
  • Implementor:反思后进行重新推理。

Storm

Storm 的论文标题是《Assisting in Writing Wikipedia-like Articles From Scratch with Large Language Models》,核心思路是:从零生成一篇类似维基百科的长文。主要是让 Agent 先利用外部工具搜索并生成大纲,再根据大纲填充每部分内容。

Prompt 的模板主要围绕如何生成大纲、如何丰富大纲内容来设计。

架构上,先有主题,然后生成大纲,再根据大纲丰富内容,包含一个大纲生成器和一个内容生成器。

总结

以上就是目前总结的 Agent 九大设计模式。需要明确的是,没有最好的设计模式,只有最适合的。最终还是要从用户需求出发,选择最契合的那个。

所有的资料已经整理成表格,有新的设计模式出现也会及时更新。

免责声明

本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。

相关阅读

更多
欢迎回来 登录或注册后,可保存提示词和历史记录
登录后可同步收藏、历史记录和常用模板
注册即表示同意服务条款与隐私政策