Appearance
Q124 · 从错误分析来看,PS 方法对语义理解错误的改善不明显,可能的原因是什么?有什么改进思路?
“小明有 12 颗糖,给小红 3 颗;小红随后还给小明 1 颗。小明现在有几颗?”正确答案是 12 − 3 + 1 = 10。如果答题者把“还给小明”看成“小明又给小红”,他可以先列出完整计划:“从 12 颗出发,减去 3,再减去 1”,随后准确算出 8。计划很完整,算术也没错,但计划针对的是被误读的题目。
这正是 Plan-and-Solve Prompting(PS,先拟计划再求解的提示法)的边界。Q122 已解释 PS 为什么有助于少漏步骤,Q123 解释 PS+ 如何进一步提醒提取变量和检查中间计算。本题继续问:如果第一步的题意理解错了,为什么这些提示仍可能无效?答案要先看论文实际观察到什么,再区分我们对原因的推断。Wang 等:Plan-and-Solve Prompting,ACL 2023
术语与符号
| 术语或符号 | 这篇文章中的含义 | 糖果题的对应物 |
|---|---|---|
| 大语言模型(LLM) | 根据输入文字生成回答的模型,可能误读语句或算错 | 写出糖果题解答的模型 |
| 提示词 | 题目及我们加给模型的回答要求 | 糖果题,加上“先拟计划” |
| 零样本(zero-shot) | 本次提示不附带已解好的示范题 | 只给当前糖果题与解题要求 |
| 思维链(CoT) | 要求模型写出中间推理步骤的提示做法 | 写出数量变化的算式 |
| Zero-shot-CoT | 不给示范题,只用简短指令让模型逐步解题 | “一步一步想”后直接列算式 |
| PS | 先形成解题计划,再依计划求解的零样本提示 | 先列“初始→给出→还回”,再计算 |
| PS+ | 在 PS 基础上增加变量、数字、中间计算与常识方面的提醒 | 先提取 12、3、1 的含义再计算 |
| 漏步错误 | 看到了条件,却在求解时跳过必要步骤 | 只算 12 − 3,漏了还回 1 颗 |
| 计算错误 | 运算方向和步骤对了,但算术错了 | 把 12 − 3 + 1 算成 11 |
| 语义理解错误 | 对题目动作、角色、关系或目标的理解有误 | 把“小红还给小明”看成“小明又给小红” |
| 已核对的题意表示 | 把自然语言先拆成可核验的“谁、做什么、对谁、数量” | 第二次转移是“小红→小明,1 颗” |
这里的“语义”就是句子在此题里表达的关系:谁拥有糖、谁把糖交给谁、最后问谁的糖数。它不是“这句话读起来是否通顺”。“理解错误”也不是“最终数字错”的另一个名字:模型即便算术全对,只要把转移方向看反,仍属于题意误解。

