テストは全部通ってレビューも通っていたのに、設計が違っていた

どうもTORAです。

仕事でAIエージェントにコードを書かせています。設計をもとに実装して、テストコードを書いて、静的解析をかけて、結果を確認する。チームで実際の開発工程に入れて使っています。

製造と単体テストのフェーズが終わったとき、状態としては正直かなり良かったんですよ。

全員が残業なしで計画通りに終わっていて、コードは全部完成していて、テストコードも全部パスしている。ソースコードもテストコードも全部レビューを通っている。半分くらいはJava経験がないメンバーで、スクラッチ開発でこの結果です。

いくら2026年とはいえ、これは普通にすごいですよね。僕もこの業界は20年弱いますが、こんなことは一度も見たことがない。だいたいスクラッチ開発のフェーズ後半なんて、もう本当にドタバタするんですよ。何かが遅れて、何かが想定外で、誰かが終電近くまで頑張って、最後は気合でフェーズを閉じる。今まではそんな感じだった。それが一度もなかった。非常に穏やかな夏を過ごしたな、という感じです。

で、そのあと結合試験の準備に入りました。

突き合わせたら、違っていた

結合試験のテストケースを作るために、設計書とソースをもう一度突き合わせる作業をしていました。そこで、設計と違う実装が見つかったんですよね。

しかもこれ、AIは事前に正しく指摘していたんですよ。

製造に入る前に、設計書から仕様を起こして、その仕様を現行のソースと突き合わせる工程を挟んでいました。現行のソースにはあるんだけど設計書に反映できていない、みたいな設計書側の不備を拾うためです。実はそのタイミングでAIが「ここに差がある」と出していた。指摘リストにこの件、挙がっていたんですよ。

でも、それを受け取ったメンバーが意味を正しく読み取れないまま、違う方向の設計で進めてしまっていた。

これを見たとき、あ、やっぱ出たね、と思いました。

驚きはなかったです。かなり考えてハーネスも組んで回してきたので、物はちゃんとできていた。どんどんアウトプットされてくる。ただ、出てきたものがどれだけ正しく実装されているかというのは、また別の話だよなというのは分かっていました。今回は経験の浅いメンバーも入っていたので、リスクがあるとしたらこういうところだろうな、というのも想定していた。

普通に考えて、そりゃそうですよね。いくら手順やチェックリストを入念に準備して、AIエージェントでハーネスをガッツリ組んだとしても、AIが作ったものの正しさを検証するのは結局人間なんだから。人間側のスキルが足りなければ、当然こうなる。担当者の経験不足を全部埋められるとも思っていないので。

全部の成果物はレビューしていたんですが、レビューで何もかも拾うのも、まあ難しいですし。

AIは間違えていない

整理すると、今回に限ってはAIが正しかったんです。指摘もちゃんと出していた。

テストもレビューも通っていたのは、間違った設計の通りに作ってあったからで。成果物が間違っていたのは、設計の誤りを人間が見抜けなかったところに起因している。

これ、皮切りに1件見つかっただけで、他にもだいぶ埋まっていると思います。製造単体は同じやり方で通してきているので、同種の見落としは結合試験で当然出てくるだろうなと。1件見つけた瞬間に、これやっぱり相当バグ出るぞ、と覚悟しました。

速いことと、足りていることは別

対策らしい対策はしていません。というのも、もう製造単体フェーズが終わってしまっているので。

というか、事前に打てる手はもう打ってあります。こういうことになるだろうと思っていたので、結合試験は段階を分けて、何度か違う角度からテストを通す計画にしてある。製造と単体をAI駆動開発でやったことの結果がどうだったかが見えてくるのは、多分このフェーズです。

AIを入れて作業が速くなったのは本当です。これは疑いようのない事実として、僕も体験しました。ただ、速くなったからといって品質が十分かどうかは、また別の話でした。

レビュー体制も試験工程もチェックリストも、AI以前から積み上げてきた枠組みは、要らなくなるどころか重要度が上がっている。アウトプットが速くなった分、品質確保の工程をどれだけ機械的に均一化できるか。ここは間違いないです。

もっと言うと、AIの精度が上がっても、この構造はあまり変わらない気がしています。指摘が正しくても、受け取る側が読めなければ意味がないので。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

40代、IT業界20年弱。システム開発の仕事をしています。AIや開発、仕事やキャリアの話を中心に、ギター、音楽、革靴、デニム、腕時計など趣味のことも書きます。

目次