AI Agent(智能体)的设计模式以及实现机制
一、AI Agent 实时决策:ReAct
- 论文标题: ReAct: Synergizing Reasoning and Acting in Language Models
- 作者/机构: Shunyu Yao et al. (Princeton University & Google)
- 链接: arXiv:2210.03629
- 发表会议: ICLR 2023
ReAct 是什么: TAO模式,Thought -> Action -> Observation。它的核心思想是将**推理(Reasoning)与行动(Acting)**交织在一起。模型不再直接生成答案,而是生成“思考轨迹(Thought)”,基于思考决定调用什么“工具(Action)”,观察工具返回的“结果(Observation)”,再基于结果进行下一轮思考,直到得出最终答案。它解决了传统 CoT(思维链)无法与外部世界交互,以及传统 Act 模式缺乏逻辑推理导致错误累积的问题。
核心机制是 TAO模式,Thought -> Action -> Observation
ReAct 实现原理:
- Prompt 模板构造: 构建一个包含示例(Few-shot)的 Prompt,示例中明确展示
Thought -> Action -> Observation的循环格式。 - 停止符控制: 设置停止符(Stop Tokens),当模型生成
Action:时停止,以便代码拦截并执行对应的工具函数。 - 循环执行引擎:
- Step 1: LLM 生成
Thought(分析当前状态) - Step 2: LLM 生成
Action(如Search[query]) - Step 3: 工程层解析 Action,调用 API,获取
Observation - Step 4: 将 Observation 追加到上下文,再次调用 LLM。
- Step 5: 当 LLM 生成
Final Answer时,循环终止
- Step 1: LLM 生成
注意:上述 while 循环是同步阻塞的,适合简单场景。在复杂生产环境(如 LangGraph),我们使用**有向图(DAG)**来实现循环引擎。
- 工程难点: 需要处理工具调用失败的重试机制,以及防止模型陷入死循环(最大迭代次数限制)。
二、AI Agent 规划 + 推理:Plan-and-Execute
- 论文标题: Plan-and-Solve Prompting: Improving Zero-Shot Chain-of-Thought Reasoning
- 作者/机构: Lei Wang et al. (Harbin Institute of Technology & Microsoft)
- 链接: arXiv:2305.04091
- 发表会议: ACL 2023
Plan-and-Execute 是什么: ReAct 模式是“走一步看一步”,容易在长任务中迷失方向。Plan-and-Execute 模式则将任务分为**规划器(Planner)和执行器(Executor)**两个角色。规划器负责先将复杂任务拆解为完整的子任务列表(全局规划),执行器则负责逐个完成子任务。这种模式更适合需要长远视野、步骤依赖关系明确的复杂场景。
核心机制是规划器(Planner)和执行器(Executor)双阶段架构
实现原理:
- 双模型/双阶段架构:
- Planning 阶段: 输入用户目标,LLM 输出一个结构化的任务列表(如 JSON 或编号列表)。例如:
["搜索天气", "查询航班", "计算总价"]。 - Executing 阶段: 遍历任务列表,每个子任务可以独立调用 ReAct Agent 或工具链完成。
- Planning 阶段: 输入用户目标,LLM 输出一个结构化的任务列表(如 JSON 或编号列表)。例如:
- 状态管理: 需要一个全局状态存储器(State Store),记录哪些子任务已完成,哪些失败,以及子任务之间的输出依赖(如子任务 B 需要子任务 A 的结果)。
- 动态调整(进阶): 高级实现中,执行器若发现某步无法完成,可反馈给规划器重新调整剩余计划(Re-planning)。
- 工程优势: 相比 ReAct,更易于监控进度,适合企业级工作流(Workflow)编排。
三、AI Agent 自我反思回路验证:Self-Correction & Reflection
- 论文标题: Reflexion: Language Agents with Verbal Reinforcement Learning
- 作者/机构: Noah Shinn et al. (Northeastern University & IBM Research)
- 链接: arXiv:2303.11366
- 发表会议: NeurIPS 2023
Self-Correction & Reflection 是什么: 该模式赋予 Agent“从错误中学习”的能力。传统的 Agent 失败后只是简单重试,而 Reflexion 架构要求 Agent 在任务失败后,生成一段自然语言反思(Reflection),分析失败原因(如“我调用了错误的 API 参数”),并将这段反思存入短期或长期记忆。在下一次尝试时,Agent 会读取之前的反思,从而避免重蹈覆辙。这是一种“语言强化学习”。
核心机制就是失败后的反思机制以及反思内容进行记忆存储。
实现原理:
- 轨迹评估(Trajectory Evaluation): 需要一个评估机制(可以是另一个 LLM,也可以是代码单元测试)来判断当前任务是否成功。
- 反思生成: 若评估为失败,触发反思 Prompt:“请分析上述执行轨迹,指出错误原因并给出改进建议”。
- 记忆注入: 将生成的反思文本作为“历史经验”追加到后续任务的 System Prompt 或向量记忆库中。
- 循环试错: 带着反思重新执行任务,直到成功或达到最大重试次数。
- 工程应用: 特别适用于代码生成(Code Generation)和复杂搜索任务,能显著降低重复错误率。
四、Agent 偏差修正:Thinking and Self-Reflection
Thinking and Self-Reflection 出处:
- 核心论文: Self-Refine: Iterative Refinement with Self-Feedback
- 作者/机构: Aman Madaan et al. (USC & AllenAI)
- 链接: arXiv:2303.17651
- 补充参考: Chain of Verification Reduces Hallucination in Large Language Models (arXiv:2309.11495)
- 发表会议: NeurIPS 2023
Thinking and Self-Reflection 是什么: 此模式侧重于单次生成过程中的质量优化与偏差修正。与 Reflexion 跨episode的学习不同,Self-Refine 是在同一个任务内,让模型扮演“批评者”和“修改者”。模型生成初稿后,自我审查是否存在幻觉、逻辑漏洞或偏见,然后根据反馈修改输出。这主要用于减少大模型的“幻觉”和“认知偏差”,提高输出的事实准确性。
核心机制是利用“批评者”大模型对模型生成内容进行评价,然后再输出
实现原理:
- 生成 - 反馈 - 优化循环(Generate-Feedback-Refine):
- Generate: 模型生成初始回答。
- Feedback: 模型切换到“批评者”角色,针对初始回答提出具体修改意见(如“第 2 点缺乏数据支持”,“语气过于主观”)。
- Refine: 模型根据意见重新生成回答。
- 验证链(Chain of Verification, CoV): 针对事实性偏差,模型先生成一组“验证问题”,然后自我回答这些问题,最后对比初始回答进行修正。
- 收敛条件: 设置最大迭代次数,或当“反馈”环节认为无需修改时停止。
- 工程价值: 适用于对准确性要求高的场景(如医疗咨询、法律建议、新闻写作)。虽然增加了 Token 成本和延迟,但能显著提升输出鲁棒性。
五、RestGPT:“由粗到细”的在线规划框架
Thinking and Self-Reflection 出处:
-
核心论文:RestGPT: Connecting Large Language Models with Real-World RESTful APIs
-
作者/机构:Yifan Song, Weimin Xiong, Dawei Zhu 等(北京大学、华为技术有限公司)
-
链接:arXiv:2306.06624 (https://arxiv.org/abs/2306.06624)
核心框架:两大创新:RestGPT通过两大核心设“由粗到细”的在线规划机制 (Coarse-to-Fine Online Planning):采用“先规划,后细化”的分步策略,动态地分解复杂任务并选择合适的API。
1、API选择器 (API Selector):为每个子任务从海量API中,精准匹配出最合适的API。
2、规划器 (Planner):将复杂指令分解为“先做A,再做B”的粗粒度子任务序列。
3、专为API定制的执行器 (API Executor):负责处理API调用的具体细节,包括准确构造请求参数和高效解析JSON等格式的响应数据,避免LLM“幻觉”。
动态反馈:RestGPT 不会一开始就把整条任务链路的所有 API 参数都定死。
-
工作流程:
-
执行第一步(搜索歌手)→ 拿到返回值(歌手 ID: 6452)。
-
基于上一步的真实结果 → 再去细化第二步的参数(找热门专辑需要带上 ID: 6452)。
-
如果第一步返回空(没找到这个人),在线修正计划(询问用户或换关键词)。
-
结语
从 ReAct 的即时决策,到 Plan-and-Execute 的全局规划,再到 Reflexion 与 Self-Refine 的自我进化,Agent 设计模式正朝着更自主、更可靠的方向发展。
- 简单任务首选 ReAct(成本低、速度快)。
- 复杂工作流采用 Plan-and-Execute(可控性强)。
- 高可靠性需求场景(如代码、事实问答)务必引入 Reflection 机制。
未来的 Agent 架构将是这些模式的混合体:一个具备长期记忆(Reflexion)、能全局规划(Plan-and-Execute)、并在关键节点自我验证(Self-Refine)的多智能体协作系统。作为开发者,我们需要根据业务场景的复杂度与成本约束,灵活组合这些模式。
更多推荐

所有评论(0)