AIと二人三脚で挑む「仕様駆動開発」― OpenSpecで変わる、これからの爆速システム構築術
導入
「AIにコードを書いてもらう」から「AIと共にプロダクトを設計し、確実に実装する」へ。
今回、私はNext.js + Supabaseを用いたECサイト『Moyamoya Store』を、AIエンジニア「Antigravity」と共に構築しました。そこで体験したのは、従来の「人間が考え、AIが補完する」という形ではなく、**「仕様(Spec)がコードを導く」**という非常に洗練された開発フローでした。
本記事では、驚くほどスムーズに進んだ開発の裏側と、それを支えたフレームワーク OpenSpec による「仕様駆動開発(Spec Driven Development)」の衝撃について共有します。
1. 開発の核「OpenSpec」:AIとの対話を構造化する
これまでのAIペアプログラミングにおいて、プロジェクトが大規模になるにつれて「AIが以前の指示を忘れる」「修正範囲が漏れる」といった問題に直面したことはありませんか?
今回の開発を劇的に変えたのは、OpenSpec というアプローチでした。これは、開発のプロセスを以下の4つの**アーティファクト(成果物)**として構造化します。
- Proposal: 変更の目的と概要(何を作るか)
- Design: UI/UXの設計(どう見せるか)
- Specs: ロジックやデータ構造の定義(どう動くか)
- Tasks: 実装手順の細分化(どう作るか)
これらがプロジェクト内のMarkdownファイルとして蓄積されるため、AIと人間が「同じ設計図」を見ながら迷いなく進めることが可能になります。
2. 私が体験した「3つの魔法のコマンド」
実際の開発は、驚くほどシンプルなサイクルで回っていきました。
① /opsx-new:意志を伝える
「問い合わせ内容をDBに保存して、Slackに通知して」と一言投げるだけ。AIは瞬時にプロジェクトの現状を解析し、実現のための「Proposal」を作成します。
② /opsx-ff (Fast Follow):思考を先回りさせる
これが最も驚いた体験でした。コマンドを打つと、AIが設計(Design)から具体的な技術仕様(Specs)、そしてタスクへの分解までを一気に自動生成します。 「Slack Webhookの管理方法」や「Edge Functionの型定義」など、エンジニアが頭を悩ませる詳細な仕様が、一瞬で論理的なドキュメントとして目の前に現れます。私はそれをレビューし、方向性が合っているか「意志決定」をするだけです。
③ /opsx-apply:仕様を現実に変える
設計図が完成したら、あとはAIにお任せ。AIは自ら書いたタスクリストに従い、正確に複数のファイルを修正し、機能を作り上げます。仕様に基づいているため、デバッグの回数も劇的に減少しました。
3. Moyamoya Store 開発でのハイライト
このフローによって、以下のような複雑な実装も驚くべきスピードで完了しました。
- Stripe決済の統合: チェックアウトセッションの作成から、決済完了後の注文ステータス更新まで、一貫した仕様に基づいて完璧に実装。
- Slack通知への切り替え: 当初メール通知を想定していた機能を、途中でSlack通知へ変更。複雑なロジック修正も、Specsの更新だけでAIが迷わず完遂。
- UIの日本語化と洗練: 日本語特有のレイアウトのズレや日付形式の調整も、設計の段階でAIが先回りして配慮。
4. AIの進化に震えた瞬間
今回、Antigravityとの開発を通じて確信したのは、AIが単なる「コード生成機」を超えたということです。
- 文脈の維持: 数日前の設計内容を正確に把握しており、「前の修正と整合性が取れない」とAI側から指摘してくることも。
- 自律的な解決: エラーが出た際、自らログを読みに行き、原因を特定して「仕様のこの部分に誤りがありました」と修正案を出してくれる。
- 品質へのこだわり: 早期リターンや型安全、DRY原則の適用など、保守性の高いコードを自発的に提案してくる。
5. 結び:エンジニアの役割はどう変わるか
OpenSpecを用いた開発を体験して、エンジニアの仕事は「どう書くか(How)」という作業から、「何が正しい価値か(What)」をAIと共に定義し、意志決定することへシフトしていると強く感じました。
「AIに仕事を奪われる」のではなく、「AIによって創造性が解き放たれる」。 このスピード感と確実性を一度体験してしまうと、もう以前の開発スタイルには戻れません。
AIとのSpec Driven開発、皆さんもぜひ体験してみてください。世界が変わります。