musubix 1.0.1 → 1.0.3
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 +242 -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-steering.prompt.md +269 -0
- package/.github/prompts/sdd-tasks.prompt.md +255 -0
- package/.github/prompts/sdd-validate.prompt.md +304 -0
- package/.github/skills/musubix-code-generation/SKILL.md +229 -0
- package/.github/skills/musubix-ears-validation/SKILL.md +161 -0
- package/.github/skills/musubix-sdd-workflow/SKILL.md +137 -0
- package/AGENTS.md +286 -0
- package/docs/API-REFERENCE.md +633 -0
- package/docs/GITHUB-ACTIONS-NPM-SETUP.md +132 -0
- package/docs/INSTALL-GUIDE.ja.md +442 -0
- package/docs/INSTALL-GUIDE.md +442 -0
- package/docs/USER-GUIDE.ja.md +824 -0
- package/docs/USER-GUIDE.md +664 -0
- package/docs/evolution-from-musubi-to-musubix.md +764 -0
- package/package.json +11 -6
- package/steering/.musubi-version +1 -0
- package/steering/product.ja.md +572 -0
- package/steering/project.yml +38 -0
- package/steering/rules/constitution.md +412 -0
- package/steering/structure.ja.md +503 -0
- package/steering/tech.ja.md +42 -0
|
@@ -0,0 +1,764 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'MUSUBIからMUSUBIXへ:ニューロシンボリックAIの進化'
|
|
3
|
+
tags:
|
|
4
|
+
- AI
|
|
5
|
+
- ソフトウェア開発
|
|
6
|
+
- 知識グラフ
|
|
7
|
+
- LLM
|
|
8
|
+
- ニューロシンボリック
|
|
9
|
+
private: false
|
|
10
|
+
updated_at: '2026-01-03'
|
|
11
|
+
id: null
|
|
12
|
+
organization_url_name: null
|
|
13
|
+
slide: false
|
|
14
|
+
ignorePublish: false
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
# はじめに
|
|
19
|
+
|
|
20
|
+
AIコーディング支援ツールは急速に進化しています。本記事では、仕様駆動開発(SDD)フレームワーク「**MUSUBI**」から、ニューロシンボリックAI統合システム「**MUSUBIX**」への進化について解説します。
|
|
21
|
+
|
|
22
|
+
# TL;DR
|
|
23
|
+
|
|
24
|
+
| 項目 | MUSUBI | MUSUBIX |
|
|
25
|
+
|------|--------|---------|
|
|
26
|
+
| **コンセプト** | 仕様駆動開発(SDD) | ニューロシンボリックAI |
|
|
27
|
+
| **推論方式** | ニューラル(LLM)のみ | ニューラル + シンボリック |
|
|
28
|
+
| **知識基盤** | プロジェクトメモリ | 知識グラフ(YATA) |
|
|
29
|
+
| **信頼性** | LLMの確率的出力 | 形式的検証による確実性 |
|
|
30
|
+
| **統合対象** | 7つのAIエージェント | MUSUBI + YATA + 7エージェント |
|
|
31
|
+
|
|
32
|
+
# 1. MUSUBIとは?
|
|
33
|
+
|
|
34
|
+
## 1.1 概要
|
|
35
|
+
|
|
36
|
+
**MUSUBI**(結び)は、AIコーディングエージェントのための仕様駆動開発(SDD)フレームワークです。
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
🤖 7つのAIエージェント × 📋 31の専門スキル × ⚖️ 憲法ガバナンス
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## 1.2 主な特徴
|
|
43
|
+
|
|
44
|
+
```mermaid
|
|
45
|
+
flowchart LR
|
|
46
|
+
subgraph MUSUBI["MUSUBI Framework"]
|
|
47
|
+
A[EARS要件分析] --> B[C4設計生成]
|
|
48
|
+
B --> C[コード生成]
|
|
49
|
+
C --> D[テスト生成]
|
|
50
|
+
D --> E[トレーサビリティ]
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
subgraph Agents["対応エージェント"]
|
|
54
|
+
F[Claude Code]
|
|
55
|
+
G[GitHub Copilot]
|
|
56
|
+
H[Cursor IDE]
|
|
57
|
+
I[Gemini CLI]
|
|
58
|
+
J[Codex CLI]
|
|
59
|
+
K[Qwen Code]
|
|
60
|
+
L[Windsurf]
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
MUSUBI --> Agents
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
| 機能 | 説明 |
|
|
67
|
+
|------|------|
|
|
68
|
+
| **EARS要件分析** | 5パターンで曖昧さのない要件定義 |
|
|
69
|
+
| **C4モデル生成** | Context/Container/Component/Codeの4階層設計 |
|
|
70
|
+
| **ADR生成** | アーキテクチャ決定記録の自動作成 |
|
|
71
|
+
| **憲法ガバナンス** | 9つの不変条項による品質保証 |
|
|
72
|
+
| **トレーサビリティ** | 要件→設計→コード→テストの完全追跡 |
|
|
73
|
+
|
|
74
|
+
## 1.3 MUSUBIの課題
|
|
75
|
+
|
|
76
|
+
MUSUBIは優れたフレームワークですが、以下の課題がありました。
|
|
77
|
+
|
|
78
|
+
```mermaid
|
|
79
|
+
flowchart TB
|
|
80
|
+
subgraph Challenges["MUSUBIの課題"]
|
|
81
|
+
P1[LLMの確率的出力]
|
|
82
|
+
P2[文脈の揮発性]
|
|
83
|
+
P3[知識の非永続性]
|
|
84
|
+
P4[推論の説明困難]
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
P1 --> I1[同じ入力でも異なる結果]
|
|
88
|
+
P2 --> I2[長い会話で情報喪失]
|
|
89
|
+
P3 --> I3[学習した知識の忘却]
|
|
90
|
+
P4 --> I4[なぜその結論に至ったか不明]
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
| 課題 | 影響 |
|
|
94
|
+
|------|------|
|
|
95
|
+
| **確率的出力** | 同じ要件でも生成結果が毎回異なる |
|
|
96
|
+
| **文脈の揮発性** | 長いセッションで初期情報が失われる |
|
|
97
|
+
| **知識の非永続性** | 過去のプロジェクト知識を活用できない |
|
|
98
|
+
| **推論の説明困難** | AIの判断根拠が不透明 |
|
|
99
|
+
|
|
100
|
+
# 2. YATAとは?
|
|
101
|
+
|
|
102
|
+
## 2.1 概要
|
|
103
|
+
|
|
104
|
+
**YATA**(八咫)は、AIコーディング支援のための知識グラフMCPサーバーです。
|
|
105
|
+
|
|
106
|
+
## 2.2 主な特徴
|
|
107
|
+
|
|
108
|
+
```mermaid
|
|
109
|
+
flowchart TB
|
|
110
|
+
subgraph YATA["YATA Knowledge Graph"]
|
|
111
|
+
direction TB
|
|
112
|
+
Parse[コード解析<br/>Tree-sitter] --> Graph[知識グラフ構築<br/>NetworkX]
|
|
113
|
+
Graph --> Query[グラフクエリ<br/>MCP Tools]
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
subgraph Features["特徴"]
|
|
117
|
+
F1[24言語対応]
|
|
118
|
+
F2[47フレームワーク知識]
|
|
119
|
+
F3[457K+ エンティティ]
|
|
120
|
+
F4[関係性自動検出]
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
YATA --> Features
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
| 機能 | 説明 |
|
|
127
|
+
|------|------|
|
|
128
|
+
| **コード解析** | Tree-sitterによる高速AST解析(24言語) |
|
|
129
|
+
| **知識グラフ** | NetworkXによるエンティティ・関係性グラフ |
|
|
130
|
+
| **関係性検出** | CALLS/IMPORTS/INHERITS/CONTAINSの自動検出 |
|
|
131
|
+
| **フレームワーク知識** | 47フレームワーク、457K+エンティティ |
|
|
132
|
+
| **永続化** | JSON/SQLiteへの保存・読み込み |
|
|
133
|
+
|
|
134
|
+
## 2.3 YATAの強み:シンボリック推論
|
|
135
|
+
|
|
136
|
+
```mermaid
|
|
137
|
+
flowchart LR
|
|
138
|
+
subgraph Symbolic["シンボリック推論"]
|
|
139
|
+
E[エンティティ] --> R[関係性]
|
|
140
|
+
R --> P[パターン検出]
|
|
141
|
+
P --> V[形式的検証]
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
V --> Result[確定的結果]
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
YATAの知識グラフは**シンボリック推論**を実現します。
|
|
148
|
+
|
|
149
|
+
| 特性 | 説明 |
|
|
150
|
+
|------|------|
|
|
151
|
+
| **確定性** | 同じクエリには常に同じ結果 |
|
|
152
|
+
| **追跡可能性** | 結論に至った経路を完全追跡 |
|
|
153
|
+
| **形式的検証** | 論理的整合性を数学的に検証 |
|
|
154
|
+
| **永続性** | 知識は明示的に更新されるまで保持 |
|
|
155
|
+
|
|
156
|
+
# 3. MUSUBIXの誕生
|
|
157
|
+
|
|
158
|
+
## 3.1 ニューロシンボリックAIとは?
|
|
159
|
+
|
|
160
|
+
**ニューロシンボリックAI**(Neuro-Symbolic AI)は、第3次AIブームの次なる進化として注目されるパラダイムです。従来の深層学習(ニューラルネットワーク)と、古典的AIのシンボリック推論を融合し、両者の強みを活かしながら弱点を補完します。
|
|
161
|
+
|
|
162
|
+
### 3.1.1 なぜニューロシンボリックなのか?
|
|
163
|
+
|
|
164
|
+
現代のLLM(Large Language Model)は驚異的な能力を持ちますが、根本的な限界があります。
|
|
165
|
+
|
|
166
|
+
```mermaid
|
|
167
|
+
flowchart TB
|
|
168
|
+
subgraph LLMの限界["🧠 LLMの限界"]
|
|
169
|
+
L1[幻覚<br/>Hallucination]
|
|
170
|
+
L2[確率的出力<br/>Non-deterministic]
|
|
171
|
+
L3[説明困難<br/>Black Box]
|
|
172
|
+
L4[知識の固定<br/>Training Cutoff]
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
subgraph シンボリックの限界["📐 シンボリックの限界"]
|
|
176
|
+
S1[脆弱性<br/>Brittleness]
|
|
177
|
+
S2[スケーラビリティ<br/>Scalability]
|
|
178
|
+
S3[知識獲得<br/>Knowledge Acquisition]
|
|
179
|
+
S4[曖昧さ処理<br/>Ambiguity]
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
subgraph 統合の価値["⚡ 統合の価値"]
|
|
183
|
+
V1[幻覚の検出・防止]
|
|
184
|
+
V2[決定的な検証]
|
|
185
|
+
V3[推論の説明可能性]
|
|
186
|
+
V4[動的知識更新]
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
LLMの限界 --> 統合の価値
|
|
190
|
+
シンボリックの限界 --> 統合の価値
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### 3.1.2 System 1 と System 2 思考
|
|
194
|
+
|
|
195
|
+
認知科学者ダニエル・カーネマンの「ファスト&スロー」理論に基づくと、人間の思考には2つのシステムがあります。
|
|
196
|
+
|
|
197
|
+
| システム | 特徴 | AI対応 |
|
|
198
|
+
|----------|------|--------|
|
|
199
|
+
| **System 1** | 直感的、高速、自動的、パターン認識 | ニューラル(LLM) |
|
|
200
|
+
| **System 2** | 論理的、低速、意図的、推論 | シンボリック(知識グラフ) |
|
|
201
|
+
|
|
202
|
+
MUSUBIXは、この2つのシステムを統合することで、人間の思考プロセスに近いAI推論を実現します。
|
|
203
|
+
|
|
204
|
+
```mermaid
|
|
205
|
+
flowchart LR
|
|
206
|
+
subgraph Human["人間の思考"]
|
|
207
|
+
H1[System 1<br/>直感] --> H3[統合判断]
|
|
208
|
+
H2[System 2<br/>論理] --> H3
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
subgraph MUSUBIX["MUSUBIXの推論"]
|
|
212
|
+
M1[LLM<br/>パターン認識] --> M3[NeuroSymbolic<br/>Integrator]
|
|
213
|
+
M2[知識グラフ<br/>論理推論] --> M3
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
Human -.->|モデル化| MUSUBIX
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
### 3.1.3 ニューロシンボリック統合パターン
|
|
220
|
+
|
|
221
|
+
ニューロシンボリックAIには複数の統合パターンがあります。MUSUBIXは**Symbolic→Neural→Symbolic**パターンを採用:
|
|
222
|
+
|
|
223
|
+
```mermaid
|
|
224
|
+
flowchart LR
|
|
225
|
+
subgraph Pattern1["パターン1: Neural→Symbolic"]
|
|
226
|
+
P1A[LLM出力] --> P1B[シンボリック検証]
|
|
227
|
+
end
|
|
228
|
+
|
|
229
|
+
subgraph Pattern2["パターン2: Symbolic→Neural"]
|
|
230
|
+
P2A[知識検索] --> P2B[LLMによる生成]
|
|
231
|
+
end
|
|
232
|
+
|
|
233
|
+
subgraph Pattern3["パターン3: Symbolic→Neural→Symbolic"]
|
|
234
|
+
P3A[知識検索] --> P3B[LLM推論] --> P3C[検証・矛盾検出]
|
|
235
|
+
end
|
|
236
|
+
|
|
237
|
+
Pattern3 --> Best["✅ MUSUBIXが採用"]
|
|
238
|
+
|
|
239
|
+
style Pattern3 fill:#e1f5fe
|
|
240
|
+
style Best fill:#c8e6c9
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
| 統合パターン | 説明 | 適用例 |
|
|
244
|
+
|-------------|------|--------|
|
|
245
|
+
| Neural→Symbolic | LLM出力をシンボリックで検証 | ファクトチェック |
|
|
246
|
+
| Symbolic→Neural | 知識を元にLLMが生成 | RAG(検索拡張生成) |
|
|
247
|
+
| **Symbolic→Neural→Symbolic** | 知識検索→LLM推論→検証 | **MUSUBIX** |
|
|
248
|
+
|
|
249
|
+
```mermaid
|
|
250
|
+
flowchart TB
|
|
251
|
+
subgraph NeuroSymbolic["ニューロシンボリックAI"]
|
|
252
|
+
Neural[ニューラル推論<br/>LLM] --> Integration[統合レイヤー]
|
|
253
|
+
Symbolic[シンボリック推論<br/>知識グラフ] --> Integration
|
|
254
|
+
Integration --> Output[検証済み出力]
|
|
255
|
+
end
|
|
256
|
+
|
|
257
|
+
subgraph Benefits["メリット"]
|
|
258
|
+
B1[創造性 + 正確性]
|
|
259
|
+
B2[柔軟性 + 一貫性]
|
|
260
|
+
B3[直感 + 論理]
|
|
261
|
+
end
|
|
262
|
+
|
|
263
|
+
NeuroSymbolic --> Benefits
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
| 推論タイプ | 強み | 弱み |
|
|
267
|
+
|-----------|------|------|
|
|
268
|
+
| **ニューラル** | 創造性、柔軟性、自然言語理解 | 確率的、説明困難 |
|
|
269
|
+
| **シンボリック** | 正確性、説明可能性、一貫性 | 柔軟性に欠ける |
|
|
270
|
+
| **統合** | 両方の強みを活用 | 統合の複雑さ |
|
|
271
|
+
|
|
272
|
+
## 3.2 MUSUBIXのアーキテクチャ
|
|
273
|
+
|
|
274
|
+
```mermaid
|
|
275
|
+
flowchart TB
|
|
276
|
+
subgraph MUSUBIX["MUSUBIX System"]
|
|
277
|
+
subgraph Packages["パッケージ構成"]
|
|
278
|
+
Core["@nahisaho/musubix-core<br/>56モジュール"]
|
|
279
|
+
MCP["@nahisaho/musubix-mcp-server<br/>9ツール, 6プロンプト"]
|
|
280
|
+
YATA_Client["@nahisaho/musubix-yata-client"]
|
|
281
|
+
end
|
|
282
|
+
|
|
283
|
+
subgraph Integration["統合レイヤー"]
|
|
284
|
+
NSI["NeuroSymbolicIntegrator"]
|
|
285
|
+
CE["ConfidenceEvaluator"]
|
|
286
|
+
CD["ContradictionDetector"]
|
|
287
|
+
end
|
|
288
|
+
|
|
289
|
+
Core --> Integration
|
|
290
|
+
MCP --> Integration
|
|
291
|
+
YATA_Client --> Integration
|
|
292
|
+
end
|
|
293
|
+
|
|
294
|
+
subgraph External["外部システム"]
|
|
295
|
+
LLM["LLM API<br/>Claude/GPT/Gemini"]
|
|
296
|
+
YATA_Server["YATA MCP Server<br/>知識グラフ"]
|
|
297
|
+
end
|
|
298
|
+
|
|
299
|
+
Integration --> LLM
|
|
300
|
+
Integration --> YATA_Server
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
## 3.3 信頼度評価アルゴリズム
|
|
304
|
+
|
|
305
|
+
MUSUBIXの核心は**信頼度評価**にあります。
|
|
306
|
+
|
|
307
|
+
```mermaid
|
|
308
|
+
flowchart TD
|
|
309
|
+
Start[推論リクエスト] --> Neural[ニューラル推論<br/>LLM]
|
|
310
|
+
Start --> Symbolic[シンボリック推論<br/>YATA]
|
|
311
|
+
|
|
312
|
+
Neural --> NC[信頼度スコア<br/>0.0-1.0]
|
|
313
|
+
Symbolic --> SV[検証結果<br/>valid/invalid]
|
|
314
|
+
|
|
315
|
+
NC --> Decision{判定ロジック}
|
|
316
|
+
SV --> Decision
|
|
317
|
+
|
|
318
|
+
Decision -->|invalid| Reject[ニューラル結果を棄却]
|
|
319
|
+
Decision -->|valid & ≥0.8| AcceptNeural[ニューラル結果を採用]
|
|
320
|
+
Decision -->|valid & <0.8| AcceptSymbolic[シンボリック結果を優先]
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
| シンボリック結果 | ニューラル信頼度 | 最終決定 |
|
|
324
|
+
|-----------------|-----------------|---------|
|
|
325
|
+
| invalid | - | ニューラル結果を棄却 |
|
|
326
|
+
| valid | ≥0.8 | ニューラル結果を採用 |
|
|
327
|
+
| valid | <0.8 | シンボリック結果を優先 |
|
|
328
|
+
|
|
329
|
+
# 4. MUSUBIからMUSUBIXへの進化ポイント
|
|
330
|
+
|
|
331
|
+
## 4.1 機能比較
|
|
332
|
+
|
|
333
|
+
MUSUBIとMUSUBIXの機能を比較すると、MUSUBIXではすべての機能が**知識グラフによる検証・補完**で強化されています。さらに、MUSUBIにはなかった「説明生成」「矛盾検出」機能が新たに追加され、ニューロシンボリックAIの特性を最大限に活用しています。
|
|
334
|
+
|
|
335
|
+
```mermaid
|
|
336
|
+
flowchart LR
|
|
337
|
+
subgraph MUSUBI["MUSUBI"]
|
|
338
|
+
M1[EARS要件]
|
|
339
|
+
M2[C4設計]
|
|
340
|
+
M3[コード生成]
|
|
341
|
+
M4[テスト生成]
|
|
342
|
+
end
|
|
343
|
+
|
|
344
|
+
subgraph MUSUBIX["MUSUBIX"]
|
|
345
|
+
X1[EARS要件 + 知識グラフ検証]
|
|
346
|
+
X2[C4設計 + パターン検出]
|
|
347
|
+
X3[コード生成 + 静的解析]
|
|
348
|
+
X4[テスト生成 + カバレッジ分析]
|
|
349
|
+
X5[説明生成]
|
|
350
|
+
X6[矛盾検出]
|
|
351
|
+
end
|
|
352
|
+
|
|
353
|
+
M1 -.->|強化| X1
|
|
354
|
+
M2 -.->|強化| X2
|
|
355
|
+
M3 -.->|強化| X3
|
|
356
|
+
M4 -.->|強化| X4
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
上図の通り、MUSUBIの4つの基本機能(要件・設計・コード・テスト)はすべてMUSUBIXで強化され、さらに2つの新機能(説明生成・矛盾検出)が追加されています。
|
|
360
|
+
|
|
361
|
+
| 強化ポイント | 説明 |
|
|
362
|
+
|-------------|------|
|
|
363
|
+
| **知識グラフ検証** | オントロジーに基づく要件の意味的検証 |
|
|
364
|
+
| **パターン検出** | 設計パターンの自動識別と推奨 |
|
|
365
|
+
| **静的解析** | コード品質・セキュリティの自動チェック |
|
|
366
|
+
| **カバレッジ分析** | テスト網羅性の可視化と改善提案 |
|
|
367
|
+
| **説明生成** | 推論過程の可視化と自然言語説明 |
|
|
368
|
+
| **矛盾検出** | 要件・設計間の論理的矛盾の自動検出 |
|
|
369
|
+
|
|
370
|
+
## 4.2 オントロジーとは?
|
|
371
|
+
|
|
372
|
+
MUSUBIXで重要な概念である**オントロジー**について解説します。
|
|
373
|
+
|
|
374
|
+
### 4.2.1 オントロジーの定義
|
|
375
|
+
|
|
376
|
+
**オントロジー**(Ontology)は、ある領域の概念とその関係性を形式的に定義した知識表現です。哲学の「存在論」から派生した用語で、AIでは「知識の構造化」を意味します。
|
|
377
|
+
|
|
378
|
+
```mermaid
|
|
379
|
+
flowchart TB
|
|
380
|
+
subgraph Ontology["オントロジーの構成要素"]
|
|
381
|
+
Concepts[概念<br/>Concepts] --> Relations[関係性<br/>Relations]
|
|
382
|
+
Relations --> Instances[インスタンス<br/>Instances]
|
|
383
|
+
Instances --> Rules[ルール<br/>Rules]
|
|
384
|
+
end
|
|
385
|
+
|
|
386
|
+
subgraph Example["例: 認証ドメイン"]
|
|
387
|
+
E1[User] -->|authenticates_with| E2[Credential]
|
|
388
|
+
E2 -->|generates| E3[Token]
|
|
389
|
+
E3 -->|authorizes| E4[Resource]
|
|
390
|
+
end
|
|
391
|
+
|
|
392
|
+
Ontology --> Example
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
### 4.2.2 なぜオントロジーが重要か?
|
|
396
|
+
|
|
397
|
+
| 観点 | 説明 |
|
|
398
|
+
|------|------|
|
|
399
|
+
| **共通語彙** | チーム・システム間で同じ用語を同じ意味で使用 |
|
|
400
|
+
| **推論可能性** | 明示されていない関係を論理的に導出 |
|
|
401
|
+
| **整合性検証** | 矛盾する定義を自動検出 |
|
|
402
|
+
| **再利用性** | 定義済み概念を他プロジェクトで活用 |
|
|
403
|
+
|
|
404
|
+
### 4.2.3 MUSUBIXでのオントロジー活用
|
|
405
|
+
|
|
406
|
+
MUSUBIXは以下のオントロジーを活用:
|
|
407
|
+
|
|
408
|
+
```mermaid
|
|
409
|
+
flowchart LR
|
|
410
|
+
subgraph DomainOntology["ドメインオントロジー"]
|
|
411
|
+
DO1[ビジネス概念]
|
|
412
|
+
DO2[業務フロー]
|
|
413
|
+
DO3[制約条件]
|
|
414
|
+
end
|
|
415
|
+
|
|
416
|
+
subgraph TechnicalOntology["技術オントロジー"]
|
|
417
|
+
TO1[デザインパターン]
|
|
418
|
+
TO2[フレームワーク知識]
|
|
419
|
+
TO3[セキュリティ概念]
|
|
420
|
+
end
|
|
421
|
+
|
|
422
|
+
subgraph SDDOntology["SDDオントロジー"]
|
|
423
|
+
SO1[EARS要件パターン]
|
|
424
|
+
SO2[C4アーキテクチャ]
|
|
425
|
+
SO3[ADR構造]
|
|
426
|
+
end
|
|
427
|
+
|
|
428
|
+
DomainOntology --> Integration[統合推論]
|
|
429
|
+
TechnicalOntology --> Integration
|
|
430
|
+
SDDOntology --> Integration
|
|
431
|
+
```
|
|
432
|
+
|
|
433
|
+
| オントロジー種別 | 内容 | 用途 |
|
|
434
|
+
|-----------------|------|------|
|
|
435
|
+
| **ドメインオントロジー** | ビジネス領域の概念定義 | 要件の意味解析 |
|
|
436
|
+
| **技術オントロジー** | 設計パターン、フレームワーク | 設計の自動提案 |
|
|
437
|
+
| **SDDオントロジー** | EARS、C4、ADRの形式知識 | 成果物の検証 |
|
|
438
|
+
|
|
439
|
+
### 4.2.4 オントロジーマッピングの実例
|
|
440
|
+
|
|
441
|
+
```typescript
|
|
442
|
+
// MUSUBIXでのオントロジーマッピング例
|
|
443
|
+
const mapping = ontologyMapper.map({
|
|
444
|
+
requirement: 'ユーザーがログインしたとき、システムは認証を行う',
|
|
445
|
+
|
|
446
|
+
// 自動検出されるオントロジー概念
|
|
447
|
+
concepts: {
|
|
448
|
+
actor: 'User',
|
|
449
|
+
action: 'login',
|
|
450
|
+
system_behavior: 'authenticate',
|
|
451
|
+
pattern: 'EARS_WHEN_THEN'
|
|
452
|
+
},
|
|
453
|
+
|
|
454
|
+
// 関連する技術概念
|
|
455
|
+
technical_mappings: {
|
|
456
|
+
patterns: ['Strategy', 'Factory'],
|
|
457
|
+
security: ['OWASP A07:2021', 'RBAC'],
|
|
458
|
+
frameworks: ['passport.js', 'bcrypt']
|
|
459
|
+
}
|
|
460
|
+
});
|
|
461
|
+
```
|
|
462
|
+
|
|
463
|
+
## 4.3 新規追加モジュール(56モジュール)
|
|
464
|
+
|
|
465
|
+
MUSUBIXは以下の新規モジュールを追加:
|
|
466
|
+
|
|
467
|
+
| カテゴリ | モジュール | 説明 |
|
|
468
|
+
|----------|-----------|------|
|
|
469
|
+
| **統合** | NeuroSymbolicIntegrator | 統合制御 |
|
|
470
|
+
| | ConfidenceEvaluator | 信頼度評価 |
|
|
471
|
+
| | ContradictionDetector | 矛盾検出 |
|
|
472
|
+
| **要件** | EARSValidator | EARS検証 |
|
|
473
|
+
| | OntologyMapper | オントロジーマッピング |
|
|
474
|
+
| | RelatedRequirementsFinder | 関連要件検索 |
|
|
475
|
+
| | RequirementsDecomposer | 要件分解 |
|
|
476
|
+
| | InteractiveHearingManager | 対話的ヒアリング |
|
|
477
|
+
| **設計** | PatternDetector | パターン検出 |
|
|
478
|
+
| | SOLIDValidator | SOLID検証 |
|
|
479
|
+
| | C4ModelGenerator | C4モデル生成 |
|
|
480
|
+
| | ADRGenerator | ADR生成 |
|
|
481
|
+
| **コード** | StaticAnalyzer | 静的解析 |
|
|
482
|
+
| | SecurityScanner | セキュリティスキャン |
|
|
483
|
+
| | QualityMetricsCalculator | 品質メトリクス |
|
|
484
|
+
| **説明** | ReasoningChainRecorder | 推論チェーン記録 |
|
|
485
|
+
| | ExplanationGenerator | 説明生成 |
|
|
486
|
+
| | VisualExplanationGenerator | 視覚的説明生成 |
|
|
487
|
+
|
|
488
|
+
## 4.4 MCPサーバー(9ツール、6プロンプト)
|
|
489
|
+
|
|
490
|
+
```mermaid
|
|
491
|
+
flowchart TB
|
|
492
|
+
subgraph MCPServer["MCP Server"]
|
|
493
|
+
subgraph Tools["9 Tools"]
|
|
494
|
+
T1[要件系ツール]
|
|
495
|
+
T2[設計系ツール]
|
|
496
|
+
T3[コード系ツール]
|
|
497
|
+
T4[テスト系ツール]
|
|
498
|
+
T5[説明系ツール]
|
|
499
|
+
end
|
|
500
|
+
|
|
501
|
+
subgraph Prompts["6 Prompts"]
|
|
502
|
+
P1[sdd-steering]
|
|
503
|
+
P2[sdd-requirements]
|
|
504
|
+
P3[sdd-design]
|
|
505
|
+
P4[sdd-tasks]
|
|
506
|
+
P5[sdd-implement]
|
|
507
|
+
P6[sdd-validate]
|
|
508
|
+
end
|
|
509
|
+
end
|
|
510
|
+
|
|
511
|
+
subgraph Platforms["対応プラットフォーム"]
|
|
512
|
+
Claude[Claude Desktop]
|
|
513
|
+
Copilot[GitHub Copilot]
|
|
514
|
+
Cursor[Cursor IDE]
|
|
515
|
+
end
|
|
516
|
+
|
|
517
|
+
MCPServer --> Platforms
|
|
518
|
+
```
|
|
519
|
+
|
|
520
|
+
# 5. 9つの憲法条項
|
|
521
|
+
|
|
522
|
+
MUSUBIXは、MUSUBIから継承した **9つの憲法条項(Constitutional Articles)** を遵守します。これらは開発プロセス全体を統治する不変の原則であり、AIコーディングエージェントが従うべきガバナンスフレームワークです。
|
|
523
|
+
|
|
524
|
+
ニューロシンボリックAIへの進化により、各条項の実装がより強力になりました。LLMの創造性と知識グラフの厳密性を組み合わせることで、これらの原則を **自動的かつ一貫して** 適用できるようになっています。
|
|
525
|
+
|
|
526
|
+
| Article | 原則 | MUSUBIXでの実装 |
|
|
527
|
+
|---------|------|-----------------|
|
|
528
|
+
| I | **Specification First** | EARS検証 + オントロジーマッピング |
|
|
529
|
+
| II | **Design Before Code** | C4モデル + パターン検出 |
|
|
530
|
+
| III | **Single Source of Truth** | 知識グラフによる一元管理 |
|
|
531
|
+
| IV | **Traceability** | トレーサビリティマトリクス |
|
|
532
|
+
| V | **Incremental Progress** | 要件分解 + スプリント計画 |
|
|
533
|
+
| VI | **Decision Documentation** | ADR自動生成 |
|
|
534
|
+
| VII | **Quality Gates** | 信頼度評価 + 矛盾検出 |
|
|
535
|
+
| VIII | **User-Centric** | 対話的ヒアリング |
|
|
536
|
+
| IX | **Continuous Learning** | 知識グラフ更新 |
|
|
537
|
+
|
|
538
|
+
各条項は相互に関連し、開発ライフサイクル全体をカバーしています。MUSUBIXでは、これらの原則違反を知識グラフで自動検出し、開発者にフィードバックを提供します。
|
|
539
|
+
|
|
540
|
+
# 6. 実践例:要件定義の強化
|
|
541
|
+
|
|
542
|
+
## 6.1 MUSUBIでの要件定義
|
|
543
|
+
|
|
544
|
+
```markdown
|
|
545
|
+
# 従来のMUSUBI
|
|
546
|
+
WHEN ユーザーがログインフォームを送信する
|
|
547
|
+
THE システム SHALL 認証を実行する
|
|
548
|
+
AND THE システム SHALL セッションを作成する
|
|
549
|
+
```
|
|
550
|
+
|
|
551
|
+
## 6.2 MUSUBIXでの要件定義
|
|
552
|
+
|
|
553
|
+
```markdown
|
|
554
|
+
# MUSUBIXによる強化
|
|
555
|
+
WHEN ユーザーがログインフォームを送信する
|
|
556
|
+
THE システム SHALL 認証を実行する
|
|
557
|
+
AND THE システム SHALL セッションを作成する
|
|
558
|
+
|
|
559
|
+
# 知識グラフによる補完
|
|
560
|
+
- 関連要件: REQ-AUTH-001, REQ-SESSION-001
|
|
561
|
+
- 影響コンポーネント: AuthService, SessionManager
|
|
562
|
+
- セキュリティ考慮: OWASP A07:2021対応
|
|
563
|
+
- 推奨パターン: Strategy Pattern for Auth Providers
|
|
564
|
+
```
|
|
565
|
+
|
|
566
|
+
# 7. まとめ
|
|
567
|
+
|
|
568
|
+
## 7.1 ニューロシンボリックAIの価値
|
|
569
|
+
|
|
570
|
+
MUSUBIXが採用するニューロシンボリックAIは、従来のAIコーディング支援の限界を突破する価値を提供します。
|
|
571
|
+
|
|
572
|
+
LLM単体では、「幻覚(Hallucination)」や「確率的出力」といった問題が避けられません。しかし、知識グラフによるシンボリック推論を組み合わせることで、これらの問題を検出・防止できます。
|
|
573
|
+
|
|
574
|
+
以下の図は、4つの主要な価値と、それが開発にもたらす具体的な効果を示しています。
|
|
575
|
+
|
|
576
|
+
```mermaid
|
|
577
|
+
flowchart TB
|
|
578
|
+
subgraph Value["ニューロシンボリックAIの価値"]
|
|
579
|
+
V1[🎯 精度向上<br/>LLM幻覚の防止]
|
|
580
|
+
V2[📊 説明可能性<br/>推論チェーンの追跡]
|
|
581
|
+
V3[🔄 知識の永続化<br/>オントロジー蓄積]
|
|
582
|
+
V4[✅ 形式的検証<br/>矛盾の自動検出]
|
|
583
|
+
end
|
|
584
|
+
|
|
585
|
+
subgraph Outcome["開発への効果"]
|
|
586
|
+
O1[バグの早期発見]
|
|
587
|
+
O2[レビュー効率向上]
|
|
588
|
+
O3[知識の組織資産化]
|
|
589
|
+
O4[品質の一貫性]
|
|
590
|
+
end
|
|
591
|
+
|
|
592
|
+
V1 --> O1
|
|
593
|
+
V2 --> O2
|
|
594
|
+
V3 --> O3
|
|
595
|
+
V4 --> O4
|
|
596
|
+
```
|
|
597
|
+
|
|
598
|
+
| 価値 | 従来のLLMの問題 | MUSUBIXによる解決 |
|
|
599
|
+
|------|------------------|--------------------|
|
|
600
|
+
| **精度向上** | 誤ったコード生成 | 知識グラフで事前検証 |
|
|
601
|
+
| **説明可能性** | なぜAIがその出力をしたか不明 | 推論チェーンで完全追跡 |
|
|
602
|
+
| **知識永続化** | セッションごとに忘却 | オントロジーとして蓄積 |
|
|
603
|
+
| **形式的検証** | 論理矛盾を見逃す | シンボリック推論で自動検出 |
|
|
604
|
+
|
|
605
|
+
## 7.2 進化の要点
|
|
606
|
+
|
|
607
|
+
MUSUBIからMUSUBIXへの進化は、単なる機能追加ではなく、**パラダイムシフト**です。以下の4つの軸で進化が起こりました。
|
|
608
|
+
|
|
609
|
+
1. **確率的 → 確定的**: LLMの「毎回異なる結果」から、知識グラフによる「再現可能な結果」へ
|
|
610
|
+
2. **揮発的 → 永続的**: セッション限定の記憶から、オントロジーとしての永続的知識へ
|
|
611
|
+
3. **不透明 → 説明可能**: ブラックボックスAIから、推論チェーンが追跡可能なAIへ
|
|
612
|
+
4. **孤立知識 → オントロジー統合**: 断片的な情報から、構造化された知識体系へ
|
|
613
|
+
|
|
614
|
+
```mermaid
|
|
615
|
+
flowchart LR
|
|
616
|
+
MUSUBI[MUSUBI<br/>仕様駆動開発] -->|+ YATA| MUSUBIX[MUSUBIX<br/>ニューロシンボリックAI]
|
|
617
|
+
|
|
618
|
+
subgraph Evolution["進化のポイント"]
|
|
619
|
+
E1[確率的 → 確定的]
|
|
620
|
+
E2[揮発的 → 永続的]
|
|
621
|
+
E3[不透明 → 説明可能]
|
|
622
|
+
E4[孤立知識 → オントロジー統合]
|
|
623
|
+
end
|
|
624
|
+
```
|
|
625
|
+
|
|
626
|
+
この進化により、MUSUBIXは単なる「AIコーディングツール」を超え、**知識駆動型の開発プラットフォーム**へと進化しました。
|
|
627
|
+
|
|
628
|
+
| 観点 | MUSUBI | MUSUBIX |
|
|
629
|
+
|------|--------|----------|
|
|
630
|
+
| **推論の信頼性** | LLMに依存 | 形式的検証で補完 |
|
|
631
|
+
| **知識の永続性** | セッション限定 | 知識グラフに蓄積 |
|
|
632
|
+
| **説明可能性** | 限定的 | 推論チェーンで完全追跡 |
|
|
633
|
+
| **開発効率** | 高い | さらに高い |
|
|
634
|
+
| **オントロジー** | なし | ドメイン・技術・SDDの3層オントロジー |
|
|
635
|
+
|
|
636
|
+
## 7.3 今後の展望
|
|
637
|
+
|
|
638
|
+
MUSUBIXは現在の機能に加え、さらなる進化を計画しています。ニューロシンボリックAIの可能性を最大限に引き出すため、以下の機能拡張を検討中です。
|
|
639
|
+
|
|
640
|
+
- **自動リファクタリング**: 知識グラフに蓄積されたパターンとベストプラクティスに基づき、コードの最適化を自動提案。技術的負債の検出と解消を支援します。
|
|
641
|
+
- **チーム知識共有(YATA Global / YATA Local)**: 組織横断的な知識グラフ統合により、チーム間でのノウハウ共有を実現。「車輪の再発明」を防ぎ、組織全体の開発効率を向上させます。
|
|
642
|
+
|
|
643
|
+
## YATA Global / YATA Local アーキテクチャ
|
|
644
|
+
|
|
645
|
+
チーム知識共有を実現するため、**2層の知識グラフアーキテクチャ**を計画しています。
|
|
646
|
+
|
|
647
|
+
```mermaid
|
|
648
|
+
flowchart TB
|
|
649
|
+
subgraph Global["YATA Global(組織共有)"]
|
|
650
|
+
G1[共通ベストプラクティス]
|
|
651
|
+
G2[標準アーキテクチャパターン]
|
|
652
|
+
G3[セキュリティガイドライン]
|
|
653
|
+
G4[組織横断的な技術決定]
|
|
654
|
+
end
|
|
655
|
+
|
|
656
|
+
Global <-->|同期・昇格| Local1
|
|
657
|
+
Global <-->|同期・昇格| Local2
|
|
658
|
+
Global <-->|同期・昇格| Local3
|
|
659
|
+
|
|
660
|
+
subgraph Local1["YATA Local (Team A)"]
|
|
661
|
+
L1A[プロジェクト固有知識]
|
|
662
|
+
end
|
|
663
|
+
|
|
664
|
+
subgraph Local2["YATA Local (Team B)"]
|
|
665
|
+
L2A[プロジェクト固有知識]
|
|
666
|
+
end
|
|
667
|
+
|
|
668
|
+
subgraph Local3["YATA Local (Team C)"]
|
|
669
|
+
L3A[プロジェクト固有知識]
|
|
670
|
+
end
|
|
671
|
+
```
|
|
672
|
+
|
|
673
|
+
| レイヤー | 役割 | メリット |
|
|
674
|
+
|----------|------|----------|
|
|
675
|
+
| **YATA Global** | 組織共通知識の一元管理 | 標準化、重複排除、ガバナンス |
|
|
676
|
+
| **YATA Local** | チーム/プロジェクト固有知識 | 高速アクセス、プライバシー、カスタマイズ |
|
|
677
|
+
|
|
678
|
+
この2層アーキテクチャにより、以下を実現します。
|
|
679
|
+
|
|
680
|
+
1. **プライバシーとセキュリティ**: 機密性の高いプロジェクト知識はLocalに保持
|
|
681
|
+
2. **スケーラビリティ**: Localで高速処理、Globalで共有
|
|
682
|
+
3. **知識の昇格フロー**: Localで検証された知識をGlobalへ昇格
|
|
683
|
+
4. **オフライン対応**: Localがあれば接続なしでも動作
|
|
684
|
+
|
|
685
|
+
これらの機能は、MUSUBIXの核心である「知識の永続化」と「形式的検証」の強みを活かしたものであり、AIコーディング支援の次なるステージを切り開きます。
|
|
686
|
+
|
|
687
|
+
# 8. インストール方法
|
|
688
|
+
|
|
689
|
+
MUSUBIXはnpmで公開されており、簡単にインストールできます。
|
|
690
|
+
|
|
691
|
+
## 8.1 クイックスタート
|
|
692
|
+
|
|
693
|
+
```bash
|
|
694
|
+
# 統合パッケージ(推奨)
|
|
695
|
+
npm install musubix
|
|
696
|
+
|
|
697
|
+
# または npx で直接実行
|
|
698
|
+
npx musubix --help
|
|
699
|
+
npx musubix-mcp
|
|
700
|
+
```
|
|
701
|
+
|
|
702
|
+
## 8.2 パッケージ一覧
|
|
703
|
+
|
|
704
|
+
| パッケージ | インストールコマンド | 説明 |
|
|
705
|
+
|-----------|---------------------|------|
|
|
706
|
+
| **musubix** | `npm install musubix` | 統合パッケージ(全機能) |
|
|
707
|
+
| @nahisaho/musubix-core | `npm install @nahisaho/musubix-core` | コアライブラリ |
|
|
708
|
+
| @nahisaho/musubix-mcp-server | `npm install @nahisaho/musubix-mcp-server` | MCPサーバー |
|
|
709
|
+
| @nahisaho/musubix-yata-client | `npm install @nahisaho/musubix-yata-client` | YATAクライアント |
|
|
710
|
+
|
|
711
|
+
## 8.3 AI Platform連携
|
|
712
|
+
|
|
713
|
+
### Claude Code(CLI)
|
|
714
|
+
|
|
715
|
+
```bash
|
|
716
|
+
# MUSUBIX MCP サーバーを追加
|
|
717
|
+
claude mcp add musubix -- npx @nahisaho/musubix-mcp-server
|
|
718
|
+
|
|
719
|
+
# 設定確認
|
|
720
|
+
claude mcp list
|
|
721
|
+
```
|
|
722
|
+
|
|
723
|
+
または `.mcp.json` をプロジェクトルートに作成:
|
|
724
|
+
|
|
725
|
+
```json
|
|
726
|
+
{
|
|
727
|
+
"mcpServers": {
|
|
728
|
+
"musubix": {
|
|
729
|
+
"command": "npx",
|
|
730
|
+
"args": ["@nahisaho/musubix-mcp-server"]
|
|
731
|
+
}
|
|
732
|
+
}
|
|
733
|
+
}
|
|
734
|
+
```
|
|
735
|
+
|
|
736
|
+
### Claude Desktop / GitHub Copilot / Cursor IDE
|
|
737
|
+
|
|
738
|
+
`.vscode/mcp.json` を作成:
|
|
739
|
+
|
|
740
|
+
```json
|
|
741
|
+
{
|
|
742
|
+
"mcpServers": {
|
|
743
|
+
"musubix": {
|
|
744
|
+
"command": "npx",
|
|
745
|
+
"args": ["@nahisaho/musubix-mcp-server"]
|
|
746
|
+
}
|
|
747
|
+
}
|
|
748
|
+
}
|
|
749
|
+
```
|
|
750
|
+
|
|
751
|
+
詳細は [インストールガイド](https://github.com/nahisaho/MUSUBIX/blob/main/docs/INSTALL-GUIDE.ja.md) を参照してください。
|
|
752
|
+
|
|
753
|
+
# 参考リンク
|
|
754
|
+
|
|
755
|
+
- [MUSUBIX GitHub](https://github.com/nahisaho/MUSUBIX)
|
|
756
|
+
- [MUSUBIX npm](https://www.npmjs.com/package/musubix)
|
|
757
|
+
- [MUSUBI GitHub](https://github.com/nahisaho/MUSUBI)
|
|
758
|
+
- [YATA GitHub](https://github.com/nahisaho/YATA)
|
|
759
|
+
|
|
760
|
+
---
|
|
761
|
+
|
|
762
|
+
**著者**: nahisaho
|
|
763
|
+
**公開日**: 2026-01-02
|
|
764
|
+
**更新日**: 2026-01-03
|