トークン消費に関する助言の多くは、問題の逆側を最適化しています。あなたが入力 するプロンプトが高くつくことはめったにありません。トークンを消費するのは、 エージェントがあなたの代わりに読み込むものすべてです。ファイルの中身、コマンドの 出力、テストログ、そして積み重なっていく会話履歴です。
以下の手法は、賢さではなく実際の削減効果の大きい順に並べています。
各ファイルを読む量を減らす
関数を1つ直すために2,000行のファイルを開くエージェントは、予算の大半を二度と 使わない文脈に費やしています。まず検索し、必要な範囲だけを開いてください。
この削減は積み重なります。エージェントが読んだファイルは、そのセッションの 最後まで履歴に残り続けるからです。一度読んだファイルの代金は一度きりではなく、 3ターン目に読んだファイルは20ターン目でもまだ運ばれ続けています。
コマンド出力はモデルに届く前に絞り込む
ビルドログ、テストランナー、パッケージマネージャーの出力は、端末を見ている人間の ために書かれたものであり、トークン単位で支払うモデルのためではありません。失敗した テストは数千トークンのスタックトレースを容易に吐き出しますが、本当に必要なのは 40トークン程度ということもよくあります。
出力の多いコマンドは、要点を取り出す処理に通しましょう。
pytest -q 2>&1 | tail -30
npm run build 2>&1 | grep -E "error|warning" | head -20
地味な作業ですが、たいていの場合これが単独では最大の削減になります。
タスクの範囲を絞る
長い会話は短い会話よりも1ターンあたりの費用が高くなります。毎回、履歴全体が 再送されるからです。同じ範囲を扱うなら、1回の長大なセッションよりも2回の集中した セッションのほうが安く済み、しかも結果はたいてい良くなります。無関係な20ターン分の 履歴を天秤にかける必要がなくなるからです。
タスクの方向が大きく変わったときに新しいセッションを始めるのは、品質の判断で あると同時にコストの判断でもあります。
エージェントが読めるものを貼り付けない
ファイルをプロンプトに貼り付けると二重に計上されます。あなたのメッセージの中で 一度、そしてエージェントが編集のためにそのファイルを開くときにもう一度です。 パスを示すだけで十分です。
あまり効果のないこと
自分のプロンプトを短くするのは、ほとんど見せかけです。丹念に圧縮した指示で 節約できるのはせいぜい50トークンほどですが、不要なファイル読み込みは1回で 2,000トークンかかります。指示はできるだけ明確に書き、注意は自分が何を書くかでは なく、エージェントが何を読むかに向けてください。
システムプロンプトやツール定義の圧縮も、多くの利用者にとっては同じく効果が 薄く、ノイズの多いテスト出力の前では誤差に等しい削減のために信頼性を犠牲にする ことになります。