DX・ITコンサルAIシステム開発
9
更新

AI開発のSDD(仕様駆動開発)とLoop Engineering:仕様から検証までを閉じる

執筆・編集Malake株式会社
まず押さえたいこと

SDD(Spec-Driven Development/仕様駆動開発)は、仕様を実装前の説明資料ではなく、計画、タスク、コード、テストを導く基準として扱う開発方法です。Loop Engineeringは、その仕様で定めた目標に対してAIエージェントが実装、確認、修正を反復し、検証結果または停止条件に到達するまでの仕組みを設計する考え方です。

この記事の要点

SDDは「何を満たせば完成か」を定め、Loop Engineeringは「完成へ近づく反復をどう安全に回すか」を定めます。最初に目的、対象外、受け入れ条件、既存システムの制約、検証方法を記録します。AIには小さな変更単位で実装と検証を任せ、失敗結果を次の修正へ返します。権限変更、データ削除、本番公開などは人の承認点として残します。

この記事でわかること

  • AI開発で、コード生成の速さだけでは足りない理由
  • バイブコーディングとの違い
  • SDD(仕様駆動開発)とは何か
  • AIに渡す最小仕様:5つの項目
  • Loop Engineeringとは何か
  • SDDとLoop Engineeringの関係
  • AI開発を完了まで進める7段階
  • 人の承認を残す場所
  • 小さく始める導入方法

AI開発で、コード生成の速さだけでは足りない理由

AIコーディングは、画面の試作、定型的なAPI、テストのたたき台などを短時間で作れます。一方、コードが生成されたことと、利用者の要望を満たして安全に運用できることは別です。

指示が曖昧な場合、AIは不足した条件を推測して実装します。正常系は動いても、権限、例外処理、既存データとの互換性、監視、復旧手順が抜けることがあります。修正を重ねるほど、最初の目的と現在のコードが離れていく場合もあります。

生成の完了

コードや画面が作られ、代表的な操作が動く状態。

開発の完了

受け入れ条件を満たし、回帰テスト、セキュリティ、運用、公開判断まで確認された状態。

AI開発では、コードを書く作業よりも、正解を定義し、検証結果を受けて次の行動を決める作業の比重が高くなります。SDDとLoop Engineeringは、この部分を曖昧にしないための組み合わせです。

バイブコーディングとの違い

バイブコーディング(vibe coding)は、詳細な仕様を決めずに自然言語の指示と生成結果の確認を繰り返し、雰囲気(vibe)で開発を進めるスタイルを指す呼び方です。2025年に広まった言葉で、試作品や個人用ツールを短時間で形にする用途では有効に機能します。

観点 バイブコーディング SDD+Loop Engineering
正解の定義 作りながら感覚で判断する 受け入れ条件として着手前に記録する
検証 目視・手動の動作確認が中心 テスト・静的解析など機械的な確認を反復へ組み込む
失敗したとき どの変更で壊れたか特定しにくい 変更単位が小さく、戻す範囲が明確
向く場面 試作、デモ、使い捨てのツール 業務システム、継続して運用するコード

両者は対立する手法ではなく、対象の危険度で使い分けます。壊れても困らない試作はバイブコーディングで速度を優先し、本番運用するコードや他者のデータを扱う変更はSDDとLoop Engineeringの手順に載せます。判断基準は「そのコードが壊れたとき、誰かが困るか」です。

SDD(仕様駆動開発)とは何か

SDDはSpec-Driven DevelopmentまたはSpecification-Driven Developmentの略称で、日本語では仕様駆動開発と呼ばれます。

SDDでは、仕様を一度作って保管するのではなく、実装を生み、完成を判定するための基準として管理します。GitHub Spec Kitは、Spec → Plan → Tasks → Implementという流れを提示しています。仕様には製品の目的と利用者の振る舞いを記載し、技術方式は計画へ、作業単位はタスクへ分けます。

すべての開発で詳細な仕様書を作る必要はありません。小さな修正なら数行の受け入れ条件でも十分です。変更の危険度と影響範囲に合わせて、仕様の粒度を選びます。

変更例 必要な仕様 主な確認
文言・小さな表示修正 変更箇所、期待表示、対象画面 ビルド、表示、回帰範囲
業務機能の追加 利用者、状態遷移、権限、例外 単体・結合・E2Eテスト
認証・決済・データ移行 非機能要件、監査、復旧、承認 専門レビュー、段階公開、ロールバック

AIに渡す最小仕様:5つの項目

AIエージェントへ実装を依頼する前に、少なくとも次の5項目を揃えます。文章量よりも、完了判定に使える具体性を優先します。

押さえておきたい点

仕様の各条件に、確認方法を対応させます。「読みやすい画面にする」では判定できません。「幅375pxで横スクロールがなく、主要ボタンが画面内に収まる」のように、観測できる条件へ置き換えます。

自社の状況を確認する

  • 目的:誰のどの問題を、どの状態まで改善するのか
  • 受け入れ条件:入力、操作、出力、例外をどの結果なら合格とするのか
  • 対象外:今回変更しない機能、将来対応へ残す事項
  • 既存の境界:API、データ、権限、画面、外部サービス、変更禁止領域
  • 検証方法:実行するテスト、確認画面、性能値、レビュー担当

Loop Engineeringとは何か

Loop Engineeringは、AIエージェントへ一度指示して結果を待つのではなく、目標、現在の状態、利用できる道具、検証、修正、停止を一つの反復として設計する考え方です。2026年時点では用語や範囲が完全に標準化されているわけではありませんが、OpenAIはエージェント中心の開発について、意図を明確にし、テスト、検証、レビュー、フィードバック、復旧を開発環境へ組み込む方法を紹介しています。

