自律的な開発エージェントは、ソフトウェアの作成方法を再形成しています。Devin、SWE-Agent、OpenAI Codex のようなツールは、数百行のコードを生成し、プルリクエストを開き、人の介入を最小限に抑えて問題を解決します。
しかし、基盤には亀裂があります。これらのエージェントのペースに追いつこうとする多くのコードレビュシステムはRAGに依存しています。そしてRAGは自律エージェントが生み出すコードをレビューするには本質的に適していません。
エージェントがRAGの限界を露呈させる理由
インデックス遅延が最初の致命打です。 自律エージェントは機械の速度で動作します。1つのタスクは1時間で十数件のコミットを生み出すことがあります。RAGのインデックスが3つ目のコミットを反映している頃には、エージェントはすでに7つ目のコミットをプッシュしています。
コンテキストウィンドウの制約が問題をさらに悪化させます。 エージェントが生成する変更は、スキーマ、ORMモデル、APIハンドラ、テストスイート、設定ファイルの変更など、広範になりがちです。RAGはクエリに最も類似したトップkの断片を取得します。15ファイルにわたる変更を一貫したビューとして提示することはできません。
陳腐化した埋め込みが検索結果を乱します。 エージェントがモジュールをリファクタリングすると、再インデックスが完了するまで埋め込みは旧構造を反映します。「この関数は何をするのですか?」と尋ねるレビュアーは、もはや存在しないコードに基づく回答を受けるかもしれません。
エージェントは横断的関心事にも触れる。 人間の開発者は限られた領域で作業します。特にアーキテクチャのタスクを担当するエージェントは、横断的な変更を行います。RAGの検索は局所的な類似性には最適化されていますが、変更が呼び出しグラフ全体にどう波及するかを追跡する用途には適していません。
蓄積するリスク
RAGが見逃すコンテキストは、まさに最も重要な変更の周りに集約されます。呼び出し元ごとに不整合に適用されたセキュリティパッチ。下流の利用者に影響するインターフェース変更がリトリーバーに現れなかったケース。並行変更による競合状態が同時には現れないことによるリスク。
実際に機能するもの: グラフベースのコード分析
グラフベースのコード分析は、実際の依存関係構造を反映したコードベースの表現を構築します。エージェントが変更を提出すると、エンジンは実際のグラフを辿り、呼び出し元と呼び出し先を特定し、データフローを追跡し、インターフェース契約を検証します。
- インデックス遅延なし。 グラフは段階的に更新されます。
- 変更セットの完全な可視性。 変更されたすべてのファイルが分析の対象になります。
- 実行経路の認識。 グラフはコードの実行方法を把握します。
- 決定論的なカバレッジ。 依存関係の連鎖に関数が含まれていれば、分析にも含まれます。
CodeAnt AIについて
CodeAnt AI は、リポジトリの実際のコードグラフを構築・分析します。人間の開発者であろうと自律的エージェントであろうと、CodeAnt は依存関係の構造を横断して、すべての変更の影響を理解します。