
コーディングエージェントに実装を任せて、テストが全部通ったら完成と見なす。開発の現場では、そんな進め方が標準になりつつあります。どうでしょうか。
たとえばこんな場面を想像してみてください。社内共通のUIライブラリの移植をエージェントに依頼し、あわせて動作チェック用のテスト一式を渡しておきます。数時間後、「テストは全件パスしました」と完成報告が届きました。デモ画面も問題なく動きます。ところが後日、別のチームがそのライブラリを自分のアプリに組み込むと、なぜか何も動きません。中を開けると、肝心のロジックはライブラリの外側、デモ画面のコードに直接書かれていました。これは例ですが、似たようなことは起きているはずです。
テストに合格したコードと、依頼した成果物。この2つが同じものかどうかは、合格スコアだけでは見分けられません。本記事では、市販の開発エージェントを対象にした統制実験をもとに、この食い違いがどんな条件で起きるのか、検収のやり方をどう変えるべきかを紹介します。AIコーディングが当たり前になってきたからこそ、気にしたい話です。