ReAct框架详解
一句话总结
ReAct(Reasoning + Acting)框架交替进行推理思考和外部行动,使LLM能够基于观察结果动态调整策略,是最经典的Agent范式。
核心概念
ReAct循环包含三个步骤:Thought(思考当前状态和下一步计划)、Action(执行具体操作如搜索、计算)、Observation(获取行动结果)。循环持续直到得出最终答案。相比Chain-of-Thought只做推理,ReAct增加了与外部环境交互的能力。相比直接行动,ReAct通过显式推理提升了决策质量和可解释性。经典实现如LangChain Agent、LlamaIndex Agent。
为什么重要
ReAct统一了推理和行动两种范式的优势。推理让Agent能够规划和反思,行动让Agent能够获取新信息。这种交替模式自然地模拟了人类解决问题的过程,是构建可靠Agent的基础框架。
实践要点
Thought部分引导模型明确说明推理过程和下一步计划。提供清晰的工具描述和使用示例。设置合理的最大循环次数(通常5-10次)。对Observation进行适当截断避免上下文溢出。使用few-shot示例展示期望的ReAct轨迹。监控每轮的token消耗控制成本。
常见误区
Thought部分过于冗长浪费token。没有设置终止条件导致无限循环。工具返回结果过长占满上下文窗口。忽视ReAct格式的prompt工程对效果的重大影响。对所有任务都使用ReAct而不考虑简单任务的效率。