Re Reference AI

技術

仕様駆動開発とは

Spec-Driven Development / SDD / スペック駆動開発

実装前に要件・設計・タスクを仕様書として明文化し、それをコーディングエージェントへの入力としてコードを生成する開発手法

コーディングエージェント自動化

ひとことで言うと

AIにいきなりコードを書かせるのではなく、先に「何を作るか」の仕様書をAIと一緒に作り、その仕様書をもとにAIにコードを書かせる開発のやり方。

概要

仕様駆動開発とは、実装前に要件・設計・実装タスクを仕様書として明文化し、その仕様をコーディングエージェントへの主要な入力としてコードを生成させる開発手法を指す。 思いつきのプロンプトを重ねるバイブコーディングでは、暗黙的な意図のまま実装が進み、規模の拡大とともに品質や一貫性を保てなくなる。仕様駆動開発は、要件定義・技術設計・タスク分解といった工程を仕様ファイルとして残し、人間が仕様をレビューしてからエージェントに実装させることで、この問題に対処する。 仕様が唯一の正となり、コードは仕様から導かれる成果物と位置づけられるため、仕様を更新して再生成する反復や、実装意図のレビュー・共有がしやすくなる。 AWSのKiroやGitHubのSpec Kitなど、この手法を支援するツールが相次いで公開され、コーディングエージェント時代の開発プロセスとして注目されている。

背景

コーディングエージェントの普及で実装の自動化が進んだ一方、プロンプトの積み重ねだけで開発すると、意図が記録されず、生成結果の検証基準も曖昧になる課題が明らかになった。 実装前に意図を仕様として固定し、人間のレビューポイントを仕様に置くことで、エージェントによる開発を統制する手法が求められた。

歴史

要求仕様を起点とする開発手法自体は古くからある。コーディングエージェントの文脈では、2025年7月に発表されたAWSのAI IDE「Kiro」や同年9月にGitHubが公開したツールキット「Spec Kit」を通じて、仕様駆動開発という呼称が広まった。

利点

  • 実装意図が仕様書として残るため、人間によるレビューとエージェントによる実装の分業がしやすい
  • 仕様を更新して再生成する反復開発ができ、大きめの機能でも一貫性を保ちやすい

欠点

  • 仕様の作成・レビューに時間がかかり、小さな変更や試作には過剰な場合がある
  • 仕様の品質が低いと、そのままコードの品質低下に直結する

比較

  • バイブコーディング仕様駆動開発が実装前に仕様を明文化してからエージェントに実装させるのに対し、バイブコーディングは仕様を書かず対話の流れで開発を進める、対照的なアプローチ

関連用語

バイブコーディングコーディングエージェントAI IDEコンテキストエンジニアリング

よくある質問

バイブコーディングと併用できるのか?

対立する概念として語られることが多いが、実際には小さな試作段階はバイブコーディング的に進め、ある程度方向性が固まった段階で仕様書に落とし込んでから本実装を仕様駆動開発で進める、といった使い分けも可能とされる。

参考文献

関連Zenn記事