ReAct 是目前最流行、应用最广泛的 Agent 架构基础。
| 范式特点 | 优势 (Pros) | 劣势 (Cons) |
|---|
推理与行动的交替循环。 LLM 的输出必须严格遵循 Thought (推理) ->(工具调用)-> Observation (观察结果) 的固定结构。 | 高可解释性: Thought 步骤使得 Agent 决策过程透明化,易于调试和理解。 | 对提示词(Prompt)敏感: 依赖精确的 ReAct 格式 Prompt,如果 LLM 输出格式不正确,Agent 可能会崩溃。 |
| 即时规划和执行。 每一步的思考都是对上一步观察结果的即时反应。 | 强大的纠错能力: Agent 能根据 Observation 中的错误或不足,在下一轮 Thought 中迅速调整策略。 | 效率较低: 每一步行动都需要一次 LLM API 调用,对于长流程任务,调用次数多,成本高,延迟较大。 |
| 工具使用明确。 LLM 明确地决定要调用哪个工具和参数。 | 泛化性好: 适用于各种需要多步决策、外部信息获取和工具操作的复杂任务。 | 长时任务上下文限制: 循环次数过多会导致上下文窗口(Context Window)爆炸,需要复杂的记忆管理机制来缓解。 |
该范式模仿人类的“先计划后执行”模式,旨在解决 ReAct 中频繁调用的效率问题。
| 范式特点 | 优势 (Pros) | 劣势 (Cons) |
|---|
| 两阶段结构: 1. 规划阶段 (Planning):LLM 制定完整的、分解后的任务列表。 2. 执行阶段 (Execution):执行器按照计划列表顺序执行,通常由一个较小的、更高效的模型或硬编码逻辑驱动。 | 高效率: 规划阶段只需要少数几次 LLM 调用(甚至一次),执行阶段可以由更轻量级的执行器或更小的模型完成。 | 规划僵化: 计划一旦制定,缺乏灵活度。如果执行过程中遇到意外,Agent 难以即时调整或纠正计划。 |
| 执行与规划分离。 规划模块负责“思考”,执行模块负责“操作”。 | 成本可控: 减少了昂贵的 LLM API 调用次数。 | 对初始计划要求高: 如果初始计划有误,后续所有步骤都将受到影响,难以恢复。 |
| 专注于结构化任务。 适用于流程相对固定、步骤可预测的任务。 | 内存管理简单: 规划阶段的上下文压力较小。 | 不适合开放式环境: 在结果不可预测、需要大量实时交互和反馈(如网页浏览、复杂调试)的任务中表现较差。 |
| | |
这类范式不满足于简单的线性推理,而是探索多种可能性路径,进行更深度的搜索和评估。
| 范式特点 | 优势 (Pros) | 劣势 (Cons) |
|---|
| 非线性推理结构。 LLM 不只生成一个 Thought/Action 链条,而是生成多个潜在的思考路径,形成一个思维树或图。 | 高准确性和深度推理: 通过探索和评估多条路径,避免局部最优解,在复杂难题(如创意写作、多假设验证)中表现更佳。 | 计算资源消耗巨大: 需要多次、甚至指数级的 LLM 调用来探索 and 评估不同的思维路径。 |
| 自我评估机制。 LLM 必须生成一个 评估函数 或 自我批判 的步骤,来衡量每条思考路径的质量。 | 强大的问题解决能力: 能够处理涉及不确定性、需要回溯和复杂搜索的任务。 | 实现难度高: 需要复杂的机制来管理和修剪思维树,防止计算量爆炸。 |
| 结合了搜索算法。 类似于广度优先搜索 (BFS) 或深度优先搜索 (DFS),用于探索思维空间。 | 最接近人类的高级思维模式。 模拟人类的反复思考、假设和否定过程。 | 实时性差: 由于搜索空间大,不适合需要快速响应的实时应用。 |
| 范式 | 核心策略 | 典型应用场景 | 适用性 |
|---|
| ReAct | 循环决策与即时工具调用 | 客户服务、数据分析、代码辅助、通用问答。 | 最通用,适用于大多数需要与外部环境交互的 Agent。 |
| Plan-and-Execute | 一次性完整规划,按部就班执行 | 软件部署流程、固定格式的报告生成、可预测的数据管道任务。 | 流程稳定、追求高效率 的场景。 |
| Graph/Tree-of-Thought | 探索多重思维路径,深度推理 | 复杂数学问题、科学研究、策略制定、创意内容生成。 | 追求最高准确度,不计成本 的复杂推理场景。 |