musubix 3.4.0 → 3.4.2

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.
Files changed (95) hide show
  1. package/README.md +50 -315
  2. package/bin/musubix.js +1 -9
  3. package/dist/index.d.ts +25 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +74 -0
  6. package/dist/index.js.map +1 -0
  7. package/package.json +51 -57
  8. package/.github/AGENTS.md +0 -949
  9. package/.github/prompts/sdd-change-apply.prompt.md +0 -283
  10. package/.github/prompts/sdd-change-archive.prompt.md +0 -241
  11. package/.github/prompts/sdd-change-init.prompt.md +0 -269
  12. package/.github/prompts/sdd-design.prompt.md +0 -250
  13. package/.github/prompts/sdd-implement.prompt.md +0 -387
  14. package/.github/prompts/sdd-requirements.prompt.md +0 -193
  15. package/.github/prompts/sdd-review.prompt.md +0 -155
  16. package/.github/prompts/sdd-security.prompt.md +0 -228
  17. package/.github/prompts/sdd-steering.prompt.md +0 -269
  18. package/.github/prompts/sdd-tasks.prompt.md +0 -255
  19. package/.github/prompts/sdd-test.prompt.md +0 -230
  20. package/.github/prompts/sdd-validate.prompt.md +0 -304
  21. package/.github/skills/musubix-adr-generation/SKILL.md +0 -209
  22. package/.github/skills/musubix-best-practices/SKILL.md +0 -315
  23. package/.github/skills/musubix-c4-design/SKILL.md +0 -162
  24. package/.github/skills/musubix-code-generation/SKILL.md +0 -237
  25. package/.github/skills/musubix-domain-inference/SKILL.md +0 -196
  26. package/.github/skills/musubix-ears-validation/SKILL.md +0 -161
  27. package/.github/skills/musubix-sdd-workflow/SKILL.md +0 -217
  28. package/.github/skills/musubix-technical-writing/SKILL.md +0 -444
  29. package/.github/skills/musubix-test-generation/SKILL.md +0 -212
  30. package/.github/skills/musubix-traceability/SKILL.md +0 -141
  31. package/AGENTS.md +0 -1134
  32. package/LICENSE +0 -21
  33. package/README.ja.md +0 -313
  34. package/bin/musubix-mcp.js +0 -15
  35. package/docs/API-REFERENCE.md +0 -1425
  36. package/docs/GITHUB-ACTIONS-NPM-SETUP.md +0 -132
  37. package/docs/INSTALL-GUIDE.ja.md +0 -459
  38. package/docs/INSTALL-GUIDE.md +0 -459
  39. package/docs/MIGRATION-v3.0.md +0 -324
  40. package/docs/MUSUBI-enhancement_roadmap_20260105.md +0 -651
  41. package/docs/MUSUBIX-v3.0-User-Guide.md +0 -1357
  42. package/docs/MUSUBIXv2.2.0-Manual-outline.md +0 -136
  43. package/docs/MUSUBIXv2.2.0-Manual.md +0 -3123
  44. package/docs/MUSUBIXv2.3.5-Refactering.md +0 -1310
  45. package/docs/MUSUBIv1.6.1-enhancement_roadmap_20260105.md +0 -291
  46. package/docs/MUSUBIv2.2.0-USERGUIDE.md +0 -2079
  47. package/docs/ROADMAP-v1.5.md +0 -116
  48. package/docs/SwarmCoding.md +0 -1284
  49. package/docs/Test-prompt.md +0 -105
  50. package/docs/USER-GUIDE-v1.8.0.md +0 -2371
  51. package/docs/USER-GUIDE.ja.md +0 -2147
  52. package/docs/USER-GUIDE.md +0 -3022
  53. package/docs/YATA-GLOBAL-GUIDE.ja.md +0 -750
  54. package/docs/YATA-GLOBAL-GUIDE.md +0 -595
  55. package/docs/YATA-LOCAL-GUIDE.ja.md +0 -989
  56. package/docs/YATA-LOCAL-GUIDE.md +0 -730
  57. package/docs/adr/0001-real-time-pattern-learning-architecture-for-v1-5-0.md +0 -75
  58. package/docs/adr/0002-pattern-sharing-protocol-for-cross-team-collaborat.md +0 -79
  59. package/docs/adr/0003-owl-2-rl-implementation-strategy-for-advanced-infe.md +0 -90
  60. package/docs/adr/ADR-v3.4.0-001-deep-research-architecture.md +0 -217
  61. package/docs/adr/ADR-v3.4.0-002-search-provider-selection.md +0 -308
  62. package/docs/adr/ADR-v3.4.0-003-lm-api-integration.md +0 -475
  63. package/docs/enterprise-knowledge-management.md +0 -1737
  64. package/docs/evolution-from-musubi-to-musubix.md +0 -2170
  65. package/docs/getting-started-with-sdd.md +0 -1602
  66. package/docs/moodle-refactering-codegraph-musubix.md +0 -391
  67. package/docs/moodle-refactering-codegraph.md +0 -278
  68. package/docs/overview/MUSUBIX-CodeGraph.md +0 -322
  69. package/docs/overview/MUSUBIX-Core.md +0 -671
  70. package/docs/overview/MUSUBIX-Decisions.md +0 -494
  71. package/docs/overview/MUSUBIX-FormalVerify.md +0 -566
  72. package/docs/overview/MUSUBIX-Knowledge.md +0 -1231
  73. package/docs/overview/MUSUBIX-Learning.md +0 -837
  74. package/docs/overview/MUSUBIX-MCP-Server.md +0 -535
  75. package/docs/overview/MUSUBIX-Overview.md +0 -264
  76. package/docs/overview/MUSUBIX-Phase1-Complete.md +0 -271
  77. package/docs/overview/MUSUBIX-Phase2-Complete.md +0 -310
  78. package/docs/overview/MUSUBIX-Policy.md +0 -477
  79. package/docs/overview/MUSUBIX-Roadmap-v2.md +0 -399
  80. package/docs/overview/MUSUBIX-Security-Plan.md +0 -939
  81. package/docs/overview/MUSUBIX-Security-v2.1.md +0 -668
  82. package/docs/overview/MUSUBIX-Security.md +0 -891
  83. package/docs/overview/MUSUBIX-YATA.md +0 -666
  84. package/docs/overview/MUSUBIX-v2.2.0-Advanced-Learning.md +0 -513
  85. package/docs/overview/Neuro-SymbolicAI.md +0 -159
  86. package/docs/packages/knowledge.md +0 -594
  87. package/docs/qiita-linux-kernel-knowledge-graph.md +0 -596
  88. package/scripts/generate-quality-gate-report.ts +0 -106
  89. package/scripts/postinstall.js +0 -94
  90. package/steering/.musubi-version +0 -1
  91. package/steering/product.ja.md +0 -572
  92. package/steering/project.yml +0 -66
  93. package/steering/rules/constitution.md +0 -491
  94. package/steering/structure.ja.md +0 -503
  95. package/steering/tech.ja.md +0 -208
@@ -1,1602 +0,0 @@
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