给推理模型写提示词

在前面的章节里,我们花了不少时间学习思维链(CoT)思维树(ToT)提示词链等技巧。面对复杂任务时,为了不让 AI 胡说八道,我们想尽办法让它 “一步一步思考”,甚至手把手地教它怎么把任务拆分成流水线。

掌握了这些技巧,我们再去驾驭普通大模型,就会觉得得心应手得多了。但是很多小伙伴发现,把自己精心打磨的超级提示词喂给推理模型,它给出的结果反而啰嗦、死板,甚至有点绕弯子。

为什么会这样呢?其实,这就好比你拿着驾校的入门教材,去教一个 “老司机” 怎么踩离合一样,这不仅多余,还容易限制对方的发挥。

给推理模型写提示词时,不应像对待普通模型那样过度指挥过程,否则容易束缚其发挥。

什么是推理模型?

要搞懂怎么给 “普通大模型” 和 “推理模型” 写提示词,咱们得先直白地了解一下它们是怎么工作的。

  • 普通大模型:就像是一个思维敏捷、打字极快的实习生。你问它一个问题,它几乎是不过脑子,顺着字面意思就开始 “词语接龙”。为了不让它跑偏,你需要在提示词里用思维链(CoT)尽量引导它,明确告诉它第一步干嘛、第二步干嘛。
  • 推理模型:则像是一位经验丰富的统筹专家。当你给它布置任务时,它不会立刻给你交差。它会在后台自己拉一块 “小黑板”,默默地进行深度思考。它会自己去尝试不同的解法,发现思路走不通了,还会自己推翻重来(也就是你经常在屏幕上看到的那些折叠起来的 “思考过程”)。

普通大模型倾向于快速解答并需要引导,而推理模型会在后台进行深度思考与回顾排错。

说需要注意的是,推理模型并不是一种完全不同的 “新物种”,它本质上仍然是大语言模型。只不过推理模型在出厂时,就已经把 “思维链” 和 “思维树” 内化到骨子里了。

核心法则:别教它做事,告诉它你要什么

面对普通模型,我们的策略是 “管过程”。但面对推理模型,我们的核心法则要变成 “管目标、定边界”。

1. 扔掉 “请一步步思考”

给普通模型写复杂提示词时,我们经常会补上一句:

请一步步思考

英文提示词中也常见:

Let’s think step by step

但对推理模型来说,这句话通常没有你想象中那么神奇。人家本来就在后台拼命花算力推演呢,你再啰嗦一句,并不会让答案自动升级。更实在的做法是直接告诉它:

  • 你要解决什么问题?
  • 哪些条件绝对不能违反?
  • 最后应该交付什么结果?

当然,如果你在实际干活时发现,某个特定任务加上这句话确实效果更稳,那就留着。提示词工程不是背口诀,咱们一切看测试结果说话。

为推理模型编写提示词时,应省略“请一步步思考”的废话,重点明确任务目标、限制边界和交付结果。

2. 别把自己瞎猜的 “步骤” 给写死

假设你要让模型制定一个复杂排班方案,却在提示词里规定:“先安排 A 组,再安排 B 组,最后检查休息时间。”

问题是,你脑补的这个顺序,不一定是最高效的。大模型在推演时可能觉得,先处理请假名单和硬性的工时限制,反而更容易找出合理的方案。

所以,如果咱们只要一个正确结果,就别替它瞎操心路线了。把条件都摊开,让它自己选怎么走。

避免在提示词中为推理模型写死特定的解题步骤,应提供充分条件让其自主推演最优解法。

3. 必须执行的 “业务流程”,仍然要明确写出来

“不干涉它怎么想” 不等于 “不管它的工作流”。

比如,你让它审查代码,你们公司的规范就是得查权限验证、输入校验和敏感信息泄露。那这三项就应当明确写进提示词里。因为这不是你瞎猜的解题步骤,这是硬性的 “验收标准”。

