Skip to content

思维机制:内部推理与 ReAct 方法

本节将深入探讨 AI 智能体的内部运作机制——其推理与规划能力。我们将解析智能体如何通过内部对话分析信息,将复杂问题分解为可管理的步骤,并决策下一步行动。同时介绍 ReAct 方法,是一种鼓励模型在行动前"逐步思考"的提示技术。

什么是思维(Thought)?

思维(Thought) 代表着智能体解决任务的内部推理与规划过程。

这利用了智能体的大型语言模型 LLM 能力来分析其 prompt 中的信息。

可将其视为智能体的 内部对话,在此过程中它会考量当前任务并制定应对策略。

💡 核心作用

智能体的思维负责获取当前观察结果,并决定下一步应采取的行动。

通过这一过程,智能体能够:

  • 🧩 将复杂问题分解为更小、更易管理的步骤
  • 🤔 反思过往经验
  • 🔄 根据新信息持续调整计划

思维模式类型

以下是常见思维模式的示例:

思维类型示例
规划"我需要将任务分解为三步:1.收集数据 2.分析趋势 3.生成报告"
分析"根据错误信息,问题似乎出在数据库连接参数"
决策"考虑到用户的预算限制,应推荐中端选项"
问题解决"优化此代码需先进行性能分析定位瓶颈"
记忆整合"用户先前提到偏好 Python,因此我将提供 Python 示例"
自我反思"上次方法效果不佳,应尝试不同策略"
目标设定"完成此任务需先确定验收标准"
优先级排序"在添加新功能前应先修复安全漏洞"

ReAct 方法

核心概念

核心方法是 ReAct 方法,即"推理"(Reasoning/Think)与"行动"(Action)的结合。

ReAct 是一种简单的提示技术,在让 LLM 解码后续 token 前添加 "让我们一步一步的思考" 的提示。

工作原理

加载图表中...

通过提示模型 "逐步思考",可以引导解码过程生成计划而非直接输出最终解决方案,因为模型被鼓励将问题分解为子任务。

这种方法使模型能够更详细地考虑各个子步骤,通常比直接生成最终方案产生更少错误。

ReAct 示例对比

❌ 直接回答:无思考,无工具(容易出错)

用户:求 13% × (120 + 5^2)
AI:答:19(容易被四舍五入或心算误差影响)

⚠️ CoT:只“思考”(可能对,也可能翻车)

用户:求 13% × (120 + 5^2)
AI 思考:
  5^2 = 25;
  120 + 25 = 145;
  13% 是 0.13;
  0.13 × 145 = 18.85。
AI 答:18.85
(这次对了,但在长链路或小数问题上,LLM 仍可能算错)

✅ ReAct 方法:思考 + 调用 calculator 工具(计算器)(更准确)

用户:求 13% × (120 + 5^2)

AI(思考):先算括号,再乘百分比以确保无误差。
AI(动作):calculator.evaluate("0.13 * (120 + 5**2)")
Tool(观察):18.85

AI(思考):得到精确结果。
AI(最终答案)= 18.85

现代推理策略的发展

现在推理策略受到广泛关注,这体现在 Deepseek R1OpenAI 的 o1 等模型的开发中。

这些模型经过微调,被训练为"先思考再回答"。

思考标记系统

它们通过特殊标记(<thought></thought>)来界定思考部分:

xml
<thought>
先算括号,再乘百分比以确保无误差。
我需要执行工具计算:calculator.evaluate("0.13 * (120 + 5**2)") 
结果为:18.85
</thought>

最后答案:18.85

这不仅是类似 ReAct 的提示技巧,更是通过分析数千个示范案例,让模型学习生成这些思考段的训练方法。

演进对比

加载图表中...

🎯 实践应用

在代码中实现 ReAct

python
def react_prompt(user_question):
    return f"""
    问题:{user_question}
    
    让我们一步一步的思考这个问题:
    
    思考:我需要分析这个问题的关键要素... (分析问题, 制定计划)
    行动:基于分析,我将采取... (使用工具, 执行动作)
    观察:执行结果显示... (根据观察结果, 调整计划, 进行下一步:判断再次执行动作还是给出最终答案)
    
    请按照这个格式来回答。
    """

提示模板示例

你是一个有用的 AI 助手。对于每个问题,请遵循以下格式:

思考:[分析问题,制定计划]
行动:[描述你将采取的具体步骤][使用工具, 执行动作]
观察:[评估结果,决定下一步](根据观察结果, 调整计划, 进行下一步:判断再次执行动作还是给出最终答案)

如果问题复杂,重复思考 - 行动 - 观察 循环直到找到满意的答案。

🔍 深入理解

思维过程的重要性

  1. 错误减少:逐步推理减少了跳跃性错误
  2. 可解释性:用户可以理解 AI 的推理过程
  3. 可调试性:开发者可以识别推理链中的问题
  4. 可信度:透明的思考过程增加用户信任

📚 参考资料