トレンド
2025.10.30更新

仕様駆動開発の動向 -大規模システム開発を大きく変える可能性を秘めたアプローチ-

SMBCグループのITソリューション・シンクタンク機能を担う日本総合研究所では「先端技術ラボ」を設立し、先端情報技術の社会実装へ向けた研究開発に取り組んでいる。今回は生成AIのソフトウェア開発への活用における最新トレンドである「仕様駆動開発」について解説する。

ソフトウェア開発における仕様管理の重要性

エンタープライズにおける大規模システム開発(ソフトウェア開発)では、事業戦略から要求される仕様を正しく管理し、優先度を判断して迅速に反映させていく必要がある。こうした素早い改善の継続が顧客のニーズを満たすサービスや、安定稼働し続けるセキュアなシステムの提供に繋がる。このように事業戦略とそれを実現するシステムを統一的にモデル化(設計)し、最適化を図る手段としてエンタープライズ・アーキテクチャ(EA)という手法がある。EAは2000年代に政府主導で一度導入が進められ、近年、諸課題の複雑化などを背景にその必要性が再認識され、再びデジタル庁主導で普及が進められている(詳細は日本総研発行レポート「エンタープライズアーキテクチャ(EA)の活用動向とArchiMateの概説」(2024年7月発行)などを参照)。

一方で、生成AIの大幅な性能向上はソフトウェア開発にも多大な影響を与えており、2025年前半はバイブコーディング(vibe coding)が話題になった。これは開発者が開発したい機能の「雰囲気」(vibe)を話し言葉で生成AIに入力し、AIにプログラムのコードを出力させることでソフトウェアを開発する手法である。しかし、バイブコーディングをそのままエンタープライズ用途の複雑なソフトウェア開発に導入することには、下表のようにいくつかの懸念点が考えられる。こうしたことから、ソフトウェア開発への生成AI活用では、要求と品質を満たすコードを生成するために、要求仕様をドキュメントとして管理し、これらを背景情報(コンテキスト)としてAIに適切に与えること(コンテキストエンジニアリング)などが必要である旨を弊社発行レポートでは解説した。また、より高度な活用法として、先述のEAの手法に生成AIを適用させる先端的な研究についても紹介した(詳細は日本総研発行レポート「AI駆動開発とシステムズエンジニアリングへのAI適用研究の動向」(2025年4月発行)を参照)。

エンタープライズのソフトウェア開発におけるバイブコーディング利用の懸念点
開発者がその場の思いつきで与えたプロンプトを元に生成されたコードは、事業戦略上の要求を充足しているのか確認しづらい。
思いつきで与えたプロンプトでは仕様を充足する望ましいコードが生成される確度が低い。
生成されたコードの可読性が低くかった場合、開発者の理解を妨げその後の保守や機能追加において障害となる可能性がある。

注目される仕様駆動開発

ソフトウェア開発への生成AI活用におけるこのような懸念を解決する手法として、Amazonは2025年7月に「仕様駆動開発」(Spec-Driven Development, SDD)の概念と、それを実現する統合開発環境である「Kiro」を公表した。仕様駆動開発では、ソフトウェアが満たすべき要求(requirements)や制約(constraints)を仕様として明文化し、AIにコードを生成させる際の指針とすることで仕様を満たした高品質のコード生成に繋げるアプローチを取る。具体的にはマークダウン形式という従来からある汎用的なテキスト形式のファイルに自然言語(英語や日本語のように人間が話す言語)でこれらを記述する。マークダウンは一般的なテキストファイルと大きな違いはないため特別な知識がなくとも記述が可能である。Kiroでは、「requirements.md」(要件定義書)、「design.md」(技術設計書)、「tasks.md」(実装計画)という3つのマークダウンファイルを作成する。このように、人間のエンジニアのチームで開発を進める際にも有益な情報の整理をしてテキストファイルに記述することで、仕様の一貫性を保ち、生成されたコードが仕様を満たしているか確認しながら開発を進めることができる。
9月には同様の思想に基づく開発支援ツールとして、GitHubが「GitHub Spec Kit」を公表した。Kiroと同様に「Specify」(仕様の明確化)→「Plan」(計画)→「Task」(タスク分解)→「Implement」(実装)というステップでAIを用いた開発を進める(下表)。

