Thank You For Reaching Out To Us
We have received your message and will get back to you within 24-48 hours. Have a great day!

ハポソフトの​​ブログへようこそ

世界に​​向けて​​共有したい、​​最新動向や​​インサイト、​​プロフェッショナルの​​コメント、​​プロジェクト開発の​​実例などを​​当社の​​ブログで​​ご紹介しています。

writing-specs-for-ai-coding
2026年7月9日
20分で​​​読む

AIコーディング向け仕様書の​書き方​:Claude Codeが​初回から​正しく​実装できる​要件の​作り方

Claude Codeのような​AIコーディングツールを​使えば、​数分で​機能全体を​生成できますが、​基盤と​なる​ビジネスロジックに​欠陥が​あれば、​生成速度が​どれほど​速くても​意味が​ありません。​根本的な​原因は​モデル自体に​あるのではなく、​むしろ、​暗黙の​前提に​満ちた​人間中心の​要件を​依然と​して​AIに​与えている​ことに​あります。​AIは​曖昧な​点に​遭遇すると、​明確化を​求める​ことなく​推測するだけであり、​その​推測が​最終的に​本番環境で​障害を​引き起こします。​ この​記事では、​AIコーディングの​仕様記述技術を​習得する​ことで、​この​ギャップを​埋める​方​法を​解説します。​従来の​PRDが​自律型エージェントでは​十分に​機能しない​理由、​曖昧さを​解消する​ための​6つの​要素からなる​CafeKitフレームワークの​使い方、​そして​複雑な​エッジケースを​処理する​ための​EARSや​Example Mappingと​いった​実践的な​テクニックに​ついて​詳しく​解説します。​この​記事を​読み終える​頃には、​漠然とした​アイデアを​Claude Codeが​初回で​完璧に​実行できる、​厳密で​機械可読な​仕様に​変換する​方​法を​正確に​理解できるようになっているでしょう。​ AIコーディングの​仕様書作成が​他と​異なる​理由 従来の​PRD​(プロダクト要件定義書)は​開発者が​膨大な​量の​暗黙的な​コンテキストを​共有している​ため、​人間の​開発チームでは​十分に​機能します。​開発者は​行間を​読み、​簡単な​質問を​し、​短い​会話の​中で​ビジネス目標に​ついて​合意する​ことができます。​しかし、​AIエージェントは、​こうした​共有された​背景知識を​持たない​状態で​動作します。​ 人間に​曖昧な​要件を​伝えると、​コードを​書く​前に​立ち止まって​内容を​明確にします。​しかし、​同じ​要件を​AIに​伝えると、​統計的な​推測に​基づいて​すぐに​コードの​生成を​開始します。​この​根本的な​違いは​要件定義書の​作成方​法を​完全に​変えてしまいます。​ AIは​人間のように​要件を​解釈しない​ 人間の​開発者は​文脈を​踏まえて​要件を​解釈できます。​「注文が​発送されたら​ユーザーに​通知する」と​いう​記述を​見れば、​その​ドメインの​文脈を​理解します。​「通知」とは、​B2Bシステムでは​メール、​モバイルアプリでは​プッシュ通知を​意味する​可能性が​高い​ことを​認識します。​既存の​コードを​チェックして​パターンを​探し、​不明な​点が​あれば​プロダクトオーナーに​質問します。​ AIは​これらの​ことを​一切​行いません。​訓練データから​パターンを​処理し、​統計的に​最も​可能性の​高い​実装を​生成します。​必ずしも​正しい​実装とは​限りません。​単に、​AIが​これまで​見てきた中で​最も​一般的な​実装を​生成するだけです。​ 人間の​開発者 AIコーディングエージェント 不明点に​ついて​確認する​ 利用​可能な​コンテキストに​基づいて​推測する​ ドメイン知識を​活用する​ 文書化された​情報しか​参照できない​ 不明確な​要件に​疑問を​呈する​ 要件を​文字通りに​解釈する​ チームでの​話し合いに​頼る​ 文書化されていない意思決定には​アクセスできない​ クーポンに​関する​要件を​考えてみましょう。​「システムは​注文に​割引を​適用する​ものとする。」AIは、​パーセンテージ割引、​固定金額割引、​または​注文金額に​基づく​段階的割引を​実装する​可能性が​あります。​割引を​税引前に​適用するのか、​税引後に​適用するのか、​あるいは​特定の​カテゴリの​商品のみに​適用するのかも​明確では​ありません。​明示的な​指示が​ない​場合、​AIは​オープンソースコードで​頻出する​実装パターンに​基づいて、​いずれかの​方式を​選択します。​この​決定は​うまくいく​場合も​あれば、​ビジネスロジックに​全く​合わない​場合も​あります。​ 曖昧さは​そのまま​実装に​なる​ AI仕様に​おける​重要な​ルールは​要件の​曖昧な​部分は​すべて​AIが​決定すると​いう​点です。​「注文が​出荷されたら​ユーザーに​通知する」と​記述した​場合、​AIは​配信チャネル、​メールテンプレート、​送信者アドレス、​再試行ロジック、​オプトアウト処理、​レート制限ルールなどを​選択する​必要が​あります。​AIは、​これらの​項目を​ユーザーに​確認する​ことなく​独自に​決定します。​その際、​自らの​前提を​明示したり、​不確実な​点を​警告したりする​ことは​ありません。​ 人間の​開発者に​とって、​曖昧さは​質問に​つながります。​一方、​AIに​とっては​コード生成に​つながります。​その​コードは​コンパイルされ、​テストに​合格し、​一見​正常に​動作しているように​見えますが、​不足していた​エッジケースが​本番環境で​表面化する​ことがあります。​ コンテキストの​欠如は​誤った​推測を​生み出す AIエージェントは​与えられた​コンテキストのみを​参照して​動作します。​コードベースを​調査して​既存の​パターンを​把握する​ことは​できますが、​明示されていない​アーキテクチャ上の​制約までは​推測できません。​仕様書に​すべての​データベース操作で​リポジトリパターンを​使用する​旨の​記載が​ない​場合、​AIは​コントローラーに​SQLを​直接記述する​可能性が​あります。​JWTベースの​認証を​指定しなければ、​AIが​セッションCookie方​式を​実装する​可能性が​あります。​タイムスタンプを​UTCで​保存するよう​指定していない​場合、​サーバーの​ローカル時間が​使用されます。​ 人間の​開発者は​周囲の​コードを​見て、​確立された​慣習に​従います。​一方、​Claude Codeは​仕様書を​見ます。​仕様書に​記載されていない​ものは​存在しない​ものとみなされます。​その​ため、​仕様書は​AIに​とっての​完全な​判断基盤と​なる​必要が​あり、​すべての​前提を​明示しなければなりません。​ シフトレフトの​原則は​仕様策定から​始まる​ 従来の​開発手法では、​シフトレフトとは​テストを​サイクルの​早い​段階に​移動させる​ことを​意味します。​AIコーディングに​おいては、​曖昧さの​解消を​仕様策定段階まで​前倒しする​ことを​意味します。​AI生成コードの​修正コストは、​デバッグよりも​コードの​再生成に​かかります。​問題点を​特定し、​要件を​書き直し、​エージェントを​再実行します。​この​各イテレーションには​時間と​トークン予算が​かかります。​ 厳密な​仕様は​このような​悪循環を​防ぎます。​「注文ステータスが​『出荷済み』に​変更されたら、​システムは​顧客の​メールアドレスに​メールを​送信する」と​記述すれば、​AIが​独自の​判断を​差し挟む余地が​ありません。​入力に​解釈の​余地が​ないため、​出力は​意図と​一致します。​これが​AIコーディングの​生産性を​左右する​本質的な​ポイントです。​つまり、​より​良い​プロンプトではなく、​より​良い​仕様です。​そして、​これほど​正確な​仕様を​記述する​最も​実用的な​方​法は、​曖昧さを​排除するように​設計された​構造化構文である​EARSを​使用する​ことです。​ EARSを​使用して​AI要件の​曖昧さを​軽減する​ EARSとは​何ですか?​ EARSは​「Easy Approach to Requirements Syntax」の​略称です。​これは​ロールス・ロイス社の​アリスター・マビン氏と​その​同僚に​よって、​航空宇宙および​防衛システム向けに​開発された​もので、​これらの​分野では、​誤った​解釈が​数百万ドル規模の​損失に​つながる​可能性が​あります。​この​構文では、​要件を​厳格かつ​予測可能な​構造で​記述する​ため、​人間の​言語に​固有の​曖昧さを​抑える​ことができます。​EARSの​すべての​要件は​明確な​パターンに​従い、​何が​アクションを​トリガーするのか、​どのような​条件が​適用されるのか、​そして​システムが​それに​応じて​何を​しなければならないのかを​正確に​規定します。​ この​構造は​AIコーディングエージェントに​とって​特に​価値が​あります。​なぜなら、​AIは​意図を​解釈するよりも​パターンを​処理する​方がはるかに​効率的だからです。​要件を​自然言語の​英語で​記述する​場合、​AIは​どの​単語が​トリガーで、​どの​単語が​条件で、​どの​単語が​アクションなのかを​推測しなければなりません。​EARS形式で​記述すると、​役割は​構文自体に​よって​明確に​示されます。​AIは​推論する​必要は​なく、​構造化された​入力を​構造化された​出力に​マッピングするだけです。​ EARSが​AIエージェントに​うまく​機能する​理由 AIコーディングエージェントは​指示が​予測可能な​パターンに​従う​場合に​最高の​パフォーマンスを​発揮します。​人間は​漠然とした​記述の​要件から​意味を​推測できる​ことが​多い​ものの、​AIモデルは​要件が​構造化され、​明確に​記述されている​場合にはるかに​信頼性が​高まります。​ 開発者が​通常、​PRD​(プロダクト要件定義書)で​どのように​要件を​記述するかを​考えてみましょう。​ 注文が​発送されたら、​ユーザーに​通知を​送信する​必要が​あります。​ 多くの​関係者は​この​要件文の​意図を​理解できます。​しかし、​いく​つかの​重要な​点には​解釈の​余地が​残ります。​どの​種類の​通知を​送るべきでしょうか。​誰に​送るべきでしょうか。​いつ送信すべきでしょうか。​配信に​失敗した​場合は、​どのように​処理すべきでしょうか。​ EARSを​使用すると、​同じ​要件は​次のようになります。​ 注文ステータスが​「発送済み」に​変更された​場合 システムは、​5分以内に​顧客の​登録済みメールアドレスに​電子メール通知を​送信する​ものとする。​ ビジネス上の​意図は​変わりませんが、​実装の​詳細がはるかに​明確に​なります。​AIに​漠然とした​記述を​解釈させるのではなく、​要件に​よって​トリガー、​アクション、​および​期待される​結果が​明確に​定義されます。​この​構造に​より​曖昧さが​軽減され、​Claude Codeは​初回で​正しい​実装を​生成する​ためのより​強固な​基盤を​得る​ことができます。​ EARSの​主要要件タイプ EARSは​少数の​要件パターンに​基づいて​構築されています。​これらの​パターンは​ソフトウェア開発中に​遭遇する​ほとんどの​シナリオを​網羅し、​チームが​仕様全体に​わたって​一貫性を​維持するのに​役立ちます。​AI支援開発に​おいては、​これらの​パターンに​よって​予測可能な​構造が​構築され、​要件の​解釈と​実装が​容易に​なります。​ パターン 構造 適用場面 例 常時要件 システムは​ する​ 状態や​イベントに​関係なく​常に​適用される​動作 システムは​すべての​支払い​取引を​記録する​ものとする​ イベント駆動型 が​発生した​場合、​システムは​ を​実行する​ ある​特定の​時点で​発生する​特定の​出来事に​よって​引き​起こされる​行動 ユーザーが​パスワードリセット要求を​送信すると、​システムは​リセットリンクを​送信する​ 状態駆動型 の​間、​システムは​ を​行う​ものとする​ 連続期間または​持続状態中に​適用される​動作 ユーザーセッションが​アクティブな間、​システムは​15分ごとに​認証トークンを​更新する​ものとする​ オプション機能型 の​場合、​システムは​ を​行う​ものとする​ 特定の​機能または​条件が​有効に​なっている​場合に​のみ​利用​可能な​動作 ユーザーが​管理者権限を​持っている​場合、​システムは​監査ログを​表示する​ものとする​ 望ましくない​動作 もし ならばシステムは​ する​ エッジケース、​障害、​または​望ましくない​状況に​おける​動作 決済ゲートウェイが​タイムアウトエラーを​返した​場合、​システムは​最大3回まで​再試行する​ものとする​ 従来の​要件と​EARS要件の​比較 従来型の​要件と​EARS要件の​違いは​単なる​書式の​違いでは​ありません。​AIに​推測させる​内容と​仕様と​して​明示すべき内容の​違いです。​ 従来の​要件​「注文が​発送されたら、​ユーザーに​通知を​送るべきである。」AIは​この​記述を​読み取り、​「通知」の​意味、​「発送済み」の​意味、​対象ユーザー、​使用する​チャネル、​通知内容、​通知が​失敗した​場合の​処理​​方​法などを​判断しなければなりません。​これらは​すべて、​実際の​システム要件ではなく、​トレーニングデータに​基づいて​AIが​行う​判断です。​ EARSの​要件:​「注文ステータスが​『出荷済み』に​変更された​場合、​システムは​ステータス変更後5分以内に​顧客の​登録済みメールアドレスに​メール通知を​送信する」。​これに​より、​AIは​実装すべき内容を​正確に​把握できます。​トリガーは​ステータスが​特定の​値に​変更される​こと、​応答は​特定の​アドレスへの​メール送信です。​実行タイミングも​明示されており、​解釈の​余地は​ほとんど​ありません。​メール送信が​失敗した​場合の​動作を​指定したい​場合は、​エラー処理要件を​追加します。​ 以下に、​それぞれの​ケースで​AIが​判断しなければならない​内容を​並べて​比較した​表を​示します。​ 従来型の​要件 EARS要件 顧客は​チェックアウト時に​割引コードを​適用できる。​ 顧客が​チェックアウト時に​有効な​割引コードを​入力した​場合、​システムは​最終的な​注文合計を​計算する​前に、​該当する​割引を​適用する​ものとする。​ 無効な​割引コードは​エラーメッセージを​表示するべきだ。​ 割引コードが​存在しない​場合、​または​有効期限が​切れている​場合は、​システムは​エラーメッセージを​表示し、​割引を​適用しない​ものとする。​ プレミアム会員は​ロイヤリティ割引を​利用できる。​ 顧客が​プレミアム会員である​場合、​システムは​ロイヤルティ割引と​プロモーション割引コードを​併用できるように​する​ものとする。​ どちらの​バージョンも​同じ​ビジネスアイデアを​伝えています。​違いは​EARSでは​実装時に​必要な​解釈の​多くを​排除している​点です。​人間の​開発者に​とっては、​これに​より​明確性が​向上します。​Claude Codeに​とっては、​生成すべき動作に​ついてより​明確な​シグナルが​得られます。​ EARSは​テストに​適した​入力を​提供する​ EARSの​もう​一つの​利点は​テスト手法との​自然な​整合性です。​多くの​チームは​既に、​Given-When-Thenシナリオを​通して​受入基準を​定義する​ために、​振る​舞い​駆動開発​(BDD)を​使用しています。​EARSは、​トリガー、​条件、​および​期待される​結果を​明確に​する​ことで、​同様の​考え方に​基づいています。​ 例えば、​次のような​要件が​あります。​顧客の​サブスクリプションの​有効期限が​切れた​場合、​システムは​プレミアム機能への​アクセス権を​取り消さなければなりません。​ 以下のような​Given-When-Then形式の​テストシナリオに​変換できます。​ Given​(前提条件)​:有効な​プレミアムサブスクリプションを​持つ顧客が​いる​ When​(操作)​:サブスクリプションが​有効期限に​達する​ Then​(期待結果)​:プレミアム機能に​アクセスできなくなる​ この​関係性は​AIコーディングツールを​使用する​際に​特に​役立ちます。​Claude Codeは​実装、​単体テスト、​統合テスト、​および​受入基準の​基礎と​して、​同じ​要件を​使用できます。​曖昧な​記述から​コードを​生成するのではなく、​AIは​期待される​動作を​既に​定義した​仕様に​基づいて​動作します。​ EARSは​AI実行向け仕様書を​作成する​ための​完全な​フレームワークでは​ありません。​ビジネスコンテキスト、​ドメイン用語、​技術的な​制約、​エッジケースなどは​定義していません。​しかし、​システム動作を​曖昧さを​最小限に​抑えつつ実装精度を​高める​形で​記述する​ための​強力な​基盤を​提供します。​ 詳しく​見る​:Claude Codeの​ための​仕様駆動​開発:CafeKit、​GitHub Spec Kit、​BMAD、​claude-code-spec-workflowの​比較 AI実行向け仕様書の​構成 EARSは​システム動作を​明確に​定義するのに​役立ちますが、​AIコーディングの​仕様書を​作成するには、​構造化された​要件だけでは​不十分です。​Claude Codeが​ビジネス上の​課題、​対象ドメイン、​遵守すべき​技術的制約を​理解するには、​十分な​コンテキストが​必要です。​ よく​ある​間違いは、​EARS要件の​集合体だけで​実装が​十分だと​考えてしまう​ことです。​実際には、​2つの​チームが​全く​同じ​要件を​提示しても、​周囲の​状況に​よって​全く​異なる​結果が​得られる​可能性が​あります。​その​ため、​AI活用に​成熟した​開発チームは​人間に​よる​レビューだけでなく​AIに​よる​実行も​想定した、​AI実行向け仕様書へと​移行しつつあります。​ フォーマットは​組織に​よって​異なりますが、​効果的な​AI実行向け仕様書には、​いく​つかの​共通する​中核要素が​あります。​ 背景と​目標 要件を​定義する​前に、​仕様書では​その機能が​存在する​理由と、​それが​解決する​問題を​明確に​する​必要が​あります。​この​セクションは、​AIが​より​適切な​実装判断を​下すために​必要な​ビジネスコンテキストを​提供します。​コンテキストが​なければ、​モデルは​個々の​要件を​満たすことに​集中し、​機能の​背後に​あるより​広範な​目的を​見失ってしまう​可能性が​あります。​ 例えば、​いきなり​「顧客が​割引コードを​入力したら、​システムは​対応する​割引を​適用する」と​いった​個別要件を​列挙するのではなく、​まず​機能の​目的を​簡潔に​説明します。​例えば、​「この機能の​目的は、​顧客が​チェックアウト時に​割引コードを​利用できるように​する​ことで​プロモーションキャンペーンの​利用率を​高め、​同時に​割引ルールが​ウェブと​モバイルプラットフォーム全体で​一貫している​ことを​保証する​ことです。」と​いった​具合です。​これに​より、​Claude Codeは​その機能が​実現しようと​している​ビジネス成果を​より​明確に​理解できます。​ ドメイン用語集 AI生成コードで​混乱が​生じる​主な​原因の​一つが​用語の​不統一です。​多くの​組織では、​議論の​中で​似たような​用語を​区別なく​使用していますが、​こうした​違いは​実装時に​大きな​影響を​及ぼす​可能性が​あります。​例えば、​仕様書の​中で​「ユーザー」​「顧客」​「会員」​「購読者」と​いった​用語が​使われている​場合、​それぞれ業務上の​異なる​エンティティを​表しているにも​かかわらず、​混乱が​生じる​可能性が​あります。​ AI実行向け仕様書には、​実装開始前に​主要な​ドメイン概念を​定義する​用語集を​含める​必要が​あります。​ 用語 意味 顧客 注文できる​登録ユーザー ゲストユーザー 商品を​閲覧する​ことは​できるが、​注文履歴に​アクセスできない​訪問者 割引コード 利用条件を​満たした​場合に​注文金額が​割引される​プロモーションコード プレミアム顧客 ロイヤルティプログラムに​登録した​顧客 EARSを​使用した​機能要件 文脈と​用語が​確立されたら、​一貫した​構造を​用いて​機能要件を​定義する​必要が​あります。​ここで​EARSが​システム動作を​記述する​ための​主要な​メカニズムと​なります。​自由形式の​記述に​頼るのではなく、​各要件は​トリガー、​条件、​および​期待される​応答を​明確に​定義します。​ EARSの​5つの​パターンは​ソフトウェア開発で​一般的に​発生する​シナリオを​網羅しています。​常に​適用される​普遍的な​動作、​特定の​アクションに​よって​トリガーされる​イベント駆動型の​動作、​システムの​状態に​依存する​状態駆動型の​動作、​特定の​条件下で​のみ​適用される​オプション機能、​そして​問題が​発生した​場合の​エラー処理です。​ エラー処理要件は​特に​重要です。​チームは​正常系に​意識が​偏り、​例外処理を​見落としが​ちだからです。​クーポンコードが​無効な​場合に​何が​起こるかを​指定しないと、​AIは​ケースを​無視するか、​ビジネスルールに​合わない​動作を​生成してしまう​可能性が​あります。​イベント駆動型の​要件ごとに、​操作が​失敗した​場合に​何が​起こるかを​示す対応する​IF条件を​少なくとも​1つ​記述してください。​ 割引システムの​要件例: 顧客が​チェックアウト時に​有効な​割引コードを​入力した​場合、​システムは​最終的な​注文合計を​計算する​前に、​該当する​割引を​適用する​ものとする。​ 割引コードの​有効期限が​切れている​場合、​システムは​エラーメッセージを​表示し、​割引を​適用しない​ものとする。​ 割引コードの​使用制限を​超えた​場合、​システムは​その​操作を​拒否し、​「この​クーポンは​使用制限に​達しました」と​表示する。​ 注文が​確定済みの​状態で​顧客が​クーポンを​適用した​場合、​システムは​変更を​拒否し、​「確定済みの​注文は​変更できません」と​表示する。​ 2人の​顧客が​同時に​同じ​クーポンを​適用した​場合、​システムは​それらの​処理を​順次実行し、​使用制限を​正しく​適用する​ものとする。​ これらの​要件は​予測可能な​構造に​従っている​ため、​レビュー担当者と​AIコーディングエージェントの​両方に​とって​理解しやすくなっています。​例外処理の​方法を​AIが​推測する​必要は​ありません。​例外は​明示的に​文書化されているからです。​ 受入基準 要件は​システムが​何を​行うべきかを​定義します。​受入基準は​成功を​どのように​測定するかを​定義します。​この​セクションは、​異なる​関係者が​同じ​要件を​異なる​方法で​解釈する​ことを​防ぐのに​役立ちます。​また、​AIが​生成した​実装の​明確な​検証目標も​提供します。​多くの​チームは、​人間が​読みやすく​テストしやすいと​いう​理由から、​BDDスタイルの​形式を​使用しています。​ 例: Given​(前提条件)​:有効な​割引コードが​存在する​ When​(操作)​:顧客が​チェックアウト時に​その​コードを​適用する​ Then​(期待結果)​:正しい​割引額が​注文合計金額に​反映される​ 受入基準 は​ビジネス上の​期待と​実装結果との​間に​直接的なつながりを​生み出します。​ 技術的な​制約 AIが​生み出す不必要な​複雑さの​最大の​原因の​一つは​技術的な​ガイダンスの​欠如です。​制約が​与えられていない​場合、​Claude Codeは​システムの​他の​部分とは​異なる​新しい​パターン、​依存関係、​または​アーキテクチャアプローチを​導入する​可能性が​あります。​専用の​技術的制約セクションを​設ける​ことで、​この​リスクを​大幅に​軽減できます。​ 例と​しては​以下のような​ものが​あります。​ 既存の​リポジトリパターンを​使用する​こと 顧客との​すべての​コミュニケーションには、​既存の​通知サービスを​再利用する​こと​ 新しい​サードパーティ依存関係を​追加しない​こと​ プロジェクト既存の​APIレスポンス形式に​従う​こと​ 通常負荷時の​レスポンスタイムを​500ms未満に​抑える​こと バリデーションルールと​ビジネスルール ​多くの​要件が​失敗する​原因は​バリデーションロジックが​明文化されず、​暗黙の​前提と​して​扱われている​ことに​あります。​例えば、​仕様書に​「割引コードの​入力を​検証する」とだけ​記載されている​場合、​解釈の​余地が​大きすぎます。​ より​厳格な​仕様では、​ルールが​明確に​定義されています。​ 割引コードの​長さは​50文字以内である​必要が​あります。​ 割引コードの​照合では、​大文字と​小文字を​区別しません。​ 有効期限切れの​コードは​使用できません。​ 割引コードは​併用可能と​明示されている​場合を​除き、​他の​割引コードと​併用できません。​ ビジネスルールが​具体的で​あれば​ある​ほど、​AIが​実装時に​推測する​必要の​ある​部分は​少なくなります。​ テストシナリオと​完了の​定義 最終セクションでは、​その機能が​どのように​検証されるか、​そしていつ​完成したとみなされるかを​定義する​必要が​あります。​ これに​より、​開発者と​AIコーディングエージェントの​双方に​明確な​完了条件を​提示できます。​ 完了の​定義には​以下が​含まれる​場合が​あります。​ すべての​EARS要件が​実装されている​こと 単体テストおよび​統合テストに​合格している​こと​ 受入基準を​満たしている​こと 重大な​セキュリティ上の​問題が​ない​こと​ 関連ドキュメントが​更新されている​こと​ これらの​要素を​組み合わせる​ことで、​従来の​要件定義書を​AI実行向け仕様書へと​変換できます。​EARSは​動作を​記述する​ための​構造を​提供し、​コンテキスト、​用語、​制約、​バリデーションルールは、​Claude Codeが​ビジネス上の​期待に​沿った​コードを​生成する​ために​必要な​情報を​提供します。​しかし、​最も​構造化された​仕様書であっても、​重要な​エッジケースが​見落とされると​失敗する​可能性が​あります。​その​ため、​例外、​障害シナリオ、​境界条件を​文書化する​ことが、​次の​重要な​ステップと​なります。​ CafeKitを​使用して​AI実行向け仕様書を​構築する​ 優れた​仕様書を​作成する​ことは​課題の​一部に​過ぎません。​エンジニアリングチーム全体で​AIの​導入が​進むに​つれて、​組織は​すぐに​別の​問題に​気づきます。​それは、​要件、​ビジネスコンテキスト、​アーキテクチャ上の​決定、​および​ドメイン知識を​長期に​わたって​一貫性を​保つことです。​ 単一の​機能仕様には、​数十もの​EARS要件、​バリデーションルール、​エッジケース、​および​受入基準が​含まれる​場合が​あります。​これを​複数の​チームや​プロジェクトに​またがらせると、​信頼できる​唯一の​情報源を​維持する​ことが、​ますます困難に​なります。​情報が​文書、​チケット、​会議メモ、​チャットの​会話などに​分散している​場合、​AIコーディングエージェントは​不完全または​古い​コンテキストを​受け取る​ことが​よく​あります。​ そこで​価値を​発揮するのが、​CafeKitのような​プラットフォームです。​ CafeKitは​仕様書を​独立した​文書と​して​扱うのではなく、​AIコーディングエージェントが​依存するより​広範な​コンテキストを​チームが​管理できるように​支援します。​要件、​ビジネスルール、​ドメイン用語、​および​関連知識を​構造化された​形式で​整理できる​ため、​人間と​AIの​両方が​同じ情報に​容易に​アクセスできます。​ CafeKitに​ついて​詳しく​見る​:「Vibe Coding」を​超えて​:CafeKitが​AI自動化にもたらす仕様駆動開発​(SDD)​ ビジネスコンテキストの​一元化 AI実装エラーの​最も​一般的な​原因の​一つは​コンテキストの​断片化です。​ビジネス要件は​一つの​ドキュメントに、​アーキテクチャ上の​決定事項は​別の​ドキュメントに、​そして​専門用語は​全く​別の​場所に​記載されていると​いった​具合です。​経験豊富な​開発者で​あれば​こうした​ギャップを​うまく​処理できますが、​重要な​情報が​複数の​ソースに​分散している​場合、​AIエージェントは​困難に​直面します。​ 一元化された​ナレッジベースは​要件と​関連コンテキストに​関する、​信頼できる​唯一の​情報源を​構築する​ことで、​この​問題を​軽減します。​Claude Codeは​推測に​頼るのではなく、​既に​文書化されレビュー済みの​情報に​基づいて​作業できます。​これに​より、​AIが​分散した​情報源から​不完全な​情報を​つなぎ合わせて​推測する​必要が​なくなります。​ 一貫した​ドメイン知識の​維持 システムが​大きくなるに​つれて、​用語の​重要性はますます高まります。​顧客、​会員、​購読者、​ユーザーと​いった​概念は​似ているように​見えますが、​実際には​異なる​ビジネスエンティティを​表している​場合が​少なく​ありません。​共通の​用語集が​ないと、​不整合が​要件、​コード、​API、​ドキュメントに​急速に​広がる​可能性が​あります。​AIに​よる​実装は、​モデルが​用語を​文字通りに​解釈する​傾向が​ある​ため、​特に​この​問題の​影響を​受けやすいと​言えます。​ ドメイン定義を​一元的に​管理する​ことで、​チームは​曖昧さを​減らし、​AI支援開発ワークフロー全体の​一貫性を​向上させる​ことができます。​AIが​「プレミアム顧客」の​意味を​正確に​理解すれば、​微妙な​エラーを​発生させる​ことなく、​関連する​ビジネスルールを​正しく​実装する​コードを​生成します。​ アーキテクチャ上の​意思決定の​維持 要件は​システムが​何を​行うべきかを​説明する​ものであり、​アーキテクチャ上の​決定事項は​システムを​どのように​構築すべきかを​説明する​ものです。​これらの​決定事項は、​設計パターン、​インフラストラクチャの​選択、​統合アプローチ、​パフォーマンス制約などの​トピックを​網羅した​アーキテクチャ決定記録​(ADR)に​よって​文書化される​ことが​よく​あります。​開発者は​これらの​決定事項を​既に​理解しているかもしれませんが、​AIエージェントは​実装時に​アクセス可能な​場合に​のみ、​それらに​従うことができます。​ AIに​アーキテクチャに​関する​ガイダンスを​提供する​ことで、​確立された​エンジニアリング標準からの​不必要な​逸脱を​減らし、​一貫性の​ない​ソリューションを​導入する​リスクを​低減できます。​Claude Codeは​チームが​リポジトリパターンを​使用し、​特定の​API規約に​従っている​ことを​認識すると、​リファクタリングを​必要と​する​新しい​パターンを​導入するのではなく、​既存の​コードベースや​設計方​針と​整合する​コードを​生成します。​ Claude Codeの​ワークフローを​改善する​ 現在、​多くの​チームが​単純な​プロンプトベースの​開発から、​仕様主導型の​ワークフローへと​移行しつつあります。​Claude Codeに​単に​「機能を​作ってください」と​指示するのではなく、​開発プロセスを​次のように​構造化します。​ ビジネス目標と​要件を​定義する。​ EARSの​要件と​受入基準を​文書化する。​ エッジケースと​バリデーションルールを​整理・文書化する。​ アーキテクチャ上の​制約と、​それを​裏付ける​背景情報を​提供する。​ 仕様に​基づいて​実装と​テストを​生成する。​ この​アプローチは​モデルに​よる​推測を​減らし、​明確に​定義された​要件の​実装に​集中できる​ため、​AI支援開発の​基盤を​大幅に​強化します。​その​結果、​コード生成の​質が​向上するだけでなく、​実装の​一貫性が​高まり、​手戻りが​減り、​ビジネス上の​期待と​エンジニアリングの​成果との​整合性が​向上します。​最終的に、​Claude Codeのような​ツールは、​構造化された​仕様環境内で​動作する​ことで、​その​効果を​飛躍的に​高めます。​ 結論​ AIコーディングの​仕様書を​作成する​ことは​人間の​開発者向けの​要件書を​作成する​こととは​根本的に​異なります。​人間の​開発者は​仕様書を​解釈し、​質問、​不足している​部分を​補います。​Claude Codeは​ユーザーが​指定した​内容を​実行します。​仕様や​周辺コードが​曖昧な​場合は、​利用​可能な​コンテキストに​基づいて​最適な​推論を​行います。​EARSは、​トリガー、​条件、​応答を​明示する​ための​構造を​提供し、​要件の​曖昧さを​抑えます。​CafeKitは、​AIエージェントが​ビジネスの​期待に​沿った​コードを​生成する​ために​必要な​ワークスペースと​ワークフロー​(コンテキスト、​用語、​制約、​バリデーションルール)を​提供します。​ Haposoftでは、​これらの​手法を​プロジェクトで​積極的に​活用しており、​コード品質と​開発速度の​向上に​取り​組んでいます。​CafeKitは​オープンソースと​して​早期利用が​可能です。​ぜひインストールして、​AIが​実行しやすい​仕様書の​作成を​体験してみてください。​ご質問や​ご相談が​ございましたら、​お気軽に​ご連絡ください。​弊社が​得た​知見も​喜んで​共有いたします。​ これを​実践に​移す準備は​できましたか?​ CafeKitは​オープンソースであり、​早期利用が​可能です。​インストールして、​実際に​動作する​AIコーディングの​仕様書を​作成しましょう。​ bash npx @haposoft/cafekit GitHub Repository →
cafekit-spec-driven-development-ai-automation
2026年7月7日
15分で​​​読む

