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

# 推論トークン

> DeepSeek R1、Claude 拡張思考、o4-mini などのモデルでの推論（思考）トークンの理解と活用。

一部のモデルは最終的なレスポンスを生成する前に内部的な思考の連鎖推論を実行します。これらの推論ステップはトークンを消費し、**推論トークン**と呼ばれます。これらはコストとレイテンシに影響しますが、デフォルトではユーザーには見えません。

## サポートされているモデル

| モデル                           | 推論サポート      |
| ----------------------------- | ----------- |
| `openai/o4-mini`              | 常時推論オン      |
| `openai/o3`                   | 常時推論オン      |
| `anthropic/claude-sonnet-4-6` | オプションの拡張思考  |
| `anthropic/claude-opus-4-6`   | オプションの拡張思考  |
| `deepseek/deepseek-r1`        | 常時推論オン      |
| `google/gemini-2.5-pro`       | オプションの思考モード |
| `google/gemini-2.5-flash`     | オプションの思考モード |

## 使用量における推論トークンの表示

推論トークンは `completion_tokens_details` の一部として `usage` オブジェクトで報告されます：

```json theme={null}
{
  "usage": {
    "prompt_tokens": 150,
    "completion_tokens": 520,
    "total_tokens": 670,
    "completion_tokens_details": {
      "reasoning_tokens": 400
    }
  }
}
```

この例では、520 の補完トークンのうち 400 が内部推論に使用されました。残りの 120 トークンのみが可視レスポンスに表示されます。

## 推論トークンの請求

推論トークンはそのモデルの**補完トークンレート**で請求されます。請求目的では `completion_tokens` に含まれます — 内訳は情報提供のみです。

ARouter は上流プロバイダーの推論トークン数を変更せずにそのまま渡します。

## 推論動作の制御

### OpenAI o シリーズ（o4-mini、o3）

o シリーズモデルでは推論は常にオンです。モデルの推論量を制御するには `reasoning_effort` を使用します：

```json theme={null}
{
  "model": "openai/o4-mini",
  "reasoning_effort": "high",
  "messages": [...]
}
```

有効な値：`"low"`、`"medium"`、`"high"`。努力値が高いほど = 推論トークンが多い = 品質とコストが高い。

### Anthropic 拡張思考

リクエストに `thinking` を渡して拡張思考を有効にします：

```python theme={null}
import anthropic

client = anthropic.Anthropic(
    api_key="your-arouter-key",
    base_url="https://api.arouter.ai/anthropic",
)

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=16000,
    thinking={
        "type": "enabled",
        "budget_tokens": 10000,
    },
    messages=[{"role": "user", "content": "ステップバイステップで解いてください：..."}],
)
```

`budget_tokens` は思考に使用できるトークン数を制限します。思考内容はレスポンス内の別個のブロックとして返されます。

### DeepSeek R1

DeepSeek R1 では推論は常にオンです。このモデルは通常の `content` の隣に `reasoning_content` フィールドを返します：

```python theme={null}
from openai import OpenAI

client = OpenAI(
    api_key="your-arouter-key",
    base_url="https://api.arouter.ai/v1",
)

response = client.chat.completions.create(
    model="deepseek/deepseek-r1",
    messages=[{"role": "user", "content": "√2 が無理数であることを証明してください。"}],
)

# 推論内容（プロバイダーが公開している場合）
print(response.choices[0].message.reasoning_content)
# 最終回答
print(response.choices[0].message.content)
```

### Google Gemini 思考

`thinking` パラメーターを通じて Gemini 2.5 モデルの思考を有効にします：

```python theme={null}
response = client.chat.completions.create(
    model="google/gemini-2.5-flash",
    messages=[...],
    extra_body={
        "thinking": {
            "type": "enabled",
            "budget_tokens": 5000
        }
    }
)
```

## アクティビティエクスポートと推論トークン

[アクティビティエクスポート](/jp/guides/administration/activity-export) には推論トークンの内訳が含まれており、総コストへの貢献を正確に追跡できます。エクスポートサマリーでは、推論トークンは補完トークンに含まれています。

## ベストプラクティス

* **最高の推論品質が必要でない限り、o シリーズモデルでは `"low"` または `"medium"` の努力値から始めてください**。これによりコストとレイテンシが大幅に削減されます。
* **Anthropic と Gemini の思考モデルには `budget_tokens` の上限を設定してください**。複雑なクエリで予期せず大きな請求が発生するのを避けるためです。
* **アクティビティフィードで推論トークンの比率を監視してください**。推論トークンと出力トークンの高い比率は複雑なタスクでは正常ですが、モデルが単純なクエリに過度に考えている可能性を示す場合があります。
* **コストを節約するために推論を無効にしないでください**。真に多段階の推論を必要とするタスクでは — 出力品質が大幅に低下します。
