「AIにコードを書かせているけど、だんだん指示が複雑になってきて収拾がつかなくなってきた…」 そんな悩みを持つエンジニアの間で話題のOpenSpec。
話題の「仕様駆動開発(SDD)」を驚くほどシンプルに実現できるということで、実際に個人プロジェクトに導入してみました!
今回は、OpenSpecの導入手順から、実際に使ってみて感じたメリット・デメリットをレビューします。
OpenSpecとは?:シンプルさを追求したSDDツール
OpenSpecは、AIコーディングを効率化するための「仕様管理フレームワーク」です。
複雑なルールを覚える必要はなく、基本的には以下の3つのステップを繰り返すだけ。
1、Draft(提案): AIに「こんな機能を作りたい」と相談し、仕様案を作らせる
2、Review(レビュー): 人間がその内容を確認・修正する
3、Implement(実装): 確定した仕様に基づいてAIにコードを書かせる
これだけで、AIの「勝手な暴走」を防ぎ、一貫性のある開発が可能になります。
実際にOpenSpecを導入してみた手順
1、インストール
npmで簡単にインストールできます。
npm install -g @openspec/cli
2、プロジェクトの初期化
導入したいプロジェクトのルートディレクトリで以下のコマンドを叩きます。
openspec init
これで、プロジェクト内にspecs/ディレクトリが作成され、準備完了です。
3、新しい機能を「仕様」から作る
例えば「ユーザーログイン機能を追加したい」場合、いきなりコードを書かせるのではなく、まずは仕様をドラフトします。
openspec draft “ユーザーログイン機能(JWT認証)を追加したい”
すると、AIがspecs/drafts/の中に、必要なファイル構成やロジックをまとめたMarkdownファイルを生成してくれます。
4、実装とアーカイブ
生成された仕様に納得がいけば、AI(Claude CodeやCursor)にそのファイルを読み込ませて実装を指示します。実装完了後は、以下のコマンドで履歴を整理します。
openspec archive
これで、現在の最新の仕様がspecs/current/に反映され、開発の「正解(Single Source of Truth)」が常に最新の状態に保たれます。
使ってみて感じた良いところ
① ドキュメントが「腐らない」
一番感動したのは、コードと仕様書が常に同期される仕組みです。普通、開発が進むと仕様書は後回しにされがちですが、OpenSpecは「仕様を更新しないと実装が進めにくい」ワークフローになっているため、自然と最新のドキュメントが残ります。
② AIへの指示出しが「1ファイル」で済む
これまでは「えーと、このファイルとあのファイルを修正して、背景はこうで…」と長々とプロンプトを書いていました。OpenSpec導入後は、「specsにある最新の仕様通りに実装して」と言うだけでAIが完璧に動いてくれます。コンテキストの節約にもなりますね。
③ 既存プロジェクトへの導入が楽
cc-sddのような厳格なフレームワークに比べ、OpenSpecは「ただのMarkdownファイル管理」に近いため、進行中のプロジェクトにも今日から導入できる手軽さがあります。
少し気になった点(注意点)
・OpenSpec自体がコードを書くわけではないので、Claude CodeやCursorといった他のツールと組み合わせて使う前提です。
・小規模すぎるとオーバーヘッドです。1行修正するだけの作業なら、普通にプロンプトを打ったほうが早いです。ある程度の機能単位で使うのがベストだと感じました。
感想
「AI開発でコードがぐちゃぐちゃになってきた…」と不安を感じている方は、ぜひ一度試してみてください。
ある程度開発効率とコード品質が上がると思います。
最後まで読んでいただきありがとうございました。