提示词(Prompt)——链式思维提示词(Chain-of-Thought Prompting)在大模型中的调用(以 Qwen 模型为例)


链式思维提示词(Chain-of-Thought Prompting)实战教程

一、引言

在使用大语言模型(如 Qwen、GPT 等)进行推理类任务时,模型往往需要处理复杂逻辑问题 ,例如数学计算、条件推断或多步推理。

然而,直接提问往往会让模型"跳步"得出结论,容易出错。

这时,就可以使用一种被称为 链式思维(Chain-of-Thought, CoT) 的提示词技巧,让模型在生成最终答案前展示出逐步推理过程,从而显著提升正确率与解释性。

本文将通过阿里云 ModelScope 平台上的 Qwen 模型,演示链式思维提示词的实际效果与使用方式。


二、实验代码

下面这段 Python 代码展示了链式思维提示词的调用方式与对比结果。

复制代码
import os 
from openai import OpenAI

client = 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/v1
    base_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)**中最实用、最有效的逻辑强化技巧之一。

它能让模型"像人一样思考",在推理、分析、解释性任务中显著提高准确率。

一句话总结:

不要直接问模型答案,要教它"先想清楚,再回答"。

通过在提示中添加一句:

复制代码
让我们来分步思考。

你就能显著提升模型的逻辑推理能力与可靠性。


八、参考链接


相关推荐
檐下翻书17315 小时前
从入门到精通:流程图制作学习路径规划
论文阅读·人工智能·学习·算法·流程图·论文笔记
Tony Bai15 小时前
Go 在 Web3 的统治力:2025 年架构与生态综述
开发语言·后端·架构·golang·web3
源码之家15 小时前
基于Python房价预测系统 数据分析 Flask框架 爬虫 随机森林回归预测模型、链家二手房 可视化大屏 大数据毕业设计(附源码)✅
大数据·爬虫·python·随机森林·数据分析·spark·flask
CoderYanger15 小时前
B.双指针——3194. 最小元素和最大元素的最小平均值
java·开发语言·数据结构·算法·leetcode·职场和发展·1024程序员节
SalvoGao15 小时前
Python学习 | 怎么理解epoch?
数据结构·人工智能·python·深度学习·学习
Charles_go15 小时前
C#中级、double和decimal有什么区别
开发语言·c#
思成不止于此15 小时前
深入理解 C++ 多态:从概念到实现的完整解析
开发语言·c++·笔记·学习·多态·c++40周年
csbysj202015 小时前
Ruby 字符串(String)
开发语言
楚疏笃16 小时前
纯Python 实现 Word 文档转换 Markdown
python·word
基哥的奋斗历程16 小时前
Kotlin_Flow_完整使用指南
android·开发语言·kotlin