Skip to content

提升 LLM 推理能力的 3 种提示词技巧

3 prompting techniques for reasoning in LLMs

这类工具之所以强大,很大程度上不只是因为它们能写代码,更因为它们能够对代码进行推理。

这一点并不局限于代码。当我们提示 LLM 去解决数学、逻辑或多步骤问题这类复杂推理任务时,情况也是一样的。

让我们来看三种常见的提示词技巧,它们能帮助 LLM 在给出答案之前想得更清楚。

如下图所示:

prompt engineering p51 1

1)思维链(Chain of Thought,CoT)

这是最简单、应用最广泛的一种技巧。

与其让 LLM 直接跳到答案,我们会引导它一步一步进行推理。

prompt engineering p52 1

这通常能提高准确率,因为模型可以在给出最终结果之前,先把自己的逻辑过一遍。

举个例子:

prompt engineering p52 2

这个例子很简单,但正是这一点小小的引导,就能激发出标准零样本(zero-shot)提示可能捕捉不到的推理能力。

2)自洽性(Self-Consistency,又称对 CoT 结果进行多数投票)

CoT 很有用,但结果并不总是稳定一致。

如果你把同一个问题反复提问,根据温度(temperature)设置的不同,你可能会得到不同的答案(我们在 LLM 那一节详细讲过温度)。

自洽性(Self-Consistency)恰恰利用了这种波动。

做法是让 LLM 生成多条推理路径,然后选出出现次数最多的那个最终答案。

prompt engineering p53 1

这个想法很简单:拿不准的时候,就多问模型几次,然后相信多数结果。

这种技巧通常能带来更稳健的结果,尤其是在模糊或复杂的任务上。

不过,它并不评估推理过程本身是否合理,只关注不同路径得到的最终答案是否一致。

3)思维树(Tree of Thoughts,ToT)

自洽性变化的是最终答案,而思维树变化的是每一步的推理过程,然后从中挑出整体上最优的那条路径。

在每一步推理中,模型都会探索多个可能的方向。这些分支构成一棵树,另一个独立的评估过程会在每个时间点判断哪条路径看起来最有希望。

prompt engineering p53 2

可以把它想象成在推理路径上运行的一种搜索算法,目标是找到通往答案最合乎逻辑、最连贯的那条路径。

它对算力的消耗更大,但在大多数情况下,效果明显优于基础版的 CoT。

CoT、自洽性和思维树,都能改善模型对问题的推理方式。

但它们依然依赖一种自由发挥式的思考方式,在规则繁多的长任务中容易失效。

这正是 ARQ 派上用场的地方。

附加内容:ARQ

先来看看这种新方法究竟解决了现有技巧的哪个核心问题。

已有足够多的研究表明,在一段冗长的多轮对话中,LLM 往往很难判断在某个特定阶段,究竟哪些信息才是真正重要的。

举个例子:当你给智能体(Agent)一份长达 2000 字、写满了政策、语气规范和行为准则的系统提示词时,你期望它能逐字逐句地遵守。

  • 但实际发生的情况是:
  • 一开始,它表现得很好。
  • 很快,它就开始跑偏,出现幻觉。
  • 没过多久,它就忘记了五轮对话之前说过的话。

最后,那个本该「绝不承诺退款」的 LLM,却欣然给出了退款承诺。

这意味着,模型很容易在过程进行到一半时,把最初设定的关键规则抛到脑后。

我们原本期望像思维链这样的技巧能有所帮助。

但即便用上了 CoT 这类方法,推理过程依然是自由发挥式的——模型只是在「大声思考」,对特定领域的把控能力仍然有限。

这正是一种名为「注意力推理查询」(Attentive Reasoning Queries,ARQs)的新技术所要解决的问题。

prompt engineering p55 1

ARQ 不再让 LLM 自由发挥式地推理,而是通过一系列明确的、面向特定领域的问题来引导它。

本质上,每一步推理都被编码成 JSON schema 中的一个有针对性的查询。

举例来说,在给出建议或决定调用哪个工具之前,LLM 会被提示去填写一组结构化的字段,比如:

prompt engineering p56 1

这种查询方式做了两件事:

  1. 重申关键指令,让 LLM 在对话进行到中途时仍能保持对齐;2. 促成中间推理过程,使得每一个决策都可审计、可验证。

prompt engineering p56 2

等到 LLM 生成最终回复时,它其实已经走完了一整套受控的推理步骤,其中不涉及任何自由文本式的探索——这一点与 CoT 或 ToT 之类的技巧不同。

以下是在 87 个测试场景中的成功率:

  • ARQ —— 90.2%
  • CoT 推理 —— 86.1%
  • 直接生成回复 —— 81.5%

这种方法实际上已经在 Parlant 中落地实现——这是一个近来颇受关注的开源框架,专门用于构建能够严格遵循指令的智能体。

ARQ 被整合进了三个关键模块:

prompt engineering p57 1

  • 指南提议器(guideline proposer),用于决定哪些行为规则适用。
  • 工具调用器(tool caller),用于决定该使用哪些外部函数。
  • 消息生成器(message generator),负责生成最终面向客户的回复。

无论你使用什么工具,这个核心洞见都同样适用:

当你让推理过程变得明确、可衡量、并且贴合特定领域时,LLM 就不再是随意发挥,而是开始有意图地进行推理。自由发挥式的思考听起来很强大,但在高风险或多轮对话的场景中,结构化终究会胜出。

ARQ 通过引入结构,解决了推理不受控的问题。

但还存在另一个挑战:许多经过对齐(alignment)的 LLM,会彻底停止探索其他可能的答案。

即便推理步骤设计得很好,模型也可能坍缩成千篇一律的、安全但典型的回答。

为了在不重新训练模型的前提下找回这种丢失的多样性,我们可以使用「言语化采样」(Verbalized Sampling)。

本站内容仅供学习交流,版权归原作者所有。