ReAct 模式拆解:思考-行动-观察的循环
ReAct 是把推理与行动绑在同一个循环里的智能体范式:模型先「想一步」,再「动一下手」,观察结果后继续想下一步。它区别于一次性长提示词的地方在于,思考不再是孤立的内心独白,而是与工具返回的真实反馈不断咬合,从而把幻觉压在每一轮的边界之内。对刚上手做 Agent 的人来说,吃透这个循环的开合方式,比盲目堆工具数量更重要。 思考、行动、观察三段各自承担什么职责? 思考段负责把模糊目标拆成可执行的子步骤,并显式说明「我为什么要调这个工具」。行动段只做一件事:输出结构化的工具名与参数,把决定权交还给运行时。观察段则是工具返回的原始结果,模型不能跳过它直接编答案。三者缺一,循环就会退化:只有思考没有观察,等于闭门造车;只有行动没有思考,退化成脚本;只有观察没有思考,模型会被噪声牵着走。设计时要让每一段的输出格式固定、可被解析,避免模型在自由文本里夹带工具调用。 循环什么时候该停下来,又该在哪里兜底? 停止条件应写死在运行时,而不是交给模型自觉。常见做法是设最大轮次、设单任务超时、设「已得到最终答案即收敛」的信号。一旦触顶,系统应带着中间证据退出,而不是让模型硬编一个结论。兜底层要处理三类失败:工具报错、参数非法、观察为空。经验上,把错误信息原样喂回思考段,让模型自我纠偏一到两次,比直接报错给用户更顺滑;但纠偏次数必须封顶,否则会陷入「调错—道歉—再调错」的死循环。把循环当成一台有刹车、有仪表盘的机器来造,ReAct 才不会在生产里失控。 去论坛讨论 前往 silicon-agi.com 论坛 参与讨论