Skip to main content
推理模型(Reasoning Models)会先进行深度思考,再给出答案。相比普通模型,推理模型在数学、逻辑、编程及复杂规划等任务上表现更佳,但响应较慢且消耗更多 Token。 典型推理模型包括 OpenAI 的 o 系列、DeepSeek-R1、Claude 的思考模式及 Gemini 的 thinking 等。

推理模型的特点

普通模型推理模型
响应方式直接给出答案先内部思考,再给出答案
擅长领域通用对话、写作、翻译数学、逻辑推理、编程、复杂问题
响应速度较快较慢(需时间思考)
成本较低较高(思考过程亦消耗 Token)
思考过程本身会消耗输出 Token,因此推理模型通常更昂贵。简单任务应使用普通模型,避免资源浪费。

控制推理强度:reasoning_effort

OpenAI 风格的推理模型支持 reasoning_effort 参数,用于控制思考深度:
{
  "model": "o3-mini",
  "messages": [
    {"role": "user", "content": "一个农夫要带狼、羊、白菜过河……请给出完整解法。"}
  ],
  "reasoning_effort": "high"
}
reasoning_effort 常见取值:
含义适用场景
low较少思考,速度快、成本低相对简单的推理任务
medium中等思考(常为默认)一般推理任务
high深度思考,速度慢、成本高、质量高高难度数学、逻辑或编程
具体支持哪些取值取决于模型,以模型能力为准。

获取思考内容:reasoning_content

部分推理模型(如 DeepSeek-R1)将思考过程与最终答案分开返回:
  • 最终答案位于 choices[0].message.content
  • 思考过程位于 choices[0].message.reasoning_content
非流式响应示例:
{
  "choices": [
    {
      "message": {
        "role": "assistant",
        "reasoning_content": "让我逐步分析:农夫先带羊过河……",
        "content": "解法如下:\n1. 先带羊过河\n2. ……"
      },
      "finish_reason": "stop"
    }
  ]
}
Python 读取示例:
resp = client.chat.completions.create(
    model="deepseek-reasoner",
    messages=[{"role": "user", "content": "证明勾股定理"}],
)
msg = resp.choices[0].message

reasoning = getattr(msg, "reasoning_content", None)
print("【思考过程】", reasoning)
print("【最终答案】", msg.content)
是否返回 reasoning_content 及其字段位置取决于具体模型。如应用仅需最终答案,使用 content 即可,可忽略思考内容。

Claude 思考模式

Claude 系列通过 thinking 参数启用扩展思考(调用 Anthropic 原生 /v1/messages 接口时):
{
  "model": "claude-3-7-sonnet",
  "max_tokens": 4096,
  "thinking": {
    "type": "enabled",
    "budget_tokens": 2000
  },
  "messages": [
    {"role": "user", "content": "设计一个高并发短链服务的架构"}
  ]
}
  • budget_tokens:分配给思考过程的 Token 预算。

Gemini 思考配置

Gemini 系列支持 thinkingBudgetthinkingConfig 控制思考程度(调用 Gemini 原生接口时)。具体字段以 Gemini 模型文档为准,网关将透传这些参数。

流式模式下的思考内容

流式模式下,思考内容通常以增量形式先于最终答案返回。可分别拼接 delta.reasoning_contentdelta.content,实现「先展示思考、再展示答案」的效果。

使用建议

  • 按任务复杂度选择模型。数学证明、复杂逻辑、算法题、多步规划使用推理模型;日常问答、翻译、改写使用普通模型。
  • 控制预算。使用 reasoning_effortbudget_tokens 将思考量控制在必要范围内。
  • 注意成本。思考过程计入输出 Token,账单会更高,应在 用量日志 中关注。
  • 思考内容是否展示。可按产品需求决定是否向用户展示思考过程。展示可增加可信度,隐藏可使界面更简洁。

后续步骤