AIがテストコードも実装も書く時代に、TDDは意味を失うのか?
最近、テスト駆動開発(TDD)について学習ノートをまとめ、VitePressで公開しました。
業務でも必要になることが多く、体系的に学ぼうと考えたのがきっかけです。
AIと対話しながら構成を考え、試行錯誤しながらまとめました。
それでも、ふと湧いた違和感
そんな中でふと、こんな疑問が頭をよぎりました。
「AIがコードを書く時代に、人がTDDを学ぶ意味はあるのか?」
確かに、TDDにおける「Red→Green→Refactor」のプロセスは本質的です。
むしろ、AIにTDDの考え方を持たせてコードを書かせた方が、整合性も保てるのでは?と思うほど。
それでも人間が苦労してこの手法を訓練し、身につける必要があるのだろうか?
そんな揺らぎが、自分の中で広がっていきました。
ドリル形式のTDD学習サービスを考えていた
実はこの問いが生まれた背景には、「ドリル形式のTDD学習サービス」の構想がありました。
たとえば:
- サービスが要件・仕様を提示する
- ユーザーがテストコードを書く
- テストが妥当なら、実装フェーズへ
- テストに合格すれば、リファクタリングや次の課題へ
…という段階的な学習体験です。
しかし、考えた直後に思ったのです。
「いや、これもAIが全部できるようになるのでは?」
AI時代のTDDの再定義
ChatGPTとの対話の中で、ひとつの答えが見えてきました。
TDDは、「AIに仕様を正しく伝えるための思考フレーム」になる
- コードを書くのはAI
- 仕様と制約を整理するのは人間
- そしてTDDはその「対話の型」として残る
今後のTDDは、コードを書く訓練ではなく、
意図を構造化し、AIに渡すための「設計スキルの型」として進化するのかもしれません。
既存のTDD開発者が持つ力の再評価
私たちがTDDで学んできた力
- テストから仕様を読み解く力
- 最小限で動かす力
- リファクタリングで構造を磨く力
これらはそのまま、AI時代における仕様設計者・対話ファシリテーターとしての力へと変換されていきます。
「AIに正しいコードを書かせる力」=人間の設計力
書きながら、揺れた。そして、考えた。
AIの存在は、自分の仕事、価値観、思考法すらも揺さぶります。
時には、気が狂いそうになるほどの変化の渦に呑まれることもあります。
それでも、エンジニアとして、前向きに実直に向き合うしかない。
この文章は、そうした**揺らぎの中で考えた「途中経過」**です。
正解ではないかもしれない。
けれど、記しておくことには意味があると信じています。
最後に
これは、正解のない問いです。
しかし今、私たちがこれを言語化しておくことこそが、
これからAIと向き合うための土台になるのだと、私は思っています。
📎 参考:VitePress版TDDノート
Discussion