做 AI Agent 的时候,到底该让 AI"先想再做",还是"边想边做"?
这个问题,是每一个做 Agent 系统的人都要过的坎。
我最近看到一份架构决策记录,讲的就是这个------为什么选 ReAct 模式,而不是 Plan-and-Execute。
答案其实很简单:因为用户不会按你的计划来。
Plan-and-Execute 的思路是什么?先定一个计划,然后按步骤执行。听起来很合理,对吧?
但在企业客服场景里,你很快就会发现问题:用户上一秒还在查订单,下一秒就变成要退款了。计划写好了,意图变了------整个计划白做。
ReAct 不一样。它是"思考→行动→观察→再思考"的循环。每一次行动之后,它都看一眼结果,再决定下一步怎么走。计划不是在开始定死的,而是在执行中动态生成的。
而且数据也很说明问题:
纯 Plan-and-Execute,平均响应 8 秒。ReAct 呢?3.2 秒。 任务完成率呢?从 78% 提到 91%。
为什么?因为 Plan-and-Execute 只要中间一步失败,整个计划就要重来。ReAct 随时可以调整方向,容错性高得多。
当然,作者也没走极端。他的方案是"ReAct 为主,Plan 为辅"------
简单的、单步的任务:直接让 ReAct 跑一次循环。 复杂的、多步骤的任务:先让 AI 生成一个粗粒度计划,每个步骤内部再用 ReAct 来灵活执行。