开始之前
前半部分用任何带“思考”开关的聊天应用就能做。后半部分只用到 OpenAI,需要 Python 3、安装好 openai 包,并在环境变量里设置好 OpenAI 的 API 密钥。
token 是模型读写文字的单位,通常是一个词或词的一部分。如果你还不熟悉,可以先读AI 里的 token 是什么。
在响应里看见思考
给推理模型问一个一句话的问题,回复看起来和别的模型没什么两样。区别在随回复一起返回的用量数字里。OpenAI 的推理指南说,它的推理模型会先用推理 token 思考再回答,确切的数量可以在响应的 usage 对象里看到。
下面的调用就是指南自带的摘要示例。它请求一段思考摘要,并把整个 usage 对象打印在旁边。
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="gpt-6-astra",
input="What is the capital of France?",
reasoning={"effort": "low", "summary": "auto"},
)
print(response.output)
print(response.usage) # this line is the lesson's own- 在带思考开关的聊天应用里,把同一个多步问题问两遍,一次关闭思考,一次打开。DeepSeek 的聊天网站 chat.deepseek.com 把这个开关叫作 DeepThink。
- 走代码这条路,先运行
pip install openai,并确认已经设置了OPENAI_API_KEY。 - 运行上面的调用。如果摘要那一项报错,就删掉
"summary": "auto"再运行一次。 - 在打印出来的 usage 里找到
output_tokens_details.reasoning_tokens,把它和output_tokens放在一起看。 - 把
"effort": "low"改成"high",用同一个问题再运行一次,比较两次的推理 token 数。
token 都花到哪里去了
OpenAI 把思考描述为模型在做规划、有效使用工具、检查不同方案、从含糊的要求中恢复,以及解决更难的多步任务。推理 token 不会通过 API 返回,却仍然占用上下文窗口的空间,并按输出 token 计费。
指南里的用量示例说明了这意味着什么。1,186 个输出 token 里,有 1,024 个是推理,响应里的其他内容只占 162 个。这笔输出费用大部分花在了你从没读到的文字上。
Anthropic 在 2025 年 2 月 24 日随 Claude 3.7 Sonnet 发布的扩展思考文章里,对 Claude 的说法不同。扩展思考并不是切换到另一个策略不同的模型,而是让同一个模型给自己更多时间和精力去得出答案。
{
"usage": {
"input_tokens": 75,
"input_tokens_details": {
"cached_tokens": 0
},
"output_tokens": 1186,
"output_tokens_details": {
"reasoning_tokens": 1024
},
"total_tokens": 1261
}
}来源:OpenAI Docs: Reasoning models (2026年11月6日 查阅)
四家厂商,四种看到思考的方式
思路是共通的。接口却不一样。给一家服务商写的回复解析代码读不了另一家的回复,所以解析之前先看这张表。
| 模型系列 | 怎样思考 | 你能读到什么 |
|---|---|---|
| OpenAI,GPT-5 和 GPT-6 | 回答之前先用推理 token,由 reasoning.effort 调节 | 设置 reasoning.summary 才有摘要,原始 token 不会返回 |
| Claude Sonnet 5.5 | 自适应思考:Claude 自己决定想多少,由 output_config.effort 调节 | 思考块,除非 display 设为 summarized,否则文字是空的,两种情况下都按完整思考计费 |
| Gemini 4 Argon | 思考始终开启,用 thinking_level 设置 | thinking_summaries 设为 auto 时有摘要,用量对象会统计思考 token |
| DeepSeek-R1 | 以 MIT 许可开放权重,用强化学习训练它写出很长的思维链 | 思考是回复开头 think 标签里的纯文本 |
为什么多想有用,又在哪里最有用
测试时算力指模型在回答时花掉的算力,和训练时花掉的算力相对。论文Scaling LLM Test-Time Compute Optimally can be More Effective than Scaling Model Parameters发表于 2024 年 8 月。它研究的是:给模型一份固定的、不算少的测试时算力,它在难题上能进步多少。论文摘要没有写出测试了哪些模型,所以下面的数字要当作 2024 年的研究结果来读,不要当作对今天模型的断言。
答案取决于题目有多难。按题目选择方法,让测试时算力的效率比 best-of-N 基线高出四倍多,best-of-N 就是对同一道题采样 N 个答案、留下最好的那个。在算力对等的比较里,较小的模型在某道题上本来就有一些成功率的话,多想一会儿就能胜过大 14 倍的模型。
DeepSeek 的 R1 模型卡于 2025 年 1 月发布在 Hugging Face 上,让你能比较两个同样大小的模型。R1 以 DeepSeek-V3-Base 为基础,经过两轮强化学习和两轮监督微调的流程训练出来。它和 DeepSeek-V3 一样,总共 6710 亿参数、激活 370 亿,模型卡的评测表把两者并排列出。把这一对当作“前后对比”,是本课自己的看法。模型卡没有这样说。
在难度很高的竞赛数学测试 AIME 2024 上,差距是 40 分,在 MATH-500 上是 7 分,因为 V3 在那里已经有 90 分。基础模型本来就强的地方,提升会变小。Anthropic 在同一个模型内部看到了类似的曲线。Claude 3.7 Sonnet 在 AIME 2024 题目上的准确率,随着允许它使用的思考 token 数按对数增长。
来源:Hugging Face: DeepSeek-R1 model card (2026年11月6日 查阅)
常见错误
- 只看可见的答案来估算成本。思考按输出计费,你读到的文字会低估一次调用的花费。
- 把摘要当成模型完整的推理。OpenAI 不公开原始 token,Anthropic 也指出思考文字里可能有不正确或不成熟的想法。思维链提示一课讲了展示出来的推理能信到什么程度。
- 在不提供摘要的模型或账号上请求摘要。OpenAI 说要先查模型文档,摘要还可能需要组织认证。
- 把 DeepSeek 的那张表直接套到今天的模型上。它是 DeepSeek 自己在 2025 年 1 月做的评测。用它看规律,不要用它挑模型。
自己试一试
- 用
low和high两种强度运行 Python 调用,问题选需要三四步的,记下两次的推理 token 数。 - 在聊天应用里先关闭思考、再打开思考,问同一个问题,看你更愿意把哪个答案发给同事。
- 打开 DeepSeek-R1 模型卡,读它的评测表,找一行 V3 分数低于 R1 的,再找一行 V3 分数高于 R1 的。
下一课:写推理模型喜欢的提示词
看得见思考之后,下一个问题是提示词里该写什么。下一课讲目标、约束和输出格式,并且从 OpenAI 为推理模型写的一条提示词讲起。
自测一下
OpenAI 的用量示例里,1,186 个输出 token 中有 1,024 个是推理 token。由此可以得出什么?
查看答案
B. 计费的输出大部分是你看不到的思考 指南说推理 token 对 API 不可见,却按输出 token 计费,所以它们占了这份输出的大部分。
在 OpenAI 的 Responses API 里,推理 token 数量在 usage 的哪个字段?
查看答案
C. output_tokens_details.reasoning_tokens 指南里的 usage 对象把这个数量放在 output_tokens_details 下,紧挨着总的 output_tokens。
DeepSeek 的模型卡对比了规模相同的 V3 和 R1。它的表格在 AIME 2024 上显示了什么?
查看答案
D. R1 的分数大约高一倍 模型卡里 V3 是 39.2,R1 是 79.8,差了大约 40 分。
Anthropic 在 2025 年 2 月的文章里怎样描述扩展思考?
查看答案
A. 同一个模型获得更多时间和精力 文章说扩展思考不是切换到另一个模型,而是同一个模型给自己更多时间。
常见问题
什么是推理模型?
它是先生成一段思考、再据此写出回复的语言模型。各家叫法不同:OpenAI 叫推理 token,Anthropic 叫扩展思考,Google 叫思考,DeepSeek 则称为长思维链。
推理模型和普通语言模型有什么不同?
普通模型一上来就开始写答案。推理模型先生成思考,这要花时间和输出 token,然后再据此写出答案。OpenAI 的最佳实践页面把推理模型和 GPT 模型描述成表现不同的两类,Anthropic 则让同一个 Claude 模型可以开关扩展思考。
推理 token 要付费吗?
要。OpenAI 把推理 token 按输出 token 计费,尽管 API 不会把它们返回给你。Anthropic 的 cookbook 说 Claude 按完整的思考计费,而不是按返回的较短摘要,并且这些 token 也计入你的速率限制。
我能读到模型的推理吗?
有时能读到缩短的版本。向 OpenAI、Claude 或 Gemini 提出要求,会得到一段思考摘要。自己运行 DeepSeek-R1,则能读到完整的思考,因为它就写在回复开头的标签里。
什么是测试时算力?
它是模型回答一个提示时花掉的算力,和训练时花掉的算力相对。推理模型把它变成思考 token,上面引用的论文发现,按题目难度分配它,效率比 best-of-N 基线高出四倍多。
我自己的电脑上能运行哪个 DeepSeek-R1 模型?
模型卡没有把尺寸和硬件对应起来,所以要对照它的两张列表。完整的 R1 有 6710 亿参数。DeepSeek 还发布了六个蒸馏模型,从 15 亿到 700 亿参数,基于 Qwen 和 Llama 模型,模型卡说它们可以像任何 Qwen 或 Llama 模型一样部署,例如用 vLLM 或 SGLang。模型卡还注明,每个蒸馏模型都源自带有各自许可的基础模型。
资料来源
- OpenAI Docs: Reasoning models https://developers.openai.com/api/docs/guides/reasoning
- OpenAI Docs: Reasoning best practices https://developers.openai.com/api/docs/guides/reasoning-best-practices
- Anthropic: Claude's extended thinking https://www.anthropic.com/news/visible-extended-thinking
- Anthropic on GitHub: Claude cookbooks, Extended Thinking https://github.com/anthropics/claude-cookbooks/blob/main/extended_thinking/extended_thinking.ipynb
- Google Gemini on GitHub: Get started with thinking https://github.com/google-gemini/cookbook/blob/main/quickstarts/Get_started_thinking.ipynb
- Hugging Face: DeepSeek-R1 model card https://huggingface.co/deepseek-ai/DeepSeek-R1
- Hugging Face Papers: Scaling LLM Test-Time Compute Optimally can be More Effective than Scaling Model Parameters (2024) https://huggingface.co/papers/2408.03314
