提示词(Prompt)——链式思维提示词(Chain-of-Thought Prompting)在大模型中的调用(以 Qwen 模型为例)
链式思维提示词(Chain-of-Thought Prompting)实战教程
一、引言
在使用大语言模型(如 Qwen、GPT 等)进行推理类任务时,模型往往需要处理复杂逻辑问题,例如数学计算、条件推断或多步推理。
然而,直接提问往往会让模型“跳步”得出结论,容易出错。
这时,就可以使用一种被称为 链式思维(Chain-of-Thought, CoT) 的提示词技巧,让模型在生成最终答案前展示出逐步推理过程,从而显著提升正确率与解释性。
本文将通过阿里云 ModelScope 平台上的 Qwen 模型,演示链式思维提示词的实际效果与使用方式。
二、实验代码
下面这段 Python 代码展示了链式思维提示词的调用方式与对比结果。
import os
from openai import OpenAIclient = OpenAI(# 新加坡和北京地域的API Key不同。获取API Key:https://help.aliyun.com/zh/model-studio/get-api-key# api_key=os.getenv("DASHSCOPE_API_KEY"),api_key="sk-******",# 以下是北京地域base_url,如果使用新加坡地域的模型,需要将base_url替换为:# https://dashscope-intl.aliyuncs.com/compatible-mode/v1base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)# ----------(一)普通提示 ----------
response = client.chat.completions.create(model="qwen-plus",messages=[{"role": "user","content": "该组中的奇数加起来为偶数:1、2、3、4、5、6、7,对吗?"},{"role": "assistant","content": "所有奇数相加等于16。答案为是。"},{"role": "user","content": "该组中的奇数加起来为偶数:17、10、19、4、8、12、24、3,对吗?"},{"role": "assistant","content": "所有奇数相加等于39,答案为否。"},{"role": "user","content": "该组中的奇数加起来为偶数:15、12、5、3、72、17、1,对吗?像上面一样回答我"},]
)
print(response.choices[0].message.content)print("**********")# ----------(二)链式思维提示 ----------
response = client.chat.completions.create(model="qwen-plus",messages=[{"role": "user","content": "该组中的奇数加起来为偶数:15、12、5、3、72、17、1,对吗?让我们来分步思考。"}]
)
print(response.choices[0].message.content)
三、两种提示方式对比
在上面的实验中,我们做了两个版本:
| 类型 | 提示词内容 | 模型行为 | 优缺点 |
|---|---|---|---|
| 普通提示词 | “像上面一样回答我” | 模型直接输出结果,不展示推理过程 | 响应速度快,但容易出错 |
| 链式思维提示词 | “让我们来分步思考(Let’s think step by step)” | 模型会逐步列出推理过程后再得出结论 | 准确率高,逻辑透明,可解释性强 |
例子说明:
普通提示结果(可能输出):
所有奇数相加等于36,答案为是。
链式思维结果(更合理):
这些数中的奇数是 15、5、3、17、1。
它们的和是 41。
41 是奇数。
因此,答案为否。
可以看到,第二种提示方式明显更符合人类的推理逻辑。
模型在回答前**“思考了过程”**,因此结果更稳定、更可信。
四、链式思维提示词的原理
链式思维提示词的核心思想是:
在提示中显式要求模型进行逐步推理,而不是直接给出答案。
在技术层面上,模型被训练时学习到**“逐步展开思考的文字模式”**。
当用户在提示词中加入类似:
-
“让我们一步步思考”
-
“请先分析再回答”
-
“展示你的推理过程”
-
“Let’s think step by step”
这些语句时,模型会激活推理链(Reasoning Chain),按逻辑逐步展开分析。
这种方法首次在论文 “Chain-of-Thought Prompting Elicits Reasoning in Large Language Models”(Google Research, 2022)中被提出,并被证明对数学、逻辑、常识等任务极为有效。
五、应用场景
链式思维提示词(CoT)常用于以下场景:
| 场景 | 示例 |
|---|---|
| 数学推理 | 求和、概率、方程、数列推理 |
| 逻辑判断 | 条件真假、归纳演绎、因果分析 |
| 文本理解 | 阅读理解、故事逻辑推演 |
| 数据分析 | 多条件过滤与组合计算 |
| 代码调试 | 逐步解释出错原因与逻辑流程 |
六、链式思维与模型提示设计技巧
✅ 常用提示模板:
让我们分步思考这个问题。 请先分析,再得出结论。 请展示中间计算步骤。
✅ 强化效果的组合方式:
-
与**少样本学习(Few-Shot Prompting)**结合,让模型先看几个正确推理样例;
-
与**角色设定(Role Prompting)**结合,例如:
“你是一位逻辑分析师,请分步解释并验证结论。”
-
与**自我校验提示(Self-Consistency)**结合,让模型多次推理取一致答案。
七、总结
链式思维提示词是**提示工程(Prompt Engineering)**中最实用、最有效的逻辑强化技巧之一。
它能让模型“像人一样思考”,在推理、分析、解释性任务中显著提高准确率。
一句话总结:
不要直接问模型答案,要教它“先想清楚,再回答”。
通过在提示中添加一句:
让我们来分步思考。
你就能显著提升模型的逻辑推理能力与可靠性。
八、参考链接
-
阿里云 Model Studio 官方文档
-
Chain-of-Thought Prompting 论文(Google Research, 2022)
-
Qwen 模型介绍与示例