「Vibe Coding」を​超えて​:CafeKitが​AI自動化にもたらす仕様駆動開発​(SDD)

AIコーディングアシスタントは​驚異的な​スピードを​約束しますが、​しばしば​プロジェクトの​実際の​アーキテクチャを​無視した​スパゲッティコードを​提供する​ことがあります。​これは​モデルが​独立した​プロンプトに​基づいて​動作する​ため、​複雑な​コードベース全体で​コンテキストを​維持する​ための​構造化された​ワークフローが​欠如している​ことに​起因します。​ Haposoftが​開発した​CafeKitは​Claude Codeに​構造と​説明責任を​もたらす軽量な​ランタイムです。​長い​プロンプトや​手動での​監視に​頼るのではなく、​要件、​コード、​テスト、​ドキュメントが​最初から​最後まで​同期された​状態を​保つ仕様駆動の​ワークフローを​通じて​AIを​ガイドします。​その​結果、​コンテキストの​切り​替えが​少なくなり、​要件の​漏れが​減り、​すべての​リリースに​対する​信頼が​高まる、​より​信頼性の​高い​開発プロセスが​実現します。​ CafeKitとは?​仕様駆動開発の​エンジン CafeKitは​Haposoftが​開発した​軽量な​ランタイムであり、​Claude Codeに​仕様駆動開発​(SDD)を​もたらします。​プロジェクトの​ .claude ディレクトリに​直接インストールする​ことで、​Claudeの​コーディング機能の​上に​構造化された​ワークフローを​追加し、​チームが​コンテキストを​失う​ことなく​要件から​本番環境対応の​コードへと​移行できるようにします。​ CafeKitが​重要である​理由を​理解するには​今日の​AI支援開発が​どのように​行われているかを​見る​価値が​あります。​開発者は​しばしば​プロンプトから​始め、​いく​つかの​コードを​生成し、​いく​つかの​調整を​行い、​次の​タスクへと​移ります。​機能は​動作するかもしれませんが、​要件は​チャット履歴に​埋もれ、​ドキュメントは​古くなり、​最終的な​実装が​元の​意図と​一致しているか​どうかを​完全に​把握している​人は​誰もいません。​ 仕様駆動開発は​仕様を​すべての機能の​起点と​する​ことで​この​問題を​解決します。​コードが​書かれる​前に、​要件、​期待される​動作、​エッジケース、​および​成功基準が​文書化され、​承認されます。​そして、​開発は​その​仕様に​従って​一歩ず​つ​進められ、​実装、​テスト、​ドキュメントが​プロセス全体を​通じて​整合し続けるようにします。​ 続きを​読む:SDDの​記事は​こちら CafeKitは​この​哲学を​AIの​ための​実践的な​ワークフローに​変換する​ツールレイヤーです。​Claudeに​数十の​プロンプトや​プロジェクトルールを​記憶させる​ことに​頼るのではなく、​開発の​すべての​ステージを​ガイドする​一連の​コマンド、​エージェント、​および​自動チェックを​提供します。​機能リクエストは​要件ドキュメントに​なり、​要件は​技術設計に​なり、​設計は​実装が​始まる​前に​検証可能な​タスクに​分解されます。​ この​構造は​AIが​生成した​変更が​複数の​ファイル、​サービス、​または​チームに​またがる​大規模な​プロジェクトで​特に​価値を​発揮します。​品質ゲートを​強制し、​仕様を​コードベースと​同期させ続ける​ことで、​CafeKitは​AI支援開発でしばしば​見られる​「見せかけの​進捗」を​防ぎます。​タスクが​表面的には​完了しているように​見えても、​リグレッションを​引き起こしたり、​既存の​機能を​破壊したり、​元の​要件から​静かに​逸脱したりするのを​防ぎます。​ CafeKitが​AI規律を​自動化する​方​法​(SDD契約の​強制)​ AIが​生成する​コードは​もは​や難しい​部分では​ありません。​本当の​課題は​開発が​進むに​つれて、​コードが​要件、​設計上の​決定、​および​プロジェクト標準に​整合し続ける​ことを​保証する​ことです。​ここで​仕様駆動開発​(SDD)が​価値を​持ち、​CafeKitが​実際に​機能させる​ために​必要な​構造を​提供します。​ なぜAIコーディングワークフローは​崩壊するのか?​ ほとんどの​AIコーディングツールは​できるだけ早く​アウトプットを​生成するように​設計されています。​これは​開発を​加速させる​可能性が​ありますが、​おなじみの​問題も​引き​起こします。​コンテキストが​徐々に​失われていくのです。​ 要件は​チャット履歴に​存在し、​設計上の​決定は​会話中に​散らばり、​ドキュメントは​実装に​追いつけなくなる​ことが​よく​あります。​ これが、​AIを​使用する​際に​多くの​チームが​「仕様の​乖離​(spec drift)」を​経験する​理由です。​機能は​明確な​目標から​始まるかもしれませんが、​複数の​プロンプト、​修正、​および​フォローアップリクエストを​経て、​最終的な​結果が​まだ元の​意図と​一致しているか​どうかを​検証する​ことが​困難に​なります。​プロジェクトが​大きくなればなる​ほど、​この​問題を​管理する​ことは​難しくなります。​ 仕様駆動開発は​仕様を​唯一の​真実の​情報源​(source of truth)と​する​ことで​異なる​アプローチを​取ります。​プロンプトの​履歴に​頼るのではなく、​すべての​要件、​設計上の​決定、​タスク、​および​検証ステップは​承認された​仕様に​紐づけられます。​ Vibe Coding 仕様駆動開発 プロンプトから​始まる​ 承認された​仕様から​始まる​ コンテキストは​チャット履歴に​存在する​ コンテキストは​プロジェクトの​成果物に​存在する​ 小規模な​実験には​高速 複雑な​プロジェクトに​より​スケーラブル ドキュメントは​後で​更新される​ことが​多い​ ドキュメントは​開発と​並行して​進化していく​ 決定の​監査が​困難 すべての​変更は​要件にまで​遡って​追跡可能 CafeKitは​AIを​どのように​軌道に​保つか?​ CafeKitは​Claude Code内で​この​プロセスを​運用化します。​プロジェクトの​ .claude ディレクトリに​インストールされると、​作業が​承認された​仕様に​整合し続ける​ことを​保証するのに​役立つ、​一連の​専門エージェントと​ワークフロールールを​導入します。​ 開発者が​すべての​ステップを​手動で​チェックする​ことに​頼るのではなく、​CafeKitは​ワークフロー全体を​通じて​特定の​責任を​目的に​応じて​構築された​エージェント群に​委任します。​作業を​整合させ続ける​ために​最も​重要な​3つの​エージェントは​以下の​通りです: Tester Agent​(test-runner)​ 事前定義された​テストコマンド、​受け入れ基準、​および​期待される​動作に​対して​実装を​検証します。​ Reviewer Agent​(code-auditor)​ 完了した​作業が​承認された​仕様を​満たし、​プロジェクト標準に​従っているか​どうかを​チェックします。​ Doc-Sync Agent​(docs-keeper)​ 開発の​進行に​合わせて、​ドキュメント、​プロジェクトレコード、​および​仕様を​同期し続けます。​ これらの​チェックは​ワークフロー自体に​組み込まれている​ため、​開発者は​コンテキストを​繰り返し伝えたり、​前提条件を​検証したり、​古い​ドキュメントを​追跡したりする​時間を​減らすことができます。​CCafeKitの​エージェントと​自動チェック​機能が、​開発プロセス全体を​強力に​サポートします。​ コードが​先に​進む前に​何が​起こるのか?​ AIが​生成した​コードは​実際に​出荷​(ship)の​準備が​整うずっと​前に、​完成しているように​見える​ことが​よく​あります。​機能は​クイックレビューでは​動作しているように​見えるかもしれませんが、​エッジケースを​見落としたり、​統合テストに​失敗したり、​ドキュメントが​古いままであったりする​可能性が​あります。​チームが​AIに​より​大きく​依存するようになるに​つれ、​これらの​小さな​ギャップは​より​大きな​メンテナンス問題に​蓄積する​可能性が​あります。​ CafeKitは​コード生成を​ワークフローの​ほんの​1ステップと​して​扱う​ことで​この​問題に​対処します。​タスクが​完了と​みなされる​前に、​実装は​承認された​仕様を​満たし、​必要な​検証チェックに​合格しなければなりません。​ドキュメントの​更新も​プロセスの​一部と​して​強制する​ことができ、​チームは​数週間後に​プロジェクトの​知識を​更新するのではなく、​コードベースと​整合した​状態を​保つことができます。​ 目標は​プロセスの​ために​プロセスを​追加する​ことでは​ありません。​進捗が​生成された​アウトプットではなく、​検証された​成果に​よって​測定される​ワークフローを​作成する​ことです。​これに​より、​チームは​AIが​生成する​ものに​対してより​大きな​信頼を​持つことができ、​作業が​次に​進む前に​必要な​手動での​検証量を​減らすことができます。​ CafeKitワークフロー:Spec to Shipの​6つの​ステップ ほとんどの​AIコーディングセッションは​プロンプトから​始まります。​CafeKitは​仕様から​始まります。​ Claudeに​機能全体を​即興で​推測させるのではなく、​CafeKitは​構造化された​シーケンスを​強制します。​ すべての​ステージは​検証可能な​成果物を​生成し、​コードベースが​スケールしても​コンテキストが​失われないようにします。​ステップ1~5は​既に​実装済みです。​ステップ6​(/hapo:deploy)は​ロードマップ上に​あります。​現時点では​デプロイメントは​ /hapo:devops スキルを​通じて​処理されます。​なお、​/hapo:develop は​すでに​各タスクの​後に​内部品質ゲート​(セルフヒーリングを​伴う​テスト、​仕様レビュー、​コードレビュー)を​実行している​ため、​ステップ3と​4は​QAが​行われる​唯一の​場所ではなく、​より​明示的で​広範な​検証パスである​ことに​注意してください。​ ステージ コマンド 得られる​もの​ Spec /hapo:specs 検証を​伴う​機能契約 Develop /hapo:develop タスクパケットごとの​段階的な​実装 Test /hapo:test 実際の​ビルドシグナルに​よる​検証 Review /hapo:code-review リグレッションおよび​セキュリティチェック Git /hapo:git 安全な​コミットおよび​プッシュワークフロー Deploy /hapo:deploy お使いの​スタックへの​デプロイメントハンドオフ(ロードマップ上)​ ステップ1:/hapo:specs で​機能契約を​作成する​ ここでは​曖昧な​プロダクトアイデアが​厳密な​エンジニアリング契約に​変換されます。​この​コマンドは​機能リクエストを​キャプチャし、​構造化された​スペックワークスペース​(要件、​リサーチ、​設計、​検証可能な​タスクファイル)を、​明示的な​スコープ、​動作、​制約、​および​成功基準とともに​生成します。​ 次に、​/hapo:specs validate を​使用して​スペックを​検証し、​要件が​完全で​あり実装の​準備が​できている​ことを​確認します。​タスクレジストリは​検証ステータスを​追跡し、​すべての​チェックに​合格するまで​AIは​先に​進むことができません。​ ステップ2:/hapo:develop で​一度に​1つの​タスクパケットを​実装する​ スペックステージ中に、​CafeKitは​すでに​承認された​スペックを​アトミックで​独立して​テスト可能な​タスクパケットに​分解しています。​各パケットには​単一の​目的、​明示的な​完了基準、​および​事前定義された​検証コマンドが​あります。​特定の​タスクパケットを​指定して​ /hapo:develop を​実行すると、​Claudeは​その​作業の​正確な​部分だけを​実装します。​それ以上​でも​それ以下でもありません。​これに​より、​コンテキストウィンドウが​いっぱいに​なるに​つれて​AIが​見失うのを​防ぎ、​スコープクリープを​排除し、​AIが​承認された​設計から​逸脱するのを​防ぎます。​ ステップ3:実際の​ビルドおよび​ランタイムシグナルで​検証 /hapo:test 自動品質ゲートを​パスするまで、​実装は​完了とは​みなされません。​/hapo:test を​実行すると、​タスクパケットで​定義された​正確な​検証コマンドが​実行され、​実際の​ビルド出力および​ランタイム動作に​対して​チェックが​行われます。​テストに​失敗したら​どうなるでしょうか?​ワークフローは​即座に​停止します。​AIは​自分の​ミスを​修正し、​先に​進む前に​テストを​再実行しなければなりません。​これに​より、​タスクチェックリスト上では​完了しているように​見えても​実際には​ビルドを​壊していると​いう​「見せかけの​進捗」を​完全に​排除します。​ ステップ4:/hapo:code-review - リグレッションと​セキュリティの​レビュー コードが​メインブランチに​触れる​前に、​CafeKitは​構造化された​レビュープロセスを​強制します。​/hapo:code-review --pending コマンドは​リグレッション、​セキュリティの​脆弱性、​および​アーキテクチャの​不一致を​スキャンする​スペシャリストエージェントを​トリガーします。​これらの​エージェントは​元の​スペックに​対して​実装を​クロスチェックし、​逸脱を​最小限に​抑えます。​レビューの​判定が​肯定的である​場合に​のみ、​作業は​次の​ステージに​進む資格を​得ます。​ ステップ5:/hapo:git - 安全な​コミットと​プッシュ すべての​品質ゲートを​パスすると、​/hapo:git commit コマンドは​クリーンで​検証済みの​コミットを​準備します。​ワークフローの​早い​段階で​更新された​ドキュメントは​コードと​一緒に​コミットされます。​ランタイムは​スペックレジストリと​タスクの​状態が​実際の​実装と​同期している​ことを​保証します。​次に、​/hapo:git push が​作業を​リモートリポジトリに​安全に​転送します。​すべての​コミットは​承認された​スペックと​検証済みの​タスクパケットにまで​遡って​追跡可能です。​ ステップ6:/hapo:deploy - デプロイメントハンドオフに​よる​出荷 最終ステージでは​検証済みの​リリース候補を​お使いの​既存の​デプロイスタックに​ハンドオフします。​Vercel、​AWS、​または​カスタムCI/CDパイプラインを​使用している​場合でも、​/hapo:deploy は​すべての​チェックポイントを​パスした​コードのみが​デプロイメントプロセスに​渡される​ことを​保証します。​ドキュメント、​スペックレジストリ、​および本番コードベースは​常に​整合した​状態に​保たれます。​ CafeKitの​始め方​ CafeKitの​最大の​利点の​一つは​既存の​開発ワークフローに​非常に​簡単に​導入できる​ことです。​フレームワークを​移行したり、​ツールを​置き換えたり、​技術スタックを​刷新したりする​必要は​ありません。​ CafeKitは​Claude Codeと​連携して​動作し、​チームが​すでに​ソフトウェアを​構築している​方​法を​妨げる​ことなく、​仕様駆動開発に​必要な​構造を​追加します。​ CafeKitの​インストール ランタイムを​インストールするには​プロジェクトの​ルートディレクトリに​移動して​次の​コマンドを​実行するだけです: npx @haposoft/cafekit これだけです。​この​1つの​コマンドで、​必要な​スラッシュコマンド、​ワークフローテンプレート、​および​運用ルールを​使用して​ .claude ディレクトリが​プロビジョニングされます。​高度な​設定、​カスタムフック、​および​エッジケースの​処理に​ついて​詳しくは​公式の​「From Zero to CafeKit」​ガイドに​従ってください。​前提条件:Node.js 18以上​および​Claude Codeプロジェクト​(.claude ディレクトリ)。​CafeKitは​ .opencode を​介して​OpenCodeも​サポートしています。​ インストール後、​すぐに​spec-to-shipライフサイクルを​トリガーできます:/hapo:specs → /hapo:develop → /hapo:test → /hapo:code-review → /hapo:git → /hapo:deploy また、​ワークフローには​スペックが​存在する​前に​要件を​探索する​ための​初期ステージコマンドである​ /hapo:question や​ /hapo:brainstorm も​含まれています。​ サポートの​取得 CafeKitは​完全に​スタックに​依存しない​(stack-agnostic)​ため、​Node.jsや​Pythonから​Ruby on Rails、​最新の​フロントエンドフレームワークまで、​すべてを​サポートします。​チームは​分離された​レガシーモジュールや​グリーンフィールドプロジェクトで、​ワークフローを​段階的に​導入できます。​エンジニアリング組織で​大規模な​SDDを​評価しており、​実践的な​実装ガイダンスを​必要と​している​場合は​直接サポートを​利用できます。​CafeKitの​問い​合わせフォームから​技術的な​ウォークスルーを​リクエストするか、​特定の​アーキテクチャに​ついて​議論する​ために​ sale@haposoft.com まで​直接ご連絡ください。​ 結論​:確かな​開発は、​確かな​プロセスから​ 現代の​AIコーディングに​おける​最大の​課題は、もは​やコード生成の​速度では​ありません。​求められているのは、​コンテキストを​維持し、​アーキテクチャとの​整合性を​保ちながら​開発を​進める​ことです。​構造化されていない​プロンプトは、​ロジックの​断片化や​ハルシネーションに​よる​誤った​依存関係を​生み、​結果と​して​技術的負債の​増加に​つながりがちです。​ CafeKitは、​AI支援開発に​構造を​もたらす​ことで、​こうした​課題を​解決します。​AIを​単なる​高性能な​コード補完ツールと​して​使うのではなく、​仕様・実装・テスト・ドキュメントが​一貫して​連携する​開発環境へと​Claude Codeを​進化させます。​ AI支援開発を​試している​段階でも、​チーム全体​へ​安全か​つ着実に​展開したい​場合でも、​CafeKitは​実践的な​スタート地点と​なります。​ 実際の​プロジェクトで​どのように​機能するのか、​ぜひ体験してみませんか。​Haposoftの​デモを​ご予約いただくか、​次回の​機能開発で​CafeKitを​試して、​spec-to-shipワークフローを​ぜひご体感ください。
spec-driven-development-for-claude-code
2026年7月1日
20分で​​​読む

