ウーバーのuReviewシステムから学んだマルチエージェントのコスト削減とハルシネーション遮断法
ASTパースでLLM呼び出し前に不要なコード片をフィルタリングする方法
レガシーモノリスに生の状態のGit diffと全体ソースコードをそのまま投入すると、コストが爆発する。2025年にウーバーが公開したuReviewプラットフォームは、毎週6つのモノレポから生成される65,000件の変更事項のうち90パーセントを自動分析した。しかし、モジュール境界が曖昧なコードベースに精製なしでモデルを適用すると、トークンコストが6倍に跳ね上がる。グローバルファクトリークラスを理解できないモデルは、見当違いなヌルポインタ検証を要求し、ハルシネーションを引き起こす。開発者たちは役に立たないコメントが蓄積する瞬間、通知を切って警告不感症に陥る。
Python標準のastモジュールを使用して、変更された関数のシグネチャと影響を受けるローカル変数だけを抽出する前処理エンジンを構築する必要がある。静的メタデータを精製した後、変更に関係のない非機能的な修正をハッシュ比較で削除する。そして、変更行が含まれる最下位関数ノードのシグネチャと実際の修正文のみを逆パースし、軽量なJSONペイロードを作成する。
レガシーモジュール100件でベンチマークを実行すると、その差は歴然としている。生ファイルのインジェクションはPRあたり42,000トークンと0.273ドルを消費する。一方で、AST前処理JSON圧縮を使用すると、PRあたり6,100トークンと0.068ドルに低下する。APIコストが47.3パーセント削減され、ハルシネーション性の誤検知率も9.4パーセントに下がる。
ステートマシーンスキーマでエージェント間の無限ループを断ち切る方法
セキュリティエージェントとビジネスロジックエージェントをインタラクティブなグループチャットで結ぶと、互いに出力を投げ合い、無限のピンポンループに陥る。単一のPR分析に数十分がかかり、APIコストが急騰する。エージェント同士を直接通信させてはならない。PydanticスキーマとLangGraphを活用し、有限状態機械フレームワークを構築する必要がある。
各専門エージェントは中央パイプラインの状態のみを受け取り、自身のドメインルールに従って判定した結果を、規定されたモデル形式でのみ返す。Pydanticでエージェント出力の識別子、ファイルパス、深刻度、信頼度スコアを強制するデータクラスを定義する。反復回数が2回に達するか、すべてのコメントの信頼度が0.85以上に収束すると、ステートマシーンを強制的に停止する条件付きエッジをかける。
OpenTelemetry GenAIセマンティックコンベンション標準に従い、各エージェントの実行を固有のスパンで包み、トークン使用量を分散トレーシングバックエンドに残す必要がある。この構造を適用すると、エージェントの誤作動に対処するために費やしていたテックリードのデバッグ時間が週あたり6時間以上削減される。
ホワイトリスト検証スクリプトで開発者受容率70パーセントを達成する方法
グローバルの社内静態分析ツール「トリコダー」の運用データによると、ツールがどれほど正確な指摘をしても、開発者が修正する価値がないと感じれば敵対心が増すだけである。有効誤検知率が5パーセントを超える検査器は、即座に排除される。自動レビューコメントの67パーセント以上が受容されるようにするには、リスクの低いモジュールから段階的に広げていく段階的ロールアウトを行わなければならない。
DTO検証レイヤーや純粋関数のように副作用のない層を選び、コメントを隠すシャドウモードを3週間運用する。精度85パーセントを確認した後、3つのドメインスクワッドのバックエンドコードにインラインコメントを解放し、受容率を追跡する。週単位でフィードバックログを収集し、受容率67パーセントを下回る高誤検知ルールを自動的にホワイトリストから外し、隔離リストに送るフィードバックループスクリプトを実行する。このホワイトリスト検証スクリプトをパイプラインに組み込んでおけば、開発者がイライラする役立たずのルールが素早く排除され、チーム内のレビューシステム受容率70パーセントを達成することができる。