#提示词工程 #思维链 #AI Agent #大模型
大模型直接回答多步问题时经常翻车:两位数乘法算错、逻辑题前后矛盾、代码调试越改越乱。换更大模型、加算力能改善,但最便宜有效的一招在提示词里——思维链(Chain-of-Thought,简称 CoT):让模型先把推理过程写出来,再给最终答案。本文讲透思维链的四种用法:零样本触发、少样本示例、输出格式约束、自洽性投票,附 7 套可直接复制的模板和 5 个常见陷阱。适合所有写提示词的人,也适合做 AI Agent 时给子任务设计指令。
大模型是逐 token 生成文本的。直接问「答案是什么」,模型倾向于凭模式联想直接吐一个结果,中间过程被跳过;而多步任务恰恰需要中间过程。思维链的做法只有一个:要求模型把推理步骤显式写出来。步骤一旦落到文字上,每一步都成为下一步的上下文,错误率大幅下降,而且答案可检查、可追究。
思维链不是某个模型的专属能力,它是指令层面的技巧,对主流大模型普遍有效。实际使用时按「触发—示范—约束—投票」四层递进,效果从够用到接近上限:
下面每个模板都可以直接复制使用,把尖括号里的内容换成你的实际问题。
最简单的用法,在问题后面加一句引导,模型就会先推理后作答。零样本(Zero-shot)意味着不需要准备示例,适合临时提问和快速验证。
问题:<你的问题> 请先分步骤推理,每一步列出依据,最后单独给出结论。
问题:<你的问题> 请用不超过 5 步完成推理,每步一行;最后输出格式: 结论:<一行结论> 依据:<关键依据,一两句>
注意:模板 2 的「结论放最后」很关键。把结论前置会导致模型先写结论、再为结论编理由,推理质量反而下降。
模型不擅长的时候,给它 1-3 个「问题 + 完整推理过程 + 答案」的示例,它就会模仿这个格式。示例要短、要正确、要贴题。少样本(Few-shot)的效果通常优于零样本,代价是每次请求多花一些 token。
示例 1: 问:小明有 3 个苹果,又买了 5 个,吃掉 2 个,还剩几个? 答:3 + 5 = 8;8 - 2 = 6。结论:还剩 6 个。 示例 2: 问:一支笔 4 元,买 3 支,付 20 元,应找多少? 答:4 x 3 = 12;20 - 12 = 8。结论:应找 8 元。 现在回答: 问:<你的数学问题> 答:
示例: 问:所有 A 都是 B,所有 B 都是 C,那么张三(是 A)一定是 C 吗? 推理:张三 是 A;所有 A 都是 B,所以张三 是 B;所有 B 都是 C,所以张三 是 C。 结论:是。 现在回答: 问:<你的逻辑问题> 推理:
写示例时有三条纪律:示例必须真实正确(错误的示例会被模型放大);每个示例都要有推理过程,不能只给答案;示例数量 1-3 个足够,太多反而稀释注意力。
这是思维链收益最明显的场景。价格计算、比例换算、日期推算都适用。要点:把算式显式写出来。例如算「含税价 328 元,税率 13%,不含税价是多少」:
不含税价 = 含税价 / (1 + 税率) = 328 / 1.13 ≈ 290.27 元 结论:约 290.27 元
如果模型在中间步骤写错,你能直接指出是哪一步错的,让它重算这一步,而不是整题重来——这是思维链带来的可调试性。
让模型「读代码—定位—解释—给修复」四步走,比直接丢「帮我修 bug」可靠得多:
请按以下步骤调试,不要直接给修复代码: 1. 先解释这段代码的预期行为; 2. 逐段追踪实际执行路径,指出与预期不符的地方; 3. 给出原因判断(数据问题 / 逻辑问题 / 边界问题); 4. 最后给出最小修复方案。 代码: <粘贴代码> 报错或异常现象: <描述现象>
给 AI Agent 做代码任务时同理:让子 Agent 输出「分析—计划—实现—自检」四段式,而不是只输出最终代码,出错时能顺着轨迹定位是哪一步的问题。
在 Agent 工作流里,思维链的价值是把模糊目标变成可执行步骤。给规划型 Agent 的指令可以直接要求它输出结构化的推理链:
目标:<一句话目标> 限制:<预算 / 时间 / 必须遵守的规则> 请输出: - 步骤列表:每一步做什么、依赖什么、产出什么; - 风险:每一步可能失败的点; - 兜底:失败后如何降级。 结论先行,但步骤必须完整。
实践原则:能拆的步骤尽量拆到「一步一动、一步一验」,每步执行完校验输出再走下一步。这也和本站《AI Agent 批量修复漏洞》一文里「小步验证」的方法论一致。
思维链本身是贪心解码,一次推理可能被某个错误 token 带偏。自洽性(Self-Consistency)的思路很朴素:同一个问题用同样提示词采样多次(比如 3-5 次,可调高 temperature),收集多个推理路径,取出现次数最多的答案作为最终结果。数学和逻辑题上,多数投票能把随机错误压掉一大截。
实现上很简单:调用接口时设置 n(或循环调用)拿到多个补全,然后按「结论行」做文本归一化后统计投票。注意两点:一是投票对象是最终结论而不是推理过程;二是多次采样会增加 token 消耗,按精度需求和成本平衡次数。
写完提示词后按下面五条过一遍,缺哪条补哪条:
思维链是提示词工程里性价比最高的一招:不换模型、不加算力,只改提示词就能把多步任务的准确率拉上一个台阶。把上面的模板存成自己的提示词库,写 Agent 指令时按「触发—示范—约束—投票」四层取用,效果稳定可预期。