> ## Documentation Index
> Fetch the complete documentation index at: https://docs.moxus.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 推理模型

> 推理模型（Reasoning Models）会先进行深度思考，再给出答案。相比普通模型，推理模型在数学、逻辑、编程及复杂规划等任务上表现更佳，但响应较慢且消耗更多 Token。

推理模型（Reasoning Models）会先进行深度思考，再给出答案。相比普通模型，推理模型在数学、逻辑、编程及复杂规划等任务上表现更佳，但响应较慢且消耗更多 Token。

典型推理模型包括 OpenAI 的 o 系列、DeepSeek-R1、Claude 的思考模式及 Gemini 的 thinking 等。

## 推理模型的特点

|      | 普通模型       | 推理模型              |
| ---- | ---------- | ----------------- |
| 响应方式 | 直接给出答案     | 先内部思考，再给出答案       |
| 擅长领域 | 通用对话、写作、翻译 | 数学、逻辑推理、编程、复杂问题   |
| 响应速度 | 较快         | 较慢（需时间思考）         |
| 成本   | 较低         | 较高（思考过程亦消耗 Token） |

思考过程本身会消耗输出 Token，因此推理模型通常更昂贵。简单任务应使用普通模型，避免资源浪费。

## 控制推理强度：reasoning\_effort

OpenAI 风格的推理模型支持 `reasoning_effort` 参数，用于控制思考深度：

```json theme={null}
{
  "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`。

非流式响应示例：

```json theme={null}
{
  "choices": [
    {
      "message": {
        "role": "assistant",
        "reasoning_content": "让我逐步分析：农夫先带羊过河……",
        "content": "解法如下：\n1. 先带羊过河\n2. ……"
      },
      "finish_reason": "stop"
    }
  ]
}
```

Python 读取示例：

```python theme={null}
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` 接口时）：

```json theme={null}
{
  "model": "claude-3-7-sonnet",
  "max_tokens": 4096,
  "thinking": {
    "type": "enabled",
    "budget_tokens": 2000
  },
  "messages": [
    {"role": "user", "content": "设计一个高并发短链服务的架构"}
  ]
}
```

* `budget_tokens`：分配给思考过程的 Token 预算。

## Gemini 思考配置

Gemini 系列支持 `thinkingBudget` 或 `thinkingConfig` 控制思考程度（调用 Gemini 原生接口时）。具体字段以 Gemini 模型文档为准，网关将透传这些参数。

## 流式模式下的思考内容

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

## 使用建议

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

## 后续步骤

* 图像理解与生成：参阅 [视觉与图像生成](/zh/guide/vision-and-image)。
* 约束返回 JSON：参阅 [结构化输出](/zh/guide/structured-output)。