Claude Codeの​ための​仕様駆動​開発:CafeKit、​GitHub Spec Kit、​BMAD、​claude-code-spec-workflowの​比較

Claude Codeのような​AIコーディングエージェントは​開発速度を​大幅に​向上させますが、​同時に​新たな​課題も​生み出します。​コード自体は​正しく​見えても​要件を​満たしていない、​セッションを​またぐと​コンテキストが​失われる、​大規模な​変更に​よって​設計の​一貫性が​崩れると​いった​問題です。​ 仕様駆動開発​(SDD)は​要件定義、​計画、​タスク化、​実装と​いう​構造を​導入する​ことで、​これらの​課題を​解決します。​AIに​直接プロンプトを​入力するのではなく、​チームが​事前に​要件を​定義し、​明確な​仕様に​基づいて​AIに​実行させる​アプローチです。​ 本記事では​Claude Codeで​利用​可能な​4つの​SDDツールを​比較します: ● CafeKit​(Haposoft)​ ● GitHub Spec Kit ● BMAD-METHOD ● claude-code-spec-workflow 各ツールの​ワークフロー、​強み、​トレードオフ、​そして​特に​B2Bエンタープライズチームに​最適な​シナリオに​ついて​解説します。​ Claude Codeに​おける​仕様駆動開発の​理解 多くの​チームは​Claude Codeを​シンプルな​方法で​使い​始めます。​プロンプトを​書いて​コードを​生成し、​出力を​レビューし、​不足が​あれば​プロンプトを​修正すると​いう​流れです。​これは​小規模な​機能や​独立した​タスクに​おいては​うまく​機能します。​しかし、​プロジェクトが​大型化すると​要件の​追跡が​難しくなり、​実装に​関する​決定事項が​会話の​中に​散らばり、​重要な​コンテキストが​セッション間で​失われやすくなります。​ 仕様駆動開発​(SDD)は​異なる​アプローチを​とります。​プロンプトを​指示の​主な​情報源と​して​扱うのではなく、​仕様を​開発プロセスの​基盤と​して​扱います。​要件、​実装計画、​タスク、​技術的な​決定事項が​開発前に​ドキュメント化される​ことで、​プロジェクトの​ライフサイクル全体を​通じて、​開発者と​AIエージェントの​間に​共通の​「唯一の​真実の​情報源​(Single Source of Truth)」が​生まれます。​ SDDワークフローの​仕組み すべての​フレームワークに​独自の​手法が​ありますが、​ほとんどの​SDDワークフローは​以下の​4つの​コアステージに​従います。​ ステージ 説明 要件定義​(Specify)​ 要件、​ビジネスルール、​受入基準を​定義する​ 計画​(Plan)​ 技術設計と​実装計画を​作成する​ タスク化​(Task)​ 作業を​小さく​実行可能な​タスクに​分解する​ 実装​(Implement)​ 承認された​仕様に​基づいて​コードを​生成・レビューする​ 目的は​ドキュメントを​増やす​ことでは​ありません。​曖昧さを​排除する​ことです。​要件、​計画、​タスクが​すでに​定義されていれば、​Claude Codeは​意図を​解釈する​時間を​減らし、​明確に​定義された​作業の​実行に​集中できます。​これは​複数の​ビジネスルール、​ステークホルダー、​開発イテレーションが​絡む大規模な​機能に​おいて​特に​価値を​発揮します。​ Claude Codeと​SDDの​相性が​良い​理由 AIコーディングエージェントを​利用する​際の​最大の​課題の​一つは​長期的な​一貫性の​維持です。​数日または​数週間かけて​完成させる​機能には​何百もの​要件、​決定事項、​実装の​詳細が​含まれる​場合が​あります。​その​情報の​一部は​プロンプトに、​一部は​ドキュメントに、​そして​一部は​チームメンバー間の​会話の​中に​しか​存在しません。​ SDDは​これらの​決定事項を​構造化された​ワークフローに​統合します。​仕様は​「何を」構築するかを​定義し、​計画は​「どのように」構築するかを​定義し、​タスクは​「次に​何を」実装するかを​定義します。​これに​より、​Claude Codeは​プロンプトの​履歴に​依存するのではなく、​ドキュメント化された​計画に​基づいて​作業できる​ため、​開発プロセスが​より​予測可能で​管理しやすくなります。​ Claude Code向け4つの​SDDツールの​詳細比較 CafeKit​(Haposoft)​ cafekit.haposoft.com CafeKitは​Haposoftが​開発した​オープンソースの​仕様駆動開発​(SDD)​ツールです。​この​フレームワークは​要件定義、​技術設計から​実装、​テスト、​レビューまで、​ソフトウェア開発ライフサイクル全体を​チームに​ガイドします。​本記事で​比較する​他の​SDDツールと​比較して、​CafeKitは​最も​詳細な​フェーズ構造を​提供し、​ドキュメンテーション、​品質管理、​トレーサビリティに​より​重点を​置いています。​ フェーズ​構造:6フェーズ CafeKitは​開発を​6つの​明確な​フェーズに​整理します。​各フェーズは​独自の​成果物を​生み出し、​ワークフローの​次の​ステージへの​インプットと​して​機能します。​ 要件定義 — EARS​(Easy Approach to Requirements Syntax)を​使用して​ビジネス要件を​構造化された​仕様に​変換し、​曖昧さを​排除 設計 — アーキテクチャ、​データベース設計、​API契約、​技術的な​決定事項を​定義 タスク分解 — 設計を、​複雑度の​見積もりを​含む独立して​実行可能な​タスクに​分割 実装 — 設計と​技術的制約に​従って、​各タスクの​コードを​生成 テスト — テスト計画、​テストケースを​作成し、​自動テストを​実行 レビュー — コード品質を​評価し、​仕様との​一貫性を​チェックし、​決定事項を​記録 他の​ツールとの​最大の​違いは​CafeKitが​「テスト」と​「レビュー」を​独立した​フェーズと​して​分離している​点です。​GitHub Spec Kitや​BMADが​これらの​アクティビティを​実装フェーズに​組み込むか、​メインフローの​外に​配置しているのに​対し、​CafeKitは​それらを​必須ステージと​して​扱います。​これは​厳格な​品質管理や​エンタープライズ向けの​テスト・レビュー基準への​準拠が​求められる​プロジェクトに​おいて​特に​価値が​あります。​ 主な​機能 ● 生成される​すべての​成果物​(要件定義書、​設計書、​テスト計画、​レビュー記録)に​対する​ネイティブな​日本語サポート ● フェーズ固有の​テンプレートを​備えた、​Claude Codeに​最適化された​スラッシュコマンドシステム ● コードと​並行して、​エンタープライズ形式の​ドキュメントを​自動生成 ● 実際の​オフショア開発プロジェクトで​検証された​手法に​基づいて​構築 最適な​用途 CafeKitは​小規模から​大規模プロジェクトの​両方で​効果を​発揮します。​特に、​厳格な​ドキュメント要件と​形式的なな​品質管理プロセスを​持つエンタープライズ環境で​強みを​発揮します。​詳細な​フェーズ構造は​明確な​引き継ぎが​コミュニケーションの​誤解を​減らす分散チームに​とって​価値が​あります。​各ステージで​正式な​成果物を​必要と​する​組織は​CafeKitが​自社の​ワークフローに​適合していると​感じるでしょう。​ GitHub Spec Kit github.com/github/spec-kit GitHub Spec Kitは​GitHubが​2025年9月に​リリースした​公式の​仕様駆動開発ツールです。​急速に​普及しており、​現在、​デファクトスタンダードの​最有力候補と​なっています。​現在の​バージ​ョンは​0.9.5​(2026年6月上旬時点)です。​GitHubは​これを​実験的な​プロジェクトと​して​位置付けており、​コミュニティの​フィードバックは​賛否両論です。​チームは​その​構造と​予測​可能性を​評価する​一方で、​他の​ツールと​比較して​トークン消費量が​多く、​ワークフローが​遅いと​指摘しています。​ フェーズ​構造:4フェーズ /speckit.specify → /speckit.plan → /speckit.tasks → /speckit.implement 各コマンドは​次の​フェーズに​フィードされる​成果物を​生成します。​ワークフローは​直線的ですが、​修正コマンドを​通じて​イテレーションを​サポートします。​要件定義フェーズで​要件を​キャプチャし、​計画フェーズで​アプローチを​定義し、​タスクフェーズで​作業を​単位に​分解し、​実装フェーズで​コードを​生成します。​ この​構造の​最大の​利点は​シンプルさです。​チームは​4つの​コマンドを​すぐに​学び、​最小限の​学習コストで​ツールを​使い​始められます。​しかし、​シンプルさは​CafeKitの​6フェーズアプローチと​比較して、​より​細かい​制御が​不可能である​ことを​意味します。​ テストと​レビューの​アクティビティは​独立した​フェーズと​して​明示的に​呼び出されていないため、​チームが​メインフローの​外に​独自の​品質ゲートを​構築する​必要が​あるかもしれません。​ 主な​機能 ● 20以上の​AIエージェント​(Claude Code、​GitHub Copilot、​Cursor、​Gemini CLIなど)を​サポートする​エージェント非依存設計 ● 2層の​カスタマイズ:拡張機能​(Extensions)と​プリセット​(Presets)​ ● 機能の​自動ナンバリング、​ブランチ作成、​ディレクトリ構造の​自動生成 ● 品質検証コマンド:/speckit.checklist​(仕様の​品質)と​ /speckit.analyze​(成果物間の​一貫性)​ ● 一時停止と​再開を​サポートする、​マルチステップ自動化に​対応した​YAML定義ワークフロー ● 活発な​OSSコミュニティと​迅速な​機能開発 最適な​用途 GitHub Spec Kitは​グローバルな​英語環境で​新製品を​構築する​チームに​最適です。​複数の​AIコーディングエージェントを​同時に​使用する​組織で​うまく​機能します。​OSSの​トレンドに​従う​スタートアップや​モダンな​SaaS企業は​活発な​コミュニティと​迅速な​開発ペースから​恩恵を​受けます。​最新の​SDDプラクティスに​追従する​ことを​優先する​チームは​この​ツールを​検討すべきです。​ BMAD-METHOD docs.bmad-method.org BMADは​「Breakthrough Method for Agile AI-Driven Development」の​略称で、​アジャイルの​コンテキストの​中で​仕様駆動開発を​再構築する​フレームワークです。​定義上の​特徴は​開発プロセス全体を​通じて​異なる​AIエージェントが​専門的な​役割を​担う​マルチエージェントアーキテクチャです。​この​フレームワークは​最近、​BMAD Method v6の​リリースに​伴い、​.claude/commands から​ .claude/skills に​移行し、​Claude Codeの​ネイティブ実装を​提供しています。​ フェーズ​構造:4フェーズ 分析​(Analysis)​ → 計画​(Planning)​ → ソリューション設計​(Solutioning)​ → 実装​(Implementation)​ 分析フェーズは​ビジネス要件と​ユーザーニーズの​理解に​焦点を​当てます。​計画フェーズでは​エピック、​ストーリー、​スプリント計画を​作成します。​ソリューション設計フェーズは​アーキテクチャと​技術設計を​処理します。​実装フェーズでは​コードの​生成と​テストの​実行を​行います。​ ワークフローを​直線的な​シーケンスと​して​扱う​他の​ツールとは​異なり、​BMADは​マルチエージェントシステムを​通じて​フェーズを​またいだ並列実行を​サポートします。​複数の​専門エージェントが​プロジェクトの​異なる​側面に​対して​同時に​作業できる​ため、​大規模な​チームや​長期的な​プロジェクトに​適しています。​ 主な​機能 ● 明確な​役割を​持つ21の​専門エージェント​(ビジネスアナリスト、​プロダクトマネージャー、​アーキテクト、​開発者、​スクラムマスター、​QA)​ ● 一般的な​開発シナリオを​カバーする​50以上の​ガイド付きワークフロー ● 複数の​AIツール​(Claude Code、​Cursor、​Windsurf、​GitHub Copilot)の​ネイティブ実装 ● スプリント計画、​ストーリー作成、​並列実装の​サポート ● ゲーム開発、​DevOps、​インフラなどの​専門ドメイン向け拡張パック ● スクラムおよび​アジャイル手法との​強力な​親和性 最適な​用途 BMAD-METHODは​役割が​明確に​定義された​アジャイルチーム向けに​設計されています。​要件が​複数の​スプリントに​わたって​進化する​長期プロダクト開発に​最適です。​大規模な​リファクタリングプロジェクトも、​構造化された​エージェントの​協業から​恩恵を​受けます。​専任の​プロダクトオーナーや​アーキテクトを​擁する​チームは​役割ベースの​アプローチを​自然に​活用できるでしょう。​ claude-code-spec-workflow​(Pimzino)​ github.com/Pimzino/claude-code-spec-workflow claude-code-spec-workflowは​個人開発者の​Pimzino氏に​よって​作成された、​軽量で​実用的な​SDDツールです。​現在、​GitHubで​2,544スター、​月間約5,450ダウンロード(バージョン1.5.9)を​記録しています。​この​ツールは​シンプルさを​追求して​設計されており、​ワンコマンドでの​インストールと、​実用的な​日常の​開発ワークフローに​焦点を​当てています。​著者は​現在、​MCPベースの​バージョン​(@pimzino/claude-code-spec-workflow-mcp)​へ​開発の​焦点を​移しており、​現在の​バージ​ョンは​今後の​アップデートが​少なくなる​見込みです。​ フェーズ構造 この​ツールは​作業の​種類に​応じて​2つの​独立した​ワークフローを​提供します。​ 新機能ワークフロー: 要件定義 → 設計 → タスク化 → 実装 バグ修正ワークフロー: 報告 → 分析 → 修正 → 検証 バグ修正ワークフローは​この​ツールの​最も​特徴的な​機能です。​本記事で​比較する​他の​ツールは​バグ修正専用の​フローを​提供しておらず、​新機能の​構築ではなく​イシューの​解決が​主要な​アクティビティである​保守プロジェクトに​特に​適しています。​ 主な​機能 ● ワンコマンドインストール:npx @pimzino/claude-code-spec-workflow ● バグ修正用の​独立した​ワークフロー​(報告 → 分析 → 修正 → 検証)​ ● 仕様全体の​進捗状況を​表示する​リアルタイムダッシュボード ● 最小限の​セットアップで​軽量かつ簡単に​導入可能 ● 実用的な​日常の​開発シナリオに​焦点を​当てた設計 最適な​用途 claude-code-spec-workflowは​バグ修正や​小規模な​機能追加を​中心とした​保守プロジェクトに​最適です。​重い​フレームワークに​コミットする​ことなく​SDDを​試したい​チームに​適しています。​軽量な​代替案を​探している​中小規模の​チームは​簡単に​導入できるでしょう。​グリーンフィールド開発ではなく、​既存の​プロダクトを​主に​扱う​チームは​専用の​バグ修正ワークフローを​高く​評価するはずです。​ 比較まとめ 基準 CafeKit GitHub Spec Kit BMAD-METHOD claude-code-spec-workflow 開発元 Haposoft GitHub公式 BMAD Code Organization 個人OSS (Pimzino) フェーズ数 6​(テスト、​レビューを​分離)​ 4 4 4 日本語サポート ネイティブ プリセットで​対応 限定的 なし 対応AIエージェント Claude Code 20以上​(エージェント非依存)​ Claude Code, Cursor, Windsurf, Copilot Claude Code 学習コスト 低い​ 中程度 高い​ 低い​ カスタマイズ性 中程度 高い​(拡張/プリセット)​ 高い​(21の​エージェント)​ 低い​ 現在の​ステータス アクティブ​(本番環境)​ 実験的​(v0.9.5)​ アクティブ​(v6)​ MCPへ​移行中 最大の​強み エンタープライズプロセス、​ドキュメント エージェント非依存、​標準化 マルチエージェント協業、​アジャイル バグ修正ワークフロー、​軽量 CafeKitは​ドキュメント、​品質管理、​フェーズベースの​デリバリーに​焦点を​当てています。​GitHub Spec Kitは​複数の​AIコーディングエージェントで​機能する​シンプルで​拡張性の​高い​ワークフローを​強調しています。​BMAD-METHODは​専門的な​AIロールを​中心に​構築された​アジャイルファーストの​アプローチを​とり、​claude-code-spec-workflowは​シンプルさと​日常の​実用性を​優先しています。​ 4つの​ツールは​AI支援開発の​基盤と​して​仕様を​使用すると​いう​同じ​コアアイデアを​共有しています。​違いは​どれだけの​構造を​導入するか、​そして​どの​開発課題を​優先するかです。​ほとんどの​チームに​とって、​選択は​機能の​豊富さよりも​ワークフローの​嗜好に​関係します。​最高の​ツールは​通常、​チームが​すでに​ソフトウェアを​計画、​レビュー、​デリバリーしている​方​法に​合致する​ものです。​ どの​ツールを​選ぶべきか?​ 適切な​選択は​プロジェクトの​タイプ、​チーム構成、​開発ワークフローに​よって​異なります。​以下の​表は​各シナリオに​最適な​ツールを​まとめた​ものです。​ シナリオ 推奨ツール 理由 形式な​ドキュメント要件を​持つエンタープライズプロジェクト CafeKit 専用の​テストと​レビューステージを​備えた​構造化された​6フェーズワークフロー グローバルチームに​よる​新製品開発 GitHub Spec Kit 強力な​コミュニティサポート、​エージェント非依存設計、​急速な​エコシステムの​成長 長期プロダクトを​管理する​アジャイルチーム BMAD-METHOD アジャイルおよび​スクラムプラクティスに​合わせた​役割ベースの​ワークフロー 保守プロジェクトおよび​バグ修正中心の​ワークロード claude-code-spec-workflow 専用の​バグ修正ワークフローと​最小限の​セットアップ要件 形式な​ドキュメント要件を​持つエンタープライズプロジェクト 推奨ツール: CafeKit CafeKitの​6フェーズ構造は​各ステージで​正式な​成果物を​必要と​する​エンタープライズの​デリバリープロセスに​適合しています。​要件定義書、​設計仕様書、​テスト計画、​レビュー記録は​オプションの​成果物ではなく、​ワークフローの​一部と​して​扱われます。​規制産業、​大規模な​クライアント、​または​厳格な​品質保証プロセスで​作業する​チームは​この​アプローチから​最も​恩恵を​受けます。​ グローバルチームに​よる​新製品開発 推奨ツール: GitHub Spec Kit GitHub Spec Kitは​分散環境で​新製品を​構築する​チームに​とって​強力な​オプションです。​エージェント非依存の​アーキテクチャは​幅広い​AIコーディングツールを​サポートし、​活発な​オープンソースコミュニティは​ワークフローと​ベストプラクティスを​最新に​保ちます。​モダンな​AI支援開発の​トレンドに​すでに​従っている​チームは​比較的スムーズに​導入できるでしょう。​ 長期プロダクトを​管理する​アジャイルチーム 推奨ツール: BMAD-METHOD BMAD-METHODは​すでに​アジャイルの​役割と​プロセスで​運用している​組織に​自然に​適合します。​この​フレームワークは​専門的な​AIエージェントを​通じて、​スプリント計画、​ストーリー作成、​アーキテクチャ設計、​実装を​サポートします。​これは​複数の​リリースと​進化する​要件に​またがる​プロダクトチームに​特に​有用です。​ 保守プロジェクトおよび​バグ修正中心の​ワークロード 推奨ツール: claude-code-spec-workflow 専用の​バグ修正ワークフローが​ここでの​最大の​差別化要因です。​機能開発プロセスを​保守作業に​適用するのではなく、​チームは​イシュー解決の​ために​特別に​設計された​ワークフローに​従うことができます。​軽量な​セットアップと​低い​学習コストは​小規模な​チームに​とって​実用的な​オプションでもあります。​ 複数の​SDDツールを​併用する​ことは​可能か?​ 仕様駆動開発を​導入するに​あたって、​組織が​単一の​フレームワークに​標準化する​必要は​ありません。​実際には​異なる​チームが​異なる​要件、​ワークフロー、​プロジェクトタイプを​持つことが​よく​あります。​新製品チームで​うまく​機能する​ツールが、​保守チームや​エンタープライズデリバリープロジェクトに​最適とは​限りません。​ 一般的な​アプローチは​組織全体で​単一の​標準を​強制するのではなく、​プロジェクトの​特性に​基づいて​ツールを​選択する​ことです。​例えば、​形式な​ドキュメント要件を​持つエンタープライズクライアントの​プロジェクトは​CafeKitの​構造化された​ワークフローから​恩恵を​受けるかもしれません。​新しい​アプリケーションを​構築する​プロダクトチームは​活発な​エコシステムと​エージェント非依存設計の​ため、​GitHub Spec Kitを​好むかもしれません。​主に​保守と​バグ修正に​注力する​チームは​専用の​バグ修正ワークフローに​より、​claude-code-spec-workflowが​より​実用的だと​感じるかもしれません。​ 良い​ニュースは​これらの​ツールが​相互に​排他的ではないと​いう​ことです。​ほとんどは​Claude Code内の​コマンドベースの​ワークフローと​して​機能し、​同じ​エンジニアリング組織内で​共存できます。​これに​より、​チームは​プロジェクトの​ニーズに​最も​適した​ワークフローを​採用しつつ、​使い​慣れた​AI開発環境を​使い続ける​ことができます。​ 目標は​最も​機能豊富な​フレームワークを​選ぶことでは​ありません。​目標は​チームが​より​一貫して​ソフトウェアを​デリバリーするのに​役立つワークフローを​選ぶことです。​多くの​組織に​とって、​それは​異なる​種類の​作業に​異なる​SDDツールを​使用する​ことを​含むかもしれません。​ まとめ 仕様駆動開発は​2025年後半以降、​大きく​成熟しました。​GitHub Spec Kitは​標準化と​マルチエージェントサポートで​リードしています。​BMAD-METHODは​アジャイル環境で​卓越しています。​claude-code-spec-workflowは​ユニークな​バグ修正ワークフローを​備えた​軽量な​オプションを​提供します。​CafeKitは​強力な​ドキュメントサポートを​備えた​エンタープライズグレードの​構造を​提供します。​ 最適な​選択は​プロジェクトの​タイプと​チーム構成に​よって​異なります。​ハイブリッドな​環境では​複数の​ツールを​並行して​使用する​ことが​実用的な​戦略です。​ チームで​仕様駆動開発を​試す準備は​できましたか?​ CafeKitから​始めましょう。​オープンソースですぐに​使用できます。​今すぐ​インストールして、​構造化された​AI支援開発を​体験してください。​ bash 1 GitHubリポジトリ → 組織での​SDD導入に​ついて​ご質問は​ありませんか?​お気軽に​お問い​合わせください。​経験に​基づいた​サポートを​ご提供します。​ CafeKitと​Haposoftに​ついて​ CafeKitは​ cafekit.haposoft.com で​ご利用いただけます。​導入サポート、​カスタマイズ、​または​社内トレーニングに​ついては​Haposoftまで​ご連絡ください。​ 株式会社Haposoft ● 本社:ベトナム・ハノイ ● 日本オフィス:Haposoft Japan​(東京都渋谷区恵比寿)​ ● 200名以上の​エンジニア、​ISO 9001:2015 / ISO 27001 認証取得、​AWS Select Tier Partne
spec-driven-development-what-is
2026年6月2日
20分で​​​読む

