トークン予算の内訳
リクエスト全体のトークン量には、通常次の要素が含まれます。- システム/開発者の指示
- ユーザーのプロンプト/入力
- 取得したコンテキスト(RAG、ドキュメント、ツール)
- ツールスキーマ/関数定義
- モデルの出力トークン
予算が重要な理由
- プロンプトが長いほど、レイテンシとコストが増加します。
- コンテキストの品質が低い場合、プロンプトが長すぎると回答の関連性が下がることがあります。
- 出力予算が小さすぎると、回答が途中で切れたり、構造化出力が無効になったりします。
reasoning_contentとfinish_reason: "length"
が保持されます。Responsesでは推論の出力項目が保持され、
status: "incomplete"が報告されます。通常のプロバイダー終了はstopまたはcompletedのままです。
予算の立て方
- ルートごとに入力トークンの上限目標を設定します。
- 想定される最長の回答に備えて、出力用の余裕を確保します。
- 価値の低いコンテキストを積極的に削減します。
- 実際のトークン使用量の分布を継続的に監視します。
実用的なガードレール
- 入力と出力のトークンに厳格な上限を設定します。
- 大きなコンテキストを事前に切り詰める、または要約するルールを追加します。
- ルートごとに上限を使い分けます(検索回答と長文生成など)。
- 出力に切り詰めマーカーや不完全なJSONがないことを検証します。
よくある間違い
- すべてのエンドポイントに同じトークン上限を設定する。
- すべての種類のリクエストに冗長なシステムプロンプトを使う。
- ツールスキーマに必要な追加トークンを無視する。