トークンバジェットアドバイザー (TBA) は何をしますか?
Claude が応答する前に、応答の深さをユーザーに選んでもらうためのスキルです。
使用タイミング
- ユーザーが応答の長さや詳細度を制御したい場合
- ユーザーが「トークン」「予算」「深さ」「応答長」に言及した場合
- ユーザーが「短く」「簡潔に」「25% で」「詳細に」「網羅的に」などと言った場合
- ユーザーが最初から詳細度/深さを選びたい場合
トリガーしない場合: ユーザーがすでにこのセッションでレベルを設定している(その設定を暗黙的に維持する)、または答えが簡単に 1 行で済む場合。
仕組み
ステップ 1 — 入力トークンの推定
リポジトリの標準的なコンテキスト予算ヒューリスティックを使用して、プロンプトのトークン数を頭の中で推定します。
context-budget と同じ較正ガイダンスを使用します:
- 散文:
単語数 × 1.3 - コード主体または混合/コードブロック:
文字数 / 4
混合コンテンツの場合は、主要なコンテンツタイプを採用し、推定ヒューリスティックを維持します。
ステップ 2 — 複雑さによる応答サイズの推定
プロンプトを分類し、乗数範囲を適用して応答ウィンドウ全体を求めます:
| 複雑さ | 乗数範囲 | プロンプトの例 |
|---|---|---|
| 単純 | 3× – 8× | 「Xとは?」、はい/いいえ、単一の事実 |
| 中程度 | 8× – 20× | 「Xはどう動くの?」 |
| 中高 | 10× – 25× | コンテキスト付きのコードリクエスト |
| 複雑 | 15× – 40× | 多項目分析、比較、アーキテクチャ |
| 創造的 | 10× – 30× | ストーリー、エッセイ、ナラティブライティング |
応答ウィンドウ = 入力トークン数 × 最小乗数 ~ 入力トークン数 × 最大乗数 (ただし、モデルの設定された出力トークン制限を超えないこと)。
ステップ 3 — 深さオプションの提示
実際の推定値を使用して、回答の前にこのブロックを表示します:
プロンプトを分析中...
入力: ~[N] トークン | タイプ: [type] | 複雑さ: [level] | 言語: [lang]
深さレベルを選択してください:
[1] 簡潔 (25%) -> ~[トークン数] 直接回答のみ、前置きなし
[2] 適度 (50%) -> ~[トークン数] 回答 + コンテキスト + 1つの例
[3] 詳細 (75%) -> ~[トークン数] 代替案を含む完全な回答
[4] 網羅 (100%) -> ~[トークン数] すべて、制限なし
どのレベルにしますか? (1-4 または「25% 深さ」「50% 深さ」「75% 深さ」「100% 深さ」)
精度: ヒューリスティック推定 約85-90% (±15%)。
レベル別トークン推定(応答ウィンドウ内):
- 25% →
最小 + (最大 - 最小) × 0.25 - 50% →
最小 + (最大 - 最小) × 0.50 - 75% →
最小 + (最大 - 最小) × 0.75 - 100% →
最大
ステップ 4 — 選択されたレベルで応答
| レベル | 目標の長さ | 含める内容 | 省略する内容 |
|---|---|---|---|
| 25% 簡潔 | 最大2~4文 | 直接回答、主要な結論 | コンテキスト、例、ニュアンス、代替案 |
| 50% 適度 | 1~3段落 | 回答 + 必要なコンテキスト + 1つの例 | 詳細分析、エッジケース、参考文献 |
| 75% 詳細 | 構造化された応答 | 複数の例、長所/短所、代替案 | 極端なエッジケース、網羅的な参考文献 |
| 100% 網羅 | 制限なし | すべて — 完全な分析、すべてのコード、すべての視点 | なし |
ショートカット — 質問をスキップ
ユーザーがすでにレベルを指定している場合は、質問せずにそのレベルで即座に応答します:
| ユーザーの発言 | レベル |
|---|---|
| 「1」/「25% 深さ」/「短く」/「簡潔に」/「tldr」 | 25% |
| 「2」/「50% 深さ」/「適度に」/「バランスよく」 | 50% |
| 「3」/「75% 深さ」/「詳細に」/「ちゃんと答えて」 | 75% |
| 「4」/「100% 深さ」/「網羅的に」/「完全に深堀りして」 | 100% |
セッション中にユーザーがレベルを設定した場合、以降の応答では暗黙的にその設定を維持し、変更があればそれに従います。
精度に関する注意
このスキルはヒューリスティック推定を使用しており、実際のトークナイザーは使用していません。精度は約85-90%、ばらつき±15%です。常に免責事項を表示してください。
例
トリガーする場合
- 「まず簡潔なバージョンを教えて。」
- 「あなたの回答は何トークンになりますか?」
- 「50% の深さで答えて。」
- 「要約ではなく網羅的な回答が欲しい。」
- 「短いバージョンを最初に、その後詳細なバージョンをください。」
トリガーしない場合
- 「JWT トークンとは何ですか?」
- 「チェックアウトフローは支払いトークンを使用します。」
- 「これは普通ですか?」
- 「リファクタリングを完了してください。」
- ユーザーがすでにセッションの深さを選択した後のフォローアップ質問
ソース
TBA — Token Budget Advisor for Claude Code からのスタンドアロンスキル。 元のプロジェクトには Python 推定スクリプトも含まれていますが、このリポジトリではスキルを自己完結型かつヒューリスティックのみに保っています。