同一个模型,做同一件事,为什么有的 Agent 干得又快又稳,有的却三步就绕进死胡同?很多时候差别不在模型,而在「它怎么规划」。规划范式就是 Agent 决定「下一步做什么」的方式——这件事设计得对不对,直接决定 Agent 能不能把一件事干完。
目前主流就三种范式:ReAct(边想边做)、Plan-and-Execute(先列计划再执行)、Reflexion(做完复盘再重试)。很多人只知道第一种,结果拿它去干长任务,自然翻车。本文把三种范式讲透,再说清什么任务该用哪种、怎么组合、有哪些坑。
先分清:规划范式解决的到底是什么问题
Agent 的本质是一个循环:想 → 调工具 → 看结果 → 再想。规划范式回答的是这个循环里最关键的一问——「接下来该干什么,是现在才决定,还是早就定好了」。现在就决定,灵活但容易跑偏;早就定好,稳但容易僵化。三种范式就是在这个光谱上的三个位置。
它和 Function Calling 的机制 是两层事:Function Calling 解决「怎么把工具调用出去」,规划范式解决「什么时候调哪个工具、为什么」。前者是手脚,后者是脑子。
范式一:ReAct——想一步、做一步
ReAct 的全称是 Reasoning + Acting,核心是「思考—行动—观察」三步循环:模型先输出一段思考(Thought),决定调哪个工具(Action),拿到工具返回(Observation),再进入下一轮思考。如此往复,直到它认为任务完成。
优点:灵活。每一步都基于最新的真实结果做判断,环境变了能立刻调整,适合那种「走一步看一步」的任务。缺点:没有全局视野。任务一长,模型容易忘了最初的目标,走着走着就偏了;而且每一步都要一次模型调用,步数多了成本和时间都上去了。
适合:步骤少、依赖实时反馈的任务。比如查一下订单状态再决定要不要发货提醒、根据搜索结果决定下一轮搜什么、简单的问答加一两次工具调用。不适合:需要十几步、有明确先后依赖的长任务——那是下面两种范式的地盘。
范式二:Plan-and-Execute——先列计划,再逐步执行
这个范式先把任务拆成一份完整的步骤清单(Plan),然后按顺序逐步执行(Execute)。执行过程中如果发现计划不合适,还可以触发「重规划」(Replan),生成新计划。
优点:有全局视野,长任务不容易跑偏;计划和执行可以分离——计划用强模型做一次,执行用便宜模型或小模型逐步跑,成本可控;计划本身就是一份可审查的清单,人能提前看一眼对不对。缺点:计划一旦做错,后面全错;如果任务环境变化快,精心做的计划很快就过期了,重规划又有额外开销。
适合:步骤多、依赖关系明确、环境相对稳定的任务。比如「整理这批发票并生成报销表」「把这份文档翻译、校对、排版、发布」,这种拆解出来就是一条清晰的流水线。这也正是站里 AI Agent 长时任务设计 里推荐的底座——长任务必须先在计划层把结构定住。
范式三:Reflexion——做完先复盘,再重来一次
Reflexion 在「执行」之后加了一个「反思」环节:任务失败或结果不达标时,Agent 不是简单地重试,而是先分析「刚才为什么没做好」,把教训写成一段文字存进记忆,然后带着这段教训重新执行。它把「失败」变成了「可复用的经验」。
优点:对「有明确成败信号、且可以反复尝试」的任务效果显著,比如写代码跑测试、解数学题、做格式校验——失败了能立刻知道错在哪,反思后再试一次往往就成了。缺点:必须有清晰的成败判据,否则反思会变成自我表扬;重试有成本,同一个问题反复反思还失败,就会陷进死循环。
适合:有自动化判据、允许重试的任务。不适合:没有客观判据的主观任务(比如写一篇有风格的文案),以及只有一次机会的任务(比如已经发出去的邮件)。
怎么选:按任务特征对号入座
三个问题就能定位:步骤多不多——少(1-3 步)走 ReAct,多(10 步以上)走 Plan-and-Execute;环境变不变——实时变化走 ReAct,稳定可预测走 Plan-and-Execute;有没有明确成败信号——有且可重试,加一层 Reflexion。
反过来,三个最常见的错配是:拿 ReAct 干长任务(越走越偏)、拿 Plan-and-Execute 干实时任务(计划刚做完就过期)、在没有判据的任务上硬套 Reflexion(反思变成自我安慰)。
组合用法:外层计划、内层反应、失败时反思
实际生产里,三种范式很少单用,更常见的是叠加:外层用 Plan-and-Execute 定骨架,把长任务拆成几个明确的阶段;每个阶段内部用 ReAct 灵活执行,根据实时结果决定具体调哪个工具;整个任务失败时用 Reflexion 复盘,把教训写回记忆再重跑。
这套「计划—反应—反思」的三层结构,能同时拿到全局稳定性和局部灵活性。要注意的是,每一层都会往上下文里塞东西——计划、思考、观察、反思,很快就撑满窗口。所以规划层必须做减法,把不必要的历史砍掉,具体方法见 AI Agent 上下文管理。
四个最容易踩的坑
坑一:计划太细,僵化。把每一步都写死,遇到一点意外就执行不下去。计划应该只定「做什么、什么顺序、什么算完成」,具体怎么做留给执行层。坑二:计划太粗,等于没有。只有一句「帮我把这件事办好」,那不是计划,是许愿。坑三:没有终止条件。ReAct 和 Reflexion 都会循环,必须有明确的「什么时候停」——步数上限、时间上限、成功判据,三者至少有一个。Agent 无限循环烧 token 的事故,根子都在这里。坑四:反思变味。如果反思没有客观判据做锚,模型会写出一堆「这次做得不错,下次继续保持」,白花成本。
还有个跨 Agent 的坑:当任务被拆给多个 Agent 协作时,规划层和执行层的边界更要划清,否则会出现「谁都以为对方在做」。这部分坑站里 多 Agent 协作避坑清单 讲得很细,值得对照。
验收:怎么知道规划层做得好不好
上线前看四个数:任务完成率——一批典型任务里能跑完的比例;平均步数——完成同一任务用了多少轮,步数异常高说明计划没拆好;偏航率——跑着跑着偏离原始目标的比例;重规划次数——计划被推翻的频率,太高说明计划层对任务理解不到位。这四个指标和站里 AI Agent 评测怎么做 的思路一致:别凭感觉说「好像变好了」,要用数据说话。规划层是整条链路的入口,入口的闸门建议按 AI Agent 质量门禁 的方式卡住。
适合人群
适合:正在搭 Agent、发现「任务一长就跑偏」的开发者;在做长流程自动化(多步审批、批量处理、跨系统协作)的团队;以及纠结「该不该让 Agent 自己规划」的产品负责人。不适合:任务只有一两个固定步骤的场景——那种直接用固定工作流比任何规划范式都稳,别为了 Agent 而 Agent。
总结
AI Agent 任务规划,一句话记法:短任务用 ReAct,长任务用 Plan-and-Execute,可重试的任务加 Reflexion,生产环境三层叠着用。核心心法:规划范式不是越高级越好,而是要匹配任务的特征——步骤、环境、判据。选对了,同一个模型能干出完全不同的效果;选错了,再强的模型也救不回来。规划是 Agent 的骨架,骨架立不住,肌肉再发达也跑不起来。