Plan-and-Solve
先规划后执行——零样本地先制定分步计划,再逐步求解。
模型侧背景,取自 Plan-and-Solve 原论文(Wang et al., 2023,arXiv:2305.04091v3,“Plan-and-Solve Prompting: Improving Zero-Shot Chain-of-Thought Reasoning by Large Language Models”,ACL 2023)。
方法
论文的出发点是给 zero-shot CoT(就是在问题后加一句“Let’s think step by step”)做体检。作者在 100 道算术题上人工归因,发现它的错误分三类:计算错误(7%)、漏步错误(12%)、语义理解错误(27%)。
Plan-and-Solve(PS)只改那句 trigger,不加示例、不改权重:把“Let’s think step by step”换成 “先理解问题并制定一个计划,然后按计划逐步求解”。它由两个部分构成——先规划(把任务拆成有序子任务),再执行(依 计划逐一完成)。这一改动针对的是漏步错误:在动手前先把结构定下来,模型就不容易在多步问题里漏掉中间步。
增强版 PS+ 在 trigger 里再追加两条更细的指令——“提取相关变量与对应数值”和“计算中间结果(注意计算与常识)”—— 针对的是计算错误。(占比最大的语义理解错误,PS/PS+ 并没有直接处理。)全程零样本、贪心解码、单条推理链,末尾再用一个 “Therefore, the answer (arabic numerals) is”式的抽取提示把最终答案取出。
本质:把“计划”外置成显式的第一步
PS 的机制不神秘——它只是把人做难题时“先列步骤、再动手”的习惯,写进了 trigger。但论文有一个消融把功劳定位得很准:如果 只加“提取变量与数值”这条指令、却不加“制定计划”,效果反而比原始 zero-shot CoT 更差;只有把“规划”这一步也放进去, 准确率才上来。换句话说,起作用的活性成分是“先规划”本身,而不是那些更细的算术指令——后者是锦上添花。
这与 CoT 的教训同源:改善推理靠的是让输出结构更显式(这里是“计划先行”), 而非给模型更多提示词或算力。
论文与实验结果
- 设置:10 个数据集、三类推理——算术 6 个(GSM8K、SVAMP、MultiArith、AddSub、AQuA、SingleEq)、常识 2 个(CSQA、 StrategyQA)、符号 2 个(Last Letter、Coin Flip);基座 GPT-3(text-davinci-003),贪心解码;对照零样本 CoT、零样本 Program-of-Thought(PoT),以及少样本 Manual-CoT(8-shot)与 Auto-CoT。
- 算术(6 个数据集平均):Zero-shot-CoT 70.4 → PS 72.9 → PS+ 76.7;已逼近少样本的 Manual-CoT(77.6)与 Auto-CoT(75.9)——在个别数据集上甚至反超。PS+ 相对 Zero-shot-CoT 在除 GSM8K 外的算术集上均 ≥ +5%(GSM8K 因语言 更复杂只 +2.9%),并在 6 个算术集里的 5 个超过 zero-shot PoT。
- 常识 / 符号:PS+ 稳超 Zero-shot-CoT(CSQA 71.9 vs 65.2、StrategyQA 65.4 vs 63.8);符号 Last Letters 上 PS+ 75.2 甚至 超过 Manual-CoT 的 70.6,Coin Flip 99.6 仅略低于 Manual-CoT 的 100。
- 贡献:证明仅靠“先规划后执行”这一句零样本提示结构,就能显著改善多步推理,无需任何人工示例——零样本提示因此有可能与 少样本 CoT 一较高下。
局限
- 最大的错误来源没被解决:PS 针对漏步、PS+ 针对计算,但占比最高的语义理解错误(27%)基本没触及——它受模型本身理解 能力约束,改 prompt 结构解决不了。
- 单条链、无搜索无重试无外部反馈:收益上限受此约束;对特别困难的任务,规划本身也可能出错而无从纠正(这正是 LATS 引入树搜索、Reflexion 引入重试的动机)。
- 零样本仍略逊最强少样本:算术平均 PS+(76.7)仍低于 Manual-CoT(77.6),常识上也低于 Manual-CoT。
- 评测基座为 GPT-3 时代模型,更强模型上的边际收益可能收窄。
对 agent 设计的价值
PS 展示了最轻量的“先规划后执行”结构:不需搜索、不需多次尝试、不需额外工具,仅靠把 trigger 改成“先计划、再执行”就改善 多步任务可靠性。可迁移原则: