跳到主要内容

思考 / 推理 (Thinking / Reasoning)

支持思考的模型在生成最终答案之前会先输出一段推理过程。各厂商触发思考的入参字段不同(thinking.type / reasoning_effort / thinkingConfig / enable_thinking),但思考内容统一通过响应中的 reasoning_content 字段(或 Anthropic Messages 协议的 thinking content block)返回。

完整的思考型号清单见 模型目录 —— 模型卡片标注了 thinkingSupport: true 即代表该型号支持思考,卡片内的 thinkingLink 跳转到本页对应章节。

配置参数 × 厂商 矩阵

厂商 / 模型范围适用接口触发参数默认行为可否完全禁用思考强度控制思考输出字段
Anthropic Claude 4.x / 5.xv1/messages / v1/chat/completionsthinking.type默认关闭;Sonnet 5 默认 adaptivebudget_tokensoutput_config.effortthinking content block / reasoning_content
Azure OpenAI GPT-5.x / o1·o3·o4必须 v1/responses —— v1/chat/completions 调不通 reasoning,推理过程也不返回reasoning.effort(详见 Responses API)模型自身判定low / medium / highv1/responses 下可见
Google Gemini 3 / 3.1v1/chat/completionsreasoning_effort低强度常开low / medium / highreasoning_content
DeepSeek V4v1/chat/completions / v1/messagesthinking.type + reasoning_effort开启(high)high / maxreasoning_content
阿里 Qwen 3.xv1/chat/completions(部分型号同时支持 v1/messages)enable_thinking思考型号默认开启delta.reasoning_content(仅流式)
豆包 Doubao Seed 2.0v1/chat/completionsreasoning_effortmedium 思考✅(minimal)minimal / low / medium / highdelta.reasoning_content(流式)
Kimi K2 thinking / Grok 4 fast reasoningv1/chat/completions无需配置始终开启reasoning_content

「可否完全禁用」指在不切换模型的前提下,通过参数让本次请求不产生 reasoning token。具体到每个型号的支持情况以 模型目录 卡片为准。


Anthropic Claude

触发参数

thinking.type "enabled" | "adaptive" | "disabled"(默认行为因型号而异)
thinking.budget_tokens 整数 1 – 10000(仅 type="enabled" 时有效,且必须 < max_tokens)
thinking.display "summarized" | "omitted"(仅 adaptive 时有效)
output_config.effort "low" | "medium" | "high" | "max" | "xhigh"(仅 adaptive 时有效;具体可用值以型号为准)
  • enabled —— 手动 budget 模式,推理 token 上限由 budget_tokens 控制。
  • adaptive —— 模型自动决定推理深度,强度通过 output_config.effort 控制。
  • disabled —— 关闭思考(默认)。

型号支持矩阵

模型type: "enabled"type: "adaptive"
turing/claude-sonnet-5❌ 传了会 400✅ 默认开(可用 disabled 关闭)
turing/claude-opus-4.8❌ 传了会 400✅ 唯一支持(默认关,需显式开启)
turing/claude-opus-4.7❌ 传了会 400✅ 唯一支持(默认关,需显式开启)
turing/claude-opus-4.6
turing/claude-sonnet-4.6
turing/claude-opus-4.5 / claude-4.5-sonnet / 之前✅ 唯一支持

新型号不兼容点

turing/claude-opus-4.7 / turing/claude-opus-4.8 / turing/claude-sonnet-5 相比 4.6 有不兼容变更:

  • 不支持 thinking.type: "enabled",传 enabled 会返回 400("thinking.type.enabled" is not supported for this model)。
  • 推理强度通过 output_config.effort,不再使用 budget_tokens
  • Opus 4.8 的 output_config.effort 仅接受 low / medium / high;传 max / xhigh 可能返回上游 500。
  • 默认行为不同:Sonnet 5 默认 adaptive,可传 disabled 关闭;Opus 4.7/4.8 默认关闭,必须显式传 thinking.type: "adaptive" 才开启。
  • adaptive 模式下 thinking.display 默认 omitted(只回 signature 不回正文)。需要展示思考内容时显式传 summarized
  • 这些型号拒绝非默认采样参数,请求里不要传 temperature / top_p / top_k,否则可能返回 400。

想了解 adaptive 模式的完整对比 / 字段语义 —— 详见 厂商专项 → Anthropic Adaptive Thinking

示例

{
"model": "turing/claude-opus-4.8",
"max_tokens": 16000,
"thinking": {
"type": "adaptive",
"display": "summarized"
},
"output_config": {
"effort": "high"
},
"messages": [
{ "role": "user", "content": "Explain why the sum of two even numbers is always even." }
]
}

