トークンバジェットアドバイザー(TBA)
Claudeが回答する前にレスポンスフローをインターセプトし、ユーザーが回答の深さを選択できるようにする。
使用場面
- ユーザーが回答の長さや詳細度を制御したい場合
- ユーザーがトークン、バジェット、深さ、または回答の長さに言及する場合
- ユーザーが「短いバージョン」「TL;DR」「簡潔に」「25%」「詳細に」などと言う場合
- ユーザーが事前に深さ/詳細度を選択したい場合
トリガーしない場合:ユーザーが本セッションですでにレベルを設定している(静かに維持)、または回答が本質的に一行。
動作原理
ステップ 1 — 入力トークンを推定する
リポジトリの標準コンテキストバジェットのヒューリスティックスを使用して、プロンプトのトークン数を頭の中で推定する。
context-budget と同じキャリブレーションガイドラインを使用する:
- 散文:
words × 1.3 - コード集約またはコード混在/コードブロック:
chars / 4
混在コンテンツの場合、支配的なコンテンツタイプを使用し、推定ヒューリスティックスを保持する。
ステップ 2 — 複雑度に応じてレスポンスサイズを推定する
プロンプトを分類し、乗数範囲を適用して完全なレスポンスウィンドウを得る:
| 複雑度 | 乗数範囲 | プロンプト例 |
|---|---|---|
| シンプル | 3× – 8× | 「Xとは何ですか?」、はい/いいえの質問、単一の事実 |
| 中程度 | 8× – 20× | 「Xはどのように機能しますか?」 |
| 中〜高 | 10× – 25× | コンテキスト付きのコードリクエスト |
| 複雑 | 15× – 40× | マルチパート分析、比較、アーキテクチャ |
| クリエイティブ | 10× – 30× | ストーリー、散文、ナラティブライティング |
レスポンスウィンドウ = input_tokens × mult_min から input_tokens × mult_max(ただしモデルの設定済み出力トークン制限を超えない)。
ステップ 3 — 深さのオプションを提示する
回答する前に、実際に推定した数値を使用してこのブロックを提示する:
プロンプトを分析中...
入力:~[N] トークン | タイプ:[タイプ] | 複雑度:[レベル] | 言語:[言語]
深さレベルを選択してください:…