入力トークン

入力トークンは、1回のリクエストで提供される内容を表します。これには、システムおよび開発者の指示、最新のユーザーメッセージ、過去の会話ターン、取得したドキュメント、ツール定義、ツールの結果、さらにモデルが受け付ける場合はエンコードされた画像や音声などが含まれます。

「入力」はデータの方向を表すものであり、誰が書いたかを表すものではありません。ユーザーが短い一文を入力しただけでも、アプリケーションはその周囲に、はるかに大きなリクエストを密かに付加して送信することがあります。

キャッシュされた入力も入力です。キャッシュによって料金や使用量レポートでの表示方法が変わることはありますが、その内容が出力になったり、モデルの作業コンテキストから除外されたりするわけではありません。

出力トークン

出力トークンは、応答中に生成されます。表示される文章やコードは出力ですが、ツール呼び出しのような生成された構造も出力です。プロバイダーの用語によっては、報告される出力合計に、内部推論やその他の表示されない生成トークンも含まれる場合があります。

そのため、画面上のテキストは信頼できるトークンカウンターではありません。応答には180トークンの文章しか表示されていなくても、使用量レコードでは生成された合計がはるかに大きく報告されることがあります。

推論トークン

推論トークンは、思考トークンと呼ばれることもあり、推論モデルがタスクを計画したり、確認したり、処理したりする際に内部で生成されます。これは追加のプロンプト内容ではなく、必ずしもユーザーに表示されるものでもありません。

プロバイダーは推論を隠したり、省略したり、要約を返したりすることがあります。要約はプロセスの提示方法であって、すべての内部推論トークンを受け取ったことの証明ではありません。現在のOpenAIAnthropicGoogleのドキュメントはいずれも、全文が返されない場合でも、内部で行われた作業全体を使用量として計上しています。

すべてのモデルやAPIが推論トークン数を公開しているわけではありません。別途報告される推論フェーズなしに回答を生成するモデルもあります。また、推論の強度に影響を与える制御機能を備えたモデルもありますが、プロバイダーが明示的に保証していない限り、それらの制御によって思考量が正確に決まるわけではありません。

実際の区別

この3つのラベルは、それぞれ異なる問いに答えます。

Token typeDefining questionTypical contentsUsually visible?Accounting relationship
InputWhat did this request send to the model?Instructions, messages, context, tools, filesMostly, though applications can add contentA top-level request category; cached input may be a priced subset
OutputWhat did the model generate?Answer text, code, tool calls, and sometimes internal generated workPartlyCan be an inclusive total or an answer-only field, depending on the API
ReasoningWhat internal generated work helped produce the answer?Planning, intermediate work, checksOften hidden or summarizedCommonly a subset of generated output for billing, but sometimes reported beside output

入力と生成された出力は、1つのリクエストにおける対極の側面です。推論は生成された活動の一種です。したがって、入力や出力と並ぶ、普遍的な第3の区分を構成するものではありません。

この区別は、プロバイダーのダッシュボードを比較するときに重要です。OpenAIは、推論を包括的な出力カウントの内訳として説明しています。Anthropicも同様に、思考トークンを信頼できる出力合計の一部として説明しています。Googleは候補出力と推論数を別々に公開し、レスポンス料金は両者を組み合わせて計算すると説明しています。フィールド名は異なりますが、3社とも推論を生成された作業として扱っています。

使用量の具体例

次の簡略化したリクエストを考えてみましょう。

  • 指示、ユーザーメッセージ、履歴、添付されたコンテキストの合計は、入力トークン1,200個です。
  • モデルは推論トークンを620個生成します。
  • その後、表示される回答を180トークン生成します。

あるAPIでは、次のように報告されることがあります。

input_tokens: 1200
output_tokens: 800
output_details.reasoning_tokens: 620

ここで、output_tokensは包括的な値です。620をもう一度加えてはいけません。180トークンの回答は、生成された800トークンのうち、推論以外の部分です。

別のAPIでは、次のように報告されることがあります。

input_tokens: 1200
output_tokens: 180
thought_tokens: 620
total_tokens: 2000

ここでは、回答の出力と推論トークンが別々のフィールドになっています。生成された使用量を評価する際は、両方を含める必要があります。2つのレポートは、同じ簡略化された処理の流れを示しています。

1,200 input + 620 reasoning + 180 visible answer = 2,000 total tokens

すべての生成トークンにプロバイダーの出力料金が適用される場合、簡略化した料金計算は次のようになります。

(1,200 × input rate) + (800 × output rate)

実際の請求では、キャッシュされた入力、キャッシュへの書き込み、バッチ、ツール、その他の機能に別料金が加わることがあります。すべてのフィールドが加算対象だと仮定せず、APIの使用量スキーマと料金ルールを使用してください。

それぞれのトークン種別が重要になる場面

入力トークンは、リクエストに大量のコンテキストが含まれる場合に重要です。長い履歴、ドキュメント、ツール定義、繰り返される指示は、最新のユーザーメッセージが短くても使用量の大部分を占めることがあります。入力数は、コンテキストウィンドウにどれだけ余裕が残っているかを知る手がかりにもなります。

出力トークンは、応答が長い場合や、繰り返し生成される場合に重要です。生成は一度に1ステップずつ行われるため、出力には通常、入力とは異なる性能特性や料金特性があります。ドキュメントを1つのラベルに分類するワークフローと、レポートを下書きするワークフローでは、使用量の形が異なります。

推論トークンは、タスクに内部処理が必要な場合に重要です。最終回答が短くても、大量の推論の軌跡を経ていることがあります。その場合、表示される回答が長くならなくても、料金が増えたり、表示される回答までの遅延が大きくなったり、生成トークンの容量を消費したりする可能性があります。

推論モデルでは、出力上限が内部推論と表示される回答の両方を対象とすることがあります。推論が先に上限を消費すると、モデルは短い回答や不完全な回答を返す可能性があります。出力上限を回答の長さの保証として扱う前に、エンドポイントのドキュメントを確認してください。

混同されやすい点

推論トークンは追加の入力ではない

モデルは生成中に推論トークンを作成します。アプリケーションが保存された思考内容を後続ターンで送り返す場合、それらが後のターンの入力になることはありますが、その場合は新しいリクエストであり、計測の境界も新しくなります。

推論トークンは常に出力トークンと別扱いになるわけではない

使用量オブジェクトが推論を出力内の詳細項目として示している場合、2つのフィールドを足すと二重計上になります。思考トークンを回答の出力と並ぶ別フィールドとして報告している場合は、思考のフィールドを無視すると過少計上になります。計算する前にスキーマを確認してください。

出力トークンは常に目に見える単語ではない

トークンは単語と同じではなく、生成された使用量は表示される文章だけに限られません。ツール呼び出しの引数、隠れた推論、プロバイダーが管理する書式設定などによって、目に見える内容とメーターに記録される内容の差が広がることがあります。

短い回答が必ずしも低コストとは限らない

表示上の長さは使用量の一部にすぎません。リクエストには、大量の入力、相当量の内部推論、またはその両方が含まれることがあります。計測の基準としては、表示された回答の大きさよりも、応答の使用量レコードのほうが適しています。

次に読む項目

アプリケーションがリクエストに含める内容を理解するには、「入力トークンとは何か?」を読んでください。生成される応答と上限については、「出力トークンとは何か?」を読んでください。プロバイダーによって異なる思考レイヤーについては、「推論トークンとは何か?」を読んでください。