Agentic Codingのアウトプットに対するレビューと評価
Agentic Codingの進歩によりアウトプットの速度が格段に向上しました。
ここで言うアウトプットはプロダクトコードだけでなく、要件定義、設計、画面デザイン、IaCなど幅広く指します。
高速かつ広いアウトプットに対して追いつくには出力の評価を含めたレビューの速度も合わせて上げていく必要があります。
一方レビュー辛すぎる(主に量が多すぎる)問題は各所で取り上げられている話題になります。
私のスタンスとしては、 バイブコーディングを超えて で繰り返し記載されている通り人間によるレビューは必須と考えますが、その評価の省力化は行えると考えています。
(個人的な感想です)
評価方式
世の中の評価は加点方式と減点方式に分かれます。
芸術分野でもない限り、大半の製品やサービスは(残念ながら)減点方式で評価されます。
製品において、「いい意味で期待を裏切られた」「その発想はなかったわ」と言われることはほぼない
(事前に製品スペックを考慮して選んでいるのでスペックと異なっていても困る)
逆に言えば減点ポイントをクリアしていれば、少なくとも文句は言われないと思います。
よってこの減点ポイントを明確にし定量評価できれば、最終決定は人間がするにしてもレビューやそもそものレビュー指摘事項は減らせそうです。
評価基準≒減点ポイントを明確化しよう
機能要件・非機能要件は内製にしろ外注にしろVibe Codingにしろビジネス上で合意しておく必要があるので、これは存在する前提として、概ね以下のような内容が評価基準となり得ます。
これらは既に広く使われているツール、もしくは評価基準から作成したテストパターンに沿ってテストすることが可能です。テスト項目はもちろん人間がレビューする前提です。
| # | カテゴリ | 説明 | 既存ツールもしくはAgentic AIによる自動化アプローチ |
|---|---|---|---|
| 1 | 機能要件 | 仕様通りに動作するか。正常系・異常系・境界値など | 合意済み要件からテストケースを自動生成・実行・判定 |
| 2 | IF整合性 | API仕様・外部連携の入出力が定義と一致しているか | OpenAPI等のスキーマからリクエスト/レスポンス検証を自動生成 |
| 3 | セキュリティ | 認証認可・脆弱性・機密情報漏洩・依存ライブラリのリスクがないか | 既知の脆弱性パターン・CVEに基づきテストを自動生成・スキャン |
| 4 | データ整合性 | トランザクション・冪等性が保たれ、欠落・重複・不整合が起きないか | トランザクション・冪等性の検証テストを自動生成・実行 |
| 5 | パフォーマンス/コスト | レスポンスタイム・リソース使用率・インフラ費用がSLO範囲内か | SLO定義を元に負荷シナリオを自動生成・計測・合否判定。加えて本番監視(Sentry等)やクラウドのコストアラートによる継続的な検知 |
| 6 | 信頼性/互換性 | 障害時も正しく動作し、既存機能・クライアントを壊していないか | 障害シナリオ・リグレッションテストを自動生成・実行 |
| 7 | 運用/コード品質 | CI/CD・Lint・カバレッジ・ログ出力が基準を満たしているか | CI/CD・Lint・カバレッジを自動チェック(既存ツールで完結) |
「書かれているコードが評価基準を満たすか」を人間が判断するにはかなりの労力が必要ですが、「評価基準に対してテスト内容が合っているか」を確認するのは前者と比較すると労力が少なく済みます。
よって、「人間は、評価基準を具体化した上でそれぞれのテストをツールに実行させ、それらの結果を統合的に判断することに徹する」がAgentic Codingの速度に追いつく方法かなと思います。
現状各種ツールの実行環境であったり出力フォーマットがバラバラだったりしますが、ここもAgentic Codingによって解決できるポイントかと思います。
結論
これらにより人間のレビューが楽になるというメリットもありますが、評価基準の明確化とそれを判断する具体的な方法があることによってAgentが自律的にそれらを判断できることから、AIのアウトプットの品質自体が上がりレビュー指摘事項が減るというメリットもあります。
全部テストケースに突っ込んでTDDして人間の負荷を減らそう。