ドキュメントのメニュー思考(Reasoning)

思考(Reasoning)

思考量の指定方法と、思考内容・思考トークンの受け取り方です。

提供モデルは思考(reasoning)に対応しており、思考の内容と使用トークン数が各 API のレスポンスに含まれます。OpenAI SDK・Claude Code・Codex CLI のいずれからも追加設定なしで利用できます。

API ごとの指定と返却先

APIリクエスト思考内容の返却先
/v1/chat/completionsreasoning_effortmessage.reasoning_content
/v1/responses(Codex)reasoning: { effort }type: "reasoning" の出力アイテム
/v1/messages(Claude Code)thinkingthinking コンテンツブロック

注意点

  • 思考量の指定(reasoning_effort / budget_tokens など)はそのままモデルへ渡されます。受け付ける値はモデルごとに違い、 対応しない値は 400 になります。モデルごとの一覧は モデル ID の表と クライアント設定 に載せています。
  • "none" を受け付けないモデルは思考を止められません(思考が常時 ON のモデル)。reasoning_effort を送らない場合はモデル既定の思考量になります。
  • 思考トークンは usage.completion_tokens_details.reasoning_tokens(Responses API では usage.output_tokens_details.reasoning_tokens)として報告され、出力トークンの一部として課金されます。
  • 推論基盤のプレフィックスキャッシュから供給された入力トークンには、モデルごとに キャッシュ読取単価が適用されます(未設定のモデルは通常の入力単価)。 ヒットは保証されません。同一プロンプトでもヒットしないことがあり、 HAI 側でヒットを制御していません。
  • 明細の cache_read_tokens は input_tokens の部分集合です。課金は (input_tokens − cache_read_tokens) × 入力単価 + cache_read_tokens × キャッシュ読取単価 + output_tokens × 出力単価です。単価未設定モデルでは cache_read_tokens が記録されても通常の入力単価で課金されます。
  • /v1/chat/completions と /v1/responses の prompt_tokens / input_tokens はキャッシュ分を含み、/v1/messages の input_tokens は含みません(API 仕様の差)。