こんにちは、takuです。
突然ですが、AIにコードを書かせているとき、こんな「虚無の時間」を過ごしていませんか?
- AIがコードを生成している間、画面をじっと見つめて待っている
- 出来上がったコードが微妙に間違っていて、チャットで何度も修正指示を送る
- 「これなら自分で書いたほうが早かったかも……」と後悔する
自分も以前はそうでした。
AIは確かに速い。でも、その速さを活かすために、人間側が「AIのお守り」に時間を取られてしまっては本末転倒です。
「もっとAIに仕事を丸投げして、自分は別のことをしたい」
「でも、丸投げすると品質が下がるのが怖い」
そんなジレンマを解決するためにたどり着いたのが、「簡易仕様駆動開発」というスタイルです。
これを始めてから、開発の迷いが8割減り、AIが作業している間にコーヒーを淹れたり、別の設計を考えたりする「本当の余裕」が生まれました。
今回は、AIを単なる「コーダー」から「信頼できる実装パートナー」に変えるための、具体的なワークフローを紹介します。
なぜ、AIに「いきなりコード」を書かせてはいけないのか
多くの人がやりがちなのが、チャット欄に「〇〇機能を作って」といきなり打ち込むことです。
でも、これこそが「AIのお守り地獄」の入り口です。
1. 「文脈」が共有されていない
AIはあなたの頭の中を覗けません。プロジェクトの全体像や、既存のクラス設計、命名規則を知らないままコードを書き始めます。
結果、「動くけど、プロジェクトのルールを無視したコード」が生成され、手直しに時間がかかります。
2. 「設計」の合意がない
人間同士の開発でも、仕様を決めずに実装に入れば手戻りが発生します。AI相手ならなおさらです。
「やっぱりこうして」と後出しで修正指示を出すのは、AIにとっても人間にとっても非効率です。
解決策:「使い捨ての仕様書」を1枚挟むだけ
解決策はシンプルです。
コードを書かせる前に、「Markdown 1枚の仕様書兼タスクリスト」をAIに作らせるのです。
これを私は「簡易仕様駆動開発」と呼んでいます。
本来の「仕様駆動開発(SpecDD)」ほど堅苦しいものではありません。AIと認識を合わせるための、使い捨てのメモだと思ってください。
手順はたったの3ステップです。
Step 1. AIに「設計」をさせる
まず、実装したい機能のラフな要件と、参考資料(公式ドキュメントや既存コード)をAIに渡します。
そして、こう指示します。
「この要件を実現するための設計方針と、具体的な実装タスクリストをMarkdownで作成してください」
まだコードは書かせません。まずは「日本語」で設計させます。
Step 2. 人間が「レビュー」する(ここが最重要!)
数秒で生成されたMarkdownを読みます。
ここが、あなたが「エンジニア」としての価値を発揮する瞬間です。
- 「あ、このライブラリは使わないで」
- 「このクラス構成だと、既存機能と競合するな」
- 「エラーハンドリングの考慮が漏れている」
コードになる前の「日本語」の状態なら、修正は一瞬です。
この段階でAIと認識をすり合わせることで、後の「手戻り」を未然に防ぎます。
Step 3. 修正したMarkdownを渡して「放置」する
仕様が固まったら、そのMarkdownファイルをAI(Agentモードなど)に渡して、「このタスクリストに従って実装して」と指示します。
あとは、画面を見つめる必要はありません。
AIは「承認済みの設計図」を持っているので、迷うことなく、正確なコードを書き続けます。
このフローがもたらす「圧倒的な安心感」
このやり方に変えてから、開発体験が劇的に変わりました。
1. 「待ち時間」が「自由時間」になる
以前は「早くコードが見たい」と焦っていましたが、今は「設計さえ合っていれば、あとはAIがやってくれる」という確信があります。
生成に時間がかかっても、その間は完全にフリーハンド。別のタスクを片付けたり、休憩したりできるようになりました。
2. 「空気を読んだコード」が上がってくる
事前に「既存コードを読んで設計して」というステップを挟むことで、AIはプロジェクトの文脈を深く理解します。
その結果、生成されるコードは、既存のクラス設計や命名規則に沿った、「まるで熟練のチームメンバーが書いたようなコード」になります。
3. 複雑なタスクも怖くない
特に効果を感じたのが、「サードパーティ製ライブラリの導入」や「他プロジェクトからの機能移植」です。
ネット上のドキュメントや参考コードを読ませて設計させることで、設定周りのミスが激減し、驚くほどスムーズに実装が完了します。
まとめ:AIへの指示を「対話」から「委任」へ
「簡易仕様駆動」の本質は、AIとの関わり方を「チャットでの対話」から「タスクの委任」へシフトさせることにあります。
最初に少し時間をかけて「設計とタスク」を合意する。
たったそれだけで、AIは「指示待ちの新人」から「頼れる実装パートナー」に進化します。
「AIとのチャットに疲れた」「もっと自分の時間を大切にしたい」
そんな方は、ぜひ一度、Markdown 1枚から始める「簡易仕様駆動開発」を試してみてください。
きっと、「あ、開発ってこんなに楽でいいんだ」と思える瞬間が来るはずです。