思考:内部推理及 Re-Act 方式
思考(Thought)是 Agent 解决任务的内部推理和规划过程。
这利用 Agent 的大型语言模型(LLM)能力,分析提示词中呈现的信息。
可以将其视为 Agent 的内部对话,Agent 考虑手头的任务,并且制定策略。
Agent 的思考负责获取当前的观察结果,决定下一步采取什么行动。
通过该过程,Agent 可以将复杂问题分解成更小、更易管理的步骤,反思过去的经验,基于新信息不断调整自己的规划。
以下是常见的思考:
思考类型 | 示例 |
规划 | “我需要将该任务分解成 3 步:1)收集数据,2)分析趋势,3)生成报告” |
分析 | “根据错误消息,问题似乎与数据库连接参数有关” |
决策 | “考虑到用户的预算限制,我应该推荐中间层选项” |
问题解决 | “为优化该代码,我应该首先对其进行分析,以确定瓶颈” |
记忆集成 | “用户之前提到他们对 Python 的偏好,所以我将提供 Python 示例” |
自我反省 | “我的上一种方法不太奏效,我应该尝试其它策略。” |
目标设置 | “为完成该任务,我需要先建立验收标准” |
优先级 | “在添加新功能前,应先解决安全漏洞” |
注意:对于针对函数调用进行微调的 LLM,思考过程是可选的。
ReAct 方式
一种关键方法是 ReAct 方式,它是“推理”(思考)与“行动”(行动)的连接。
ReAct 是一种简单的提示词技术,它在让 LLM 解码下个 Token 前附加“让我们一步一步地思考”。
提示模型“一步一步地思考”将引导解码过程生成规划,而非直接生成最终方案,因为模型被鼓励将问题分解为子任务。
这使得模型能够更详细地考虑各个子步骤,这样做通常比直接生成最终方案产生更少的错误。

最近,推理策略引起广泛关注。这是 Deepseek R1 或 OpenAI o1 等模型的背后原理,这些模型经过微调,以便"在回答前先思考"。
这些模型被训练为始终包含特定的
思考部分(用<think>
和</think>
特殊 Token 括起来)。这不仅仅是像 ReAct 这样的提示词技巧,还是一种训练方法,模型通过分析数千个展示我们期望行为的示例,学习生成思考部分。