再比如财务审批,必须先核发票,再对采购单,最后看权限。这是固定的业务流程,不能因为模型变聪明了就把它省掉。

简单总结就是:可以少管它 “脑子里先想什么”,但必须管它 “工作中不能漏掉什么”。

虽然不需要干涉具体推理过程,但涉及必须执行的硬性业务流程和验收项时仍需明确写出。

4. 找它要 “实锤证据”,而不是 “心路历程”

很多人有个习惯,喜欢在结尾来一句:“把你完整的思考过程全部写出来。”

说实话,看它写一大段推理小作文不一定更靠谱,往往只是让聊天记录变长了而已。比起看它在脑子里 “现场直播”,咱们不如直接管它要这些干货:

  • 明确的最终结论。
  • 关键的判断依据。
  • 限制条件是不是都满足了(检查结果)。
  • 还有什么不确定的地方。
  • 必要的时候,把用到的数据、公式、代码或原文位置标出来。

这些干货才方便咱们快速核对。毕竟咱们找 AI 是来干活解决问题的,不是来围观它写十页心理活动的。

要求推理模型输出明确的结论、判断依据、检查结果和不确定项,而不是长篇大论的心路历程。

实战对比:如何让推理模型安排座位?

为了看清区别,我们来处理一个非常考验 “人情世故” 的任务:年终聚餐排座位。

部门共有 30 人,餐厅准备了 3 张圆桌,每桌必须刚好坐 10 人。同时,还有下面这些条件:

  • 老板和副总不能同桌。
  • 张三和李四刚吵过架,不能同桌。
  • 1 号桌正对空调,正在感冒的王五不能坐 1 号桌。
  • 赵大、钱二、孙三和李四是素食主义者,为了方便上菜,必须坐在同一桌。

按照以前的习惯,我们可能会把提示词写成这样:

我正在安排聚餐座位。
步骤 1:先把 4 名素食主义者安排到 2 号桌。
步骤 2:再把老板安排到 1 号桌。
步骤 3:把副总安排到 3 号桌,避开老板。
步骤 4:检查张三和李四的位置。
步骤 5:继续安排其他员工。

这段提示词看起来很细致,但它有一个问题:你提前替大模型决定了素食主义者必须坐 2 号桌,也规定了老板和副总的位置。后面一旦加入更多限制,前面的安排可能立刻把模型逼进死胡同。

面对推理模型,可以改成下面这样:

# 任务目标:
为部门 30 人安排年终聚餐座位。
现场共有 1、2、3 号三张圆桌,每桌必须刚好坐 10 人。

# 硬性约束:
1. 老板张总和副总李总不能坐在同一桌。
2. 员工张三和李四不能坐在同一桌。
3. 1 号桌正对空调,正在感冒的王五不能坐 1 号桌。
4. 赵大、钱二、孙三和李四是素食主义者,4 人必须坐在同一桌。

# 人员名单:
[在此处粘贴 30 人的完整名单]

# 输出要求:
1. 使用表格列出 1、2、3 号桌的人员名单。
2. 每桌必须刚好 10 人,不能遗漏,也不能重复。
3. 在表格后逐条检查所有硬性约束,并说明是否满足。
4. 如果这些条件互相冲突、无法同时满足,请明确说明“当前条件无解”,并指出冲突在哪里,不要强行编造方案。

这一次,我们没有规定 “先安排谁、后安排谁”,而是把任务目标和所有硬性约束一次性交代清楚。更重要的是,我们还增加了两个可靠性要求:

  • 不能遗漏或重复人员。
  • 如果条件无解,必须直接指出,而不是硬凑一张看起来像答案的座位表。

这就是给推理模型写提示词时非常重要的一步:除了告诉它 “要做什么”,还要告诉它 “怎样才算做对”。

硬约束和软目标,建议分开写

复杂任务里,不是所有要求都同样重要。比如:

  • “王五不能坐 1 号桌” 属于硬约束,违反了就不能接受。
  • “尽量让每桌男女比例均衡” 可能只是软目标,实在无法兼顾时可以让步。