また、様々なAI開発支援ツールと連携させてKiroと同様の開発プロセスを実現できる「cc-sdd」というツールもある。これは日本人の個人エンジニアが作成しており日本語での情報が豊富である。KiroのようにWaitlist(順番待ちリスト)に登録して順番が回ってくるのを待つ必要はなく、すぐに無料で使うことができる。

仕様駆動開発の開発プロセス(GitHub Spec Kitの例)
仕様の明確化
(Specify)
開発者がプロジェクトの概要を自然言語で記述し、AIが詳細な仕様を生成する。
技術的な詳細ではなくユーザー体験を記述する。
計画
(Plan)
使用する技術スタック、アーキテクチャ、制約条件(性能目標等)をAIへ入力し、AIが技術的な計画を生成する。
タスク分解
(Task)
仕様と計画を基にAIが作業を細分化する。各作業は正確に完了したかを簡潔に判断可能なレベルに細分化される必要がある。
実装
(Implement)
AIがタスクを順次処理してコードを生成する。
開発者は細分化された作業(課題)が適切に解決されているかを確認する。

仕様駆動開発の見通し

仕様駆動開発では、生成されたコードが仕様を満たしているかを開発者が簡潔に確認できる必要がある。また、AIモデルがコード生成の際に考慮できるコンテキスト(背景情報)の量(コンテキストウィンドウ)には限界がある。このため仕様駆動開発では、ソフトウェアを機能ごとに独立した複数の小さなサービスに分割して構築するシステムアーキテクチャであるマイクロサービスアーキテクチャが有効であると考えられる。このように生成AIを用いた開発では従来に比べ、プログラミング言語の細かな文法などの知識より、アーキテクチャや各言語、技術の特性を深く理解し適切に選択する能力が重要となってくる。

一方、AIが提案してきたアーキテクチャの良し悪しや、コードにバグが無いかなどを確認するのは最終的には開発者であり、従来からの開発力が無駄になることはない。むしろ設計やコーディングでAIに頼ってしまうことで、こうした目利き力が育たなくなってしまうのではないかという懸念も指摘されている。これに対しては、AIが提案した設計の課題をAIに指摘させるなどしてレビュー観点を養うといった、新たな学習方法も考えられる。
仕様駆動開発の本格的な企業への浸透にあたっては、ローカルLLMの更なる性能向上と普及がポイントの1つとして挙げられる。仕様駆動開発ではAIモデルがシステムの詳細な仕様のドキュメントを参照するため、事業上重要なこうした情報が外部のAIモデルに入力されるが、企業にとってこれは望ましくない。ローカルLLMは企業の管理下のシステム環境でLLMを運用するものであるため、こうした情報流出に関する懸念が無くなる。ローカルLLMは性能面でChatGPTなどのようなパブリックなLLMに劣るものの、その性能は着実に向上している。ローカルLLMを用いた仕様駆動開発が普及すると、企業のシステム開発の在り方は大きく様変わりするだろう(ローカルLLMに関する詳細は日本総研発行レポート「ローカルLLMの可能性 - オープンなモデルが拓くAI活用の展望 -」(2025年8月発行)を参照)。


PROFILE※所属および肩書きは取材当時のものです。

  • 日本総合研究所 先端技術ラボ シニア・リサーチャー
    兼 三井住友銀行 デジタル戦略部

    市原 紘平氏

    2016年日本総研(JRI)入社。JRI Americaトレーニー等を経て2018年より先端技術ラボ、兼三井住友銀行デジタル戦略部。先端技術起点の事業企画、学術論文・レポート執筆等を行う。国際学会にてブロックチェーン分野での発表及びセッションチェア、国際団体でのパネルディスカッション等の実績を持つ。2024年よりISO/TC68委員会委員。

その他の記事を読む

AI
(artificial intelligence)

類義語:

  • 人工知能

コンピュータが人間の思考・判断を模倣するための技術と知識体系。

ChatGPT

類義語:

OpenAI社が開発した大規模言語モデルの一種で、人間と自然な対話を行うことができるAIチャットボット。GPTは「Generative Pre-training Transformer」の略。

  • その他の記事もチェック
    DX-link(ディークロスリンク)
    Webサイト
  • 最新情報はこちら
    DX-link(ディークロスリンク)
    X公式アカウント

アンケートご協力のお願い

この記事を読んだ感想で、
最も当てはまるものを1つお選びください。

アンケートにご協力いただき
ありがとうございました。

引き続き、DX-linkをお楽しみください。