ある個人開発者が3つのClaudeモデルを用いた実験を行った結果、月間のAPIコストを35%削減し、タスクのメディアン(中央値)レイテンシを42秒から27秒へと短縮することに成功した。単純で曖昧さの少ないジョブを安価なHaikuモデルに、日常的な作業をSonnetに、そして重要度の高い問題には重量級のOpusを割り当てるというルーティングを行うことで、著者は「すべてに最高モデルを使う」という習慣がいかにコストのかかるものであるかを証明した。
なぜルーティングが重要だったのか
著者は、リンターの修正、機能追加、セキュリティレビュー、詳細なデバッグセッションといった開発タスクを継続的に受け取る自律型コーディングエージェントを運用している。数ヶ月間、このエージェントは「品質の高さは常にコストを上回る」という前提のもと、すべてのリクエストを最も高性能なClaudeモデルであるOpusに送信していた。Opusはトークンあたりの単価が高いため、請求額は際限なく膨らんでいった。
著者が階層的なルーティングスキームを導入したところ、支出は元の水準の65%まで低下し、Opusの使用率は全タスクの11%まで減少した。
3層システムの仕組み
ルーティングのロジックは、タスクが何行のコードに触れるかではなく、**曖昧さ(ambiguity)**に基づいている。著者は以下の3つのバケット(分類)を定義した:
- Haiku – 曖昧さが低く、決定論的な(deterministic)ジョブ。例:リンターの警告修正、変数名の変更、ログファイルの要約。正解は通常、1行のコードまたはテキストである。
- Sonnet – デフォルトの主力モデル。機能の実装、日常的なバグ修正、標準的なリファクタリングなど、問題は明確だが解決に複数のステップを要する場合を担当する。
- Opus – 重要度が高く、曖昧さの大きい作業。アーキテクチャの決定、セキュリティ監査、複雑なデバッグセッション、あるいは正しい手順が不明確で、一歩間違えるとパイプラインを壊してしまう可能性があるあらゆるタスク。
静的なルックアップテーブルを使用して、これらのルールに基づき各リクエストを適切なモデルにマッピングする。著者は、その場で階層を判断する「スマートな」モデルも試したが、追加のトークン使用量によって節約分が相殺されてしまった。シンプルな静的ルールだけでワークロードの約80%をカバーでき、システムを安価かつ予測可能な状態に保つことができた。
エスカレーションによるセーフティネット
安価なモデルでもミスは起こりうる。HaikuやSonnetの誤った回答によってビルドが脱線するのを防ぐため、システムは2回失敗した後にリクエストをエスカレーションし、次の階層のモデルへ昇格させる。このセーフティネットがエラーを早期に検知し、手動の介入なしにパイプラインをスムーズに稼働させ続ける。
数字が示す成果
階層型ルーターを運用して4週間後、著者は以下の変化を記録した:
- API支出が元のコストの65%に減少(35%の削減)。
- メディアン(中央値)のターンアラウンドタイムが42秒から27秒に短縮。
- Opusの使用率が、全リクエストの処理から全タスクのわずか11%へと縮小。
これらの数値は、ほとんどの開発作業は品質を著しく低下させることなく安価なモデルに委ねることができ、一方で最も困難な問題については、引き続きOpusの大きなコンテキストウィンドウの恩恵を受けられることを示している。
他の開発者への教訓
- 「高」ではなく「低」から始める。 日常的なコーディング作業の多くに、最も強力なモデルは必要ない。曖昧なタスクのデフォルトをSonnetに設定することで、すべてをHaikuに押し込むよりも多くのコストを節約できた。
- 規模ではなく難易度を測る。 1行のレースコンディションの修正は、ファイル全体の書き換えよりも難しい場合がある。変更する行数ではなく、解決策がどれほど曖昧であるかによってルーティングを行う。
- エスカレーション率を監視する。 エスカレーションの数が増えている場合は、静的なルールがワークロードに適合しなくなっている兆候である。安価なモデルがパイプラインの失敗を量産し始める前に、バケット(分類)を調整すること。
最も高価なモデルを最も困難な問題のために確保し、残りの作業を安価なモデルに任せることで、AIを活用した開発を高速かつ手頃な価格に保つことができる。真の利点は、適切なツールを適切な作業に適合させる、規律あるルーティング戦略にある。
