トークン節約とコード品質のバランス:設定を削りすぎて品質が下がった実例
この記事について
トークンとは、AIが処理できる情報量の単位です。AIへの入力(指示や設定情報)も出力(生成されたコード・テキスト)も、すべてトークンとして計算されます。使用するトークンの量がコストに影響するため、入力情報を整理して削減することはコスト管理の観点から有効な場合があります。
この記事では、AIへの入力情報を削りすぎた結果、出力品質が下がった実例と、そこから整理した判断基準を記録します。
削ったことで問題になったもの
ルール定義の一部
AIに渡す設定ファイル(CLAUDE.md)の内容を整理していたとき、「使用頻度が低い」と判断したルールの一部を削除しました。
しばらく後、削除したルールに関連する問題が再発しました。具体的には、記事本文で避けるべき表現として定義していた文言が、削除後のAI出力に再び現れるようになりました。
ルール定義は「よく使うかどうか」ではなく「定義しないと発生する問題の大きさ」で判断すべきでした。使用頻度が低くても、一度問題になったルールはその再発防止として機能しているため、削除すると効果が消えます。
過去の教訓ログへの参照
以前の作業での問題点と解決策をまとめたログファイルを、「古い情報なので不要」と判断してAIへの参照から除外しました。
その後、以前と同様の問題が再度発生しました。参照を除外したことで、AIが過去の判断経緯を把握できなくなり、同じ判断を繰り返す状況になりました。
教訓ログは、問題が起きた背景と解決策のセットで意味を持ちます。「情報が古い」という理由だけで除外するのではなく、「その判断が現在も有効かどうか」を確認した上で判断すべきでした。
削っても影響が少なかったもの
比較として、削っても問題にならなかったものも記録しておきます。
- 記事の文体説明(具体例が残っていれば、抽象的な説明部分は削れた)
- 同じ内容を言い換えただけの重複した記述
- 過去のプロジェクト構成の説明で、現在の構成と一致しなくなったもの
これらは削除してもAIの出力に変化がなく、トークンの削減につながりました。
現在の判断基準
何を残して何を削るかの判断に、次の基準を使っています。
削らない:
- 一度問題になったことがあり、そのルールを明示することで再発を防いでいるもの
- AIがプロジェクト固有のルールを知らなければ誤った判断をする可能性があるもの
- 過去の判断経緯と結果がセットになっている教訓ログ
削る候補:
- 同じ意味の内容が複数の場所に書かれている重複
- 現在の構成・仕様と一致しなくなった記述
- AIの出力に変化がないことを確認できた説明
まとめ
トークン削減はコスト管理として有効ですが、削る内容を誤ると出力品質に影響します。「使用頻度が低い」「古い情報」という理由だけで削除すると、再発防止のために存在していたルールや文脈が消えることがあります。削る前に「この情報がない場合、AIはどう動くか」を確認することが、品質を維持しながら削減を進める上で有効な手順です。