AIにコーディングを任せたらめちゃくちゃ?「設計図(Spec)」から書けば変わります

建築家が複雑な青写真を広げ、ロボットアームと共に作業する様子を柔らかなイラストで表現した画像
AI Summary

単に対話でコーディングを指示する方式から脱却し、明確な設計図を先に作成してタスクを細分化する「スペック駆動開発(SDD)」がAIコーディングの新たな標準として浮上しています。

想像してみてください。夢のマイホームを建てるために、ベテランの建築家と施工業者を雇ったとします。しかし、現場に行ってこう言います。「あの、住みやすくておしゃれな2階建ての家を1軒建ててください。キッチンは広めがいいし、日当たりも良くしてほしいですね。プロなんだから、いい感じにお願いします!」

果たしてどんな結果になるでしょうか? おそらく、リビングのど真ん中に便器がぽつんと置かれていたり、2階に上がる階段が天井で行き止まりになっていたりする、とんでもない家が完成するかもしれません。

これまで私たちが人工知能(AI)コーディングアシスタントを使用する際、まさにこのような方式を貫いてきました。ChatGPTやClaudeのようなAIに対し、「こんな機能があるアプリを作って」とチャット欄に投げかけ、AIが魔法のように完璧なプログラムを瞬時に出してくれることを期待していたのです。専門家たちは、このように明確な計画や仕様書なしに、気分やフィーリングのままに指示を出す方式を、通称「バイブコーディング(Vibe coding)」と呼んでいます [[バイブコーディングからデプロイまで:私のスペック駆動ワークフロー… SunDr](https://www.sundr.dev/blog/spec-driven-development-claude-code), Claude Codeによるスペック駆動開発:正しく構築する]。

しかし最近、ソフトウェア開発者の間では「Claude Code(コーディングに特化したAIエージェントツール)」を扱う全く新しいアプローチが話題になっています。AIにむやみにコードを書かせる代わりに、綿密な「設計図(Spec)」から作成させるスペック駆動開発(Spec-Driven Development、以下SDD)です [Claude Code スペック駆動開発 実装ガイド]。

なぜこれが重要なのか? (Why It Matters)

AIがコーディングをすべて代行してくれるようになれば、作業速度は一気に数十倍速くなると歓喜しました。しかし、現実は違いました。プロジェクトが少し複雑になっただけで、AIとの作業は瞬く間に煩わしい負担(cumbersome)に変わってしまったのです [Claude Code:スペック駆動開発(SDD)]。AIが前後の文脈を忘れてしまったり、一箇所を直すと別の場所を壊してしまったりすることが繰り返されたためです。

実際、ある現役開発者は、AIアシスタントを導入して対話型だけで指示を出した際、生産性がむしろ19%も低下する「生産性の鈍化(slowdown)」を経験したと告白しました [[バイブコーディングからデプロイまで:私のスペック駆動ワークフロー… SunDr](https://www.sundr.dev/blog/spec-driven-development-claude-code)]。めちゃくちゃになったコードを人間が一つずつ見つけ出して収拾し、デバッグ(エラー修正)するのにさらに時間を浪費してしまったのです。
しかし、作業方式を「スペック駆動開発(SDD)」に変えた後、この19%の損失は、奇跡のように実質的な生産性の向上(real lift)へと転じました [[バイブコー딩からデプロイまで:私のスペック駆動ワークフロー… SunDr](https://www.sundr.dev/blog/spec-driven-development-claude-code)]。私たちがAIに求めているのは、おもちゃではなく、実際の顧客が使えるレベル(production-ready)の堅牢なプログラムです。そのためには、プロフェッショナルなソフトウェア開発の慣行(professional software development practices)を維持するSDDが不可欠です [Claude Code スペック駆動開発 実装ガイド]。

分かりやすく解説 (The Explainer)

スペック駆動開発(SDD)は、巨大なタスクを2つの次元(two dimensions)で鋭く切り分けることが核心です [Show HN:Claude Codeのためのスペック駆動開発ワークフロー]。

1. 徹底的な事前調査 (Research) 家を建てる前に土地の状態を検査するように、複数のAIエージェントを投入し、現在のシステムの状態と問題点を立体的に分析します [実践:Claude Codeによるスペック駆動開発 | alexop.dev]。

2. 揺るぎない設計図の作成 (Spec Creation) 最も重要な段階です。調査結果に基づき、要件(requirements)とシステムデザインを盛り込んだ仕様書ドキュメントを作成します [Show HN:Claude Codeのためのスペック駆動開発ワークフロー]。これは、人間とAIの間の揺るぎない書面による契約(written spec contracts)となります [Claude Codeによるスペック駆動開発]。

3. タスクの断片化 (Task Decomposition) どんなに賢いAIでも、複雑なシステムを一度に作ることはできません。全体の作業を、非常に小さな単位のサブタスク(subtasks)に細かく分割します [Show HN:Claude Codeのためのスペック駆動開発ワークフロー]。

4. 段階的な実装と検証 (Implementation & Verification) 分割されたタスクを一つずつ順番に実行しながら、コードを作成します。この際、一度に保存するのではなく、意味のある最小単位で保存する「アトミックコミット(atomic commits)」方式を使用することで、安全性を高めます [Claude Codeによるスペック駆動開発]。

例えるならこうです。 会議室のホワイトボードにあらゆるアイデアを書き込んで議論を終えました。次に、具体的に「窓のデザイン」一つだけに集中しなければならないのに、ボードに「屋根の色」や「配管の位置」といった落書きが残っていたらどうでしょうか? 作業者は混乱してしまいます。

そのため、SDDでは各ステップが終了するたびに、「AIのコンテキスト(記憶の文脈)を完全に消去すること(clear context)」を原則としています [Show HN:Claude Codeのためのスペック駆動開発ワークフロー]。頭の中を白紙に戻し、たった今完成した「設計図」と「今現在の目標」だけを再び与えるのです。こうすることで、AIがハルシネーション(幻覚:もっともらしい嘘をつく現象)に陥ることなく、目の前の作業にだけ鋭く集中できるようになります。

現在地はどこか? (Where We Stand)

この方式の効果が実証されるにつれ、世界中の開発者がこのプロセスを自動化してくれるツールをリリースしています。

今後はどうなるのか? (What’s Next)

未来の開発者は、コンピュータの前で夜を徹する代わりに、自分のアイデアを音声で口述するようになるでしょう。すると、AIがその音声を分析して完璧な「設計図(Spec)」を書き、自律的にコードを作成した上でテストまで完了させます。実際、グローバル企業のNotionは、すでにこのような方式のAIワークフローを内部的に構築しています [スペック駆動開発:NotionにおけるAIエンジニアリングワークフロー]。

結局のところ、人工知能は単に命令を書き留めるタイプライターを超え、自ら計画し検証する自己開発型AIシステム(Self-Developing AI System)へと進化しています [Claudeのためのスペック駆動ワークフローを構築する構成駆動型の方法…]。私たちは今、衝動的な「バイブコーディング」から脱却し、大きな絵を描く「総括建築家」として、AI「建築ロボット」軍団を指揮する時代を迎えようとしています。

AI’s Take

人工知能は魔法の杖ではなく、優れた働き手です。働き手が実力を発揮するためには、私たちがまず「何を望んでいるのか」という明確な青写真を提示しなければならないという当然の真理を、改めて実感させられます。

参考資料

  1. [実践:Claude Codeによるスペック駆動開発 alexop.dev](https://alexop.dev/posts/spec-driven-development-claude-code-in-action/)
  2. GitHub - Pimzino/claude-code-spec-workflow:自動化されたワークフロー…
  3. Claudeのためのスペック駆動ワークフローを構築する構成駆動型の方法…
  4. [バイブコーディングからデプロイまで:私のスペック駆動ワークフロー… SunDr](https://www.sundr.dev/blog/spec-driven-development-claude-code)
  5. Claude Codeによるスペック駆動開発
  6. Claude Code:スペック駆動開発(SDD)
  7. Claude Code スペック駆動開発 実装ガイド
  8. Claude Codeによるスペック駆動開発:正しく構築する
  9. [Claude Codeによるスペック駆動開発 Build This Now](https://www.buildthisnow.com/blog/guide/mechanics/spec-driven-development)
  10. Claude Codeによるスペック駆動開発:ガイド付きチュートリアル
  11. Show HN:Claude Codeのためのスペック駆動開発ワークフロー
  12. [Claude Code スペックワークフローガイド (2026) ClaudHQ](https://claudhq.com/claude-code-spec-workflow-guide/)
  13. スペック駆動開発ワークフロー - AIから実用レベル의 코드を取得する方法…
  14. ClaudeEngineerが凄すぎる… Claude Codeのワークフローをアップグレードする
  15. Show HN:Claude Codeのためのスペック駆動開発プラグイン
  16. スペック駆動開発:NotionにおけるAIエンジニアリングワークフロー
この記事の理解度チェック
Q1. 記事で説明されている「スペック駆動開発(SDD)」の核心的な原則の一つで、AIが混乱するのを防ぐために段階ごとに行う作業は何ですか?
  • AIのコンテキスト(記憶)の消去
  • より高性能なコンピュータの購入
  • コード作成速度を2倍にする
SDDワークフローでは、ステップの間にAIの以前の会話の文脈(コンテキスト)を消去することで、AIが特定のサブタスクにのみ完全に集中できるようにします。
Q2. AIに計画もなくむやみにコードを書いてほしいと依頼する従来の方式を指す用語は何ですか?
  • バイブコーディング(Vibe coding)
  • スペック駆動開発(SDD)
  • ペアプログラミング(Pair programming)
明確な仕様書なしに、気分やフィーリングで対話的な指示を出す方式を『バイブコーディング(Vibe coding)』と呼びます。
Q3. 開発者のPimzino氏が、スペック駆動開発において絶対に妥協できない(non-negotiable)必須のプロセスとして強調したものは何ですか?
  • 計画段階と実装段階の分離
  • 無条件にPythonのみを使用する
  • AIのエラーを無視する
Pimzino氏は、設計(計画)段階と実際のコードを作成する実装段階を明確に分けて進めることが、成功するAIコーディングの必須条件であると強調しました。