Goal → Discover → Plan → Implement → Validate → Review

合格なら完了または人の承認へ進み、不合格なら検証結果を次の反復へ返します。修正回数、時間、費用、権限の上限に達した場合は停止し、人へ引き継ぎます。

ループを長く回すこと自体が目的ではありません。現在の状態を観測し、次の変更を小さく選び、同じ条件で再検証できることが重要です。テストを削除する、判定基準を緩める、対象外の箇所まで変更するといった近道は、あらかじめ禁止事項として定めます。

SDDとLoop Engineeringの関係

SDDとLoop Engineeringは競合する方法ではありません。SDDだけでは、仕様を作っても検証結果を受けた修正が人の都度指示に依存します。Loop Engineeringだけでは、反復の判定基準が弱く、動いてはいるが目的と違う状態へ進む可能性があります。

設計対象 SDD Loop Engineering
中心となる問い 何を作り、何を満たせば完成か どう観測し、修正し、いつ止めるか
主な成果物 仕様、計画、タスク、受け入れ条件 状態、実行記録、検証結果、停止・引き継ぎ条件
人の役割 目的、制約、優先順位を決める 権限、予算、承認、例外を管理する

仕様が目標地点を示し、ループが現在地との差を減らします。どちらもコードより上位にある「開発の制御」に関する設計です。

AI開発を完了まで進める7段階

一つの機能を完成させる場合、次の順序で進めます。日程ではなく、各段階の出口条件で管理します。

1. Goal:目的と完了条件を決める

利用者、解決する問題、受け入れ条件、対象外を記録します。
判断が必要な点を残したまま実装へ進めません。

2. Discover:既存の状態を確認する

関連コード、テスト、データ、画面、運用手順を確認します。
変更してよい範囲と、維持する振る舞いを明らかにします。

3. Plan:最小の変更単位へ分ける

仕様を実装可能なタスクへ分け、各タスクの検証方法を対応させます。
データ移行や公開など、元に戻しにくい操作を分離します。

4. Implement:小さく実装する

AIエージェントが既存設計と変更範囲を守って実装します。
仕様不足が見つかった場合は、推測で埋めず仕様へ戻します。

5. Validate:機械的に確認する

型、静的解析、単体・結合・E2Eテスト、ビルドなどを実行します。
失敗内容を記録し、原因に対応する次の修正へ返します。

6. Review:別の視点で確認する

実装担当とは分けて、仕様との一致、回帰、セキュリティ、保守性を確認します。
テストを弱めて合格させていないか、差分が広がっていないかも確認します。

7. Release or Stop:公開、継続、停止を決める

証拠が揃えば人の承認を経て公開します。
上限回数、予算、権限、不明点に達した場合は停止し、結果と残課題を引き継ぎます。
← 横にスクロールできます →

人の承認を残す場所

反復を自動化しても、すべての判断をAIへ渡す必要はありません。影響が大きい操作は、実行前に人が対象、差分、復旧方法を確認します。

押さえておきたい点

人はすべてのコードを逐一書く役割から、目的、境界、判断基準、例外を管理する役割へ移ります。AIが提出するのは「完了しました」という報告ではなく、差分と検証結果です。

自社の状況を確認する

  • 本番環境への公開とトラフィック切り替え
  • データ削除、移行、スキーマ変更
  • 認証、権限、秘密情報、外部公開範囲の変更
  • 決済、契約、法務、個人情報に関わる変更
  • テスト基準、監視条件、セキュリティ基準の緩和
  • 当初の対象範囲を超える追加実装

小さく始める導入方法

最初から複数エージェントや完全自動化を導入する必要はありません。既存チームの開発手順へ、次の順で追加します。

Step 1:受け入れ条件を残す

すべてのAI開発タスクに、目的、対象外、確認方法を記載します。
完了報告には、実行した検証と結果を添えます。

Step 2:検証を反復へ入れる

ビルド、テスト、静的解析をAIが実行できる状態にします。
失敗時は結果を読み、修正し、同じ検証を再実行させます。

Step 3:レビューと公開を分ける

実装とレビューを別の担当または別のエージェントへ分けます。
本番公開は、検証結果を人が確認した後に実行します。

Step 4:反復の状態を記録する

成功した検証、残課題、次の行動、停止理由を引き継げる形式で残します。
繰り返し発生する作業だけを、段階的に自動化します。
← 横にスクロールできます →

よくある質問

Q. SDDはウォーターフォール開発と同じですか?

同じではありません。仕様を先に扱いますが、変更しない大規模文書を完成させてから実装する方法に限定されません。小さな仕様を実装・検証し、結果を受けて更新します。

Q. Loop EngineeringはAIに任せきる方法ですか?

違います。AIが反復できる範囲と、人の承認が必要な操作を分けます。目標、権限、予算、停止条件を人が管理します。

Q. 1人の開発でも導入できますか?

導入できます。受け入れ条件、検証コマンド、停止条件をタスクへ記載し、実装後に別のレビュー指示を実行するところから始められます。

Q. 既存システムでも利用できますか?

利用できます。最初に既存のテスト、API、データ、権限、運用手順を確認し、維持する振る舞いを受け入れ条件へ含めます。新規開発よりも回帰確認を厚くします。

ITの判断と実行を、経営のそばに。

外部IT責任者として、優先順位の整理から実装・運用まで支援します。

DX・ITコンサルティングについて
Theme Overview

中小企業のための実践的DX推進ガイド:戦略立案から実行まで

この分野の全体像と判断の順序をまとめた記事です。

全体像を読む

ビジネスの課題解決を、
もっと具体的に。

Malakeは、テクノロジーと戦略の両面から
貴社のビジネス変革をサポートします。