v1/messages 协议下响应里包含 thinking content block;v1/chat/completions 协议下推理内容回填到 delta.reasoning_content


Google Gemini

Gemini 3 / 3.1 系列

  • 官方文档:Gemini 3 Thinking / Vertex AI Generative AI
  • 适用接口:v1/chat/completions
  • 适用模型:以 模型目录 → Gemini 中的 Gemini 3 / 3.1 思考型号为准。
  • 思考无法完全禁用,始终会进行一定程度的推理。
  • 强度通过 reasoning_effort 控制(low / medium / high)。
  • 响应里同时返回 thought_signature,在多轮对话或函数调用中需原样回传(详见下方 Thought Signatures)。
Temperature 限制

Gemini 3 / 3.1 要求 temperature 保持默认值 1.0。设置低于 1.0 可能导致模型进入无限循环或推理性能严重下降。

{
"model": "turing/gemini-3.1-pro-latest",
"messages": [
{ "role": "user", "content": "一步步求解 x^2 + 5x + 6 = 0" }
],
"thinkingConfig": {
"includeThoughts": true
},
"reasoning_effort": "high"
}

Thought Signatures(多轮 / 函数调用必传)

Gemini 3 系列在使用函数调用多轮对话时,必须在后续轮次原样传递响应里返回的 thought_signature,用于保持模型推理状态;遗漏会返回 400。

📖 Vertex AI Thought Signatures 官方文档

字段位置

  • 函数调用响应:tool_calls[0].provider_specific_fields.thought_signature
  • 多轮对话响应:message.provider_specific_fields.thought_signature

SDK 自动处理(推荐)

# Turn 1
response_1 = client.chat.completions.create(
model="turing/gemini-3-pro-latest",
messages=[{"role": "user", "content": "东京天气?"}],
tools=[...],
extra_body={"reasoning_effort": "low"},
)

# Turn 2 直接复用 response_1.choices[0].message,SDK 自动保留 thought_signature
messages = [
{"role": "user", "content": "东京天气?"},
response_1.choices[0].message, # 不要解构,保留整个对象
{"role": "tool", "content": '{"temp": 30}', "tool_call_id": "..."},
]
client.chat.completions.create(
model="turing/gemini-3-pro-latest",
messages=messages,
tools=[...],
extra_body={"reasoning_effort": "low"},
)

手动构造 message(cURL / 自定义流程)

{
"role": "assistant",
"content": null,
"tool_calls": [{
"id": "call_abc",
"type": "function",
"function": {"name": "get_weather", "arguments": "{\"location\": \"Tokyo\"}"},
"provider_specific_fields": {
"thought_signature": "eyJ0aGlua2luZ19zdGF0ZSI6Li4ufQ=="
}
}]
}

thought_signature 不可修改,任何篡改都会导致 400。多轮对话(无 tools)同样需要保留,字段位置在 message.provider_specific_fields.thought_signature

完整的 SDK 示例 / 多轮对话场景 / 常见错误,详见 厂商专项 → Gemini Thought Signatures

Gemini 2.5 系列

通过 thinkingConfig.thinkingBudget 控制(0 关闭、-1 动态、1 – 24576 显式上限),flash-lite 必须显式传 budget。


DeepSeek

V4 系列(主力)

默认开启思考,可显式关闭或调强度。

thinking.type "enabled"(默认) | "disabled"
reasoning_effort "high"(默认) | "max"
旧值 "low" / "medium" → 自动映射为 "high"
旧值 "xhigh" → 自动映射为 "max"
  • max 适合 Claude Code、OpenCode 等复杂 Agent 场景;普通请求显式传入也会生效。
  • 思考开启时 temperature / top_p / presence_penalty / frequency_penalty 不生效(向后兼容,不报错)。
{
"model": "deepseek-v4-pro",
"messages": [{ "role": "user", "content": "..." }],
"thinking": { "type": "enabled" },
"reasoning_effort": "max"
}

老系列

  • turing/deepseek-r1 / turing/deepseek-r1-0528 —— 无需配置,始终开启深度推理(见下方 自动思考模型)
  • turing/deepseek-v3-2 —— 默认关闭,通过 thinking.type: "enabled" 显式开启

阿里 Qwen

enable_thinking 布尔(思考型号默认 true)
通过 OpenAI SDK 调用时放在 extra_body 中
流式限制

