🤔

AIがテストコードも実装も書く時代に、TDDは意味を失うのか?

に公開

最近、テスト駆動開発(TDD)について学習ノートをまとめ、VitePressで公開しました。

https://shuji-bonji.github.io/Notes-on-Test-Driven-Development/

業務でも必要になることが多く、体系的に学ぼうと考えたのがきっかけです。
AIと対話しながら構成を考え、試行錯誤しながらまとめました。

それでも、ふと湧いた違和感

そんな中でふと、こんな疑問が頭をよぎりました。

「AIがコードを書く時代に、人がTDDを学ぶ意味はあるのか?」

確かに、TDDにおける「Red→Green→Refactor」のプロセスは本質的です。
むしろ、AIにTDDの考え方を持たせてコードを書かせた方が、整合性も保てるのでは?と思うほど。

それでも人間が苦労してこの手法を訓練し、身につける必要があるのだろうか?
そんな揺らぎが、自分の中で広がっていきました。

ドリル形式のTDD学習サービスを考えていた

実はこの問いが生まれた背景には、「ドリル形式のTDD学習サービス」の構想がありました。

たとえば:

  1. サービスが要件・仕様を提示する
  2. ユーザーがテストコードを書く
  3. テストが妥当なら、実装フェーズへ
  4. テストに合格すれば、リファクタリングや次の課題へ

…という段階的な学習体験です。

しかし、考えた直後に思ったのです。
「いや、これもAIが全部できるようになるのでは?」

AI時代のTDDの再定義

ChatGPTとの対話の中で、ひとつの答えが見えてきました。

TDDは、「AIに仕様を正しく伝えるための思考フレーム」になる

  • コードを書くのはAI
  • 仕様と制約を整理するのは人間
  • そしてTDDはその「対話の型」として残る

今後のTDDは、コードを書く訓練ではなく、
意図を構造化し、AIに渡すための「設計スキルの型」として進化するのかもしれません。

既存のTDD開発者が持つ力の再評価

私たちがTDDで学んできた力

  • テストから仕様を読み解く力
  • 最小限で動かす力
  • リファクタリングで構造を磨く力

これらはそのまま、AI時代における仕様設計者・対話ファシリテーターとしての力へと変換されていきます。

「AIに正しいコードを書かせる力」=人間の設計力

書きながら、揺れた。そして、考えた。

AIの存在は、自分の仕事、価値観、思考法すらも揺さぶります。
時には、気が狂いそうになるほどの変化の渦に呑まれることもあります。

それでも、エンジニアとして、前向きに実直に向き合うしかない。

この文章は、そうした**揺らぎの中で考えた「途中経過」**です。
正解ではないかもしれない。
けれど、記しておくことには意味があると信じています。

最後に

これは、正解のない問いです。
しかし今、私たちがこれを言語化しておくことこそが、
これからAIと向き合うための土台になるのだと、私は思っています。

📎 参考:VitePress版TDDノート

https://shuji-bonji.github.io/Notes-on-Test-Driven-Development/

Discussion