musubix 3.3.10 → 3.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/AGENTS.md +949 -0
- package/.github/prompts/sdd-change-apply.prompt.md +283 -0
- package/.github/prompts/sdd-change-archive.prompt.md +241 -0
- package/.github/prompts/sdd-change-init.prompt.md +269 -0
- package/.github/prompts/sdd-design.prompt.md +250 -0
- package/.github/prompts/sdd-implement.prompt.md +387 -0
- package/.github/prompts/sdd-requirements.prompt.md +193 -0
- package/.github/prompts/sdd-review.prompt.md +155 -0
- package/.github/prompts/sdd-security.prompt.md +228 -0
- package/.github/prompts/sdd-steering.prompt.md +269 -0
- package/.github/prompts/sdd-tasks.prompt.md +255 -0
- package/.github/prompts/sdd-test.prompt.md +230 -0
- package/.github/prompts/sdd-validate.prompt.md +304 -0
- package/.github/skills/musubix-adr-generation/SKILL.md +209 -0
- package/.github/skills/musubix-best-practices/SKILL.md +315 -0
- package/.github/skills/musubix-c4-design/SKILL.md +162 -0
- package/.github/skills/musubix-code-generation/SKILL.md +237 -0
- package/.github/skills/musubix-domain-inference/SKILL.md +196 -0
- package/.github/skills/musubix-ears-validation/SKILL.md +161 -0
- package/.github/skills/musubix-sdd-workflow/SKILL.md +217 -0
- package/.github/skills/musubix-technical-writing/SKILL.md +444 -0
- package/.github/skills/musubix-test-generation/SKILL.md +212 -0
- package/.github/skills/musubix-traceability/SKILL.md +141 -0
- package/AGENTS.md +1134 -0
- package/LICENSE +21 -0
- package/README.ja.md +313 -0
- package/README.md +315 -50
- package/bin/musubix-mcp.js +15 -0
- package/bin/musubix.js +9 -1
- package/docs/API-REFERENCE.md +1425 -0
- package/docs/GITHUB-ACTIONS-NPM-SETUP.md +132 -0
- package/docs/INSTALL-GUIDE.ja.md +459 -0
- package/docs/INSTALL-GUIDE.md +459 -0
- package/docs/MIGRATION-v3.0.md +324 -0
- package/docs/MUSUBI-enhancement_roadmap_20260105.md +651 -0
- package/docs/MUSUBIX-v3.0-User-Guide.md +1357 -0
- package/docs/MUSUBIXv2.2.0-Manual-outline.md +136 -0
- package/docs/MUSUBIXv2.2.0-Manual.md +3123 -0
- package/docs/MUSUBIXv2.3.5-Refactering.md +1310 -0
- package/docs/MUSUBIv1.6.1-enhancement_roadmap_20260105.md +291 -0
- package/docs/MUSUBIv2.2.0-USERGUIDE.md +2079 -0
- package/docs/ROADMAP-v1.5.md +116 -0
- package/docs/SwarmCoding.md +1284 -0
- package/docs/Test-prompt.md +105 -0
- package/docs/USER-GUIDE-v1.8.0.md +2371 -0
- package/docs/USER-GUIDE.ja.md +2147 -0
- package/docs/USER-GUIDE.md +3022 -0
- package/docs/YATA-GLOBAL-GUIDE.ja.md +750 -0
- package/docs/YATA-GLOBAL-GUIDE.md +595 -0
- package/docs/YATA-LOCAL-GUIDE.ja.md +989 -0
- package/docs/YATA-LOCAL-GUIDE.md +730 -0
- package/docs/adr/0001-real-time-pattern-learning-architecture-for-v1-5-0.md +75 -0
- package/docs/adr/0002-pattern-sharing-protocol-for-cross-team-collaborat.md +79 -0
- package/docs/adr/0003-owl-2-rl-implementation-strategy-for-advanced-infe.md +90 -0
- package/docs/adr/ADR-v3.4.0-001-deep-research-architecture.md +217 -0
- package/docs/adr/ADR-v3.4.0-002-search-provider-selection.md +308 -0
- package/docs/adr/ADR-v3.4.0-003-lm-api-integration.md +475 -0
- package/docs/enterprise-knowledge-management.md +1737 -0
- package/docs/evolution-from-musubi-to-musubix.md +2170 -0
- package/docs/getting-started-with-sdd.md +1602 -0
- package/docs/moodle-refactering-codegraph-musubix.md +391 -0
- package/docs/moodle-refactering-codegraph.md +278 -0
- package/docs/overview/MUSUBIX-CodeGraph.md +322 -0
- package/docs/overview/MUSUBIX-Core.md +671 -0
- package/docs/overview/MUSUBIX-Decisions.md +494 -0
- package/docs/overview/MUSUBIX-FormalVerify.md +566 -0
- package/docs/overview/MUSUBIX-Knowledge.md +1231 -0
- package/docs/overview/MUSUBIX-Learning.md +837 -0
- package/docs/overview/MUSUBIX-MCP-Server.md +535 -0
- package/docs/overview/MUSUBIX-Overview.md +264 -0
- package/docs/overview/MUSUBIX-Phase1-Complete.md +271 -0
- package/docs/overview/MUSUBIX-Phase2-Complete.md +310 -0
- package/docs/overview/MUSUBIX-Policy.md +477 -0
- package/docs/overview/MUSUBIX-Roadmap-v2.md +399 -0
- package/docs/overview/MUSUBIX-Security-Plan.md +939 -0
- package/docs/overview/MUSUBIX-Security-v2.1.md +668 -0
- package/docs/overview/MUSUBIX-Security.md +891 -0
- package/docs/overview/MUSUBIX-YATA.md +666 -0
- package/docs/overview/MUSUBIX-v2.2.0-Advanced-Learning.md +513 -0
- package/docs/overview/Neuro-SymbolicAI.md +159 -0
- package/docs/packages/knowledge.md +594 -0
- package/docs/qiita-linux-kernel-knowledge-graph.md +596 -0
- package/package.json +55 -49
- package/scripts/generate-quality-gate-report.ts +106 -0
- package/scripts/postinstall.js +94 -0
- package/steering/.musubi-version +1 -0
- package/steering/product.ja.md +572 -0
- package/steering/project.yml +66 -0
- package/steering/rules/constitution.md +491 -0
- package/steering/structure.ja.md +503 -0
- package/steering/tech.ja.md +208 -0
- package/dist/index.d.ts +0 -25
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -74
- package/dist/index.js.map +0 -1
|
@@ -0,0 +1,1602 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'MUSUBIXによるはじめてのSwarm Coding - AI Coding時代の新しいソフトウェア開発パラダイム'
|
|
3
|
+
tags:
|
|
4
|
+
- AI
|
|
5
|
+
- SDD
|
|
6
|
+
- SwarmCoding
|
|
7
|
+
- AIコーディング
|
|
8
|
+
- MUSUBIX
|
|
9
|
+
private: false
|
|
10
|
+
updated_at: '2026-01-06'
|
|
11
|
+
id: null
|
|
12
|
+
organization_url_name: null
|
|
13
|
+
slide: false
|
|
14
|
+
ignorePublish: false
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# MUSUBIXによるはじめてのSwarm Coding
|
|
18
|
+
|
|
19
|
+
> AI Coding時代に求められる「Vibe Coding」から「Swarm Coding」への進化
|
|
20
|
+
|
|
21
|
+
# はじめに
|
|
22
|
+
|
|
23
|
+
**「1人のAIより、チームで働くAI」** ── これが次世代のコーディング体験です。
|
|
24
|
+
|
|
25
|
+
2025年〜2026年、ソフトウェア開発の世界は大きな転換点を迎えています。GitHub Copilot、Claude Code、Cursor、Devinといった**AIコーディングエージェント**の登場により、コードを書くという行為そのものが変わりつつあります。
|
|
26
|
+
|
|
27
|
+
しかし、これらの強力なツールを「なんとなく」使っていませんか?
|
|
28
|
+
|
|
29
|
+
GitHub Copilotは優秀な「個人プレイヤー」ですが、**MUSUBIX**と**CodeGraph MCP Server**を組み合わせることで、**専門家チームとして協調するSwarm Coding**が実現します。
|
|
30
|
+
|
|
31
|
+
本記事では、AIコーディングの最新トレンドを整理します。さらに、**Vibe Coding(雰囲気でコーディング)**の限界と、それを超える**仕様駆動型開発(Spec-Driven Development, SDD)**、そしてSDDの「その先」を行く**Swarm Coding**と**MUSUBIX**について解説します。
|
|
32
|
+
|
|
33
|
+
:::note info
|
|
34
|
+
**Swarm Coding(スウォームコーディング)とは?**
|
|
35
|
+
複数のAIエージェントが連携してソフトウェア開発を行う手法です。人間がチームで開発するのと同じように、AIたちが役割分担し、協力しながら複雑なタスクを自律的に遂行します。
|
|
36
|
+
|
|
37
|
+
**主な特徴:**
|
|
38
|
+
- **マルチエージェントシステム**: 単一の巨大AIではなく、特定の役割(プランナー、コーダー、テスター、レビュアーなど)を持つ複数のAIエージェントで構成
|
|
39
|
+
- **自律的な連携**: 各エージェントは蜂の群れ(swarm)のように自律的に協調動作し、全体の目標達成に向けてタスクを処理
|
|
40
|
+
- **動的なタスク管理**: 問題発生時やより良い解決策が見つかった場合に、AI自身がタスクプランを動的に修正・再計画(リプランニング)
|
|
41
|
+
:::
|
|
42
|
+
|
|
43
|
+
:::note info
|
|
44
|
+
**MUSUBIXが提供する次世代機能**
|
|
45
|
+
- 🐝 **Swarm Coding** — 複数AIエージェントがチームとして協調開発
|
|
46
|
+
- 🧠 **Neuro-Symbolic AI** — LLMの創造性と知識グラフの厳密性を統合し、**AIの幻覚を検証・抑制**
|
|
47
|
+
- 📊 **CodeGraph MCP Server連携** — プロジェクト全体をグラフ構造で把握
|
|
48
|
+
- 🌐 **62ドメインのオントロジー** — 医療、金融、ECなど業界固有の知識を構造化して再利用
|
|
49
|
+
- 📚 **自己学習システム** — 成功パターンを学習し、プロジェクトを重ねるごとに賢くなる
|
|
50
|
+
- 🔗 **完全なトレーサビリティ** — 要件↔設計↔コード↔テストの100%追跡
|
|
51
|
+
- 🤝 **AIエージェント強化** — GitHub CopilotやClaude Codeを置き換えず、**より効果的に使うための基盤**
|
|
52
|
+
:::
|
|
53
|
+
|
|
54
|
+
「AIに任せたらバグだらけのコードができた」「なぜこの実装になったか誰も説明できない」——そんな経験はありませんか?本記事を読めば、AIコーディングの真の力を引き出す方法がわかります。
|
|
55
|
+
|
|
56
|
+
# この記事の対象読者
|
|
57
|
+
|
|
58
|
+
- プログラミング経験はあるが、AI Codingははじめての方
|
|
59
|
+
- GitHub CopilotやClaude Codeを使い始めたが、うまく活用できていない方
|
|
60
|
+
- プロダクトベースのアプリケーション開発でAIコーディングを導入したい方
|
|
61
|
+
- Vibe CodingやSDDに興味がある方
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
# 1. 2025-2026年 AI Codingのトレンド
|
|
65
|
+
|
|
66
|
+
## 主要なAIコーディングツール
|
|
67
|
+
|
|
68
|
+
| ツール | 提供元 | 特徴 | リリース |
|
|
69
|
+
|--------|--------|------|----------|
|
|
70
|
+
| **GitHub Copilot** | GitHub/Microsoft | VS Code統合、Agent mode、Project Padawan | 2021〜 |
|
|
71
|
+
| **Cursor** | Cursor Inc. | AI専用IDE、Tab補完、Agent機能 | 2024〜 |
|
|
72
|
+
| **Devin** | Cognition | 完全自律型AIエンジニア | 2024〜 |
|
|
73
|
+
| **Claude Code** | Anthropic | ターミナルベース、コードベース全体を理解 | 2025〜 |
|
|
74
|
+
| **AWS Kiro** | AWS | Spec-Driven IDE、EARS記法対応 | 2025〜 |
|
|
75
|
+
| **Codex CLI** | OpenAI | ターミナルベース、ChatGPT連携、ローカル実行 | 2025〜 |
|
|
76
|
+
| **Gemini CLI** | Google | 1Mトークンコンテキスト、無料枠充実、MCP対応 | 2025〜 |
|
|
77
|
+
| **Antigravity** | Google | 完全自律型AIエディター、マルチエージェント、ブラウザ自動操作 | 2025〜 |
|
|
78
|
+
|
|
79
|
+
## GitHub Copilotの進化
|
|
80
|
+
|
|
81
|
+
2025年2月、GitHub CEOのThomas Dohmkeは「**[The agent awakens](https://github.blog/news-insights/product-news/github-copilot-the-agent-awakens/)**」と題したブログで、Copilotの新機能を発表しました。
|
|
82
|
+
|
|
83
|
+
- **Agent Mode**: 自己修正機能を持つエージェント。エラーを認識し自動修正
|
|
84
|
+
- **Copilot Edits**: 複数ファイルの同時編集(GA)
|
|
85
|
+
- **Project Padawan**: 自律型SWEエージェント(開発中)
|
|
86
|
+
|
|
87
|
+
> "AI helps with the things you don't want to do, so you have more time for the things you do."
|
|
88
|
+
> — Thomas Dohmke, GitHub CEO
|
|
89
|
+
|
|
90
|
+
## Cursorの躍進
|
|
91
|
+
|
|
92
|
+
CursorはAI専用に設計されたIDEで、Y CombinatorのDiana Hu氏は「採用率が一桁台から80%超へ跳ね上がった」と述べています。
|
|
93
|
+
|
|
94
|
+
Andrej Karpathy氏(OpenAI共同創業者)も次のように評価:
|
|
95
|
+
|
|
96
|
+
> "優れたLLMアプリケーションには「自律性スライダー」があり、AIにどこまで主体的に動かせるかをあなたがコントロールできます。Cursorでは、Tab補完からフルオートノミーのエージェントまで切り替えられます。"
|
|
97
|
+
|
|
98
|
+
## Claude Codeの特徴
|
|
99
|
+
|
|
100
|
+
Anthropicの**Claude Code**は、ターミナルから直接コードベースを操作できるエージェントです。
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
# インストール
|
|
104
|
+
curl -fsSL https://claude.ai/install.sh | sh
|
|
105
|
+
|
|
106
|
+
# 実行
|
|
107
|
+
claude
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**主な機能**:
|
|
111
|
+
- コードベース全体のマッピングと理解
|
|
112
|
+
- GitHub/GitLab連携でIssueからPRまで自動化
|
|
113
|
+
- 複数ファイルにまたがる強力な編集
|
|
114
|
+
|
|
115
|
+
## Codex CLIの特徴
|
|
116
|
+
|
|
117
|
+
OpenAIの**Codex CLI**は、ローカルで動作する軽量なコーディングエージェントです。55k+ stars。
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
# インストール
|
|
121
|
+
npm install -g @openai/codex
|
|
122
|
+
# または
|
|
123
|
+
brew install --cask codex
|
|
124
|
+
|
|
125
|
+
# 実行
|
|
126
|
+
codex
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
**主な機能**:
|
|
130
|
+
- ChatGPTプラン(Plus/Pro/Team/Enterprise)と連携
|
|
131
|
+
- ローカルマシンで安全に実行
|
|
132
|
+
- VS Code、Cursor、WindsurfなどのIDE拡張も提供
|
|
133
|
+
- Apache 2.0ライセンスのオープンソース
|
|
134
|
+
|
|
135
|
+
## Gemini CLIの特徴
|
|
136
|
+
|
|
137
|
+
Googleの**Gemini CLI**は、Geminiの力をターミナルに直接持ち込むオープンソースAIエージェントです。89k+ stars。
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
# インストール
|
|
141
|
+
npm install -g @google/gemini-cli
|
|
142
|
+
# または
|
|
143
|
+
brew install gemini-cli
|
|
144
|
+
|
|
145
|
+
# 実行
|
|
146
|
+
gemini
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
**主な機能**:
|
|
150
|
+
- **無料枠充実**: 60リクエスト/分、1,000リクエスト/日
|
|
151
|
+
- **1Mトークンコンテキスト**: Gemini 2.5 Proの大規模コンテキスト
|
|
152
|
+
- **組み込みツール**: Google Search、ファイル操作、シェルコマンド、Webフェッチ
|
|
153
|
+
- **MCP対応**: Model Context Protocolでカスタム拡張可能
|
|
154
|
+
- **GEMINI.md**: プロジェクトごとのカスタムコンテキストファイル
|
|
155
|
+
- Apache 2.0ライセンスのオープンソース
|
|
156
|
+
|
|
157
|
+
## Google Antigravityの特徴
|
|
158
|
+
|
|
159
|
+
Googleの**Antigravity**は、2025年11月に公開された完全自律型の開発プラットフォームです。人間が指示を出すだけで、AIが自律的にブラウザを操作し、環境構築から実装・テストまでを完結させます。
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
# 公式サイトからダウンロード
|
|
163
|
+
# https://antigravity.google/download
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
**主な機能**:
|
|
167
|
+
- **マルチエージェント**: 複数のAIが並行してタスクを処理(待ち時間ゼロ)
|
|
168
|
+
- **Antigravity Browser**: AIが自律的にブラウザを操作し、動作確認まで自動化
|
|
169
|
+
- **VS Codeベース**: 日本語化パック対応、既存の設定・拡張機能を引き継ぎ可能
|
|
170
|
+
- **3段階のAgent Mode**:
|
|
171
|
+
- Agent-assisted(推奨): 人間主導のバランス型
|
|
172
|
+
- Agent-driven: AIが主導権を持つ上級者向け
|
|
173
|
+
- Review-driven: 全アクションに人間の承認が必要
|
|
174
|
+
- **セキュリティ**: `.antigravityignore`で機密ファイルを保護、ターミナル実行ポリシー設定
|
|
175
|
+
|
|
176
|
+
**Cursor/Windsurfとの違い**:
|
|
177
|
+
|
|
178
|
+
| 比較項目 | Cursor/Windsurf | Antigravity |
|
|
179
|
+
|----------|-----------------|-------------|
|
|
180
|
+
| 立ち位置 | コード作成を効率化 | タスクをAIに委託 |
|
|
181
|
+
| 品質確認 | 人間がコードをレビュー | AIが自律テスト+人間が承認 |
|
|
182
|
+
| ブラウザ操作 | 人間が確認 | AIが自動で操作・確認 |
|
|
183
|
+
| ターミナル | コマンド提案 | AIが自律的に実行 |
|
|
184
|
+
|
|
185
|
+
# 2. Vibe Coding とは何か?
|
|
186
|
+
|
|
187
|
+
## 定義
|
|
188
|
+
|
|
189
|
+
**Vibe Coding(バイブコーディング)** は、2025年2月にAndrej Karpathy氏が提唱した用語です。
|
|
190
|
+
|
|
191
|
+
> "There's a new kind of coding I call 'vibe coding', where you fully give in to the vibes, embrace exponentials, and forget that the code even exists."
|
|
192
|
+
> — Andrej Karpathy (@karpathy)
|
|
193
|
+
|
|
194
|
+
**特徴**:
|
|
195
|
+
- 自然言語でAIに指示を出す
|
|
196
|
+
- 生成されたコードをレビューせずに受け入れる("Accept All")
|
|
197
|
+
- エラーが出たらコピペして修正を依頼
|
|
198
|
+
- コードの詳細を理解しないまま進める
|
|
199
|
+
|
|
200
|
+
## 驚くべき採用率
|
|
201
|
+
|
|
202
|
+
Y Combinatorの2025年冬バッチでは、**25%のスタートアップがコードベースの95%以上をAI生成**していると報告されました。
|
|
203
|
+
|
|
204
|
+
## 「Word of the Year 2025」に選出
|
|
205
|
+
|
|
206
|
+
Collins English Dictionaryは「vibe coding」を**2025年の言葉**に選出。それほど社会的インパクトのある概念となりました。
|
|
207
|
+
|
|
208
|
+
# 3. Vibe Codingの問題点
|
|
209
|
+
|
|
210
|
+
しかし、Vibe Codingには深刻な問題があります。
|
|
211
|
+
|
|
212
|
+
## 🔴 セキュリティリスク
|
|
213
|
+
|
|
214
|
+
2025年5月、Vibe Codingアプリ「Lovable」で生成されたWebアプリのうち、**170件に個人情報が漏洩するセキュリティ脆弱性**が発見されました。
|
|
215
|
+
|
|
216
|
+
## 🔴 デバッグの困難さ
|
|
217
|
+
|
|
218
|
+
開発者がコードを書いていないため、バグの原因を理解できない問題が発生します。
|
|
219
|
+
|
|
220
|
+
Simon Willison氏(Djangoコアコントリビューター)の指摘:
|
|
221
|
+
|
|
222
|
+
> "Vibe codingでプロダクションコードベースを作るのは明らかにリスキーです。ソフトウェアエンジニアとしての仕事の大部分は、既存システムの進化に関わるものであり、コードの品質と理解可能性が重要です。"
|
|
223
|
+
|
|
224
|
+
## 🔴 複雑なタスクへの対応
|
|
225
|
+
|
|
226
|
+
簡単なアルゴリズムは得意でも、**複数ファイル、ドキュメント不足のライブラリ、安全性重視のコード**には苦戦します。
|
|
227
|
+
|
|
228
|
+
## 🔴 「Vibe Coding二日酔い」
|
|
229
|
+
|
|
230
|
+
2025年9月、Fast Companyは「The vibe coding hangover is upon us」と報道。シニアエンジニアがAI生成コードとの格闘で「開発地獄」に陥るケースが増加しています。
|
|
231
|
+
|
|
232
|
+
# 4. Spec-Driven Development(SDD)という解決策
|
|
233
|
+
|
|
234
|
+
## SDDとは
|
|
235
|
+
|
|
236
|
+
**Spec-Driven Development(仕様駆動型開発)** は、コードではなく**仕様(Specification)を中心**に開発を進めるアプローチです。
|
|
237
|
+
|
|
238
|
+
| Vibe Coding | Spec-Driven Development |
|
|
239
|
+
|-------------|-------------------------|
|
|
240
|
+
| 「なんとなく」指示 | 形式化された要件定義 |
|
|
241
|
+
| コードレビューなし | 仕様→設計→コードの追跡可能性 |
|
|
242
|
+
| 動けばOK | 品質ゲートによる検証 |
|
|
243
|
+
| 個人のプロトタイプ向け | エンタープライズ開発向け |
|
|
244
|
+
|
|
245
|
+
## GitHub Spec Kit
|
|
246
|
+
|
|
247
|
+
GitHubが公開した**Spec Kit**は、SDDのためのオープンソースツールキットです(59.6k stars)。
|
|
248
|
+
|
|
249
|
+
```bash
|
|
250
|
+
# インストール
|
|
251
|
+
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
|
|
252
|
+
|
|
253
|
+
# プロジェクト初期化
|
|
254
|
+
specify init my-project --ai claude
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
**ワークフロー**:
|
|
258
|
+
1. `/speckit.constitution` - プロジェクトの憲法を定義
|
|
259
|
+
2. `/speckit.specify` - 何を作るかを定義
|
|
260
|
+
3. `/speckit.plan` - 技術的な実装計画
|
|
261
|
+
4. `/speckit.tasks` - タスクに分解
|
|
262
|
+
5. `/speckit.implement` - 実装
|
|
263
|
+
|
|
264
|
+
## AWS Kiro
|
|
265
|
+
|
|
266
|
+
AWSが提供する**Kiro**は、SDDを組み込んだIDEです。
|
|
267
|
+
|
|
268
|
+
> "Go from vibe coding to viable code"
|
|
269
|
+
> — Kiro公式サイト
|
|
270
|
+
|
|
271
|
+
**特徴**:
|
|
272
|
+
- 自然言語プロンプト → **EARS記法**での要件化
|
|
273
|
+
- ベストプラクティスに基づくアーキテクチャ設計
|
|
274
|
+
- 要件にマッピングされたタスク分解
|
|
275
|
+
- Agent Hooksによる自動化
|
|
276
|
+
|
|
277
|
+
```
|
|
278
|
+
プロンプト → 要件(EARS) → 設計 → タスク → 実装
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
# 5. EARS記法 - 要件を形式化する
|
|
282
|
+
|
|
283
|
+
SDDで重要なのが**EARS(Easy Approach to Requirements Syntax)** 記法です。
|
|
284
|
+
|
|
285
|
+
## 5つのEARSパターン
|
|
286
|
+
|
|
287
|
+
| パターン | 構文 | 用途 |
|
|
288
|
+
|---------|------|------|
|
|
289
|
+
| **Ubiquitous** | `THE [system] SHALL [requirement]` | 常に満たすべき要件 |
|
|
290
|
+
| **Event-driven** | `WHEN [event], THE [system] SHALL [response]` | イベント発生時の要件 |
|
|
291
|
+
| **State-driven** | `WHILE [state], THE [system] SHALL [response]` | 特定状態での要件 |
|
|
292
|
+
| **Unwanted** | `THE [system] SHALL NOT [behavior]` | 禁止事項 |
|
|
293
|
+
| **Optional** | `IF [condition], THEN THE [system] SHALL [response]` | 条件付き要件 |
|
|
294
|
+
|
|
295
|
+
## 例:ログイン機能
|
|
296
|
+
|
|
297
|
+
**❌ 曖昧な要件**:
|
|
298
|
+
```
|
|
299
|
+
ユーザーがログインできるようにする
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
**✅ EARS形式**:
|
|
303
|
+
```
|
|
304
|
+
WHEN a user submits valid credentials,
|
|
305
|
+
THE authentication system SHALL generate a JWT token
|
|
306
|
+
AND redirect the user to the dashboard within 2 seconds.
|
|
307
|
+
|
|
308
|
+
THE authentication system SHALL NOT store plain-text passwords.
|
|
309
|
+
|
|
310
|
+
IF the user fails authentication 5 times,
|
|
311
|
+
THEN THE system SHALL lock the account for 30 minutes.
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
# 6. GitHub Spec KitとAWS Kiroの限界
|
|
315
|
+
|
|
316
|
+
GitHub Spec KitとAWS Kiroは素晴らしいツールですが、限界もあります。
|
|
317
|
+
|
|
318
|
+
## 限界1: 知識の永続化
|
|
319
|
+
|
|
320
|
+
生成されたコードや決定の「なぜ」が失われがちです。プロジェクトメモリの仕組みが弱い。
|
|
321
|
+
|
|
322
|
+
## 限界2: オントロジーの欠如
|
|
323
|
+
|
|
324
|
+
ドメイン知識を構造化・再利用する仕組みがありません。毎回ゼロから説明が必要。
|
|
325
|
+
|
|
326
|
+
## 限界3: LLMの幻覚(Hallucination)
|
|
327
|
+
|
|
328
|
+
LLMが自信満々に間違った回答を返す問題に対処する仕組みがない。
|
|
329
|
+
|
|
330
|
+
## 限界4: 学習機能の欠如
|
|
331
|
+
|
|
332
|
+
成功パターンを学習し、次のプロジェクトに活かす仕組みがない。
|
|
333
|
+
|
|
334
|
+
|
|
335
|
+
# 7. MUSUBIからMUSUBIXへ - Swarm Codingの実現
|
|
336
|
+
|
|
337
|
+
これらの限界を克服するために開発されたのが**MUSUBI**と、その進化版**MUSUBIX**です。
|
|
338
|
+
|
|
339
|
+
## MUSUBIとは
|
|
340
|
+
|
|
341
|
+
**MUSUBI(Method for Unified Specification-Based Implementation)** は、SDDを実践するためのフレームワークです。
|
|
342
|
+
|
|
343
|
+
> 💡 MUSUBIという名前には、日本語の「**結び(むすび)**」の意味も込められています。「結び」は古来より、物事を繋ぎ合わせ、新しいものを生み出す力を表す言葉です。要件・設計・コード・テストを「結び」つけ、高品質なソフトウェアを生み出すというコンセプトを体現しています。
|
|
344
|
+
|
|
345
|
+
🔗 **GitHub**: https://github.com/nahisaho/MUSUBI
|
|
346
|
+
|
|
347
|
+
- 9つの憲法条項による品質統治
|
|
348
|
+
- EARS形式の要件分析
|
|
349
|
+
- C4モデルによる設計
|
|
350
|
+
- 完全なトレーサビリティ
|
|
351
|
+
- **プロジェクトメモリ**(steering/による決定記録)
|
|
352
|
+
- **CodeGraph MCP Server連携**でプロジェクト全体のコードを俯瞰
|
|
353
|
+
|
|
354
|
+
MUSUBIは、AIエージェントを「優秀な新人エンジニア」として扱い、明確な指示書(仕様書)を与えることで、一貫性のある高品質なコードを生成することを目指しています。
|
|
355
|
+
|
|
356
|
+
## MUSUBIXへの進化
|
|
357
|
+
|
|
358
|
+
**MUSUBIX(MUSUBI Transformation)** は、MUSUBIでの複数の開発経験をもとに、MUSUBIに何が足りないのかを分析し、機能強化したものです。
|
|
359
|
+
|
|
360
|
+
> 💡 「X」は **Transformation(変革)** を意味し、単なる機能拡張ではなく、YATA知識グラフ統合によるNeuro-Symbolic AIへの**アーキテクチャの根本的な変革**を表現しています。
|
|
361
|
+
|
|
362
|
+
具体的には、MUSUBIに**YATA(Yet Another Thinking Architecture)** 知識グラフを統合し、**Neuro-Symbolic AI**と**Swarm Coding**を実現しました。
|
|
363
|
+
|
|
364
|
+
### 🎯 MUSUBIXの決定的な差別化要素
|
|
365
|
+
|
|
366
|
+
他ツールが「**いかに速くコードを書くか**」に焦点を当てる中、MUSUBIXは「**正しいものを正しく作るか**」を支援します。
|
|
367
|
+
|
|
368
|
+
これは以下の領域において決定的な差別化要素となります:
|
|
369
|
+
|
|
370
|
+
| 領域 | なぜMUSUBIXが重要か |
|
|
371
|
+
|------|-------------------|
|
|
372
|
+
| **規制産業**(金融、医療、航空等) | 要件トレーサビリティが法的・規制上必須 |
|
|
373
|
+
| **エンタープライズ規模の長期開発** | 数年単位で保守される大規模システムの品質維持 |
|
|
374
|
+
| **既存システムの段階的改修** | レガシーコードへの変更が既存機能に影響しないことを検証 |
|
|
375
|
+
|
|
376
|
+
> 💡 「速く作る」ことは重要ですが、「速く間違ったものを作る」ことには価値がありません。MUSUBIXは**9つの憲法条項**と**100%のトレーサビリティ**により、「正しいものを正しく作る」ことを保証します。
|
|
377
|
+
|
|
378
|
+
### MUSUBIからの主な進化ポイント
|
|
379
|
+
|
|
380
|
+
| 課題 | MUSUBI | MUSUBIX |
|
|
381
|
+
|------|--------|---------|
|
|
382
|
+
| 知識の永続化 | プロジェクトメモリ(steering/) | プロジェクトメモリ + YATAによる永続的な知識グラフ |
|
|
383
|
+
| コード俯瞰 | CodeGraph MCP Server連携 | CodeGraph + YATA統合 |
|
|
384
|
+
| 推論の一貫性 | LLMのみ(不安定) | Neuro-Symbolic(LLM+シンボリック) |
|
|
385
|
+
| マルチエージェント | 7エージェント、27スキル | 2エージェント、12スキル + 9オーケストレーションパターン |
|
|
386
|
+
| 学習・適応 | なし | 自己学習システム(フィードバック収集) |
|
|
387
|
+
| ドメイン知識 | 都度再学習 | 62ドメイン、47フレームワーク対応 |
|
|
388
|
+
|
|
389
|
+
> 💡 MUSUBIは**7つのAIエージェント**(Claude Code, GitHub Copilot, Cursor, Gemini CLI, Codex CLI, Qwen Code, Windsurf)に対応し、**27スキル**を提供する汎用SDDフレームワークです。MUSUBIXは**2エージェント**(GitHub Copilot + Claude Code)に特化し、**12のAgent Skills**と**9つのオーケストレーションパターン**で複数エージェントが**協調して動的に作業を分担**する「Swarm Coding」を実現しました。
|
|
390
|
+
|
|
391
|
+
### なぜスキル数を27から12に絞ったのか?
|
|
392
|
+
|
|
393
|
+
MUSUBIXがスキル数を減らしたのは「劣化」ではなく、**アーキテクチャの根本的な変革**によるものです。
|
|
394
|
+
|
|
395
|
+
| 観点 | MUSUBI(27スキル) | MUSUBIX(12スキル) |
|
|
396
|
+
|------|-------------------|-------------------|
|
|
397
|
+
| **設計思想** | 汎用的なスキルを網羅 | SDDコアワークフローに特化 |
|
|
398
|
+
| **知識補完** | スキル内にドメイン知識を埋め込み | YATAの知識グラフで動的に補完 |
|
|
399
|
+
| **協調方法** | 個別スキルを順次呼び出し | オーケストレーションで動的に協調 |
|
|
400
|
+
| **拡張性** | スキル追加が必要 | YATAに知識を追加するだけ |
|
|
401
|
+
|
|
402
|
+
**具体例**: MUSUBIでは`database-schema-designer`、`api-designer`、`ui-ux-designer`が別々のスキルですが、MUSUBIXでは`sdd-design`がYATAから47フレームワークの知識を動的に取得して対応します。
|
|
403
|
+
|
|
404
|
+
```
|
|
405
|
+
MUSUBI: [スキルA] → [スキルB] → [スキルC] (静的な順次実行)
|
|
406
|
+
MUSUBIX: [sdd-design] ← YATA(47フレームワーク) + オーケストレーション(動的協調)
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
## 従来のAIコーディング vs Swarm Coding
|
|
410
|
+
|
|
411
|
+
従来のAIコーディングは「1人の万能AI」に頼るアプローチでした。しかし、複雑なプロジェクトでは限界があります。Swarm Codingは、人間のチーム開発と同じように、**専門性を持った複数のAIエージェントが協調**して作業を進めます。
|
|
412
|
+
|
|
413
|
+
| 従来 | Swarm Coding (MUSUBIX) |
|
|
414
|
+
|------|----------------------|
|
|
415
|
+
| 1つのAIに全部任せる | 専門家チームが協調 |
|
|
416
|
+
| コンテキストが不足 | CodeGraphで全体像を把握 |
|
|
417
|
+
| 一発勝負 | Handoff/Triage で適切にルーティング |
|
|
418
|
+
| 品質は運次第 | 9つの憲法条項でガバナンス |
|
|
419
|
+
| トレーサビリティなし | REQ → Design → Code → Test 完全追跡 |
|
|
420
|
+
|
|
421
|
+
## 9つのオーケストレーションパターン
|
|
422
|
+
|
|
423
|
+
MUSUBIXは、タスクの性質や状況に応じて**9つの協調パターン**を使い分けます。
|
|
424
|
+
|
|
425
|
+
| # | パターン | 説明 | ユースケース |
|
|
426
|
+
|---|----------|------|-------------|
|
|
427
|
+
| 1 | **Sequential** | 順次実行 | 仕様→設計→実装→テスト |
|
|
428
|
+
| 2 | **Parallel** | 並列実行 | フロント/バック同時開発 |
|
|
429
|
+
| 3 | **Swarm** | 群知能協調 | 全員で問題解決 |
|
|
430
|
+
| 4 | **Handoff** | 委譲 | 専門家にバトンタッチ |
|
|
431
|
+
| 5 | **Triage** | 振り分け | 適切なエージェントへルーティング |
|
|
432
|
+
| 6 | **Human-in-Loop** | 人間承認 | 重要決定は人間が判断 |
|
|
433
|
+
| 7 | **Nested** | 入れ子 | 複雑なワークフロー |
|
|
434
|
+
| 8 | **Group Chat** | グループチャット | 複数エージェント議論 |
|
|
435
|
+
| 9 | **Auto** | 自動選択 | 状況に応じて最適パターン |
|
|
436
|
+
|
|
437
|
+
## Neuro-Symbolic AIアーキテクチャ
|
|
438
|
+
|
|
439
|
+
**Neuro-Symbolic AI(ニューロシンボリックAI)** は、ディープラーニング(Neural)と記号推論(Symbolic)を統合した次世代AIアーキテクチャです。
|
|
440
|
+
|
|
441
|
+
| アプローチ | 得意なこと | 苦手なこと |
|
|
442
|
+
|-----------|-----------|-----------|
|
|
443
|
+
| **Neural(LLM)** | 創造的生成、パターン認識、曖昧な入力処理 | 論理的一貫性、説明可能性、幻覚の抑制 |
|
|
444
|
+
| **Symbolic(知識グラフ)** | 論理推論、一貫性検証、説明可能性 | 柔軟性、未知のパターン処理 |
|
|
445
|
+
| **Neuro-Symbolic(統合)** | 両方の長所を活かし、短所を補完 | - |
|
|
446
|
+
|
|
447
|
+
MUSUBIXでは、**LLM(Claude/GPT)の創造性**と**YATA知識グラフの厳密性**を統合することで、「自信満々に間違える」LLMの幻覚問題を解決しています。
|
|
448
|
+
|
|
449
|
+
```mermaid
|
|
450
|
+
flowchart TB
|
|
451
|
+
subgraph MUSUBIX["🧠 MUSUBIX"]
|
|
452
|
+
subgraph Neural["Neural Layer<br/>(LLM/Claude)"]
|
|
453
|
+
N1["創造的生成"]
|
|
454
|
+
N2["自然言語理解"]
|
|
455
|
+
N3["パターン認識"]
|
|
456
|
+
end
|
|
457
|
+
|
|
458
|
+
subgraph Symbolic["Symbolic Layer<br/>(YATA Knowledge Graph)"]
|
|
459
|
+
S1["オントロジー<br/>(62ドメイン)"]
|
|
460
|
+
S2["ルールベース推論"]
|
|
461
|
+
S3["一貫性検証"]
|
|
462
|
+
end
|
|
463
|
+
|
|
464
|
+
Neural <-->|"双方向連携"| Symbolic
|
|
465
|
+
|
|
466
|
+
subgraph Hub["Integration Hub"]
|
|
467
|
+
H1["信頼度評価"]
|
|
468
|
+
H2["結果統合"]
|
|
469
|
+
H3["品質保証"]
|
|
470
|
+
end
|
|
471
|
+
|
|
472
|
+
Neural --> Hub
|
|
473
|
+
Symbolic --> Hub
|
|
474
|
+
end
|
|
475
|
+
|
|
476
|
+
style MUSUBIX fill:#f0f8ff,stroke:#4169e1,stroke-width:2px
|
|
477
|
+
style Neural fill:#ffe4e1,stroke:#dc143c,stroke-width:1px
|
|
478
|
+
style Symbolic fill:#e6ffe6,stroke:#228b22,stroke-width:1px
|
|
479
|
+
style Hub fill:#fff8dc,stroke:#daa520,stroke-width:1px
|
|
480
|
+
```
|
|
481
|
+
|
|
482
|
+
## Neuro-Symbolic統合の信頼度評価
|
|
483
|
+
|
|
484
|
+
MUSUBIXでは、NeuralレイヤーとSymbolicレイヤーの出力を**Integration Hub**で統合し、最終的な結果を決定します。この統合プロセスでは、**シンボリック推論による検証結果**と**ニューラルネットワークの信頼度スコア**を組み合わせて、最適な出力を選択します。
|
|
485
|
+
|
|
486
|
+
| シンボリック結果 | ニューラル信頼度 | 最終決定 |
|
|
487
|
+
|-----------------|-----------------|---------|
|
|
488
|
+
| invalid | - | ニューラル結果を**棄却** |
|
|
489
|
+
| valid | ≥0.8 | ニューラル結果を**採用** |
|
|
490
|
+
| valid | <0.8 | シンボリック結果を**優先** |
|
|
491
|
+
|
|
492
|
+
**なぜこのルールなのか?**
|
|
493
|
+
- **シンボリックがinvalid**: 知識グラフのルールに違反している場合、LLMがどれだけ自信を持っていても棄却します。これが「幻覚抑制」の核心です。
|
|
494
|
+
- **信頼度≥0.8**: LLMが高い確信を持ち、かつシンボリック検証もパスした場合は、LLMの創造的な提案を採用します。
|
|
495
|
+
- **信頼度<0.8**: LLMが不確かな場合は、より厳密なシンボリック推論の結果を優先します。
|
|
496
|
+
|
|
497
|
+
これにより、**LLMの幻覚を知識グラフで検証・抑制**できます。
|
|
498
|
+
|
|
499
|
+
|
|
500
|
+
## YATA(八咫)- 知識グラフMCPサーバー
|
|
501
|
+
|
|
502
|
+
**YATA(Yet Another Thinking Architecture / 八咫)** は、MUSUBIXのSymbolic Layerを担う知識グラフMCPサーバーです。ソースコードを解析し、知識グラフを構築することで、AIツールに正確なコンテキストを提供します。
|
|
503
|
+
|
|
504
|
+
> 💡 YATAという名前には、日本神話の「**八咫鏡(やたのかがみ)**」の意味も込められています。八咫鏡は三種の神器の一つで、「真実を映し出す鏡」として知られています。YATAは、コードベースの真実の姿を知識グラフとして映し出し、AIに正確なコンテキストを提供するという役割を象徴しています。
|
|
505
|
+
|
|
506
|
+
### YATAの特徴
|
|
507
|
+
|
|
508
|
+
| 機能 | 説明 |
|
|
509
|
+
|------|------|
|
|
510
|
+
| 🔍 **コード解析** | Tree-sitterによる高速AST解析(**24言語対応**) |
|
|
511
|
+
| 🕸️ **知識グラフ** | NetworkXによるエンティティ・関係性グラフ |
|
|
512
|
+
| 🔗 **関係性検出** | CALLS/IMPORTS/INHERITS/CONTAINS関係の自動検出 |
|
|
513
|
+
| 🤖 **MCP準拠** | **34 MCPツール、3プロンプト、1リソース** |
|
|
514
|
+
| 📚 **フレームワーク知識** | **47フレームワーク**の組み込み知識(457K+エンティティ) |
|
|
515
|
+
| 🔎 **ハイブリッド検索** | ローカルコード+フレームワーク横断検索 |
|
|
516
|
+
| 🎯 **パターン検出** | 10種類のデザインパターン自動検出 |
|
|
517
|
+
| 🔒 **プライバシー** | 完全ローカル実行(データ外部送信なし) |
|
|
518
|
+
|
|
519
|
+
### YATAの34 MCPツール
|
|
520
|
+
|
|
521
|
+
```
|
|
522
|
+
基本ツール (10)
|
|
523
|
+
├── parse_file, parse_directory - ソースコード解析
|
|
524
|
+
├── search_entities - エンティティ検索
|
|
525
|
+
├── get_entity, get_related_entities
|
|
526
|
+
├── save_graph, load_graph - グラフ永続化
|
|
527
|
+
└── list_supported_languages
|
|
528
|
+
|
|
529
|
+
フレームワーク知識グラフ (7)
|
|
530
|
+
├── list_frameworks - 47フレームワーク一覧
|
|
531
|
+
├── search_framework_docs - フレームワーク内検索
|
|
532
|
+
├── search_all_frameworks - 横断検索
|
|
533
|
+
└── find_code_patterns - 共通パターン検索
|
|
534
|
+
|
|
535
|
+
検索・コンテキスト (4)
|
|
536
|
+
├── semantic_search - セマンティック検索
|
|
537
|
+
├── find_by_pattern - パターンマッチング
|
|
538
|
+
├── get_code_context - 包括的コンテキスト
|
|
539
|
+
└── find_usage_examples - 使用例検索
|
|
540
|
+
|
|
541
|
+
AIコーディング支援 (5)
|
|
542
|
+
├── get_coding_guidance - ガイダンス生成
|
|
543
|
+
├── detect_patterns - デザインパターン検出
|
|
544
|
+
├── navigate_code - コードナビゲーション
|
|
545
|
+
└── get_call_graph - 呼び出しグラフ
|
|
546
|
+
```
|
|
547
|
+
|
|
548
|
+
### YATAの対応フレームワーク(47種)
|
|
549
|
+
|
|
550
|
+
**Python**: Django, Flask, FastAPI, Pytest, NumPy, Pandas, SQLAlchemy, LangChain, Haystack, Streamlit, LangGraph
|
|
551
|
+
|
|
552
|
+
**JavaScript/TypeScript**: React, Vue.js, Angular, Next.js, Express, NestJS, Jest, Astro, SolidJS, Remix, htmx, Hono, tRPC, Qwik, Bun, Expo
|
|
553
|
+
|
|
554
|
+
**Rust**: Actix-web, Tokio, Serde, Rocket, Axum, Tauri
|
|
555
|
+
|
|
556
|
+
**Go**: Gin, Echo, Fiber, GORM
|
|
557
|
+
|
|
558
|
+
**その他**: Phoenix (Elixir), Prisma, Drizzle, SwiftUI, Jetpack Compose, Spring Boot, .NET Core, Ruby on Rails, Laravel
|
|
559
|
+
|
|
560
|
+
### YATAのセットアップ
|
|
561
|
+
|
|
562
|
+
```bash
|
|
563
|
+
# YATAをクローン
|
|
564
|
+
git clone https://github.com/nahisaho/YATA.git
|
|
565
|
+
cd YATA
|
|
566
|
+
|
|
567
|
+
# uvで依存関係をインストール
|
|
568
|
+
uv sync --all-packages
|
|
569
|
+
|
|
570
|
+
# MCPサーバーを起動
|
|
571
|
+
uv run yata serve
|
|
572
|
+
```
|
|
573
|
+
|
|
574
|
+
**VS Code MCP設定** (`.vscode/mcp.json`):
|
|
575
|
+
```json
|
|
576
|
+
{
|
|
577
|
+
"mcpServers": {
|
|
578
|
+
"yata": {
|
|
579
|
+
"command": "uv",
|
|
580
|
+
"args": ["run", "yata", "serve"],
|
|
581
|
+
"cwd": "/path/to/YATA"
|
|
582
|
+
}
|
|
583
|
+
}
|
|
584
|
+
}
|
|
585
|
+
```
|
|
586
|
+
|
|
587
|
+
|
|
588
|
+
## YATA-LG - 2層知識グラフアーキテクチャ
|
|
589
|
+
|
|
590
|
+
**YATA-LG(YATA Local/Global Knowledge Graph System)** は、YATAを拡張した2層知識グラフアーキテクチャです。チーム・組織横断的な知識共有と、プロジェクト固有の高速知識アクセスを両立します。
|
|
591
|
+
|
|
592
|
+
🔗 **GitHub**: https://github.com/nahisaho/YATA-LG
|
|
593
|
+
|
|
594
|
+
```mermaid
|
|
595
|
+
flowchart TB
|
|
596
|
+
subgraph Global["🌐 YATA Global"]
|
|
597
|
+
G1["ベストプラクティス"]
|
|
598
|
+
G2["アーキテクチャパターン"]
|
|
599
|
+
G3["セキュリティガイドライン"]
|
|
600
|
+
end
|
|
601
|
+
|
|
602
|
+
Global -->|"📥 Pull"| LocalA
|
|
603
|
+
Global -->|"📥 Pull"| LocalB
|
|
604
|
+
Global -->|"📥 Pull"| LocalC
|
|
605
|
+
|
|
606
|
+
LocalA -->|"📤 Push"| Global
|
|
607
|
+
LocalB -->|"📤 Push"| Global
|
|
608
|
+
LocalC -->|"📤 Push"| Global
|
|
609
|
+
|
|
610
|
+
subgraph LocalA["📦 YATA Local - Team A"]
|
|
611
|
+
LA["プロジェクト固有知識"]
|
|
612
|
+
end
|
|
613
|
+
|
|
614
|
+
subgraph LocalB["📦 YATA Local - Team B"]
|
|
615
|
+
LB["プロジェクト固有知識"]
|
|
616
|
+
end
|
|
617
|
+
|
|
618
|
+
subgraph LocalC["📦 YATA Local - Team C"]
|
|
619
|
+
LC["プロジェクト固有知識"]
|
|
620
|
+
end
|
|
621
|
+
|
|
622
|
+
style Global fill:#e6f3ff,stroke:#0066cc,stroke-width:2px
|
|
623
|
+
style LocalA fill:#f0fff0,stroke:#228b22,stroke-width:1px
|
|
624
|
+
style LocalB fill:#f0fff0,stroke:#228b22,stroke-width:1px
|
|
625
|
+
style LocalC fill:#f0fff0,stroke:#228b22,stroke-width:1px
|
|
626
|
+
```
|
|
627
|
+
|
|
628
|
+
### YATA LocalとYATA Globalの違い
|
|
629
|
+
|
|
630
|
+
| 機能 | YATA Local | YATA Global |
|
|
631
|
+
|------|------------|-------------|
|
|
632
|
+
| **スコープ** | プロジェクト/チーム専用 | 組織全体で共有 |
|
|
633
|
+
| **永続化** | SQLite(ローカル) | PostgreSQL(サーバー) |
|
|
634
|
+
| **ネットワーク** | オフライン対応 | REST API経由 |
|
|
635
|
+
| **プライバシー** | 機密コードを外部送信しない | マルチテナント分離 |
|
|
636
|
+
| **知識** | プロジェクト固有の学習 | 47フレームワーク、457K+エンティティ |
|
|
637
|
+
|
|
638
|
+
### 同期・昇格フロー
|
|
639
|
+
|
|
640
|
+
- **📥 Pull**: Global→Localへの知識継承(ベストプラクティスの取得)
|
|
641
|
+
- **📤 Push**: Local→Globalへの知識昇格(成功パターンの共有)
|
|
642
|
+
- **⚖️ 競合解決**: CRDTベースの分散同期
|
|
643
|
+
|
|
644
|
+
### YATA-LGのセットアップ
|
|
645
|
+
|
|
646
|
+
```bash
|
|
647
|
+
# pip でインストール
|
|
648
|
+
pip install yata-local
|
|
649
|
+
|
|
650
|
+
# MCP Server として起動
|
|
651
|
+
yata-local --transport stdio
|
|
652
|
+
```
|
|
653
|
+
|
|
654
|
+
**Docker で起動**:
|
|
655
|
+
```bash
|
|
656
|
+
# リポジトリをクローン
|
|
657
|
+
git clone https://github.com/nahisaho/YATA-LG.git
|
|
658
|
+
cd YATA-LG
|
|
659
|
+
|
|
660
|
+
# Docker Compose で起動
|
|
661
|
+
docker compose -f docker/docker-compose.yml up -d
|
|
662
|
+
|
|
663
|
+
# ヘルスチェック
|
|
664
|
+
curl http://localhost:8000/health
|
|
665
|
+
```
|
|
666
|
+
|
|
667
|
+
### YATA vs YATA-LG の使い分け
|
|
668
|
+
|
|
669
|
+
| ユースケース | 推奨 |
|
|
670
|
+
|-------------|------|
|
|
671
|
+
| 個人開発・小規模プロジェクト | YATA |
|
|
672
|
+
| チーム開発・知識共有が必要 | YATA-LG |
|
|
673
|
+
| オフライン環境 | YATA または YATA Local |
|
|
674
|
+
| 組織横断のベストプラクティス管理 | YATA-LG(Local + Global) |
|
|
675
|
+
|
|
676
|
+
> 💡 **将来の統合予定**: YATAとYATA Globalは将来的に統合される予定です。YATAが持つ**47フレームワーク、457K+エンティティの知識**がYATA Globalに統合され、組織全体で共有可能になります。統合後はYATA-LGをインストールするだけでよくなる予定です。
|
|
677
|
+
|
|
678
|
+
|
|
679
|
+
# 8. CodeGraph MCP Server - Swarm Codingの基盤
|
|
680
|
+
|
|
681
|
+
**CodeGraph MCP Server** は、ソースコードをグラフ構造として解析し、MCP(Model Context Protocol)経由でAIエージェントに提供するサーバーです。**GraphRAG(Graph Retrieval-Augmented Generation)** 機能を備え、**MUSUBIXから直接利用可能**です。
|
|
682
|
+
|
|
683
|
+
🔗 **GitHub**: https://github.com/nahisaho/CodeGraphMCPServer
|
|
684
|
+
|
|
685
|
+
## なぜCodeGraphが必要なのか?
|
|
686
|
+
|
|
687
|
+
従来のAIコーディングアシスタントは「ファイル単位」でしかコードを理解できません。CodeGraphはプロジェクト全体を**グラフ構造**として把握し、以下を可能にします。
|
|
688
|
+
|
|
689
|
+
| 課題 | 従来のAI | CodeGraph連携 |
|
|
690
|
+
|------|----------|---------------|
|
|
691
|
+
| 関数の呼び出し元 | grep検索、見落としあり | `find_callers` で完全リスト |
|
|
692
|
+
| 依存関係 | import文を目視 | `find_dependencies` で深い依存も検出 |
|
|
693
|
+
| 変更の影響範囲 | 「たぶん大丈夫」 | 影響分析で波及範囲を完全把握 |
|
|
694
|
+
| コード構造理解 | ファイルを1つずつ | `global_search` + `community` で即座に全体像 |
|
|
695
|
+
|
|
696
|
+
## CodeGraphの特徴
|
|
697
|
+
|
|
698
|
+
| 機能 | 説明 |
|
|
699
|
+
|------|------|
|
|
700
|
+
| 🚀 **ゼロ設定** | 外部DB不要、`pip install && serve`で即座に開始 |
|
|
701
|
+
| 🌳 **AST解析** | Tree-sitterによる高速・高精度なコード解析 |
|
|
702
|
+
| 🔗 **グラフ構築** | コードエンティティ間の関係性をグラフ化 |
|
|
703
|
+
| 🧠 **GraphRAG** | コミュニティ検出とLLM統合によるグローバル/ローカル検索 |
|
|
704
|
+
| ⚡ **高速インデックス** | 100K行を30秒以下、インクリメンタル更新は2秒以下 |
|
|
705
|
+
|
|
706
|
+
## CodeGraphが提供するMCPインターフェイス
|
|
707
|
+
|
|
708
|
+
| 種類 | 数 | 主な機能 |
|
|
709
|
+
|------|-----|----------|
|
|
710
|
+
| **MCPツール** | 14 | 依存関係分析、呼び出し追跡、コード検索、リファクタリング提案 |
|
|
711
|
+
| **MCPリソース** | 4 | エンティティ詳細、ファイル情報、コミュニティ情報、統計 |
|
|
712
|
+
| **MCPプロンプト** | 6 | コードレビュー、機能実装ガイド、デバッグ支援、テスト生成 |
|
|
713
|
+
|
|
714
|
+
### 14のMCPツール
|
|
715
|
+
|
|
716
|
+
```
|
|
717
|
+
グラフクエリ (6)
|
|
718
|
+
├── query_codebase - 自然言語でコード検索
|
|
719
|
+
├── find_dependencies - 依存関係分析
|
|
720
|
+
├── find_callers - 呼び出し元追跡
|
|
721
|
+
├── find_callees - 呼び出し先追跡
|
|
722
|
+
├── find_implementations - インターフェース実装検索
|
|
723
|
+
└── analyze_module_structure - モジュール構造分析
|
|
724
|
+
|
|
725
|
+
コード取得 (3)
|
|
726
|
+
├── get_code_snippet - ソースコード取得
|
|
727
|
+
├── read_file_content - ファイル内容取得
|
|
728
|
+
└── get_file_structure - ファイル構造概要
|
|
729
|
+
|
|
730
|
+
GraphRAG (2)
|
|
731
|
+
├── global_search - コミュニティ横断検索
|
|
732
|
+
└── local_search - エンティティ近傍検索
|
|
733
|
+
|
|
734
|
+
管理 (3)
|
|
735
|
+
├── suggest_refactoring - リファクタリング提案
|
|
736
|
+
├── reindex_repository - リポジトリ再インデックス
|
|
737
|
+
└── execute_shell_command - シェルコマンド実行
|
|
738
|
+
```
|
|
739
|
+
|
|
740
|
+
## 対応言語(16言語)
|
|
741
|
+
|
|
742
|
+
Python, TypeScript, JavaScript, Rust, Go, Java, PHP, C#, C, C++, HCL(Terraform), Ruby, Kotlin, Swift, Scala, Lua
|
|
743
|
+
|
|
744
|
+
## CodeGraph MCP Serverのセットアップ
|
|
745
|
+
|
|
746
|
+
```bash
|
|
747
|
+
# pip でインストール
|
|
748
|
+
pip install codegraph-mcp-server
|
|
749
|
+
|
|
750
|
+
# リポジトリをインデックス
|
|
751
|
+
codegraph-mcp index /path/to/repository --full
|
|
752
|
+
|
|
753
|
+
# MCPサーバーとして起動
|
|
754
|
+
codegraph-mcp serve --repo /path/to/repository
|
|
755
|
+
```
|
|
756
|
+
|
|
757
|
+
**VS Code MCP設定** (`.vscode/settings.json`):
|
|
758
|
+
```json
|
|
759
|
+
{
|
|
760
|
+
"mcp.servers": {
|
|
761
|
+
"codegraph": {
|
|
762
|
+
"command": "codegraph-mcp",
|
|
763
|
+
"args": ["serve", "--repo", "${workspaceFolder}"]
|
|
764
|
+
}
|
|
765
|
+
}
|
|
766
|
+
}
|
|
767
|
+
```
|
|
768
|
+
|
|
769
|
+
**自然言語でインデックス操作**:
|
|
770
|
+
|
|
771
|
+
GitHub Copilotに話しかけるだけ:
|
|
772
|
+
- 「CodeGraph MCP Indexを作成」
|
|
773
|
+
- 「CodeGraph MCP Indexを更新」
|
|
774
|
+
- 「コードグラフを再構築して」
|
|
775
|
+
|
|
776
|
+
|
|
777
|
+
# 9. 重要:MUSUBIXはAIコーディングエージェントを置き換えない
|
|
778
|
+
|
|
779
|
+
:::note info
|
|
780
|
+
**MUSUBIXは、GitHub CopilotやClaude Codeを置き換えるものではありません。それらを強化するものです。**
|
|
781
|
+
:::
|
|
782
|
+
|
|
783
|
+
## 補完関係
|
|
784
|
+
|
|
785
|
+
```mermaid
|
|
786
|
+
flowchart TB
|
|
787
|
+
subgraph Workflow["👨💻 開発者のワークフロー"]
|
|
788
|
+
subgraph Agents["AIコーディングエージェント"]
|
|
789
|
+
Copilot["🤖 GitHub<br/>Copilot"]
|
|
790
|
+
Claude["🧠 Claude<br/>Code"]
|
|
791
|
+
Cursor["✨ Cursor"]
|
|
792
|
+
end
|
|
793
|
+
|
|
794
|
+
Copilot --> MUSUBIX
|
|
795
|
+
Claude --> MUSUBIX
|
|
796
|
+
Cursor --> MUSUBIX
|
|
797
|
+
|
|
798
|
+
subgraph MUSUBIX["🔗 MUSUBIX"]
|
|
799
|
+
M1["要件の形式化"]
|
|
800
|
+
M2["設計の構造化"]
|
|
801
|
+
M3["知識の永続化"]
|
|
802
|
+
M4["品質の保証"]
|
|
803
|
+
M5["トレーサビリティ"]
|
|
804
|
+
end
|
|
805
|
+
end
|
|
806
|
+
|
|
807
|
+
style Workflow fill:#f5f5f5,stroke:#333,stroke-width:2px
|
|
808
|
+
style Agents fill:#e3f2fd,stroke:#1976d2,stroke-width:1px
|
|
809
|
+
style MUSUBIX fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
|
|
810
|
+
style Copilot fill:#fff,stroke:#333
|
|
811
|
+
style Claude fill:#fff,stroke:#333
|
|
812
|
+
style Cursor fill:#fff,stroke:#333
|
|
813
|
+
```
|
|
814
|
+
|
|
815
|
+
## なぜ置き換えではなく強化なのか
|
|
816
|
+
|
|
817
|
+
AIコーディングエージェント(GitHub Copilot、Claude Code、Cursorなど)とMUSUBIXは、**異なる強みを持つ補完的なツール**です。AIエージェントは「コードを素早く生成する」ことに優れていますが、「なぜそのコードを書くのか」「このコードは要件を満たしているか」という**上流の品質管理**は苦手です。
|
|
818
|
+
|
|
819
|
+
MUSUBIXはこのギャップを埋めます。AIエージェントが生成したコードに対して、要件との整合性を検証し、設計パターンへの準拠を確認し、変更の影響範囲を追跡します。つまり、**AIエージェントを「より賢く」使うための基盤**を提供します。
|
|
820
|
+
|
|
821
|
+
| AIコーディングエージェント | MUSUBIX |
|
|
822
|
+
|---------------------------|---------|
|
|
823
|
+
| コード生成が得意 | 仕様・設計の構造化が得意 |
|
|
824
|
+
| 瞬時の補完・編集 | 長期的な知識の蓄積 |
|
|
825
|
+
| 創造的なソリューション | 一貫性と品質の保証 |
|
|
826
|
+
| 個別タスクの自動化 | プロジェクト全体の統治 |
|
|
827
|
+
|
|
828
|
+
**MUSUBIXを使うことで**:
|
|
829
|
+
- GitHub Copilotの提案が**仕様に準拠**しているか検証できる
|
|
830
|
+
- Claude Codeの生成コードに**トレーサビリティ**を付与できる
|
|
831
|
+
- Cursorの編集が**設計パターン**にしたがっているか確認できる
|
|
832
|
+
|
|
833
|
+
## 共存のベストプラクティス
|
|
834
|
+
|
|
835
|
+
```bash
|
|
836
|
+
# 1. MUSUBIXで要件を定義
|
|
837
|
+
npx musubix requirements analyze feature.md
|
|
838
|
+
|
|
839
|
+
# 2. MUSUBIXで設計を生成
|
|
840
|
+
npx musubix design generate requirements.md
|
|
841
|
+
|
|
842
|
+
# 3. AIエージェントでコード生成(GitHub Copilot / Claude Code)
|
|
843
|
+
# → MUSUBIXが生成した設計ドキュメントをコンテキストとして使用
|
|
844
|
+
|
|
845
|
+
# 4. MUSUBIXでトレーサビリティ検証
|
|
846
|
+
npx musubix trace validate
|
|
847
|
+
```
|
|
848
|
+
|
|
849
|
+
# 10. MUSUBIXの主要機能
|
|
850
|
+
|
|
851
|
+
## インストール
|
|
852
|
+
|
|
853
|
+
### グローバルインストール
|
|
854
|
+
|
|
855
|
+
システム全体で`musubix`コマンドを使用できるようにします。複数のプロジェクトでMUSUBIXを使用する場合に便利です。
|
|
856
|
+
|
|
857
|
+
```bash
|
|
858
|
+
# グローバルインストール
|
|
859
|
+
npm install -g musubix
|
|
860
|
+
|
|
861
|
+
# どのディレクトリからでも実行可能
|
|
862
|
+
musubix init my-project
|
|
863
|
+
musubix requirements analyze feature.md
|
|
864
|
+
```
|
|
865
|
+
|
|
866
|
+
### ローカルインストール(推奨)
|
|
867
|
+
|
|
868
|
+
プロジェクトごとにMUSUBIXをインストールします。チーム開発では、全員が同じバージョンを使用できるため**こちらを推奨**します。
|
|
869
|
+
|
|
870
|
+
```bash
|
|
871
|
+
# プロジェクトディレクトリで実行
|
|
872
|
+
cd my-project
|
|
873
|
+
npm install --save-dev musubix
|
|
874
|
+
|
|
875
|
+
# npx経由で実行
|
|
876
|
+
npx musubix init .
|
|
877
|
+
npx musubix requirements analyze feature.md
|
|
878
|
+
```
|
|
879
|
+
|
|
880
|
+
### グローバル vs ローカルの違い
|
|
881
|
+
|
|
882
|
+
| 項目 | グローバル | ローカル(推奨) |
|
|
883
|
+
|------|----------|-----------------|
|
|
884
|
+
| **インストール先** | システム全体 | プロジェクトの`node_modules/` |
|
|
885
|
+
| **バージョン管理** | 手動で更新 | `package.json`で管理 |
|
|
886
|
+
| **チーム共有** | 各自がインストール必要 | `npm install`で自動インストール |
|
|
887
|
+
| **CI/CD** | 別途インストール必要 | `package.json`から自動 |
|
|
888
|
+
| **実行方法** | `musubix ...` | `npx musubix ...` |
|
|
889
|
+
|
|
890
|
+
### どちらを選ぶべきか?
|
|
891
|
+
|
|
892
|
+
| ユースケース | 推奨 | 理由 |
|
|
893
|
+
|-------------|------|------|
|
|
894
|
+
| **チーム開発** | ローカル | 全員が同じバージョンを使用、CI/CDでも自動インストール |
|
|
895
|
+
| **個人プロジェクト(複数)** | グローバル | 毎回インストール不要、すぐに使い始められる |
|
|
896
|
+
| **個人プロジェクト(1つ)** | ローカル | プロジェクトと一緒にバージョン管理できる |
|
|
897
|
+
| **お試し・学習目的** | グローバル | 手軽に試せる、`npx musubix`でも可 |
|
|
898
|
+
| **プロダクション環境** | ローカル | 再現性が高く、依存関係が明確 |
|
|
899
|
+
|
|
900
|
+
:::note info
|
|
901
|
+
**迷ったらローカルインストール**を選んでください。チーム開発やCI/CDでの再現性が高く、トラブルが少ないです。
|
|
902
|
+
:::
|
|
903
|
+
|
|
904
|
+
### プロジェクト初期化
|
|
905
|
+
|
|
906
|
+
```bash
|
|
907
|
+
# 新規プロジェクト初期化
|
|
908
|
+
npx musubix init my-project
|
|
909
|
+
|
|
910
|
+
# 既存プロジェクトに追加
|
|
911
|
+
cd existing-project
|
|
912
|
+
npx musubix init . --force
|
|
913
|
+
```
|
|
914
|
+
|
|
915
|
+
インストール時に自動生成されるファイル・ディレクトリ:
|
|
916
|
+
|
|
917
|
+
| ファイル/ディレクトリ | 配置先 | 用途 |
|
|
918
|
+
|---------------------|--------|------|
|
|
919
|
+
| `.github/` | プロジェクトルート | GitHub Copilot用ディレクトリ |
|
|
920
|
+
| `AGENTS.md` | `.github/` | GitHub Copilot Agent用指示ファイル |
|
|
921
|
+
| `.claude/` | プロジェクトルート | Claude Code用ディレクトリ |
|
|
922
|
+
| `CLAUDE.md` | `.claude/` | Claude Code用指示ファイル |
|
|
923
|
+
| `steering/` | プロジェクトルート | プロジェクトメモリ(決定記録) |
|
|
924
|
+
|
|
925
|
+
## CLIコマンド
|
|
926
|
+
|
|
927
|
+
:::note info
|
|
928
|
+
**実際にCLIを直接実行することはほとんどありません。**
|
|
929
|
+
|
|
930
|
+
MUSUBIXはGitHub CopilotやClaude Codeと連携しているため、**自然言語で命令するだけ**で内部的にこれらのコマンドが実行されます。
|
|
931
|
+
|
|
932
|
+
例:
|
|
933
|
+
- 「この機能の要件をEARS形式で分析して」→ `requirements analyze`が実行される
|
|
934
|
+
- 「設計ドキュメントを生成して」→ `design generate`が実行される
|
|
935
|
+
- 「トレーサビリティを検証して」→ `trace validate`が実行される
|
|
936
|
+
|
|
937
|
+
以下のコマンドは、**デバッグやスクリプト自動化**の際に直接使用できます。
|
|
938
|
+
:::
|
|
939
|
+
|
|
940
|
+
```bash
|
|
941
|
+
# 要件分析
|
|
942
|
+
npx musubix requirements analyze <file> # 自然言語 → EARS変換
|
|
943
|
+
npx musubix requirements validate <file> # EARS構文検証
|
|
944
|
+
|
|
945
|
+
# 設計生成
|
|
946
|
+
npx musubix design generate <file> # 要件から設計生成
|
|
947
|
+
npx musubix design c4 <file> # C4ダイアグラム生成
|
|
948
|
+
npx musubix design adr <decision> # ADR生成
|
|
949
|
+
|
|
950
|
+
# コード生成
|
|
951
|
+
npx musubix codegen generate <file> # 設計からコード生成
|
|
952
|
+
npx musubix codegen security <path> # セキュリティスキャン
|
|
953
|
+
|
|
954
|
+
# トレーサビリティ
|
|
955
|
+
npx musubix trace matrix # マトリクス生成
|
|
956
|
+
npx musubix trace impact <id> # 影響分析
|
|
957
|
+
|
|
958
|
+
# 自己学習
|
|
959
|
+
npx musubix learn status # 学習状態確認
|
|
960
|
+
npx musubix learn recommend # パターン推奨
|
|
961
|
+
```
|
|
962
|
+
|
|
963
|
+
## 9つの憲法条項
|
|
964
|
+
|
|
965
|
+
MUSUBIXのすべての開発活動を統治する不変のルールです。
|
|
966
|
+
|
|
967
|
+
:::note warn
|
|
968
|
+
**なぜAI Codingに「憲法」が必要なのか?**
|
|
969
|
+
|
|
970
|
+
AIエージェントは強力ですが、**明確なガードレールがないと暴走**します。
|
|
971
|
+
|
|
972
|
+
- **一貫性の欠如**: 同じ質問でも毎回違う設計を提案する
|
|
973
|
+
- **品質のばらつき**: テストを書いたり書かなかったりする
|
|
974
|
+
- **トレーサビリティの断絶**: なぜその実装になったか追跡できない
|
|
975
|
+
- **過去の学習を忘れる**: 同じ間違いを何度も繰り返す
|
|
976
|
+
|
|
977
|
+
**憲法条項は「AIエージェントの行動規範」** として機能します。
|
|
978
|
+
|
|
979
|
+
```
|
|
980
|
+
人間の開発者 → コーディング規約・レビューで品質維持
|
|
981
|
+
AIエージェント → 憲法条項で品質統治
|
|
982
|
+
```
|
|
983
|
+
|
|
984
|
+
9つの条項があることで、どのAIエージェント(GitHub Copilot、Claude Code、Cursor等)を使っても**同じ品質基準**で開発が進みます。これは「AIガバナンス」の実践です。
|
|
985
|
+
:::
|
|
986
|
+
|
|
987
|
+
| 条項 | 名称 | 概要 |
|
|
988
|
+
|-----|------|------|
|
|
989
|
+
| I | Library-First | 機能は独立ライブラリとして開始 |
|
|
990
|
+
| II | CLI Interface | すべてのライブラリはCLI公開必須 |
|
|
991
|
+
| III | Test-First | Red-Green-Blueサイクルでテスト先行 |
|
|
992
|
+
| IV | EARS Format | 要件はEARS形式で記述 |
|
|
993
|
+
| V | Traceability | 要件↔設計↔コード↔テストの100%追跡 |
|
|
994
|
+
| VI | Project Memory | steering/を参照してから決定 |
|
|
995
|
+
| VII | Design Patterns | 設計パターン適用の文書化 |
|
|
996
|
+
| VIII | Decision Records | すべての決定をADRで記録 |
|
|
997
|
+
| IX | Quality Gates | フェーズ移行前の品質検証 |
|
|
998
|
+
|
|
999
|
+
### 憲法条項の効果
|
|
1000
|
+
|
|
1001
|
+
```mermaid
|
|
1002
|
+
flowchart LR
|
|
1003
|
+
subgraph Before["❌ 憲法なし"]
|
|
1004
|
+
B1["AIエージェント"] --> B2["場当たり的な実装"]
|
|
1005
|
+
B2 --> B3["品質バラバラ"]
|
|
1006
|
+
B3 --> B4["技術的負債"]
|
|
1007
|
+
end
|
|
1008
|
+
|
|
1009
|
+
subgraph After["✅ 憲法あり"]
|
|
1010
|
+
A1["AIエージェント"] --> A2["憲法条項チェック"]
|
|
1011
|
+
A2 --> A3["一貫した品質"]
|
|
1012
|
+
A3 --> A4["持続可能な開発"]
|
|
1013
|
+
end
|
|
1014
|
+
|
|
1015
|
+
style Before fill:#ffebee,stroke:#c62828
|
|
1016
|
+
style After fill:#e8f5e9,stroke:#2e7d32
|
|
1017
|
+
```
|
|
1018
|
+
|
|
1019
|
+
## MCPサーバー
|
|
1020
|
+
|
|
1021
|
+
MUSUBIXはMCP(Model Context Protocol)サーバーも提供し、AIエージェントと直接連携できます。
|
|
1022
|
+
|
|
1023
|
+
:::note info
|
|
1024
|
+
**GitHub CopilotやClaude Codeを使う場合、MCPサーバーの構築は不要です。**
|
|
1025
|
+
|
|
1026
|
+
MUSUBIXをnpmでインストールするだけで、これらのAIエージェントは自動的にMUSUBIXの機能を利用できます。MCPサーバーの手動構築が必要なのは、**Cursor、Windsurf、その他のMCP対応ツール**を使う場合のみです。
|
|
1027
|
+
:::
|
|
1028
|
+
|
|
1029
|
+
### MCPサーバーが必要な場合
|
|
1030
|
+
|
|
1031
|
+
| AIエージェント | MCPサーバー構築 | 備考 |
|
|
1032
|
+
|---------------|----------------|------|
|
|
1033
|
+
| **GitHub Copilot** | ❌ 不要 | MUSUBIXインストールのみでOK |
|
|
1034
|
+
| **Claude Code** | ❌ 不要 | MUSUBIXインストールのみでOK |
|
|
1035
|
+
| **Cursor** | ✅ 必要 | 下記の設定が必要 |
|
|
1036
|
+
| **Windsurf** | ✅ 必要 | 下記の設定が必要 |
|
|
1037
|
+
| **その他MCP対応ツール** | ✅ 必要 | 下記の設定が必要 |
|
|
1038
|
+
|
|
1039
|
+
### MCPサーバーの起動方法
|
|
1040
|
+
|
|
1041
|
+
```bash
|
|
1042
|
+
# 直接起動
|
|
1043
|
+
npx @nahisaho/musubix-mcp-server
|
|
1044
|
+
|
|
1045
|
+
# または、グローバルインストール後に起動
|
|
1046
|
+
npm install -g @nahisaho/musubix-mcp-server
|
|
1047
|
+
musubix-mcp --transport stdio
|
|
1048
|
+
```
|
|
1049
|
+
|
|
1050
|
+
### Cursor / Windsurf での設定
|
|
1051
|
+
|
|
1052
|
+
**1. 設定ファイルを作成**
|
|
1053
|
+
|
|
1054
|
+
`~/.cursor/mcp.json`(Cursorの場合)または該当する設定ファイル:
|
|
1055
|
+
|
|
1056
|
+
```json
|
|
1057
|
+
{
|
|
1058
|
+
"mcpServers": {
|
|
1059
|
+
"musubix": {
|
|
1060
|
+
"command": "npx",
|
|
1061
|
+
"args": ["@nahisaho/musubix-mcp-server"],
|
|
1062
|
+
"env": {
|
|
1063
|
+
"MUSUBIX_PROJECT_ROOT": "/path/to/your/project"
|
|
1064
|
+
}
|
|
1065
|
+
}
|
|
1066
|
+
}
|
|
1067
|
+
}
|
|
1068
|
+
```
|
|
1069
|
+
|
|
1070
|
+
**2. プロジェクト固有の設定(推奨)**
|
|
1071
|
+
|
|
1072
|
+
プロジェクトルートに `.mcp/config.json` を作成:
|
|
1073
|
+
|
|
1074
|
+
```json
|
|
1075
|
+
{
|
|
1076
|
+
"musubix": {
|
|
1077
|
+
"projectRoot": ".",
|
|
1078
|
+
"storageDir": "./storage",
|
|
1079
|
+
"steeringDir": "./steering"
|
|
1080
|
+
}
|
|
1081
|
+
}
|
|
1082
|
+
```
|
|
1083
|
+
|
|
1084
|
+
**3. 設定の確認**
|
|
1085
|
+
|
|
1086
|
+
```bash
|
|
1087
|
+
# MCPサーバーの動作確認
|
|
1088
|
+
npx @nahisaho/musubix-mcp-server --help
|
|
1089
|
+
|
|
1090
|
+
# ツール一覧の表示
|
|
1091
|
+
npx @nahisaho/musubix-mcp-server --list-tools
|
|
1092
|
+
```
|
|
1093
|
+
|
|
1094
|
+
### 提供される9つのツール
|
|
1095
|
+
|
|
1096
|
+
| ツール | 説明 |
|
|
1097
|
+
|--------|------|
|
|
1098
|
+
| `sdd_create_requirements` | EARS形式の要件作成 |
|
|
1099
|
+
| `sdd_validate_requirements` | 要件検証 |
|
|
1100
|
+
| `sdd_create_design` | C4モデル設計 |
|
|
1101
|
+
| `sdd_validate_design` | 設計検証 |
|
|
1102
|
+
| `sdd_create_tasks` | タスク生成 |
|
|
1103
|
+
| `sdd_query_knowledge` | 知識グラフクエリ |
|
|
1104
|
+
| `sdd_update_knowledge` | 知識更新 |
|
|
1105
|
+
| `sdd_validate_constitution` | 憲法準拠検証 |
|
|
1106
|
+
| `sdd_validate_traceability` | トレーサビリティ検証 |
|
|
1107
|
+
|
|
1108
|
+
|
|
1109
|
+
# 11. 実践チュートリアル:備品管理システムを作る
|
|
1110
|
+
|
|
1111
|
+
このチュートリアルでは、MUSUBIXを使って「備品管理システム」を開発する過程を実際の出力結果とともに解説します。**要件定義 → 設計 → タスク分解**の各フェーズでレビュー・修正サイクルを繰り返し、品質を担保する方法を学びます。
|
|
1112
|
+
|
|
1113
|
+
## Step 1: プロジェクト初期化
|
|
1114
|
+
|
|
1115
|
+
```bash
|
|
1116
|
+
mkdir equipment-management && cd equipment-management
|
|
1117
|
+
npx musubix init . --name equipment-management
|
|
1118
|
+
```
|
|
1119
|
+
|
|
1120
|
+
**出力結果**:
|
|
1121
|
+
```json
|
|
1122
|
+
{
|
|
1123
|
+
"success": true,
|
|
1124
|
+
"projectPath": "/tmp/equipment-management",
|
|
1125
|
+
"filesCreated": [
|
|
1126
|
+
"steering/",
|
|
1127
|
+
"steering/rules/",
|
|
1128
|
+
"storage/",
|
|
1129
|
+
"storage/specs/",
|
|
1130
|
+
"musubix.config.json",
|
|
1131
|
+
"steering/rules/constitution.md",
|
|
1132
|
+
"AGENTS.md"
|
|
1133
|
+
],
|
|
1134
|
+
"message": "MUSUBIX project 'equipment-management' initialized successfully!"
|
|
1135
|
+
}
|
|
1136
|
+
```
|
|
1137
|
+
|
|
1138
|
+
## Step 2: 要件を自然言語で書く
|
|
1139
|
+
|
|
1140
|
+
GitHub CopilotもしくはClaude Codeで、**「備品管理システムを開発するので、要件定義を開始」**と依頼します。
|
|
1141
|
+
MUSUBIXが対話形式で必要なコンテキストを収集しながら要件定義を行います。
|
|
1142
|
+
|
|
1143
|
+
## Step 3: EARS形式に変換してレビュー
|
|
1144
|
+
|
|
1145
|
+
要件定義が完了したら、 **「要件定義書をレビュー&修正」** と依頼します。
|
|
1146
|
+
|
|
1147
|
+
:::note warn
|
|
1148
|
+
**レビュー・修正サイクルの重要性**
|
|
1149
|
+
|
|
1150
|
+
MUSUBIXでは、各フェーズで自動レビューが実行されます。指摘事項がゼロになるまで修正を繰り返すことで、後工程での手戻りを防ぎます。
|
|
1151
|
+
:::
|
|
1152
|
+
|
|
1153
|
+
### レビュー1回目
|
|
1154
|
+
|
|
1155
|
+
```bash
|
|
1156
|
+
npx musubix requirements validate storage/specs/REQ-EQUIP-001.md --strict
|
|
1157
|
+
```
|
|
1158
|
+
|
|
1159
|
+
**出力結果**:
|
|
1160
|
+
```json
|
|
1161
|
+
{
|
|
1162
|
+
"success": true,
|
|
1163
|
+
"valid": true,
|
|
1164
|
+
"issues": [
|
|
1165
|
+
{ "severity": "info", "message": "Consider adding measurable criteria" },
|
|
1166
|
+
{ "severity": "info", "message": "Consider adding measurable criteria" },
|
|
1167
|
+
{ "severity": "info", "message": "Consider adding measurable criteria" },
|
|
1168
|
+
{ "severity": "info", "message": "Consider adding measurable criteria" },
|
|
1169
|
+
{ "severity": "info", "message": "Consider adding measurable criteria" },
|
|
1170
|
+
{ "severity": "info", "message": "Consider adding measurable criteria" }
|
|
1171
|
+
],
|
|
1172
|
+
"summary": { "errors": 0, "warnings": 0, "info": 6 },
|
|
1173
|
+
"message": "✅ All 10 requirements are valid"
|
|
1174
|
+
}
|
|
1175
|
+
```
|
|
1176
|
+
|
|
1177
|
+
**🔧 修正**: 測定可能な基準(応答時間、文字数制限など)を追加
|
|
1178
|
+
|
|
1179
|
+
### レビュー2回目
|
|
1180
|
+
|
|
1181
|
+
```json
|
|
1182
|
+
{
|
|
1183
|
+
"summary": { "errors": 0, "warnings": 0, "info": 2 },
|
|
1184
|
+
"message": "✅ All 10 requirements are valid"
|
|
1185
|
+
}
|
|
1186
|
+
```
|
|
1187
|
+
|
|
1188
|
+
**🔧 修正**: State-driven/Unwanted要件にも応答時間を追加
|
|
1189
|
+
|
|
1190
|
+
### レビュー3回目(最終)
|
|
1191
|
+
|
|
1192
|
+
```json
|
|
1193
|
+
{
|
|
1194
|
+
"success": true,
|
|
1195
|
+
"valid": true,
|
|
1196
|
+
"issues": [],
|
|
1197
|
+
"summary": { "errors": 0, "warnings": 0, "info": 0 },
|
|
1198
|
+
"message": "✅ All 10 requirements are valid"
|
|
1199
|
+
}
|
|
1200
|
+
```
|
|
1201
|
+
|
|
1202
|
+
✅ **要件フェーズ完了** - 3回のイテレーションですべての指摘を解消
|
|
1203
|
+
|
|
1204
|
+
### 完成した要件ドキュメント(抜粋)
|
|
1205
|
+
|
|
1206
|
+
`storage/specs/REQ-EQUIP-001.md`:
|
|
1207
|
+
```markdown
|
|
1208
|
+
# REQ-EQUIP-001: 備品管理システム要件
|
|
1209
|
+
|
|
1210
|
+
## 概要
|
|
1211
|
+
- **ステータス**: Approved
|
|
1212
|
+
- **レビュー履歴**:
|
|
1213
|
+
- v1.0: 初版作成
|
|
1214
|
+
- v1.1: 測定可能な基準を追加
|
|
1215
|
+
- v1.2: State-driven/Unwanted要件に応答時間を追加
|
|
1216
|
+
|
|
1217
|
+
## 機能要件
|
|
1218
|
+
|
|
1219
|
+
### REQ-EQUIP-001-01: 備品登録
|
|
1220
|
+
**EARS形式**: Ubiquitous
|
|
1221
|
+
THE system SHALL allow users to register equipment with name (1-100 chars),
|
|
1222
|
+
category, purchase date, price (0-10,000,000 JPY), and storage location
|
|
1223
|
+
within 200ms response time.
|
|
1224
|
+
|
|
1225
|
+
### REQ-EQUIP-001-06: 貸出中の重複防止
|
|
1226
|
+
**EARS形式**: State-driven
|
|
1227
|
+
WHILE equipment is in "borrowed" status, THE system SHALL reject new borrow
|
|
1228
|
+
requests within 50ms and return an error message "Equipment is currently borrowed".
|
|
1229
|
+
|
|
1230
|
+
### REQ-EQUIP-001-08: 廃棄済み備品の貸出防止
|
|
1231
|
+
**EARS形式**: Unwanted
|
|
1232
|
+
THE system SHALL NOT allow any borrow operations on equipment with "disposed"
|
|
1233
|
+
status and SHALL return an error message "Equipment has been disposed" within 50ms.
|
|
1234
|
+
```
|
|
1235
|
+
|
|
1236
|
+
## Step 4: 設計書を作成
|
|
1237
|
+
|
|
1238
|
+
AIエージェントに **「設計書を作成」** と依頼します。
|
|
1239
|
+
|
|
1240
|
+
内部的に以下のコマンドが実行されます。
|
|
1241
|
+
```bash
|
|
1242
|
+
npx musubix design generate storage/specs/REQ-EQUIP-001.md --output storage/design/
|
|
1243
|
+
```
|
|
1244
|
+
|
|
1245
|
+
**出力結果**:
|
|
1246
|
+
```
|
|
1247
|
+
✅ Design saved to /tmp/equipment-management/storage/design
|
|
1248
|
+
|
|
1249
|
+
════════════════════════════════════════════════════════════
|
|
1250
|
+
🔍 設計レビューを実行中...
|
|
1251
|
+
════════════════════════════════════════════════════════════
|
|
1252
|
+
|
|
1253
|
+
✅ レビュー結果: 100% (8/8 checks)
|
|
1254
|
+
|
|
1255
|
+
📜 憲法準拠状況:
|
|
1256
|
+
Article V (トレーサビリティ): ✓
|
|
1257
|
+
Article VII (設計パターン): ✓
|
|
1258
|
+
Article IX (品質ゲート): ✓
|
|
1259
|
+
|
|
1260
|
+
🏗️ SOLID原則分析:
|
|
1261
|
+
[S] 単一責任: ✓ Single responsibility maintained
|
|
1262
|
+
[O] 開放閉鎖: ✓ Open for extension, closed for modification
|
|
1263
|
+
[L] リスコフ置換: ✓ Substitution principle applicable
|
|
1264
|
+
[I] インターフェース分離: ✓ Interface segregation maintained
|
|
1265
|
+
[D] 依存性逆転: ✓ Dependencies properly inverted
|
|
1266
|
+
|
|
1267
|
+
📋 発見事項:
|
|
1268
|
+
🔵 [pattern] 2 design pattern(s) applied: Singleton, Observer
|
|
1269
|
+
|
|
1270
|
+
💡 推奨事項:
|
|
1271
|
+
🔗 Ensure all design elements trace back to requirements
|
|
1272
|
+
✅ Design is ready for implementation phase
|
|
1273
|
+
```
|
|
1274
|
+
|
|
1275
|
+
✅ **設計フェーズ完了** - SOLID原則・憲法準拠100%
|
|
1276
|
+
|
|
1277
|
+
## Step 5: 設計書のレビュー
|
|
1278
|
+
|
|
1279
|
+
AIエージェントに **「設計書をレビューして」** と依頼します。
|
|
1280
|
+
|
|
1281
|
+
```bash
|
|
1282
|
+
npx musubix design validate storage/design/DES-EQUIP-001.md
|
|
1283
|
+
```
|
|
1284
|
+
|
|
1285
|
+
**出力結果**:
|
|
1286
|
+
```
|
|
1287
|
+
════════════════════════════════════════════════════════════
|
|
1288
|
+
🔍 設計レビュー結果
|
|
1289
|
+
════════════════════════════════════════════════════════════
|
|
1290
|
+
|
|
1291
|
+
✅ 総合スコア: 100% (8/8 checks passed)
|
|
1292
|
+
|
|
1293
|
+
📜 憲法準拠チェック:
|
|
1294
|
+
✓ Article V - トレーサビリティ: 全要件が設計要素にマッピング済み
|
|
1295
|
+
✓ Article VII - 設計パターン: 2パターン適用(Singleton, Observer)
|
|
1296
|
+
✓ Article IX - 品質ゲート: 全チェック通過
|
|
1297
|
+
|
|
1298
|
+
🏗️ SOLID原則チェック:
|
|
1299
|
+
✓ [S] 単一責任: 各コンポーネントが単一の責務を持つ
|
|
1300
|
+
✓ [O] 開放閉鎖: 拡張に開き、修正に閉じている
|
|
1301
|
+
✓ [L] リスコフ置換: 置換可能性を維持
|
|
1302
|
+
✓ [I] インターフェース分離: 適切に分離されている
|
|
1303
|
+
✓ [D] 依存性逆転: 抽象に依存している
|
|
1304
|
+
|
|
1305
|
+
🔗 トレーサビリティチェック:
|
|
1306
|
+
✓ REQ-EQUIP-001-01 → DES-EQUIP-001-ENTITY
|
|
1307
|
+
✓ REQ-EQUIP-001-02 → DES-EQUIP-001-SERVICE
|
|
1308
|
+
✓ REQ-EQUIP-001-03 → DES-EQUIP-001-REPOSITORY
|
|
1309
|
+
... (全10要件がマッピング済み)
|
|
1310
|
+
|
|
1311
|
+
📋 指摘事項: なし
|
|
1312
|
+
💡 推奨事項: 実装フェーズへ進んでください
|
|
1313
|
+
```
|
|
1314
|
+
|
|
1315
|
+
:::note info
|
|
1316
|
+
**レビューで指摘があった場合**
|
|
1317
|
+
|
|
1318
|
+
指摘があった場合は、AIエージェントに「設計を修正して」と依頼します。修正後、再度レビューを実行し、指摘がゼロになるまで繰り返します。
|
|
1319
|
+
:::
|
|
1320
|
+
|
|
1321
|
+
## Step 6: タスク分解
|
|
1322
|
+
|
|
1323
|
+
AIエージェントに **「実装タスクに分解して」** と依頼します。
|
|
1324
|
+
|
|
1325
|
+
設計を実装可能な単位のタスクに分解します。
|
|
1326
|
+
|
|
1327
|
+
**出力結果**:
|
|
1328
|
+
|
|
1329
|
+
AIエージェントが要件と設計を分析し、以下のようなタスクリストを提案します。
|
|
1330
|
+
|
|
1331
|
+
**1. 基盤設定**
|
|
1332
|
+
|
|
1333
|
+
| # | タスク | 内容 |
|
|
1334
|
+
|-----|----------------------|-----------------------------------------|
|
|
1335
|
+
| 1 | プロジェクト初期設定 | package.json, tsconfig.json, Vitest設定 |
|
|
1336
|
+
| 2 | ドメインモデル定義 | Equipment, BorrowRecord型の定義 |
|
|
1337
|
+
|
|
1338
|
+
**2. コア機能(P0)**
|
|
1339
|
+
|
|
1340
|
+
| # | タスク | 要件ID |
|
|
1341
|
+
|-----|--------------------|----------------------------------------|
|
|
1342
|
+
| 3 | 備品ID生成ロジック | REQ-EQUIP-001-02 (EQ-YYYYMMDD-NNN形式) |
|
|
1343
|
+
| 4 | 備品登録機能 | REQ-EQUIP-001-01 |
|
|
1344
|
+
| 6 | 貸出記録機能 | REQ-EQUIP-001-04 |
|
|
1345
|
+
| 7 | 返却記録機能 | REQ-EQUIP-001-05 |
|
|
1346
|
+
| 8 | 貸出中重複防止 | REQ-EQUIP-001-06 |
|
|
1347
|
+
| 10 | 廃棄済み貸出防止 | REQ-EQUIP-001-08 |
|
|
1348
|
+
|
|
1349
|
+
**3. 追加機能(P1)**
|
|
1350
|
+
|
|
1351
|
+
| # | タスク | 要件ID |
|
|
1352
|
+
|-----|--------------|------------------|
|
|
1353
|
+
| 5 | 備品検索機能 | REQ-EQUIP-001-03 |
|
|
1354
|
+
| 9 | 廃棄記録機能 | REQ-EQUIP-001-07 |
|
|
1355
|
+
|
|
1356
|
+
**4. インフラ・テスト**
|
|
1357
|
+
|
|
1358
|
+
| # | タスク | 内容 |
|
|
1359
|
+
|-----|---------------------|-------------------------------------------|
|
|
1360
|
+
| 11 | JSON永続化層 | REQ-EQUIP-001-NFR-01 (ローカルストレージ) |
|
|
1361
|
+
| 12 | CLIインターフェイス | AGENTS.mdのArticle II準拠 |
|
|
1362
|
+
| 13 | ユニットテスト | 各機能のテスト |
|
|
1363
|
+
| 14 | 統合テスト | E2Eテスト |
|
|
1364
|
+
|
|
1365
|
+
**Todos(AIエージェントの管理リスト)**:
|
|
1366
|
+
```
|
|
1367
|
+
☐ プロジェクト初期設定(package.json, tsconfig.json, Vitest設定)
|
|
1368
|
+
☐ ドメインモデル定義(Equipment, BorrowRecord型)
|
|
1369
|
+
☐ 備品ID生成ロジック実装(EQ-YYYYMMDD-NNN形式)
|
|
1370
|
+
☐ 備品登録機能の実装(REQ-EQUIP-001-01)
|
|
1371
|
+
☐ 備品検索機能の実装(REQ-EQUIP-001-03)
|
|
1372
|
+
☐ 貸出記録機能の実装(REQ-EQUIP-001-04)
|
|
1373
|
+
☐ 返却記録機能の実装(REQ-EQUIP-001-05)
|
|
1374
|
+
☐ 貸出中重複防止の実装(REQ-EQUIP-001-06)
|
|
1375
|
+
☐ 廃棄記録機能の実装(REQ-EQUIP-001-07)
|
|
1376
|
+
☐ 廃棄済み貸出防止の実装(REQ-EQUIP-001-08)
|
|
1377
|
+
☐ JSON永続化層の実装(REQ-EQUIP-001-NFR-01)
|
|
1378
|
+
☐ CLIインターフェース実装
|
|
1379
|
+
☐ ユニットテスト作成
|
|
1380
|
+
☐ 統合テスト作成
|
|
1381
|
+
```
|
|
1382
|
+
|
|
1383
|
+
> **実装を開始しますか?**
|
|
1384
|
+
|
|
1385
|
+
:::note info
|
|
1386
|
+
**タスクの粒度**
|
|
1387
|
+
|
|
1388
|
+
各タスクは1〜4時間で完了できる粒度に分解されます。これにより、進捗管理が容易になり、AIエージェントも適切なスコープでコードを生成できます。
|
|
1389
|
+
:::
|
|
1390
|
+
|
|
1391
|
+
## Step 7: コード生成
|
|
1392
|
+
|
|
1393
|
+
AIエージェントに **「コードを生成して」** または **「実装を開始して」** と依頼します。
|
|
1394
|
+
|
|
1395
|
+
**出力結果**:
|
|
1396
|
+
```
|
|
1397
|
+
✅ Code generated in /tmp/equipment-management/src
|
|
1398
|
+
```
|
|
1399
|
+
|
|
1400
|
+
:::note info
|
|
1401
|
+
**AIエージェントとの連携**
|
|
1402
|
+
|
|
1403
|
+
生成されたコードスケルトンをベースに、GitHub CopilotやClaude Codeで実装を進めます。AIエージェントは設計ドキュメントをコンテキストとして参照し、要件に準拠したコードを生成します。
|
|
1404
|
+
:::
|
|
1405
|
+
|
|
1406
|
+
## Step 8: トレーサビリティ検証
|
|
1407
|
+
|
|
1408
|
+
AIエージェントに **「トレーサビリティを検証して」** と依頼します。
|
|
1409
|
+
|
|
1410
|
+
要件→設計→コードの追跡可能性を検証します。
|
|
1411
|
+
|
|
1412
|
+
内部的に以下のコマンドが実行されます。
|
|
1413
|
+
```bash
|
|
1414
|
+
npx musubix trace matrix
|
|
1415
|
+
```
|
|
1416
|
+
|
|
1417
|
+
**出力結果**:
|
|
1418
|
+
```json
|
|
1419
|
+
{
|
|
1420
|
+
"success": true,
|
|
1421
|
+
"entries": [
|
|
1422
|
+
{ "id": "REQ-EQUIP-001", "type": "requirement", "coverage": {...} },
|
|
1423
|
+
{ "id": "DES-EQUIP-001", "type": "design", "coverage": {...} },
|
|
1424
|
+
{ "id": "TSK-EQUIP-001", "type": "task", "coverage": {...} }
|
|
1425
|
+
],
|
|
1426
|
+
"statistics": {
|
|
1427
|
+
"requirements": 1,
|
|
1428
|
+
"designs": 1,
|
|
1429
|
+
"tasks": 1,
|
|
1430
|
+
"implementations": 0,
|
|
1431
|
+
"tests": 0,
|
|
1432
|
+
"coverage": 0
|
|
1433
|
+
},
|
|
1434
|
+
"message": "Generated traceability matrix with 3 entries (0.0% coverage)"
|
|
1435
|
+
}
|
|
1436
|
+
```
|
|
1437
|
+
|
|
1438
|
+
続いて検証コマンドが実行されます。
|
|
1439
|
+
```bash
|
|
1440
|
+
npx musubix trace validate
|
|
1441
|
+
```
|
|
1442
|
+
|
|
1443
|
+
**出力結果**:
|
|
1444
|
+
```json
|
|
1445
|
+
{
|
|
1446
|
+
"success": true,
|
|
1447
|
+
"valid": true,
|
|
1448
|
+
"issues": [
|
|
1449
|
+
{
|
|
1450
|
+
"type": "orphan",
|
|
1451
|
+
"severity": "warning",
|
|
1452
|
+
"source": "REQ-EQUIP-001",
|
|
1453
|
+
"message": "Requirement REQ-EQUIP-001 has no implementation"
|
|
1454
|
+
}
|
|
1455
|
+
],
|
|
1456
|
+
"summary": { "total": 1, "valid": 1, "broken": 0, "orphans": 1 },
|
|
1457
|
+
"message": "⚠️ Found 1 issues (0 broken links, 1 orphans)"
|
|
1458
|
+
}
|
|
1459
|
+
```
|
|
1460
|
+
|
|
1461
|
+
:::note warn
|
|
1462
|
+
**orphan(孤児)警告の意味**
|
|
1463
|
+
|
|
1464
|
+
「orphan」は、要件に対応する実装がまだないことを示します。これは開発初期段階では正常な状態です。実装が進むにつれて、この警告は解消されていきます。
|
|
1465
|
+
:::
|
|
1466
|
+
|
|
1467
|
+
## チュートリアルのまとめ
|
|
1468
|
+
|
|
1469
|
+
```mermaid
|
|
1470
|
+
flowchart LR
|
|
1471
|
+
subgraph Phase1["📋 要件定義"]
|
|
1472
|
+
R1["自然言語で記述"] --> R2["EARS形式に変換"]
|
|
1473
|
+
R2 --> R3["レビュー・修正"]
|
|
1474
|
+
R3 -->|"指摘あり"| R2
|
|
1475
|
+
R3 -->|"✅ 0件"| P1["要件承認"]
|
|
1476
|
+
end
|
|
1477
|
+
|
|
1478
|
+
subgraph Phase2["🏗️ 設計"]
|
|
1479
|
+
D1["設計生成"] --> D2["SOLID/憲法チェック"]
|
|
1480
|
+
D2 -->|"指摘あり"| D1
|
|
1481
|
+
D2 -->|"✅ 100%"| P2["設計承認"]
|
|
1482
|
+
end
|
|
1483
|
+
|
|
1484
|
+
subgraph Phase3["💻 実装"]
|
|
1485
|
+
I1["コード生成"] --> I2["AIエージェントで実装"]
|
|
1486
|
+
I2 --> I3["トレーサビリティ検証"]
|
|
1487
|
+
end
|
|
1488
|
+
|
|
1489
|
+
P1 --> D1
|
|
1490
|
+
P2 --> I1
|
|
1491
|
+
|
|
1492
|
+
style Phase1 fill:#e3f2fd,stroke:#1976d2
|
|
1493
|
+
style Phase2 fill:#f3e5f5,stroke:#7b1fa2
|
|
1494
|
+
style Phase3 fill:#e8f5e9,stroke:#388e3c
|
|
1495
|
+
```
|
|
1496
|
+
|
|
1497
|
+
| フェーズ | 実行コマンド | レビュー回数 | 結果 |
|
|
1498
|
+
|---------|-------------|-------------|------|
|
|
1499
|
+
| 要件定義 | `requirements validate` | 3回 | 10要件、0指摘 |
|
|
1500
|
+
| 設計 | `design generate` | 1回 | 100%(8/8チェック) |
|
|
1501
|
+
| 実装 | `codegen generate` | - | スケルトン生成完了 |
|
|
1502
|
+
| 検証 | `trace validate` | - | 1 orphan(実装待ち) |
|
|
1503
|
+
|
|
1504
|
+
|
|
1505
|
+
# まとめ:Vibe CodingからSwarm Codingへ
|
|
1506
|
+
|
|
1507
|
+
| 観点 | Vibe Coding | Swarm Coding with MUSUBIX |
|
|
1508
|
+
|------|-------------|---------------------------|
|
|
1509
|
+
| **速度** | 🚀 非常に速い | ⚡ やや時間がかかる |
|
|
1510
|
+
| **品質** | ❓ 不確実 | ✅ 保証される |
|
|
1511
|
+
| **保守性** | ❌ 低い | ✅ 高い |
|
|
1512
|
+
| **セキュリティ** | ⚠️ リスクあり | ✅ 検証される |
|
|
1513
|
+
| **適用範囲** | プロトタイプ | エンタープライズ |
|
|
1514
|
+
| **学習曲線** | 低い | 中程度 |
|
|
1515
|
+
| **AI協調** | 1人のAI | チームで働くAI |
|
|
1516
|
+
| **コンテキスト** | ファイル単位 | プロジェクト全体(CodeGraph) |
|
|
1517
|
+
|
|
1518
|
+
## 使い分けの指針
|
|
1519
|
+
|
|
1520
|
+
```
|
|
1521
|
+
プロトタイプ・個人プロジェクト → Vibe Coding OK
|
|
1522
|
+
↓
|
|
1523
|
+
プロダクション・チーム開発 → SDD + Swarm Coding を強く推奨
|
|
1524
|
+
↓
|
|
1525
|
+
エンタープライズ・規制産業 → SDD + Swarm Coding 必須
|
|
1526
|
+
```
|
|
1527
|
+
|
|
1528
|
+
|
|
1529
|
+
# リソース
|
|
1530
|
+
|
|
1531
|
+
## MUSUBI(オリジナル版)
|
|
1532
|
+
- GitHub: https://github.com/nahisaho/MUSUBI
|
|
1533
|
+
- 概要: SDD実践のためのフレームワーク(MUSUBIXの前身)
|
|
1534
|
+
- 特徴: 9つの憲法条項、EARS形式、C4モデル、トレーサビリティ
|
|
1535
|
+
|
|
1536
|
+
## MUSUBIX(進化版)
|
|
1537
|
+
- GitHub: https://github.com/nahisaho/MUSUBIX
|
|
1538
|
+
- npm: https://www.npmjs.com/package/musubix
|
|
1539
|
+
- ドキュメント: [docs/USER-GUIDE.ja.md](https://github.com/nahisaho/MUSUBIX/blob/main/docs/USER-GUIDE.ja.md)
|
|
1540
|
+
- 進化ポイント: YATA統合、Neuro-Symbolic AI、Swarm Coding、自己学習システム
|
|
1541
|
+
|
|
1542
|
+
## YATA(八咫)- 知識グラフMCPサーバー
|
|
1543
|
+
- GitHub: https://github.com/nahisaho/YATA
|
|
1544
|
+
- 機能: 34 MCPツール、47フレームワーク知識、24言語対応
|
|
1545
|
+
- インストール: `uv sync --all-packages`(リポジトリをクローン後)
|
|
1546
|
+
|
|
1547
|
+
## YATA-LG - 2層知識グラフアーキテクチャ
|
|
1548
|
+
- GitHub: https://github.com/nahisaho/YATA-LG
|
|
1549
|
+
- 機能: Local/Global 2層構成、CRDT同期、マルチテナント対応
|
|
1550
|
+
- Local: SQLite(オフライン対応)、Global: PostgreSQL(REST API)
|
|
1551
|
+
- インストール: `pip install yata-local`
|
|
1552
|
+
|
|
1553
|
+
## CodeGraph MCP Server
|
|
1554
|
+
- GitHub: https://github.com/nahisaho/CodeGraphMCPServer
|
|
1555
|
+
- 機能: 14 MCPツール、4リソース、6プロンプト、GraphRAG対応
|
|
1556
|
+
- 対応言語: 16言語(Python, TypeScript, JavaScript, Rust, Go, Java, PHP, C#, C, C++, HCL, Ruby, Kotlin, Swift, Scala, Lua)
|
|
1557
|
+
- インストール: `pip install codegraph-mcp-server`
|
|
1558
|
+
|
|
1559
|
+
## 関連ツール
|
|
1560
|
+
- [GitHub Spec Kit](https://github.com/github/spec-kit) - GitHubのSDDツールキット
|
|
1561
|
+
- [AWS Kiro](https://kiro.dev/) - SDDに対応したIDE
|
|
1562
|
+
- [Claude Code](https://claude.com/product/claude-code) - Anthropicのコーディングエージェント
|
|
1563
|
+
- [GitHub Copilot](https://github.com/features/copilot) - GitHubのAIペアプログラマー
|
|
1564
|
+
- [Codex CLI](https://github.com/openai/codex) - OpenAIのターミナルベースコーディングエージェント(55k+ stars)
|
|
1565
|
+
- [Gemini CLI](https://github.com/google-gemini/gemini-cli) - GoogleのAIエージェント(89k+ stars、MCP対応)
|
|
1566
|
+
- [Google Antigravity](https://antigravity.google/) - Googleの完全自律型AIエディター(マルチエージェント、ブラウザ自動操作)
|
|
1567
|
+
|
|
1568
|
+
## 参考記事
|
|
1569
|
+
- [Wikipedia: Vibe coding](https://en.wikipedia.org/wiki/Vibe_coding)
|
|
1570
|
+
- [GitHub Blog: The agent awakens](https://github.blog/news-insights/product-news/github-copilot-the-agent-awakens/)
|
|
1571
|
+
- [MUSUBIによるはじめてのSwarm Coding](https://qiita.com/hisaho/items/5e06959dc37955c641c4)
|
|
1572
|
+
|
|
1573
|
+
|
|
1574
|
+
# おわりに
|
|
1575
|
+
|
|
1576
|
+
**「1人のAIより、チームで働くAI」** ── これがSwarm Codingの本質です。
|
|
1577
|
+
|
|
1578
|
+
AIコーディングは、ソフトウェア開発の生産性を劇的に向上させる可能性を秘めています。しかし、「雰囲気で」コードを書くVibe Codingには限界があり、とくにエンタープライズ開発では**仕様駆動型開発(SDD)**と**Swarm Coding**が不可欠です。
|
|
1579
|
+
|
|
1580
|
+
**MUSUBIXは、GitHub CopilotやClaude Codeを置き換えるものではありません。それらをより効果的に使うための基盤を提供します。**
|
|
1581
|
+
|
|
1582
|
+
Swarm Codingの導入により:
|
|
1583
|
+
- 🐝 複数のAIエージェントが**専門家チームとして協調**
|
|
1584
|
+
- 📊 CodeGraphで**プロジェクト全体のコンテキスト**を把握
|
|
1585
|
+
- 🕸️ **YATA知識グラフ**で47フレームワークの知識を活用
|
|
1586
|
+
- 🎯 AIの出力に**一貫性と品質**を持たせる
|
|
1587
|
+
- 📚 プロジェクトの**知識を蓄積**し再利用する
|
|
1588
|
+
- 🔍 要件から実装までの**完全な追跡可能性**を実現する
|
|
1589
|
+
- 🛡️ **LLMの幻覚**を知識グラフで検証・抑制する
|
|
1590
|
+
|
|
1591
|
+
ぜひMUSUBIX、YATA、CodeGraph MCP Serverを試して、Swarm Codingの新しい可能性を体験してください!
|
|
1592
|
+
|
|
1593
|
+
```bash
|
|
1594
|
+
npm install -g musubix
|
|
1595
|
+
npx musubix init my-first-swarm-project
|
|
1596
|
+
```
|
|
1597
|
+
|
|
1598
|
+
---
|
|
1599
|
+
|
|
1600
|
+
**著者**: @nahisaho
|
|
1601
|
+
**最終更新**: 2026年1月5日
|
|
1602
|
+
**MUSUBIX Version**: 1.1.15
|