定义

经典 Agent 范式是指智能体系统中”思考”与”行动”的组织方式。三种最经典的范式是 ReActPlan-and-SolveReflection,它们分别代表了”边想边做”、“先想后做”和”做完反思”三种策略。

三种范式对比

维度ReActPlan-and-SolveReflection
工作方式边想边做,动态调整先完整规划,后严格按序执行执行→反思→优化,迭代循环
核心优势环境适应性、动态纠错结构性、稳定性显著提升解决方案质量
适合任务探索性、需外部工具输入的任务逻辑路径确定、内部推理密集的任务对结果准确性可靠性要求极高的任务
核心局限依赖 LLM 能力、效率低、提示词脆弱计划静态不可修改成本高、延迟大、提示工程复杂
类比侦探根据线索逐步推理建筑师先画蓝图再施工学者反复修改论文

ReAct(Reasoning + Acting)

由 Shunyu Yao 于 2022 年提出。核心思想是将推理与行动显式结合,形成”思考-行动-观察”循环。

形式化表达

每个时间步 ,策略 (LLM)根据原始问题 和历史轨迹,生成当前思考 和行动

工具 执行行动并返回观察 ,循环直至任务完成。

核心实现

ReAct 智能体的主循环:

  1. 格式化提示词(注入工具列表、问题、历史)
  2. 调用 LLM 生成 Thought + Action
  3. 解析输出提取行动指令
  4. 执行工具或返回最终答案
  5. 将 Action 和 Observation 追加到历史

关键要素:角色定义、工具清单、格式规约(Thought/Action/Action Input/Observation 标签)、动态上下文。

详见ReAct 页面有更详细的定义和对比。

Plan-and-Solve

由 Lei Wang 于 2023 年提出。将任务处理明确分为两个阶段:先规划(Plan),后执行(Solve)。

形式化表达

规划模型 根据问题 生成 步计划

执行模型 逐一完成,第 步的结果 依赖于问题 、完整计划 、以及之前所有结果:

核心实现

Planner 模块:角色设定为”顶级 AI 规划专家”,强制输出 Python 列表格式的计划,用 ast.literal_eval 安全解析。

Executor 模块:逐一执行计划步骤,每一步的提示词包含原始问题、完整计划、历史步骤与结果、当前步骤。上一步结果作为下一步上下文传递。

统一封装 PlanAndSolveAgent:串联 Planner 和 Executor,先规划后执行。

关键局限

计划一旦生成便不可动态修改。若环境在执行中发生变化,无法像 ReAct 那样灵活调整。

Reflection(自我反思与迭代)

灵感来源于人类学习过程。思想在 Shinn, Noah 2023 年提出的 Reflexion 框架中体现。

形式化表达

为第 次迭代输出,反思模型 生成反馈

优化模型 结合原始任务、上一版输出及反馈,生成新版本:

三层提示词设计

  • 初始执行提示词:直接要求生成代码,含完整函数签名、文档字符串
  • 反思提示词(核心灵魂):角色设定为”极其严格的代码评审专家”,分析时间复杂度,只有算法已最优才能回答”无需改进”
  • 优化提示词:根据评审反馈生成优化版本

成本收益

  • 成本:每轮至少额外两次模型调用,任务延迟高,提示工程复杂
  • 收益:解决方案质量跃迁(从”合格”到”优秀”),鲁棒性增强
  • 适用场景:关键业务代码生成、科学推理、深度分析决策

混合使用

三种范式可以组合使用。例如用 Reflection 作为外层大循环包裹 ReAct 或 Plan-and-Solve 作为内部执行单元——先执行任务,再反思结果,迭代优化。

三种范式的工程挑战

共性挑战包括:

  • 模型输出格式解析的脆弱性(正则依赖精确格式)
  • 工具调用失败的重试机制
  • 防止无限循环(max_steps 限制)
  • 工具数量超过 50 个时的检索优化

书中强调”重复造轮子”理解这些范式的原因在于:理解高度抽象工具背后的设计机制,暴露工程挑战,从而从框架”使用者”转变为智能体应用”创造者”。

关联连接