AIにプルリクエストでtrivialなコメントを生成させるのではなく、実際のバグを見つけさせる方法
コードレビュー用のニューラルネットワークボットは概して同じ動作をします。コミットから差分を受け取り、変更された行を一瞥して、大量の表面的コメントを生成します。その結果、開発者はフォーマットに関するヒント、不足しているdocstring、またはAIが隣接ファイルのコンテキストを欠いているために明らかな幻觉(hallucination)を取得することになります。Agent-Fieldプロジェクトチームは異なるアプローチを取ることを決意し、PR-AFツールを作成しました。

PR-AFとは?また誰に適しているか
PR-AFは「Pull Request AgentField」の略称です。これはCI/CDステージで深層コード監査を行うためのオープンソースツールです。
このプロジェクトは、ターミナルで数秒以内に回答を返すClaude Codeのような高速な対話型ユーティリティと競合しようとはしていません。PR-AFは異なるタスク向けに設計されており、35〜50分かかりますが、動的なエージェントグラフを構築し、リポジトリからASTツリーを抽出し、各発見事項の反証可能性を確認します。
このツールは、メインブランチにマージする前に厳格な自動品質管理を必要とするチームに役立ちます。これは、セキュリティやアーキテクチャにおけるエラーのコストが高いプロジェクトに特に適しています。
動的パイプラインの動作仕組み
PR-AFは、ハードコードされたプロンプトで静的スクリプトを実行するのではなく、受信したプルリクエストの構造を分析し、それに応じて実行グラフを調整します。

分析プロセスはいくつかの段階に分かれています。
まず、システムが差分を3つの異なる観点から評価します:セマンティック、メカニカル、システム的です。特定されたタスクに対して、一時的な専門レビュアーエージェントが作成されます。
次に、証明検証エンジンが起動します。エージェントがコードに入力のバリデーションが欠落していると判断しても、システムはその言葉をそのまま信用しません。リポジトリをスキャンし、ASTツリーを抽出し、コールチェーンを検証します。コード内で確認が見つからない場合、その発見事項は破棄されます。
次のステップでは、反証フィルターがアクティブになります。システムは、既存の保護策と作成者の意図した動作を確認することで、バグに関する自らの仮説を反駁しようとします。
最後に、複合リスクシンセサイザーが接続されます。異なるファイル内の孤立した軽微な問題は、多くの場合、重大な脆弱性に組み合わさります。このツールは таких findingовを1つのレポートにリンクします。
ベンチマーク結果とコスト効率
Martian Code-Review-Benchベンチマークでは、PR-AFシステムとオープンソースのGLM-5.2モデルの組み合わせにより、バグ検出リコール(ゴールデンリコール)が0.706という結果を示しました。42個のツールを含むテストセットの中で、この結果はオープンソースソリューション間で1位となりました。
テスト中、システムが独立して595の確認済みエラーを発見しました。最上位の商用モデルを使用すると、結果はさらに高くなります。
同時に、1回の実行コストは、クローズドのSaaS代替案の約10分の1です。ユーザーごとの月額サブスクリプションなしで、自分のAPIキーを通じてLLMトークンのみを支払います。
クイックスタートとAPI経由での動作
Docker Composeを使用すれば、数分でPR-AFをローカルで起動できます。
ファイルには、リポジトリへの読み取りと書き込みの権限を持つAPIキーとシークレットを指定するだけです。起動後、コントロールノードがポート8080でアクセス可能になります。
標準的なHTTPリクエストでレビュー用のプルリクエストを送信できます。
レスポンスとして、深刻度レベル別に分類された脆弱性分析を含む最終的なJSONが返ってきます。ボットがGitHubへのアクセス権を持っている場合、関連するコードの行に自動的に証拠とともにコメントを配置します。
GitHub Actionsとの統合
組み込みの監査を統合する最も簡単な方法は、標準的なCI/CDに組み込むことです。リポジトリにファイルが追加され、プルリクエストにラベルを付けることで実行がトリガーされます。
開発者が責任あるPRにラベルを付けると、30分後に検証済みの事実を含む詳細なレポートがスレッドに表示されます。
内部構造
プロジェクトの中央ノードは最近Goで書き直され(コードはディレクトリにあります)、速度とメモリ消費の両面で改善されました。元のPython実装はリポジトリ内で代替手段として引き続き利用可能です。
プロジェクトは寛容なApache 2.0ライセンスの下で配布されています。ベンチマーク結果を再現するためのスクリプトを含め、コードは完全にオープンソースです。
まとめ
PR-AFは自動レビューのための実用的なアプローチを提供します。浅いコメントでコンパイルを埋め尽くすのではなく、システムが詳細なAST分析と仮説検証に時間を費やします。
このツールは、通常のAIボットの誤検知にうんざりしており、CI/CDで信頼できるセキュリティフィルターを必要とするチームに最適です。クイックなタイポ修正には適していませんが、本番環境に重要な機能をマージする前に非常に優れています。
関連プロジェクト