图上方故意展示一个假设的错误解题路径,并非论文里的原题或真实模型输出;下方是先核对“还给”动作方向后的正确路径。图只呈现一处语义错误怎样传播,不能证明某种提示对全部题型都有效。
原论文观察到了什么
论文从 GSM8K(一组小学水平文字数学题数据集)随机抽取 100 道题,让同一研究设置下的 Zero-shot-CoT、基础 PS 和 PS+ 分别作答,再人工分析错误类型。表 6 给出的分布如下,数字的分母都是这 100 道题,不是各方法自己的错误题数:原论文第 4 节“Error Analysis”及表 6
| 方法 | 答错题数 / 100 | 计算错误 | 漏步骤错误 | 语义理解错误 |
|---|---|---|---|---|
| Zero-shot-CoT | 46 | 7 | 12 | 27 |
| 基础 PS | 43 | 7 | 10 | 26 |
| PS+ | 39 | 5 | 7 | 27 |
例如表里的“PS+ 语义理解错误 27%”,意思是这 100 道样本中有 27 道被归为该类,并非“PS+ 答错的 39 道中有 27%”。也不能把 27 → 26 → 27 解读成严格单调变化:基础 PS 比 Zero-shot-CoT 少 1 道,PS+ 则与 Zero-shot-CoT 同为 27 道。更稳妥的概括是:在这组样本里,PS/PS+ 对语义误解没有表现出像漏步骤与计算错误那样明显的下降。PS+ 的总体答错题数仍从 46 降至 39,所以也不能说“PS+ 完全无效”。
作者在论文的“Limitations”中明确说,计划求解式提示能帮助处理计算和漏步错误,但语义误解仍然存在,未来将探索如何通过提示而非只靠升级模型解决。作者没有用这 100 道题证明某一个具体改进办法已经有效;表 6 是一次特定模型、提示和样本设置的错误分析,不能直接推广为当前所有模型的固定错误率。原论文第 7 节“Limitations”
为什么先计划仍可能沿着错误题意走到底
先看糖果题的正确解释。起点是小明 12 颗。第一句“给小红 3 颗”使小明减少 3 颗,得到 9。第二句“小红还给小明 1 颗”使小明增加 1 颗,得到 10。题目问“小明现在有几颗”,所以最终回答 10。
误读发生在计划之前。若模型把第二句理解为“小明又给小红 1 颗”,它会形成“初始 12、先减 3、再减 1”的计划。这个计划甚至满足 PS 的形式要求:有步骤、有顺序、每步都能算。后续求解给出 8,也与这份错误计划一致。检查 12 − 3 − 1 = 8 的计算器只能证明算术正确,无法证明第二次糖果到底往哪边走。这是我们根据 PS 机制和例子作出的解释,不是论文通过因果实验确定的唯一原因。
PS 的提示说“先理解问题并制定计划”,但没有强制提供一个由题目原文逐项核对的语义表示,也没有外部证据或用户反馈来纠正误读。PS+ 虽提醒提取变量和数字,模型仍可能正确抽到 12、3、1,却把“1 颗”的流向配错。数字提取成功不等于关系提取成功。论文作者也把语义误解与模型理解题目、保持推理连贯的能力联系起来,并在限制部分承认单靠当时的 PS 提示没有解决这类错误。原论文引言与限制部分
另一个合理但需验证的推断是:先写出的计划会影响后续文字生成。若计划早早固定了“减 1”,后续步骤可能围着它展开,输出看起来更整齐,却没有回到题目检查“还给”的主语。这种“早期误读沿计划传播”的机制可在个例中观察,但表 6 本身没有量化它发生了多少次,不能声称论文证明了“规划会导致语义错误”。
怎样把改进放在“拟计划之前”
改进应针对意义核对,再让计划和计算接续,而不是重复追加“更认真地思考”。以下是可测试的工程方案,属于基于论文边界提出的设计建议,不是原论文已经验证有效的 PS+ 功能。
先抽取角色、动作与方向,再列计划
让模型先给出简短的题意表,而非直接列算式:
| 原题片段 | 发出者 | 接收者 | 小明糖数变化 |
|---|---|---|---|
| “小明给小红 3 颗” | 小明 | 小红 | −3 |
| “小红还给小明 1 颗” | 小红 | 小明 | +1 |
然后将每行与原句核对:第二行的主语是“小红”,接收者是“小明”,所以小明得到 1 颗,符号必须是加号。只有这些关系成立,才生成“从 12 开始,减 3、加 1”的计划并执行。这个检查在“谁给谁”类题上很具体;若题目涉及时间、比例或指代,表示形式也要跟着换,不能只靠这张表解决所有语义问题。
真有歧义时,保留候选解释并求证
如果真实用户只说“他又还了 1 颗”,而上下文里有两个可能的“他”,就不该擅自固定方向。系统可以把两种解释连同各自答案列出,请用户确认是谁还给谁;若业务文档或前文已明确指代,先检索原文核对。没有可核实线索时,明确说“无法唯一确定”,优于写出很自信的 8 或 10。让模型自己生成多个解释也可能让它们共享同一个偏误,因此关键场景仍需原文、标注或人的确认。
用外部检查把“题意覆盖”变成门槛
在结构固定的业务题中,可用程序验证每个数量都与一个角色、动作和单位配对,再用确定性计算器执行算式。对糖果题,程序能检查“第二次转移是否写为小红→小明”,再算出 10。程序需要可靠的结构化输入;如果结构化输入本身由误读的模型生成,程序会认真验证一个错误世界。因此重要判断要能回到原始句子、订单或用户确认,而不是只核算式。
用同一批题检验,而非凭单个漂亮例子判断
把已有题集按“角色方向、指代、比较关系、隐含条件”等语义错误类型标注。固定模型版本、提示长度、解码设置和评分规则,比较 Zero-shot-CoT、PS、PS+ 与“题意表→核对→计划”的方案;分别报告最终正确率、语义错误率、漏步率、计算错误率、输出成本与耗时。重点看曾被误解的那批题是否真的改对,同时没有在其他题引入新错。100 题里的 1 道差异不能直接证明稳定改进;需要更多样本和重复评测。
这些改进仍会在哪些地方失败
题意表也可能由同一个模型填错,尤其是长句、多重否定、复杂代词或专业业务术语;自检若只是重复自己先前的说法,未必能发现错误。多候选解释会增加 token 与延迟,还可能制造本不存在的歧义。计算工具可以排除 12 − 3 + 1 的算错,却不能独立判断“还给”的真实方向。检索到的资料若过期或来源不可靠,也会让所谓“证据核对”失效。
因此在教学题里,我们可以让模型显式标注角色和方向;在真实财务、医疗或法律任务中,应按业务风险增加结构化数据来源、规则校验、人工确认和审计。提示词改进是可测的尝试,不是语义正确的保证。
面试时怎样回答
PS 的强项是先列计划、减少漏步骤;PS+ 再强调变量和中间计算。ACL 2023 原论文在同一批 100 道 GSM8K 题的错误分析里,Zero-shot-CoT、基础 PS、PS+ 的语义误解分别是 27、26、27 道,而漏步骤是 12、10、7 道,所以语义项没有同样明显改善。可能的机制是题意一开始被读错,模型仍能为错误理解列出完整计划并正确算完;这属于对机制的推断,不是论文证明的唯一因果解释。我会在计划前增加角色、动作、方向和目标的显式核对;有真实歧义就澄清或查证,再用程序检查可验证的条件,并在同一批标注过语义错误的题上做对照评测。不能把更长的计划或多数答案当成语义正确的证据。
追问“PS+ 不是已经要求提取变量吗”时,可答:提取 12、3、1 只得到数字,还必须知道 1 是从小红回到小明;错误的关系配对仍会使算式方向相反。追问“为什么不用计算器解决”时,可答:计算器能检验 12 − 3 + 1 = 10,但不能自行判断原句应写加 1 还是减 1。