Output Token
出力トークン
しゅつりょくとおくん
Definition
Output tokens are the tokens in the text a model generates, used to calculate cost and output limits. They are a basic unit for estimating generation fees.
LLMのAPIコストを見て「思ったより高い」と感じた経験はないでしょうか。その原因の多くは、出力トークンの単価とその量にあります。出力トークンとは、LLMが応答として新たに生成するトークンのことで、入力トークンよりも高単価に設定されており、APIコストの主要な構成要素です。
なぜ出力トークンは高いのか
入力トークンの処理は、既存のテキストをモデルに読み込ませる「並列処理可能な」操作です。一方、出力トークンの生成は、前のトークンの結果を踏まえて次のトークンを予測する「逐次的な」操作であり、計算コストが高くなります。このため、ほとんどのAPIプロバイダーは出力トークンを入力トークンの2〜4倍の単価に設定しています。コスト最適化において、出力の長さを制御することは非常に重要です。
最大出力トークン数
各モデルには最大出力トークン数(max output tokens)の制限があります。APIリクエスト時に`max_tokens`パラメータで指定できますが、モデル固有の上限を超えることはできません。たとえば、コンテキストウィンドウが128Kトークンのモデルでも、一度に生成できる出力は16Kトークンまで、といった制約があります。この制限に達すると、回答が途中で途切れてしまうため、長い出力が必要な場合は事前に上限を確認しておく必要があります。
出力トークン数を制御する方法
出力トークン数を適切に管理するテクニックは複数あります。max_tokensパラメータで上限を明示的に設定するのが最も直接的な方法です。プロンプトでの指示として「3文以内で回答してください」「箇条書きで5つ以内」のように長さを制約します。ストップシーケンスを設定して、特定の区切り文字で生成を停止させる方法も効果的です。
CoTと出力トークンのトレードオフ
思考の連鎖(Chain-of-Thought)プロンプティングは回答精度を向上させますが、推論過程を出力する分だけ出力トークン数が大幅に増加します。「精度向上のために出力を増やす」のか「コスト削減のために出力を絞る」のかは、ユースケースごとの判断が必要です。本番環境では、内部的にCoTで推論させつつ最終回答だけをユーザーに返すアーキテクチャが使われることもあります。
コストモニタリング
出力トークンのコストを管理するためには、リクエストごとの実績値を追跡することが重要です。多くのAPIは、レスポンスに`usage`フィールドとして入出力のトークン数を返します。これをログに記録し、用途別・ユーザー別・時間帯別のコスト推移を可視化することで、予期しないコスト増加を早期に検知できます。プロンプトの改善や出力形式の見直しによって、品質を維持しながら出力トークン数を30〜50%削減できるケースも珍しくありません。