Spec-Driven Development​(仕様駆動開発)とは​?AI時代の​新しい​ソフトウェア開発手法を​紐解く

Claude Codeや​GitHub Copilot と​いった​AIコーディングエージェントの​登場は​ソフトウェアの​開発方​法を​根本的に​変革しました。​「自然言語で​指示を​与えるだけで、​AIが​コードを​書いてくれる」​数年前までは​夢物語だった​ことが、​今や​日常の​現実と​なっています。​しかし、​導入が​拡大するに​つれて、​以下のような​共通の​課題が​顕在化しています: ​「3 時間前に​立てた​計画は​どうだったっけ?」 と​いう​チャット履歴を​スクロールする​時間が​増加している​ AI に​タスクを​依頼した後、​想定外の​機能を​実装してしまう​(過剰設計)​ 会話が​続くに​つれて、​重要な​仕様が​コンテキストの​中に​埋もれてしまう​ セッションを​切り​替える​際、​再度AIに​コンテキストを​説明しなければならない​ だから​こそ、​より​多くの​チームが​純粋な​「Vibe Coding​(感覚的コーディング)」ワークフローから​離れ、​Spec-Driven Development​(SDDまたは​仕様駆動開発)に​注目するようになっています。​散発的な​プロンプトに​依存するのではなく、​SDDは​開発プロセスの​中心に​仕様を​据えます。​仕様は​実装全体を​通じて​エンジニアと​AI コーディングエージェントの​双方に​とっての​共通参照ポイントと​なるのです。​ 1. Spec-Driven Development​(SDD)とは?​ 1.1 定義 Spec-Driven Development​(SDD)とは​仕様書を​「単一の​信頼源​(Single Source of Truth)」と​位置付け、​コーディングエージェントが​その​仕様に​基づいて​コード生成を​行う​開発手法です。​ 従来の​開発では​通常​「コードファースト」の​ワークフローが​採用されます。​開発者が​まずコードを​書き、​その後で​ドキュメントを​更新します。​SDD は​これとは​逆の​アプローチを​取ります。​実装を​開始する​前に、​チームは​構造化された​仕様を​通じて​「何を​実装するか」を​まず定義します。​要件が​明確に​なった​時点で、​開発者と​ AI エージェントは​その​仕様を​実装の​基盤と​して​活用します。​ この​「仕様ファースト」の​考え方が​Spec-Driven Developmentの​核と​なる​概念です。​ 1.2 ソフトウェア開発の​進化に​おける​SDDの​位置付け 仕様駆動開発は​全く​新しい​概念では​ありません。​多くの​点に​おいて、​開発チームが​数十年に​わたって​実践してきた​馴染みの​ある​エンジニアリング原則​「要件定義 → 設計 → 実装 → テスト」と​いう​ワークフローを​再構築した​ものです。​異なるのは、​この​ワークフローが​現在、​AI時代に​合わせて​適応されている​点に​あります。​ AIコーディングツールの​能力が​向上するに​つれ、​チームは​大規模開発に​おいて​プロンプト単独では​不十分である​ことに​気づき始めています。​構造化された​仕様が​なければ、​コンテキストは​不安定に​なり、​出力結果の​制御も​困難に​なります。​SDDは​すべての​情報を​チャット会話内に​残すのではなく、​要件や​決定事項を​永続的な​形式で​文書化する​ことで、​この​問題に​対処します。​ この​アプローチは​Thoughtworksが​2025年11月発行の​Technology Radar Vol.33に​おいて​Spec-Driven Developmentを​「Assess​(評価)」ステージに​位置付けた​ことを​契機に、​より​広範な​注目を​集め始めました。​ほぼ同時期に、​AWSも​要件→設計→タスク→コード生成と​いう​ワークフローを​軸に​据えた​AI統合開発環境​「Kiro IDE」を​発表しています。​ 1.3 Spec-Driven Development 対 Vibe Coding Vibe Coding と​ Spec-Driven Development の​違いは​日常の​開発ワークフローに​おいて​より​明確に​なります。​ 項目 Vibe Coding Spec-Driven Development​(SDD)​ 出発点 自然言語に​よる​アイデアや​プロンプト 構造化された​仕様書 主要な​コンテキスト源 チャット履歴 仕様ファイル​(Markdown 等)​ 計画の​継続性 会話の​中で​コンテキストが​埋もれる​ ファイルと​して​存在する​ため継続可能 セッション間の​引継ぎ セッションを​跨いだ継続が​困難 仕様が​読めれば​継続可能 チーム内での​共有 困難 ファイル共有に​より​容易 レビュー 出力された​コードのみを​レビュー可能 仕様段階から​レビュー可能 2. Spec-Driven Developmentに​おける​実務的な​メリット Spec-Driven Developmentは​2025年〜2026年現在に​おいても​依然と​して​新興の​プラクティスであり、​業界全体と​して​その​影響を​測定する​統一された​方​法は​いまだ​確立されていません。​しかし、​弊社​(Haposoft)では、​実際の​プロダクションプロジェクトに​おいて​仕様ファーストの​ワークフローを​導入した​結果、​納品速度と​プロジェクト実行に​おいて​測定可能な​改善が​確認されました。​これらの​ワークフローは、​後に​CafeKit​(弊社の​新サービス)の​基盤と​なりました。​ 2.1 プロジェクト全体​工数を​30%削減 従来の​開発ワークフロー​(Code-Firstで​開発を​進め、​後から​ドキュメントを​整備する​方​式)と、​SDDおよび​Coding Agentを​導入した​新しい​開発ワークフローを​比較し、​キックオフから​本番リリースまでに​実際に​投入された​総工数​(Man-Hour)を​測定しました。​ 対象は​開発期間3〜12か​月程度の​中〜大規模な​Webシステムおよび​SaaS開発プロジェクトです。​ 分析の​結果、​プロジェクト全体で​約30%の​工数削減を​確認しました。​ 工数削減効果は​開発ライフサイクル全体に​わたって​発生しています。​ 要件定義・設計フェーズ 開発初期段階から​構造化された​仕様を​作成する​ことで、​顧客との​認識合わせや​要件確認の​ための​コミュニケーション回数を​削減できます。​また、​認証​(Authentication)、​決済​(Payment)、​通知​(Notification)などの​共通機能に​ついては、​過去プロジェクトで​利用した​仕様モジュールを​再利用できる​ため、​設計工数の​削減に​もつながります。​ 実装フェーズ Coding Agentは​仕様を​基準と​して​コードを​生成する​ため、​初回から​要件に​沿った​実装を​行いやすくなります。​その​結果、​エンジニアと​AIとの​間で​発生する​プロンプトの​試行錯誤や​修正指示の​往復回数が​減少しました。​ テストフェーズ 仕様に​定義された​Acceptance Criteria​(受け入れ条件)を​もとに​テストケースを​生成できる​ため、​実装完了後に​テストケースを​ゼロから​作成する​必要が​ありません。​ 手戻り​(Rework)​削減 最も​大きな​効果が​現れたのは​手戻り工数の​削減です。​人間と​AIが​実装前に​同じ​仕様を​共有する​ことで、​「実装完了後に​要件の​解釈違いが​発覚する」と​いった​ケースを​大幅に​減らすことができました。​これは、​日本企業と​ベトナム企業に​よる​オフショア開発に​おいて、​言語や​コミュニケーションの​ギャップに​よって​発生しやすい​無駄の​削減に​つながっています。​ ドキュメント作成フェーズ 納品資料や​関連ドキュメントは​仕様から​自動生成できます。​ドキュメント品質への​要求が​高い​日本企業に​対しても、​一貫性の​ある​資料を​効率的に​作成できます。​ 2.2 SDLCの​デリバリー速度を​50%向上 従来の​Code-Firstプロジェクトと、​SDDワークフローおよび​AIコーディングエージェントを​活用した​プロジェクトに​ついて、​キックオフから​初回本番リリースまでに​要した​期間を​比較しました。​ 分析の​結果、​中〜大規模の​グリーンフィールド開発プロジェクトに​おいて、​最大50%の​デリバリー速度向上を​確認しました。​ 主な​要因は​以下の​通りです。​ 要件が​仕様と​して​事前に​整理・合意されている​ため、​開発途中での​認識齟齬が​減少する​ Coding Agentが​仕様を​基準と​して​実装を​進められる​ため、​コード生成の​精度が​向上する​ テストケースを​仕様の​Acceptance Criteriaから​生成できる​ため、​テスト準備に​かかる​時間を​削減できる​ 引継ぎ資料や​関連ドキュメントを​仕様から​生成できる​ため、​開発後工程の​負荷を​軽減できる​ 特に、​従来は​実装後に​発覚していた​問題の​多くを​仕様策定段階で​発見できる​ことが、​デリバリー速度向上の​大きな​要因と​なりました。​ 一方で、​小規模な​保守案件や​ホットフィックスでは、​仕様作成の​オーバーヘッドが​得られる​効果を​上回る​場合が​あります。​その​ため、​CafeKitでは​軽微な​変更に​対して​一部​フェーズを​スキップできる​仕組みを​用意しています。​ 2.3 ​その​他の​定性的効果 測定可能な​指標に​加え、​Spec-Driven Development導入後には​運用面でも​以下の​改善が​確認されました。​ 人間と​AIの​役割分担の​明確化 仕様は​「何を​作るか」を​定義し、​AIは​その​実装を​担います。​この​役割分担に​より、​開発スピードを​維持しながら​プロジェクトの​方​向性を​管理しやすくなりました。​ セッションや​担当者変更を​またいだ​継続性の​確保 Claude Codeの​セッションが​中断された​場合や、​担当エンジニアが​変更に​なった​場合でも、​仕様ファイルが​残っていれば​新しい​担当者が​短時間で​プロジェクトを​引き継ぐことができます。​ ドキュメントの​自動蓄積 要件、​設計上の​意思決定、​プロジェクトの​進捗などが​構造化された​Markdownファイルと​して​リポジトリ内に​保存されます。​これに​より、​数週間から​数か​月後であっても​プロジェクトの​コンテキストを​再構築しやすくなり、​オンボーディングや​引継ぎに​かかる​負荷を​軽減できます。​これは、​日本の​PMと​ベトナムの​開発チームが​協業する​オフショアプロジェクトに​おいて​特に​有効でした。​ 3. SDD の​典型的な​ワークフロー では、​実際の​開発現場に​おいて​ Spec-Driven Development は​どのように​機能するのでしょうか?​チームや​ツールに​よって​ワークフローは​異なる​場合が​ありますが、​ほとんどの​ SDD プロセスは​以下の​ 6 つの​コアフェーズに​従います。​ フェーズ​ 1:要件定義 チームは、​ビジネス目標、​ユーザーが​抱える​課題、​機能要件、​非機能要件を​自然言語で​記述します。​この​段階では、​開発者は​しばしば​ AI ツールと​協働しながら、​アイデアを​ユーザーストーリーや​受け入れ基準に​構造化します。​目的は、​最初から​完璧な​ドキュメントを​作成する​ことでは​ありません。​むしろ、​「何を​構築すべきか」に​ついての​共通理解を​構築する​ことに​重点を​置きます。​ フェーズ​ 2:設計 アーキテクチャの​決定、​データモデル、​API 構造、​画面フロー、​システム動作などを​含みます。​多くの​チームは、​特定の​技術的決定が​なぜな​されたかを​記録する​ために、​設計ドキュメントや​ ADR​(Architecture Decision Record)を​活用します。​これらの​決定を​文書化しておく​ことは、​プロジェクトが​拡大したり、​新しい​エンジニアが​参画したりした​際に、​後々特に​有用と​なります。​ フェーズ​ 3:タスク分解 設計を​実行可能な​タスクに​分解します。​「1 タスク=1 コミット」と​いう​基準を​採用する​ことで、​進捗管理と​レビューの​効率化が​図れます。​ フェーズ​ 4:実装 各タスク単位で​ AI に​コード生成を​依頼します。​仕様を​同時に​参照しながら​実装を​行う​ため、​AI は​「全体​像を​見失う」ことなく、​一貫性の​ある​コードを​記述できます。​ フェーズ​ 5:テスト 仕様から​導出された​受け入れ基準に​基づき、​テストコードを​生成・​実行します。​仕様と​テストが​ 1 対 1 で​対応している​ため、​カバレッジの​可視化が​容易に​なります。​ フェーズ​ 6:レビュー 人間の​エンジニアが、​仕様との​整合性、​コード品質、​セキュリティを​確認します。​仕様書が​「判断基準」と​して​機能する​ため、​レビューの​基準が​明確に​なります。​ 4. Spec-Driven Development に​おける​主要ツール Spec-Driven Developmentへの​関心が​高まるに​つれ、​Claude Codeなどの​ AI 支援ワークフローや​コーディングエージェントを​取り巻く​ツールも​増加しています。​各ツールは​ SDD に​対して​異なる​アプローチを​取っています。​ ドキュメンテーションワークフローに​注力する​ものも​あれば、​要件、​実装、​テスト、​AI 生成コードを​一貫して接続する​エンドツーエンド環境を​提供する​ものも​あります。​ 4.1 GitHub Spec Kit GitHub Spec Kit は​「AI は​明確な​仕様に​基づいて​作業した​方が​性能を​発揮する」と​いう​考え方を​軸に​構築された​公式ツールキットです。​この​ツールキットは、​実装開始前に​ PRD、​設計ドキュメント、​ADR などの​文書を​作成・管理する​ことを​支援します。​プロンプトのみに​依存するのではなく、​開発者は​プロジェクトコンテキストを​より​再利用​可能な​形式で​構造化できます。​ 4.2 Kiro IDE Kiro IDE は​AWS が​提供する​ AI 統合開発環境です。​本プラットフォームは、​自然言語に​よる​要件から、​設計、​タスク分解、​実装、​テスト、​コード生成と​いった​構造化された​フェーズへと​移行する​ワークフローを​サポートします。​AI を​単なる​自動補完ツールと​して​扱うのではなく、​Kiro は​ AI エージェントを​開発ワークフロー全体の​一部と​して​位置付けています。​ 4.3 claude-code-spec-workflow OSSコミュニティから​生まれた​ CLI ツールです。​Claude Code 向けに​ SDD フローを​実装しており、​単一の​コマンドで​新機能開発ワークフローを​起動できます。​Claude Code を​中心に​作業を​行っている​チームに​とって、​この​種の​ワークフローは​開発中の​プロンプト断片化を​軽減するのに​役立ちます。​ 4.4 cc-sdd / OpenSpec この​グループの​軽量ツール群は、​さまざまな​哲学に​基づき​「仕様→タスク→実装」と​いう​フローを​提供します。​選択は​プロジェクトの​規模や​嗜好に​依存します。​ツールに​よっても​哲学が​異なる​ため、​チームは​プロジェクト規模や​エンジニアリング文化に​適合した​ワークフローを​選択できます。​ 4.5 CafeKit CafeKitは​Haposoftの​チームが​開発した​オープンソースの​SDDツールキットです。​ 本ツールは​ Claude Code ワークフローに​特化して​設計されており、​6フェーズの​ Spec-Driven Development プロセスに​従います。​仕様を​静的な​ドキュメントと​して​扱うのではなく、​CafeKit は​仕様を​開発全体を​通じて​実装、​テスト、​プロジェクト管理と​密接に​連携させた​状態で​維持します。​ 5. Spec-Driven Development 導入の​始め方​ Spec-Driven Developmentを​ワークフローに​導入する​ことに​興味を​お持ちの​チームに​とって、​移行は​一度に​すべてを​行う​必要は​ありません。​多くの​場合、​開発プロセス全体を​即座に​再設計しようとするよりも、​小規模から​始める方が​効果的です。​ ステップ 1:小規模プロジェクトから​始める​ 初日から​大規模プロジェクト全体に​ SDD を​適用する​ことは​避けてください。​より​良い​アプローチは、​小規模な​内部​ツール、​独立した​機能、​または​新規サイドプロジェクトから​始める​ことです。​これに​より、​チームは​不必要な​デリバリーリスクを​追加する​ことなく、​仕様ファーストの​ワークフローに​慣れる​時間を​確保できます。​ ステップ 2:仕様テンプレートを​準備する​ 適切に​構造化された​テンプレートは​チーム全体で​ SDD を​一貫して​導入するのを​大幅に​容易にします。​プロジェクト種別に​応じて、​要件、​設計ドキュメント、​API 仕様、​受け入れ基準などの​テンプレートを​準備できます。​すべてを​ゼロから​作成するよりも、​既存の​テンプレートを​出発点と​して​徐々に​カスタマイズしていく​方が、​現実的です。​ ステップ 3:タスク、​コミット、​仕様の​整合を​維持する​ 有用な​プラクティスの​一つは​タスク、​コミット、​仕様更新の​間に​密接な​関係を​維持する​ことです。​ 一部の​チームでは​以下のような​シンプルな​構造を​採用しています: 1つの​Todo = 1つの​コミット = 1回の​仕様更新 ステップ 4:レビューを​仕様段階に​前倒しする​ 従来の​ワークフローでは​実装完了後の​コードレビューに​大きく​依存する​傾向が​あります。​SDD は、​開発開始前に​仕様を​レビューする​ことで、​その​レビュープロセスの​一部を​前段階に​シフトします。​ 実装段階で​要件の​ギャップを​発見するよりも、​仕様段階で​発見する​方が、​通常ははるかに​コストが​低く​済みます。​ ステップ 5:チーム全体で​ツールを​標準化する​ 個人個人が​異なる​ツールを​使用すると、​仕様フォーマットが​混沌と​してしまいます。​チーム全体で​一貫した​ツール​(例:CafeKit)を​使用する​ことが​望ましいです。​ 6. Spec-Driven Development 導入に​おける​一般的な​課題 ​あらゆる​開発手法と​同様に、​Spec-Driven Developmentも​すべての​状況に​おける​完璧な​解決策では​ありません。​SDD を​導入する​チームは、​移行段階に​おいて​以下のような​共通の​課題に​直面する​ことが​よく​あります。​ 落とし穴 1:仕様の​過剰記述 最も​一般的な​ミスの​一つは​最初から​すべてを​過剰に​文書化する​ことです。​ チームが​完璧な​仕様を​作成する​ことに​時間を​かけすぎると、​AI 支援開発の​速度​優位性は​急速に​失われます。​実際には、​軽量な​仕様でも​開始には​十分な​場合が​よく​あります。​「いく​つかの​箇条​書きから​始める」と​いう​穏やかな​アプローチも​非常に​効果的です。​AI が​仕様の​拡張を​支援してくれます。​ 落とし穴 2:仕様と​コードの​同期ずれ もう​一つの​一般的な​課題は​実装が​変更された​後に​仕様が​更新されない​場合に​発生します。​時間が​経つに​つれて、​古い​仕様は​信頼性を​失い、​チームは​ドキュメント全体を​信頼しなくなります。​これを​避ける​ためには、​仕様と​実装は​プロジェクトライフサイクル全体を​通じて​共に​進化させる​必要が​あります。​ 落とし穴 3:AI 生成出力への​過信 構造化された​仕様が​あったとしても、​AI コーディングエージェントは​依然と​して​ミスを​犯します。​仕様は​一貫性を​向上させますが、​あらゆる​ケースで​正しい​実装を​保証する​ものでは​ありません。​SDD は、​AI を​エンジニアリング判断の​完全な​代替手段と​してではなく、​開発パートナーと​して​扱う​場合に​最も​効果を​発揮します。​ 7. CafeKit:エンタープライズ向けの​SDDツール 7.1 CafeKitとは?​ CafeKit​(cafekit.haposoft.com)は​Claude Code向けに​特別に​設計された​オープンソースCLI ツールセットであり、​6 フェーズの​ Spec-Driven Development ワークフローを​実装しています。​ CafeKit背後に​ある​主要な​目的の​一つは、​ドキュメンテーション、​レビュープロセス、​長期的な​保守性が​デリバリーに​おいて​重要な​要素と​なる​エンタープライズ開発環境に​おいて、​SDDワークフローを​より​適用しやすく​する​ことでした。​ 7.2 CafeKit に​おける​コア6フェーズワークフロー CafeKitは​日本の​開発環境で​馴染みの​ある​用語を​使用し、​以下の​フェーズを​提供しています: 要件定義 → 設計 → タスク分解 → 実装 → テスト → レビュー 各フェーズは​リポジトリ内に​直接保存される​構造化された​ Markdown ファイルを​生成し、​Git に​よる​管理が​可能です。​仕様は​コードベースと​一緒に​バージョン管理される​ため、​チームは​変更を​一貫して​追跡でき、​時間の​経過に​伴う​プロジェクト履歴を​より​明確に​維持できます。​また、​全員が​同じ​文書化された​コンテキストに​基づいて​作業する​ため、​エンジニア、​レビュアー、​AI コーディングエージェント間の​協業も​容易に​なります。​ 7.3 なぜCafeKitが​日本企業に​適しているか​ ✅ 日本語ネイティブ対応 コマンド、​テンプレート、​生成される​文書の​すべてが​日本語に​対応。​「要件定義書」​「基本設計書」​「詳細設計書」など、​日本の​SIerや​SaaS企業で​使われる​ドキュメント文化と​自然に​統合できます。​ ✅ ウォーターフォール文化との​橋渡し 日本企業に​多い​「承認プロセス重視」​「ドキュメント文化」と​AIエージェントの​相性問題を​解決。​仕様書と​いう​共通言語が​ある​ことで、​経営層・PM・エンジニアの​三者が​同じ​前提で​議論できます。​ ✅ Claude Code完全対​応 CafeKitは​Claude Codeの​仕組み​(CLAUDE.md、​スラッシュコマンド、​サブエージェント)を​前提に​設計されており、​追加の​IDEや​高価な​ライセンスは​不要です。​ ✅ OSSと​して​無償提供 GitHubで​公開されており、​商用利用も​可能。​自社の​プロジェクトに​合わせて​カスタマイズする​ことも​できます。​ 7.4 CafeKitを​始める​ CafeKitの​セットアップは​数分で​完了します。​ 1. 動作環境 Node.js​(v18以上)​および​ npm / npx が​インストールされている​ことを​確認してください。​ 2. プロジェクトの​ルートディレクトリへ​移動 ターミナルを​開き、​提案の​ルートディレクトリへ​移動します。​ 3. CafeKitを​初期化 以下の​コマンドを​実行してください。​ npx@haposoft/cafekit 上記の​コマンドを​実行すると、​CafeKit CLI が​自動的に​ダウンロードされ、​起動します。​ 画面の​案内に​従って​プロジェクトの​設定を​行ってください。​ セットアップ手順の​詳細や​関連ドキュメントに​ついては、​CafeKit公式サイトを​ご覧ください。​ 8. Spec-Driven Development が​エンジニアキャリアに​与えうる​変化 AI コーディングツールの​台頭は​エンジニアスキルの​評価方​法も​変化させています。​AI に​よる​実装コード生成の​能力が​向上するに​つれ、​単に​「コードを​書く」ことの​価値は​次第に​差別化されにくくなる​可能性が​あります。​ 同時に、​要件定義、​問題の​構造化、​システム設計に​関連する​スキルの​重要性が​高まっています。​ これが​Spec-Driven Development が​生産性以外にも​注目を​集める​理由の​一つです。​ SDDワークフローでは​エンジニアは​不明確な​ビジネス要件を、​人間と​ AI の​双方が​一貫して​理解できる​構造化された​仕様に​変換する​ことが​期待されます。​多くの​点に​おいて、​SDD は​エンジニアの​役割の​一部を、​純粋な​実装から​仕様設計と​意思決定へと​シフトさせます。​「コーダー」から​「仕様設計者」へと​キャリアを​シフトさせたい方に​とって、​SDD は​確実に​習得すべきスキルセットです。​ まとめ Spec-Driven Developmentは​単に​ AI を​用いて​コード生成を​高速化する​ことでは​ありません。​それは、​人間と​ AI が​同じ​信頼源に​基づいて​作業できる、​より​構造化された​開発プロセスを​構築する​ことなのです。​AI 支援開発が​進化を​続ける​中で、​明確な​仕様を​軸に​据えた​ワークフローは、​現代の​ソフトウェアチームに​おいて​より​一般的に​なる​可能性が​高いでしょう。​ エンタープライズ開発に​おいて​SDDの​活用を​開始したいとお考えの​場合は、​ぜひ CafeKit​(cafekit.haposoft.com)を​ご検討ください。​Claude Code 完全対応、​無料の​ OSSと​して​今日から​導入可能です。​ CafeKitに​関する​お問い​合わせ、​サポート、​エンタープライズ向けカスタマイズ、​または​SDD関連コンサルティングに​ついては、​Haposoftまで​お気軽に​お問い​合わせください。​ 公式サイト: http://haposoft.com/ja Haposoft: ベトナム・ハノイに​本社を​構え、​東京(渋谷)にも​拠点を​展開する​ソフトウェア開発企業です。​AWS Select Tier Partner、​ISO 9001:2015、​ISO 27001 認証取得しています。​ AI時代の​開発を、​確かな​仕様設計から。
cta-background

ニュースレター登録

デジタルトランスフォーメーションに​関する​専門的な​知見や​イベント最新情報を、​メールボックスに​直接お届けします。

プロジェクトの​アイディアを​ お持ちでしたら、​ご相談ください

+81 
© Haposoft 2025. All rights reserved
プライバシーポリシー