検証ループ(verification loop)とは、AI コーディングエージェントの作業を人間が結果をレビューする前に検証する仕組みに組み込まれた一連の必須チェックであり、低品質な出力を後になってから発見するのではなく、早い段階で捕まえることを目的とする。この用語はコーディングエージェントの管理に関する Addy Osmani の投稿でこの意味で使われており、以下の実践的なチェックリストもそこから取られている。
用法
Addy Osmani は、実践における検証ループを次のような要求として説明している。エージェントにテストスイート(またはそのスコープを絞ったサブセット)を実行させ、その出力を最終メッセージに含めさせること、変更に関わる箇所でリントと型チェックを通過させること、振る舞いの変更に対してテストを追加または修正させること、そして最後に構造化された「PR パケット」を要求すること — 変更の要約、そのアプローチを採った理由、変更したファイル、テスト計画とその結果、そしてリスクやフォローアップ事項である。彼はまた、Anthropic が Claude Code について公開しているガイダンスに結び付けて、作業を関心の分離を伴う 2 人体制のワークフローとして扱う 2 エージェントのパターンも説明している。エージェント A が実装し、エージェント B が正しさ、スタイル、エッジケース、テストの漏れについてレビューし、その後エージェント A — あるいは新しいエージェント C — がレビューのフィードバックを反映して検証をやり直す、というものである。
適用される場面
検証ループは、大量の出力を素早く生成できるエージェントに作業を委ねる場面であればどこでも重要になる。エージェントは低品質な作業を高速に生成しうるとされ、人間による低品質な作業のレビューが遅すぎると時間を無駄にするのと同じことが起こるからである。この実践は、スコープを絞って実行できるテストスイート、リンター、型チェッカーと、エージェントが最終メッセージで結果を報告する手段があることを前提とする。Osmani はまた、OpenAI の Codex が同じ精神でツールの利用について明確な姿勢をとっていることにも触れている。すなわち、プルリクエストを提案する前にコマンドやテストを実行し、パスする状態になるまで反復する、というものである。
ハーネスエンジニアリングに関する LangChain の投稿 ハーネスエンジニアリングによる Deep Agents の改善 は、同じ考え方をハーネスの側から、エージェントが 1 回の実行の中でフィードバックを通じて改善していくビルド・検証ループとして説明している。その観察によれば、モデルは自分からそのようなループに入ることはない。トレースの中で最も多かった失敗は、エージェントが解決策を書き、自分のコードを読み直し、問題ないと判断して止まってしまうというものだった。チームは、4 段階のサイクル — 計画(解決策をどのように検証するかを含む)、構築(正常系とエッジケースのテストを書く)、検証(テストを実行し、その結果をエージェント自身のコードとではなく求められた内容と比較する)、修正 — についてのシステムプロンプトのガイダンスと、エージェントが終了する前に割り込んでタスクの仕様に照らして検証するよう促すミドルウェアを追加した。投稿は、モデルは最初に思いついたもっともらしい解決策に偏りがちであるため、これは人間がループに入らない自律的なシステムにおいて最も重要になると論じている。