如果你把两者混在一起,模型可能为了满足一个 “最好如此” 的要求,反而违反了一个 “绝对不行” 的条件。因此,建议把要求分成两类:

  • 硬性约束:必须满足,违反任何一条都算失败。
  • 软性目标:在满足硬性约束的前提下,尽量优化。

如果多个软性目标之间也有先后顺序,可以继续标出优先级。

在复杂任务中,建议将绝对不可违反的硬性约束与可以尽量优化的软性目标分开说明并标明优先级。

示例:

# 硬性约束
- 每桌必须刚好 10 人。
- 张总和李总不能同桌。
- 王五不能坐 1 号桌。

# 软性目标(按优先级排序)
1. 尽量让同一个小组的成员分散到不同桌。
2. 尽量让每桌的新员工数量接近。
3. 如果仍有多个可行方案,优先选择调整人数最少的方案。

这类写法非常适合排班、路线规划、预算分配、课程安排和项目计划等任务。模型终于知道哪些是 “红线”,哪些只是 “能优化就优化”。

给足材料,但千万别 “无脑堆料”

推理模型确实擅长处理复杂的逻辑,但它终究不会 “读心术”。你没有提供的事实,它不可能凭空知道;你写错的条件,它也可能一本正经地照着错下去。

因此,复杂任务要尽量提供完整材料,例如:

  • 参与人员、数据记录或原始文档。
  • 名词含义和业务背景。
  • 必须遵守的规则。
  • 你真正关心的风险和目标。
  • 输出格式和验收标准。

不过需要注意的是,无关材料、重复内容和互相矛盾的旧版本,会增加模型理解成本。

比较好的做法是:材料尽量完整,但结构必须清楚。你可以使用 Markdown 标题、列表和分隔符,把不同类型的信息分开。

为模型提供充足的背景材料时,应分类整理并保持结构清晰,避免无脑堆砌杂乱信息增加理解成本。

小伙伴们可以看看下面这个审查租赁合同的例子。

示例:

# 任务目标
请初步审查下面这份租赁合同,帮我找出可能让承租方(我)承担较大风险的条款,并给出修改建议。

# 分析范围
- 重点查阅这几项:押金、提前退租、维修责任、违约金和续租条件。
- 别去扯那些跟本次租赁无关的通用法律条文。
- 注意:这只是风险初筛,代替不了专业律师的意见。

# 合同草案
(在这里粘贴合同全文)

# 前期沟通记录
(在这里粘贴双方之前确认好的重要约定)

# 我的核心诉求
- 希望能留出合理的提前退租空间。
- 房子正常使用造成的自然折旧,我不承担赔偿责任。
- 房屋的重大维修必须由出租方来搞定。

# 输出要求
1. 把风险按 “高、中、低” 进行分类;
2. 引用对应的合同条款,或者标明在第几条第几款;
3. 用大白话解释一下风险是怎么产生的;
4. 给我一套能直接拿去跟房东谈判的修改建议;
5. 拿不准的信息请直接标明 “无法确定”,请避免自己脑补事实。

对于那种篇幅很长,但相互之间联系紧密的材料,只要没撑爆大模型的上下文窗口,一次性全喂给它,通常有助于它做个全局的统筹分析。

但是,如果材料实在太长、来源太杂,或者这个活儿需要反复交叉核对证据,那你就别迷信 “一次全塞进去” 了。这时候更稳妥的办法,还是分阶段来处理:

  • 先提取事实和关键条款;
  • 再根据这些干货去分析风险;
  • 最后一步才是生成最终建议。

这么做完全不违背咱们刚才说的原则。在这种复杂场景下,提示词链依然非常好用,咱们只是不需要在链条的每一个具体环节里,再去微操模型 “脑子里到底该怎么想” 了。

上一篇:

下一篇:

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号