はじめに
どうもこんにちは、エンジニアの宗です。暑いです。とにかく暑い。夏に入ってエアコンのフィルター掃除をしてみましたが、体感あまり変わらず悲しみの夏です。
早速本題ですが、最近人にレビュー依頼を出す前や、実装ができたタイミングでAIにレビューをさせることが増えています。ただAIちゃんは無限に利用できるわけではありません。我々はトークンという有限の資源に縛られています......トークン消費は抑えたいですがケチっててきとうなレビューをされても本末転倒です。
今回はトークン浪費した話と、その体験を経て品質は保ちつつトークン消費量を削れないか?と思いいろいろ試してみた内容を共有します。
ちなみに今回使っているのは Claude Code for VS Code 、プランはClaude Team(Standard シート)、AIモデルは ClaudeのSonnet5を使っています。
1.トークンドカ食い エージェント多重起動の罠
AIにレビュー依頼した時にとんでもない量のAIが多重起動されることがありました。指示はこれだけでした......
「今回の実装内容を精査してレビューお願いします。」
上記をAIが受け取って動き出すのですが、調査のためサブエージェントを起動→サブエージェントがサブエージェントを起動→入れ子になってとんでもない量のエージェントが同時並行で動くということが発生しました。
当然ですがトークンがモリモリ食われました。Claudeの使用制限までのパーセンテージが10%前後くらいだったのが一気に94%まで上がって慌てて止めた時にはすでに......といった形でした。
このように、AIは何かをする際サブエージェントを起動することがあります。今回この件に対して起動数を制限するような指示は特に入れていないのですが、後述する2・3の工夫(Effortの調整、レビュー観点を明確にする)を実践するようになってからは、体感としてこの手の多重起動が起きにくくなった気がしています。もし同じような事件に遭遇したら、エージェントの起動数を制限する指示を入れてみるのも一つの手かもしれません。
2.コスパよく使うためにEffortのレベルを調整してみる
(画像はClaude Code for VS Codeです)
こちらのEffortがデフォルトだとhighなのですが、画像のようにExtra highにするとAIはより深く考えてから行動してくれます。
もちろん1回辺りのトークン消費量は増えます。が、Effortを下げて何度も何度もレビュー回すよりは、Extra highでレビューを回した方が指摘内容の量も質も高く出力され体感ですがトークン消費が少なく済んでいるように感じます。maxにすると消費量が爆増するので気をつけてください。
余談ですが、Planを練る際はExtra highでじっくり考えて、実装の際はhighでやらせる、みたいな形で工程によってEffortを変えることでもトークン消費を抑えられている感じがします。
3.再再再レビューを防ぐために どういう観点でレビューして欲しいのか明確に伝える
AIにレビューをさせる時、雑にエディタ上で範囲選択して「これレビューして」とか「今実装した内容をレビューして」と投げてもまあそこそこいい感じに見てはくれるのですが、念のため別セッションで再度レビュー依頼するとさっき見てなかった視点で新しく指摘が出てくることがあります。
何度も再レビューさせてもいいですが、レビューの品質を上げて再レビューの回数を減らした方がトークン消費も減らせます。
例を挙げると「今回実装した内容について、プロジェクト全体の方針に沿っているか、異質なコードになっていないか確認して」と投げるとただコードが正しく動いているかだけでなく、プロジェクト全体の流れや慣習に沿っているかという視点で見てくれます。
他にも「不要なコードやコメントが入っていないか」とか「人が読みやすいコードになっているか、可読性も意識して」と指示を混ぜてからレビュー依頼を出すとそれに応じて確認をしてくれるので、この辺り丁寧に指示だししてあげるとかなりAIも丁寧に見てくれる印象があります。
一定の品質向上が継続して体感できそうな内容はSKILL.mdを作成して取り込んでいってもいいかもしれないです。
おわりに
コスパの良い指示の出し方や、品質向上に繋がる指示の出し方を意識してAIと上手く付き合っていきたいです。
トークンを大量消費することはあっても、トークン浪費マンにならないよう、自戒の意味も込めて書いてみました。