はじめに
こんにちは、コウです。
近年、AI技術の進歩により、仕様駆動開発においてもAIを活用する事例が増えてきました。
本記事では、私がAIを活用して仕様駆動開発をしてみた経験について共有します.
仕様駆動開発とは
仕様駆動開発とは、仕様を最初に明確・厳密に定義し、その仕様を基準に実装・テストを進める開発手法です。
仕様が明確であるため、開発プロセス全体の透明性が高まり、品質の向上やコミュニケーションの円滑化が期待できます。
特徴
- 実装よりも仕様書が主役
- 仕様が「契約(Contract)」の役割を持つ
- 実装者は仕様に従ってコードを書く
- テストは仕様を満たしているかを検証する
典型的な流れ
- 要件定義
- 仕様書作成(API仕様、状態遷移、入出力、制約など)
- 仕様レビュー・合意
- 実装
- 仕様ベースでテスト(自動テスト含む)
従来の仕様駆動開発の課題
従来の仕様駆動開発では、仕様書の作成や更新に多くの時間と労力がかかることが課題でした。
また、仕様と実装の乖離が発生しやすく、開発プロセス全体の効率が低下することもありました。
AIによる仕様駆動開発のメリット
AIを活用することで、仕様書の自動生成や更新が可能となり、開発プロセスの効率化が図れます。
さらに、AIは大量のデータとコードを解析し、仕様と実装の整合性をチェックすることができます。
バイブコーディングとの違い
バイブコーディングは、AIと人間がリアルタイムで協力してコードを書く手法ですが、よくAIが人間の指示をわからないままにコードを書いてしまうことがあります。
仕様駆動開発では、まず仕様を明確に定義し、その後に実装を進めますので、AIが仕様に基づいてコードを生成するため、より正確な実装が期待できます。
開発体験記
今回、私はgithub spec-kitを活用して仕様駆動開発を試みました。
github spec-kitとは
github spec-kitはGitHub が提供している仕様駆動開発を支援するツールキットで、仕様書の管理、テストケースの自動生成、ドキュメントの生成などをサポートします。
開発内容
今回のプロジェクトでは、Excel ファイルを PDF に変換する REST API サービスを開発しました。
インストールと初期化
まずは以下のコマンドを実行し、github spec-kitをインストールします。
uvx --from git+https://github.com/github/spec-kit.git specify init <PROJECT_NAME>そして、使用するAIエージェントとスクリプトを選択し、インストール完了です。
すると、以下のようなディレクトリ構成が自動生成されます。
└── 📁.github
└── 📁agents
├── copilot-instructions.md
├── speckit.analyze.agent.md
├── speckit.checklist.agent.md
├── speckit.clarify.agent.md
├── speckit.constitution.agent.md
├── speckit.implement.agent.md
├── speckit.plan.agent.md
├── speckit.specify.agent.md
├── speckit.tasks.agent.md
├── speckit.taskstoissues.agent.md
└── 📁prompts
├── speckit.analyze.prompt.md
├── speckit.checklist.prompt.md
├── speckit.clarify.prompt.md
├── speckit.constitution.prompt.md
├── speckit.implement.prompt.md
├── speckit.plan.prompt.md
├── speckit.specify.prompt.md
├── speckit.tasks.prompt.md
└── speckit.taskstoissues.prompt.md
└── 📁.specify
└── 📁memory
├── constitution.md
└── 📁scripts
└── 📁bash
├── check-prerequisites.sh
├── common.sh
├── create-new-feature.sh
├── setup-plan.sh
├── update-agent-context.sh
└── 📁templates
├── agent-file-template.md
├── checklist-template.md
├── plan-template.md
├── spec-template.md
└── tasks-template.mdこちらは、github spec-kitのコマンドを解釈と実行する用のテンプレートやエージェントが格納されているディレクトリです、基本は触る必要はありません。
コマンド実行
github spec-kitでは、以下のコマンドを使用して仕様駆動開発を進めていきます。
…
記事の続きは下のURLをクリック!
https://rightcode.co.jp/blogs/54342
エンジニア積極採用中です!
現在、WEBエンジニア、モバイルエンジニア、デザイナー、営業などを積極採用中です!
採用ページはこちら:https://rightcode.co.jp/recruit
社員の声や社風などを知りたい方はこちら:https://rightcode.co.jp/blogs?category=life
フリーランスエンジニア大募集中!
現在、「WEBエンジニア」「フロントエンジニア」「データサイエンティスト」など、様々な職種のフリーランスエンジニア様を募集中です。まずは以下よりお気軽にご応募ください!
採用ページはこちら:https://itanken.com/register
社長と一杯飲みながらお話しませんか?(転職者向け)
特設ページはこちら: https://rightcode.co.jp/gohan-sake-president-talk
もっとワクワクしたいあなたへ
現在、ライトコードでは「WEBエンジニア」「モバイルエンジニア」「ゲームエンジニア」、「デザイナー」「WEBディレクター」「営業」などを積極採用中です!
ライトコードは技術力に定評のある受託開発をメインにしているIT企業です。
有名WEBサービスやアプリの受託開発などの企画、開発案件が目白押しの状況です。
- もっと大きなことに挑戦したい!
- エンジニアとしてもっと成長したい!
- モダンな技術に触れたい!
現状に満足していない方は、まずは、エンジニアとしても第一線を走り続ける弊社代表と気軽にお話してみませんか?
ネット上では、ちょっとユルそうな会社に感じると思いますが(笑)、
実は技術力に定評があり、沢山の実績を残している会社ということをお伝えしたいと思っております。
- ライトコードの魅力を知っていただきたい!
- 社風や文化なども知っていただきたい!
- 技術に対して熱意のある方に入社していただきたい!
一度、【Wantedly内の弊社ページ】や【コーポレートサイト】をのぞいてみてください。
Wantedly:https://www.wantedly.com/companies/rightcode
コーポレート:https://rightcode.co.jp/