現状のAI駆動開発(AIDD)とは、以前のプルリクエストにおけるCIやコードレビューを経てのマージと同様のサイクルを、高速で繰り返す開発スタイルだと認識している。

そのため、AIDDにおいては自動テストの重要性が高まっていると考えている。 AIによるコード生成では、自動テストがない場合、品質保証が目視による静的チェックのみに依存することになるが、自動テストを導入すれば動的チェックを同時に組み込むことができる。 経験上、目視での静的チェックと言葉での指示には限界があり、やり直しを繰り返してるとすぐに脳が疲弊してしまい、気づけばコード生成ガチャを回し続けるハメになる。

AIを利用する上で重要なのは、要望を伝える指示ももちろんだけど、制約条件を適切に絞ることだと感じている。つまり、何をして欲しいかだけでなく、何をしないで欲しいかを明確に伝える必要がある。自動テストは要するに動作する制約条件であり、自然言語以上に厳密で、じゃじゃ馬なAIのハーネスとして使える。

AIDDとTDDの相性も良いと考えている。