Qwen3 系列思考型号仅支持流式调用,必须设置 stream=true。非流式请求会拒绝。

思考内容在 delta.reasoning_content 字段返回,与 delta.content 是两个独立通道。

curl -N $TURING_BASE_URL/chat/completions \
-H "Authorization: Bearer $TURING_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3-14b",
"messages": [{ "role": "user", "content": "请解释量子计算的基本原理" }],
"stream": true,
"enable_thinking": true
}'

豆包 Doubao

reasoning_effort "minimal" —— 关闭思考,直接作答
"low" —— 轻量思考,优先速度
"medium"(默认) —— 平衡模式
"high" —— 深度思考,处理复杂问题

推理内容在 delta.reasoning_content 字段返回(流式模式)。max_tokens 不计入思考部分,完整输出上限通过 max_completion_tokens(0–65536)控制,该上限包含响应 + 推理总和

{
"model": "doubao-seed-2-0-pro-260215",
"messages": [{ "role": "user", "content": "..." }],
"stream": true,
"reasoning_effort": "high"
}

自动思考模型(无需配置)

  • 适用接口:v1/chat/completions

这类模型在请求中不需要任何参数,平台直接执行思考并将推理内容回填到 reasoning_content。具体型号以模型目录中的厂商段落和思考能力标记为准:


OpenAI / Azure

chat/completions 协议下推理不可控、不可见

GPT-5.x、o1、o3、o4 推理模型本身的思考是模型内置行为,但走 v1/chat/completions 协议时:

  • reasoning_effort 参数不生效(请求里写了也不会改变思考强度)
  • 响应中不返回推理内容(reasoning_content 始终为空,只能拿到最终答案)

要控制思考强度并查看推理过程,必须v1/responses 协议。

通过 reasoning.effort 参数控制思考深度,reasoning.summary 控制是否回显思考摘要。完整取值范围:

reasoning.effort "none" | "minimal" | "low" | "medium" | "high" | "xhigh"
越高思考越深、推理 token 越多、计费越贵
reasoning.summary "auto" | null
null 表示不回显思考摘要(仍按 reasoning_token 计费)

详细配置 / 不兼容字段 / 响应字段:

➡️ Responses API → 推理模式

有状态思考(stateful):GPT-5.1 / 5.2 思考模型在 Responses 协议下可通过 tags: ["stateful"] 跨轮复用思考状态。详见 Responses API → 有状态思考

v1/responses 下思考开启时 temperature / top_p 等参数也会被拒绝。推理 token 计费:推理 token 计入 output_tokens,部分型号有独立的 output_cost_per_reasoning_token 单价(详见 计费与用量)。


思考内容如何返回

字段速查

协议字段说明
v1/chat/completions(非流)choices[].message.reasoning_content思考全文
v1/chat/completions(流式)choices[].delta.reasoning_content思考增量(与 delta.content 独立通道)
v1/messages(非流,Claude)content[] 数组中 type: "thinking" 的 blocktextsignature
v1/messages(流式,Claude)content_block_delta 事件,delta.type: "thinking_delta"思考增量
计费usage.completion_tokens_details.reasoning_tokens推理 token 数,计入 output

Stream 解析要点

  • reasoning_contentcontent 是两个独立字段,需要分别累积
  • 思考内容通常先于最终回复返回,但不保证全部结束后才开始 content。
  • 通过 OpenAI SDK 设置厂商专有字段(如 thinkingConfig / enable_thinking)时:Pythonextra_body,Node.js 用 as any / @ts-expect-error 绕过类型,Java 用 additionalBodyProperties

注意事项

  1. 思考 token 计费 —— 推理过程按 output token 计费,且与可见输出共享 max_tokens 上限。详见 用量与计费
  2. Claude 新型号拒绝采样参数 —— Opus 4.7 / 4.8、Sonnet 5 会拒绝非默认 temperature / top_p / top_k;4.6 及更早型号在启用 thinking.type: "enabled" / "adaptive" 时也不要传这些参数。
  3. Qwen 思考型号必须流式 —— 非流式调用会被拒绝。
  4. Gemini 3 / 3.1 多轮 / 函数调用需原样回传 thought_signature —— 详见 Gemini Thought Signatures
  5. DeepSeek V4 思考开启时 sampling 参数无效 —— temperature / top_p / presence_penalty / frequency_penalty 不生效但不报错。
  6. Doubao thinking 变体不可关 —— 名称带 thinking 的专用变体通常代表始终思考,需要关闭时改用同系列非 thinking 变体;具体型号以 模型列表 为准。

相关文档