musubix 3.3.8 → 3.3.10

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 (92) hide show
  1. package/README.md +50 -305
  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 +49 -55
  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 -1065
  32. package/LICENSE +0 -21
  33. package/README.ja.md +0 -296
  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/enterprise-knowledge-management.md +0 -1737
  61. package/docs/evolution-from-musubi-to-musubix.md +0 -2170
  62. package/docs/getting-started-with-sdd.md +0 -1602
  63. package/docs/moodle-refactering-codegraph-musubix.md +0 -391
  64. package/docs/moodle-refactering-codegraph.md +0 -278
  65. package/docs/overview/MUSUBIX-CodeGraph.md +0 -322
  66. package/docs/overview/MUSUBIX-Core.md +0 -671
  67. package/docs/overview/MUSUBIX-Decisions.md +0 -494
  68. package/docs/overview/MUSUBIX-FormalVerify.md +0 -566
  69. package/docs/overview/MUSUBIX-Knowledge.md +0 -1231
  70. package/docs/overview/MUSUBIX-Learning.md +0 -837
  71. package/docs/overview/MUSUBIX-MCP-Server.md +0 -535
  72. package/docs/overview/MUSUBIX-Overview.md +0 -264
  73. package/docs/overview/MUSUBIX-Phase1-Complete.md +0 -271
  74. package/docs/overview/MUSUBIX-Phase2-Complete.md +0 -310
  75. package/docs/overview/MUSUBIX-Policy.md +0 -477
  76. package/docs/overview/MUSUBIX-Roadmap-v2.md +0 -399
  77. package/docs/overview/MUSUBIX-Security-Plan.md +0 -939
  78. package/docs/overview/MUSUBIX-Security-v2.1.md +0 -668
  79. package/docs/overview/MUSUBIX-Security.md +0 -891
  80. package/docs/overview/MUSUBIX-YATA.md +0 -666
  81. package/docs/overview/MUSUBIX-v2.2.0-Advanced-Learning.md +0 -513
  82. package/docs/overview/Neuro-SymbolicAI.md +0 -159
  83. package/docs/packages/knowledge.md +0 -594
  84. package/docs/qiita-linux-kernel-knowledge-graph.md +0 -596
  85. package/scripts/generate-quality-gate-report.ts +0 -106
  86. package/scripts/postinstall.js +0 -94
  87. package/steering/.musubi-version +0 -1
  88. package/steering/product.ja.md +0 -572
  89. package/steering/project.yml +0 -66
  90. package/steering/rules/constitution.md +0 -491
  91. package/steering/structure.ja.md +0 -503
  92. package/steering/tech.ja.md +0 -208
@@ -1,2170 +0,0 @@
1
- ---
2
- title: 'MUSUBIからMUSUBIXへ:ニューロシンボリックAIの進化'
3
- tags:
4
- - AI
5
- - ソフトウェア開発
6
- - 知識グラフ
7
- - LLM
8
- - ニューロシンボリック
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
-
18
- # はじめに
19
-
20
- AIコーディング支援ツールは急速に進化しています。本記事では、仕様駆動開発(SDD)フレームワーク「**MUSUBI**」から、ニューロシンボリックAI統合システム「**MUSUBIX**」への進化について解説します。
21
-
22
- # TL;DR
23
-
24
- > **最新バージョン**: v1.7.0 | **62ドメイン対応** | **249コンポーネント** | **1429テスト** | **17ベストプラクティス**
25
-
26
- | 項目 | MUSUBI | MUSUBIX |
27
- |------|--------|---------|
28
- | **コンセプト** | 仕様駆動開発(SDD) | ニューロシンボリックAI |
29
- | **推論方式** | ニューラル(LLM)のみ | ニューラル + シンボリック |
30
- | **知識基盤** | プロジェクトメモリ | プロジェクトメモリ + 知識グラフ(YATA) |
31
- | **信頼性** | LLMの確率的出力 | 形式的検証による確実性 |
32
- | **統合対象** | 7つのAIエージェント | MUSUBI + YATA + 7エージェント |
33
- | **ドメイン** | 汎用 | 62専門ドメイン対応 |
34
- | **自己学習** | なし | フィードバックベースの適応学習 |
35
- | **知識共有** | なし | **プロジェクト間ポータビリティ**(v1.4.0) |
36
- | **正誤性検証** | なし | **OWL制約チェック**(v1.4.1) |
37
- | **対話的CLI** | なし | **Interactive REPL**(v1.6.0) |
38
- | **ローカル知識グラフ** | なし | **YATA Local**(v1.6.3) |
39
- | **分散型知識プラットフォーム** | なし | **YATA Global**(v1.6.3) |
40
- | **知識グラフ共有** | なし | **KGPR**(v1.6.4) |
41
- | **プラットフォーム拡張** | なし | **YATA Platform Enhancements**(v1.7.0) |
42
-
43
- # 1. MUSUBIとは?
44
-
45
- ## 1.1 概要
46
-
47
- **MUSUBI**(結び)は、AIコーディングエージェントのための**仕様駆動開発(SDD: Specification-Driven Development)フレームワーク**です。
48
-
49
- 従来のAIコーディング支援は「コードを書く」ことに焦点を当てていましたが、MUSUBIは**要件定義から設計、実装、テストまでの開発ライフサイクル全体**をAIと協調して進めることを目指しています。
50
-
51
- ```
52
- 🤖 7つのAIエージェント × 📋 31の専門スキル × ⚖️ 憲法ガバナンス
53
- ```
54
-
55
- ### MUSUBIの核心思想
56
-
57
- 1. **Specification First(仕様優先)**: コードを書く前に、まず要件と設計を明確にする
58
- 2. **Constitutional AI Governance(憲法ガバナンス)**: 9つの不変条項でAIの振る舞いを統治
59
- 3. **Project Memory(プロジェクトメモリ)**: steering/フォルダに決定事項を永続化し、AIが常に参照
60
- 4. **Full Traceability(完全追跡可能性)**: 要件→設計→コード→テストの双方向トレース
61
-
62
- ### 対応AIエージェント
63
-
64
- MUSUBIは以下の7つの主要AIコーディングエージェントで動作します。
65
-
66
- | エージェント | 特徴 |
67
- |-------------|------|
68
- | **Claude Code** | Anthropic製、高い推論能力、Agent Skills対応 |
69
- | **GitHub Copilot** | VS Code統合、広範な言語サポート |
70
- | **Cursor IDE** | AI-first IDE、インライン編集 |
71
- | **Gemini CLI** | Google製、マルチモーダル対応 |
72
- | **Codex CLI** | OpenAI製、GPT-4ベース |
73
- | **Qwen Code** | Alibaba製、オープンソース |
74
- | **Windsurf** | Codeium製、高速補完 |
75
-
76
- ### Claude Code Agent Skills
77
-
78
- MUSUBIXは**GitHub Copilot**と**Claude Code**の両方のAgent Skillsに対応しています。v1.1.13から、`.github/skills/`と`.claude/skills/`の両方にスキルをコピーします。
79
-
80
- 現在、**10のスキル**が利用可能です。
81
-
82
- | スキル名 | 説明 |
83
- |---------|------|
84
- | `musubix-sdd-workflow` | SDD開発ワークフロー全体のガイド |
85
- | `musubix-ears-validation` | EARS形式の要件検証 |
86
- | `musubix-code-generation` | 設計からのコード生成 |
87
- | `musubix-c4-design` | C4モデル(Context/Container/Component/Code)設計 |
88
- | `musubix-traceability` | 要件↔設計↔タスク↔コード↔テストの追跡 |
89
- | `musubix-test-generation` | TDDパターンに基づくテスト生成 |
90
- | `musubix-adr-generation` | Architecture Decision Records作成 |
91
- | `musubix-best-practices` | 17種のベストプラクティス適用 |
92
- | `musubix-domain-inference` | 62ドメイン検出・コンポーネント推論 |
93
- | `musubix-technical-writing` | 技術ドキュメント作成(README, ガイド, API参照等) |
94
-
95
- スキルファイルの配置:
96
- ```
97
- # GitHub Copilot用
98
- .github/skills/
99
- ├── musubix-sdd-workflow/SKILL.md # コアワークフロー
100
- ├── musubix-ears-validation/SKILL.md # 要件検証
101
- ├── musubix-code-generation/SKILL.md # コード生成
102
- ├── musubix-c4-design/SKILL.md # C4設計
103
- ├── musubix-traceability/SKILL.md # トレーサビリティ
104
- ├── musubix-test-generation/SKILL.md # テスト生成
105
- ├── musubix-adr-generation/SKILL.md # ADR生成
106
- ├── musubix-best-practices/SKILL.md # ベストプラクティス
107
- ├── musubix-domain-inference/SKILL.md # ドメイン推論
108
- └── musubix-technical-writing/SKILL.md # 技術ドキュメント
109
-
110
- # Claude Code用 (同一内容のコピー)
111
- .claude/skills/
112
- └── (同様の構造)
113
-
114
- # AIエージェントガイド
115
- AGENTS.md # GitHub Copilot用
116
- CLAUDE.md # Claude Code用 (v1.1.14+)
117
- ```
118
-
119
- ## 1.2 主な特徴
120
-
121
- ```mermaid
122
- flowchart LR
123
- subgraph MUSUBI["MUSUBI Framework"]
124
- A[EARS要件分析] --> B[C4設計生成]
125
- B --> C[コード生成]
126
- C --> D[テスト生成]
127
- D --> E[トレーサビリティ]
128
- end
129
-
130
- subgraph Agents["対応エージェント"]
131
- F[Claude Code]
132
- G[GitHub Copilot]
133
- H[Cursor IDE]
134
- I[Gemini CLI]
135
- J[Codex CLI]
136
- K[Qwen Code]
137
- L[Windsurf]
138
- end
139
-
140
- MUSUBI --> Agents
141
- ```
142
-
143
- | 機能 | 説明 |
144
- |------|------|
145
- | **EARS要件分析** | 5パターンで曖昧さのない要件定義 |
146
- | **C4モデル生成** | Context/Container/Component/Codeの4階層設計 |
147
- | **ADR生成** | アーキテクチャ決定記録の自動作成 |
148
- | **憲法ガバナンス** | 9つの不変条項による品質保証 |
149
- | **トレーサビリティ** | 要件→設計→コード→テストの完全追跡 |
150
- | **プロジェクトメモリ** | steering/フォルダによる決定・方針の永続化 |
151
-
152
- ## 1.3 MUSUBIの課題
153
-
154
- MUSUBIは優れたフレームワークですが、以下の課題がありました。
155
-
156
- ```mermaid
157
- flowchart TB
158
- subgraph Challenges["MUSUBIの課題"]
159
- P1[LLMの確率的出力]
160
- P2[文脈の揮発性]
161
- P3[知識の非永続性]
162
- P4[推論の説明困難]
163
- end
164
-
165
- P1 --> I1[同じ入力でも異なる結果]
166
- P2 --> I2[長い会話で情報喪失]
167
- P3 --> I3[学習した知識の忘却]
168
- P4 --> I4[なぜその結論に至ったか不明]
169
- ```
170
-
171
- | 課題 | 影響 |
172
- |------|------|
173
- | **確率的出力** | 同じ要件でも生成結果が毎回異なる |
174
- | **文脈の揮発性** | 長いセッションで初期情報が失われる |
175
- | **知識の非永続性** | 過去のプロジェクト知識を活用できない |
176
- | **推論の説明困難** | AIの判断根拠が不透明 |
177
-
178
- # 2. YATAとは?
179
-
180
- ## 2.1 概要
181
-
182
- **YATA**(八咫)は、AIコーディング支援のための知識グラフMCPサーバーです。
183
-
184
- ## 2.2 主な特徴
185
-
186
- ```mermaid
187
- flowchart TB
188
- subgraph YATA["YATA Knowledge Graph"]
189
- direction TB
190
- Parse[コード解析<br/>Tree-sitter] --> Graph[知識グラフ構築<br/>NetworkX]
191
- Graph --> Query[グラフクエリ<br/>MCP Tools]
192
- end
193
-
194
- subgraph Features["特徴"]
195
- F1[24言語対応]
196
- F2[47フレームワーク知識]
197
- F3[457K+ エンティティ]
198
- F4[関係性自動検出]
199
- end
200
-
201
- YATA --> Features
202
- ```
203
-
204
- | 機能 | 説明 |
205
- |------|------|
206
- | **コード解析** | Tree-sitterによる高速AST解析(24言語) |
207
- | **知識グラフ** | NetworkXによるエンティティ・関係性グラフ |
208
- | **関係性検出** | CALLS/IMPORTS/INHERITS/CONTAINSの自動検出 |
209
- | **フレームワーク知識** | 47フレームワーク、457K+エンティティ |
210
- | **永続化** | JSON/SQLiteへの保存・読み込み |
211
-
212
- ## 2.3 YATAの強み:シンボリック推論
213
-
214
- ```mermaid
215
- flowchart LR
216
- subgraph Symbolic["シンボリック推論"]
217
- E[エンティティ] --> R[関係性]
218
- R --> P[パターン検出]
219
- P --> V[形式的検証]
220
- end
221
-
222
- V --> Result[確定的結果]
223
- ```
224
-
225
- YATAの知識グラフは**シンボリック推論**を実現します。
226
-
227
- | 特性 | 説明 |
228
- |------|------|
229
- | **確定性** | 同じクエリには常に同じ結果 |
230
- | **追跡可能性** | 結論に至った経路を完全追跡 |
231
- | **形式的検証** | 論理的整合性を数学的に検証 |
232
- | **永続性** | 知識は明示的に更新されるまで保持 |
233
-
234
- # 3. MUSUBIXの誕生
235
-
236
- ## 3.1 ニューロシンボリックAIとは?
237
-
238
- **ニューロシンボリックAI**(Neuro-Symbolic AI)は、第3次AIブームの次なる進化として注目されるパラダイムです。従来の深層学習(ニューラルネットワーク)と、古典的AIのシンボリック推論を融合し、両者の強みを活かしながら弱点を補完します。
239
-
240
- ### 3.1.1 なぜニューロシンボリックなのか?
241
-
242
- 現代のLLM(Large Language Model)は驚異的な能力を持ちますが、根本的な限界があります。
243
-
244
- ```mermaid
245
- flowchart TB
246
- subgraph LLMの限界["🧠 LLMの限界"]
247
- L1[幻覚<br/>Hallucination]
248
- L2[確率的出力<br/>Non-deterministic]
249
- L3[説明困難<br/>Black Box]
250
- L4[知識の固定<br/>Training Cutoff]
251
- end
252
-
253
- subgraph シンボリックの限界["📐 シンボリックの限界"]
254
- S1[脆弱性<br/>Brittleness]
255
- S2[スケーラビリティ<br/>Scalability]
256
- S3[知識獲得<br/>Knowledge Acquisition]
257
- S4[曖昧さ処理<br/>Ambiguity]
258
- end
259
-
260
- subgraph 統合の価値["⚡ 統合の価値"]
261
- V1[幻覚の検出・防止]
262
- V2[決定的な検証]
263
- V3[推論の説明可能性]
264
- V4[動的知識更新]
265
- end
266
-
267
- LLMの限界 --> 統合の価値
268
- シンボリックの限界 --> 統合の価値
269
- ```
270
-
271
- ### 3.1.2 System 1 と System 2 思考
272
-
273
- 認知科学者ダニエル・カーネマンの「ファスト&スロー」理論に基づくと、人間の思考には2つのシステムがあります。
274
-
275
- | システム | 特徴 | AI対応 |
276
- |----------|------|--------|
277
- | **System 1** | 直感的、高速、自動的、パターン認識 | ニューラル(LLM) |
278
- | **System 2** | 論理的、低速、意図的、推論 | シンボリック(知識グラフ) |
279
-
280
- MUSUBIXは、この2つのシステムを統合することで、人間の思考プロセスに近いAI推論を実現します。
281
-
282
- ```mermaid
283
- flowchart LR
284
- subgraph Human["人間の思考"]
285
- H1[System 1<br/>直感] --> H3[統合判断]
286
- H2[System 2<br/>論理] --> H3
287
- end
288
-
289
- subgraph MUSUBIX["MUSUBIXの推論"]
290
- M1[LLM<br/>パターン認識] --> M3[NeuroSymbolic<br/>Integrator]
291
- M2[知識グラフ<br/>論理推論] --> M3
292
- end
293
-
294
- Human -.->|モデル化| MUSUBIX
295
- ```
296
-
297
- ### 3.1.3 ニューロシンボリック統合パターン
298
-
299
- ニューロシンボリックAIには複数の統合パターンがあります。MUSUBIXは**Symbolic→Neural→Symbolic**パターンを採用:
300
-
301
- ```mermaid
302
- flowchart LR
303
- subgraph Pattern1["パターン1: Neural→Symbolic"]
304
- P1A[LLM出力] --> P1B[シンボリック検証]
305
- end
306
-
307
- subgraph Pattern2["パターン2: Symbolic→Neural"]
308
- P2A[知識検索] --> P2B[LLMによる生成]
309
- end
310
-
311
- subgraph Pattern3["パターン3: Symbolic→Neural→Symbolic"]
312
- P3A[知識検索] --> P3B[LLM推論] --> P3C[検証・矛盾検出]
313
- end
314
-
315
- Pattern3 --> Best["✅ MUSUBIXが採用"]
316
-
317
- style Pattern3 fill:#e1f5fe
318
- style Best fill:#c8e6c9
319
- ```
320
-
321
- | 統合パターン | 説明 | 適用例 |
322
- |-------------|------|--------|
323
- | Neural→Symbolic | LLM出力をシンボリックで検証 | ファクトチェック |
324
- | Symbolic→Neural | 知識を元にLLMが生成 | RAG(検索拡張生成) |
325
- | **Symbolic→Neural→Symbolic** | 知識検索→LLM推論→検証 | **MUSUBIX** |
326
-
327
- ```mermaid
328
- flowchart TB
329
- subgraph NeuroSymbolic["ニューロシンボリックAI"]
330
- Neural[ニューラル推論<br/>LLM] --> Integration[統合レイヤー]
331
- Symbolic[シンボリック推論<br/>知識グラフ] --> Integration
332
- Integration --> Output[検証済み出力]
333
- end
334
-
335
- subgraph Benefits["メリット"]
336
- B1[創造性 + 正確性]
337
- B2[柔軟性 + 一貫性]
338
- B3[直感 + 論理]
339
- end
340
-
341
- NeuroSymbolic --> Benefits
342
- ```
343
-
344
- | 推論タイプ | 強み | 弱み |
345
- |-----------|------|------|
346
- | **ニューラル** | 創造性、柔軟性、自然言語理解 | 確率的、説明困難 |
347
- | **シンボリック** | 正確性、説明可能性、一貫性 | 柔軟性に欠ける |
348
- | **統合** | 両方の強みを活用 | 統合の複雑さ |
349
-
350
- ## 3.2 MUSUBIXのアーキテクチャ
351
-
352
- ```mermaid
353
- flowchart TB
354
- subgraph MUSUBIX["MUSUBIX System v1.3.0"]
355
- subgraph Packages["パッケージ構成(7パッケージ)"]
356
- Core["@nahisaho/musubix-core<br/>224コンポーネント | 62ドメイン"]
357
- MCP["@nahisaho/musubix-mcp-server<br/>16ツール, 3プロンプト"]
358
- YATA_Client["@nahisaho/musubix-yata-client"]
359
- PatternMCP["@nahisaho/musubix-pattern-mcp<br/>パターン学習"]
360
- OntologyMCP["@nahisaho/musubix-ontology-mcp<br/>N3Store推論"]
361
- WakeSleep["@nahisaho/musubix-wake-sleep<br/>学習サイクル"]
362
- SDDOntology["@nahisaho/musubix-sdd-ontology"]
363
- end
364
-
365
- subgraph Integration["統合レイヤー"]
366
- NSI["NeuroSymbolicIntegrator"]
367
- CE["ConfidenceEvaluator"]
368
- CD["ContradictionDetector"]
369
- LS["LearningSystem"]
370
- WS["WakeSleepCycle"]
371
- end
372
-
373
- Core --> Integration
374
- MCP --> Integration
375
- YATA_Client --> Integration
376
- PatternMCP --> Integration
377
- OntologyMCP --> Integration
378
- WakeSleep --> Integration
379
- end
380
-
381
- subgraph External["外部システム"]
382
- LLM["LLM API<br/>Claude/GPT/Gemini"]
383
- YATA_Server["YATA MCP Server<br/>知識グラフ"]
384
- end
385
-
386
- Integration --> LLM
387
- Integration --> YATA_Server
388
- ```
389
-
390
- ## 3.3 信頼度評価アルゴリズム
391
-
392
- MUSUBIXの核心は**信頼度評価**にあります。
393
-
394
- ```mermaid
395
- flowchart TD
396
- Start[推論リクエスト] --> Neural[ニューラル推論<br/>LLM]
397
- Start --> Symbolic[シンボリック推論<br/>YATA]
398
-
399
- Neural --> NC[信頼度スコア<br/>0.0-1.0]
400
- Symbolic --> SV[検証結果<br/>valid/invalid]
401
-
402
- NC --> Decision{判定ロジック}
403
- SV --> Decision
404
-
405
- Decision -->|invalid| Reject[ニューラル結果を棄却]
406
- Decision -->|valid & ≥0.8| AcceptNeural[ニューラル結果を採用]
407
- Decision -->|valid & <0.8| AcceptSymbolic[シンボリック結果を優先]
408
- ```
409
-
410
- | シンボリック結果 | ニューラル信頼度 | 最終決定 |
411
- |-----------------|-----------------|---------|
412
- | invalid | - | ニューラル結果を棄却 |
413
- | valid | ≥0.8 | ニューラル結果を採用 |
414
- | valid | <0.8 | シンボリック結果を優先 |
415
-
416
- # 4. MUSUBIからMUSUBIXへの進化ポイント
417
-
418
- ## 4.1 機能比較
419
-
420
- MUSUBIとMUSUBIXの機能を比較すると、MUSUBIXではすべての機能が**知識グラフによる検証・補完**で強化されています。さらに、MUSUBIにはなかった「説明生成」「矛盾検出」機能が新たに追加され、ニューロシンボリックAIの特性を最大限に活用しています。
421
-
422
- ```mermaid
423
- flowchart LR
424
- subgraph MUSUBI["MUSUBI"]
425
- M1[EARS要件]
426
- M2[C4設計]
427
- M3[コード生成]
428
- M4[テスト生成]
429
- end
430
-
431
- subgraph MUSUBIX["MUSUBIX"]
432
- X1[EARS要件 + 知識グラフ検証]
433
- X2[C4設計 + パターン検出]
434
- X3[コード生成 + 静的解析]
435
- X4[テスト生成 + カバレッジ分析]
436
- X5[説明生成]
437
- X6[矛盾検出]
438
- end
439
-
440
- M1 -.->|強化| X1
441
- M2 -.->|強化| X2
442
- M3 -.->|強化| X3
443
- M4 -.->|強化| X4
444
- ```
445
-
446
- 上図の通り、MUSUBIの4つの基本機能(要件・設計・コード・テスト)はすべてMUSUBIXで強化され、さらに2つの新機能(説明生成・矛盾検出)が追加されています。
447
-
448
- | 強化ポイント | 説明 |
449
- |-------------|------|
450
- | **知識グラフ検証** | オントロジーに基づく要件の意味的検証 |
451
- | **パターン検出** | 設計パターンの自動識別と推奨 |
452
- | **静的解析** | コード品質・セキュリティの自動チェック |
453
- | **カバレッジ分析** | テスト網羅性の可視化と改善提案 |
454
- | **説明生成** | 推論過程の可視化と自然言語説明 |
455
- | **矛盾検出** | 要件・設計間の論理的矛盾の自動検出 |
456
-
457
- ## 4.2 オントロジーとは?
458
-
459
- MUSUBIXで重要な概念である**オントロジー**について解説します。
460
-
461
- ### 4.2.1 オントロジーの定義
462
-
463
- **オントロジー**(Ontology)は、ある領域の概念とその関係性を形式的に定義した知識表現です。哲学の「存在論」から派生した用語で、AIでは「知識の構造化」を意味します。
464
-
465
- ```mermaid
466
- flowchart TB
467
- subgraph Ontology["オントロジーの構成要素"]
468
- Concepts[概念<br/>Concepts] --> Relations[関係性<br/>Relations]
469
- Relations --> Instances[インスタンス<br/>Instances]
470
- Instances --> Rules[ルール<br/>Rules]
471
- end
472
-
473
- subgraph Example["例: 認証ドメイン"]
474
- E1[User] -->|authenticates_with| E2[Credential]
475
- E2 -->|generates| E3[Token]
476
- E3 -->|authorizes| E4[Resource]
477
- end
478
-
479
- Ontology --> Example
480
- ```
481
-
482
- ### 4.2.2 なぜオントロジーが重要か?
483
-
484
- | 観点 | 説明 |
485
- |------|------|
486
- | **共通語彙** | チーム・システム間で同じ用語を同じ意味で使用 |
487
- | **推論可能性** | 明示されていない関係を論理的に導出 |
488
- | **整合性検証** | 矛盾する定義を自動検出 |
489
- | **再利用性** | 定義済み概念を他プロジェクトで活用 |
490
-
491
- ### 4.2.3 MUSUBIXでのオントロジー活用
492
-
493
- MUSUBIXは以下のオントロジーを活用:
494
-
495
- ```mermaid
496
- flowchart LR
497
- subgraph DomainOntology["ドメインオントロジー"]
498
- DO1[ビジネス概念]
499
- DO2[業務フロー]
500
- DO3[制約条件]
501
- end
502
-
503
- subgraph TechnicalOntology["技術オントロジー"]
504
- TO1[デザインパターン]
505
- TO2[フレームワーク知識]
506
- TO3[セキュリティ概念]
507
- end
508
-
509
- subgraph SDDOntology["SDDオントロジー"]
510
- SO1[EARS要件パターン]
511
- SO2[C4アーキテクチャ]
512
- SO3[ADR構造]
513
- end
514
-
515
- DomainOntology --> Integration[統合推論]
516
- TechnicalOntology --> Integration
517
- SDDOntology --> Integration
518
- ```
519
-
520
- | オントロジー種別 | 内容 | 用途 |
521
- |-----------------|------|------|
522
- | **ドメインオントロジー** | ビジネス領域の概念定義 | 要件の意味解析 |
523
- | **技術オントロジー** | 設計パターン、フレームワーク | 設計の自動提案 |
524
- | **SDDオントロジー** | EARS、C4、ADRの形式知識 | 成果物の検証 |
525
-
526
- ### 4.2.4 62ドメイン対応(v1.1.10)
527
-
528
- MUSUBIXは**62の専門ドメイン**に対応し、各ドメインに最適化されたコンポーネント推論を提供します。
529
-
530
- ```mermaid
531
- flowchart TB
532
- subgraph Domains["62ドメイン対応"]
533
- subgraph Business["ビジネス系"]
534
- B1[ecommerce]
535
- B2[finance]
536
- B3[crm]
537
- B4[hr]
538
- B5[marketing]
539
- end
540
-
541
- subgraph Industry["産業系"]
542
- I1[manufacturing]
543
- I2[logistics]
544
- I3[healthcare]
545
- I4[agriculture]
546
- I5[energy]
547
- end
548
-
549
- subgraph Tech["技術系"]
550
- T1[iot]
551
- T2[security]
552
- T3[ai]
553
- T4[analytics]
554
- T5[telecom]
555
- end
556
-
557
- subgraph Service["サービス系"]
558
- S1[education]
559
- S2[travel]
560
- S3[restaurant]
561
- S4[beauty]
562
- S5[entertainment]
563
- end
564
- end
565
-
566
- Domains --> Components["224コンポーネント定義"]
567
- ```
568
-
569
- | カテゴリ | ドメイン例 | コンポーネント例 |
570
- |---------|-----------|-----------------|
571
- | **ビジネス** | ecommerce, finance, crm | CartService, PaymentGateway, CustomerRepository |
572
- | **産業** | manufacturing, logistics | ProductionLine, InventoryTracker, QualityControl |
573
- | **ヘルスケア** | healthcare, pharmacy | PatientRecord, PrescriptionManager, DiagnosticService |
574
- | **サービス** | restaurant, hotel, travel | ReservationService, MenuManager, BookingEngine |
575
- | **技術** | iot, security, ai | DeviceManager, ThreatDetector, ModelInference |
576
-
577
- **対応ドメイン一覧**(62ドメイン):
578
-
579
- <details>
580
- <summary>クリックして全ドメインを表示</summary>
581
-
582
- | # | ドメイン | 説明 |
583
- |---|---------|------|
584
- | 1 | general | 汎用 |
585
- | 2 | ecommerce | EC・通販 |
586
- | 3 | healthcare | ヘルスケア |
587
- | 4 | finance | 金融 |
588
- | 5 | education | 教育 |
589
- | 6 | manufacturing | 製造 |
590
- | 7 | logistics | 物流 |
591
- | 8 | crm | 顧客管理 |
592
- | 9 | hr | 人事 |
593
- | 10 | iot | IoT |
594
- | 11 | travel | 旅行 |
595
- | 12 | restaurant | 飲食店 |
596
- | 13 | realestate | 不動産 |
597
- | 14 | insurance | 保険 |
598
- | 15 | media | メディア |
599
- | 16 | gaming | ゲーム |
600
- | 17 | social | SNS |
601
- | 18 | analytics | 分析 |
602
- | 19 | booking | 予約 |
603
- | 20 | inventory | 在庫管理 |
604
- | 21 | auction | オークション |
605
- | 22 | subscription | サブスク |
606
- | 23 | marketplace | マーケットプレイス |
607
- | 24 | delivery | 配送 |
608
- | 25 | payment | 決済 |
609
- | 26 | chat | チャット |
610
- | 27 | document | 文書管理 |
611
- | 28 | workflow | ワークフロー |
612
- | 29 | notification | 通知 |
613
- | 30 | search | 検索 |
614
- | 31 | calendar | カレンダー |
615
- | 32 | project | プロジェクト管理 |
616
- | 33 | survey | アンケート |
617
- | 34 | voting | 投票 |
618
- | 35 | ticketing | チケット |
619
- | 36 | hotel | ホテル |
620
- | 37 | pharmacy | 薬局 |
621
- | 38 | veterinary | 動物病院 |
622
- | 39 | gym | フィットネス |
623
- | 40 | library | 図書館 |
624
- | 41 | museum | 美術館・博物館 |
625
- | 42 | parking | 駐車場 |
626
- | 43 | laundry | クリーニング |
627
- | 44 | rental | レンタル |
628
- | 45 | repair | 修理 |
629
- | 46 | cleaning | 清掃 |
630
- | 47 | catering | ケータリング |
631
- | 48 | wedding | ブライダル |
632
- | 49 | funeral | 葬儀 |
633
- | 50 | agriculture | 農業 |
634
- | 51 | energy | エネルギー |
635
- | 52 | waste | 廃棄物 |
636
- | 53 | recycling | リサイクル |
637
- | 54 | warehouse | 倉庫 |
638
- | 55 | vehicle | 車両管理 |
639
- | 56 | sports | スポーツ |
640
- | 57 | marketing | マーケティング |
641
- | 58 | aviation | 航空 |
642
- | 59 | shipping | 海運 |
643
- | 60 | telecom | 通信 |
644
- | 61 | security | セキュリティ |
645
- | 62 | ai | AI |
646
-
647
- </details>
648
-
649
- ### 4.2.5 オントロジーマッピングの実例
650
-
651
- ```typescript
652
- // MUSUBIXでのオントロジーマッピング例
653
- const mapping = ontologyMapper.map({
654
- requirement: 'ユーザーがログインしたとき、システムは認証を行う',
655
-
656
- // 自動検出されるオントロジー概念
657
- concepts: {
658
- actor: 'User',
659
- action: 'login',
660
- system_behavior: 'authenticate',
661
- pattern: 'EARS_WHEN_THEN'
662
- },
663
-
664
- // 関連する技術概念
665
- technical_mappings: {
666
- patterns: ['Strategy', 'Factory'],
667
- security: ['OWASP A07:2021', 'RBAC'],
668
- frameworks: ['passport.js', 'bcrypt']
669
- }
670
- });
671
- ```
672
-
673
- ## 4.3 新規追加モジュール(56モジュール)
674
-
675
- MUSUBIXは以下の新規モジュールを追加:
676
-
677
- | カテゴリ | モジュール | 説明 |
678
- |----------|-----------|------|
679
- | **統合** | NeuroSymbolicIntegrator | 統合制御 |
680
- | | ConfidenceEvaluator | 信頼度評価 |
681
- | | ContradictionDetector | 矛盾検出 |
682
- | **要件** | EARSValidator | EARS検証 |
683
- | | OntologyMapper | オントロジーマッピング |
684
- | | RelatedRequirementsFinder | 関連要件検索 |
685
- | | RequirementsDecomposer | 要件分解 |
686
- | | InteractiveHearingManager | 対話的ヒアリング |
687
- | **設計** | PatternDetector | パターン検出 |
688
- | | SOLIDValidator | SOLID検証 |
689
- | | C4ModelGenerator | C4モデル生成 |
690
- | | ADRGenerator | ADR生成 |
691
- | | DomainDetector | ドメイン自動検出(62ドメイン) |
692
- | | ComponentInference | コンポーネント推論(~430定義) |
693
- | **コード** | StaticAnalyzer | 静的解析 |
694
- | | SecurityScanner | セキュリティスキャン |
695
- | | QualityMetricsCalculator | 品質メトリクス |
696
- | **説明** | ReasoningChainRecorder | 推論チェーン記録 |
697
- | | ExplanationGenerator | 説明生成 |
698
- | | VisualExplanationGenerator | 視覚的説明生成 |
699
- | **学習** | FeedbackCollector | フィードバック収集 |
700
- | | PatternExtractor | パターン抽出 |
701
- | | AdaptiveReasoner | 適応的推論 |
702
- | | PrivacyFilter | プライバシー保護フィルター |
703
- | **ユーティリティ** | IdGenerator | ユニークID生成(カウンター方式) |
704
- | | StatusWorkflow | ステータス遷移管理 |
705
-
706
- ### 4.3.1 新規ユーティリティ(v1.0.20)
707
-
708
- v1.0.20では、10プロジェクト検証から学んだパターンを基に2つの新しいユーティリティを追加:
709
-
710
- #### IdGenerator - ユニークID生成
711
-
712
- ```typescript
713
- import { IdGenerator, idGenerators } from '@nahisaho/musubix-core';
714
-
715
- // インスタンス利用(同一ミリ秒内でも重複なし)
716
- const petIdGen = new IdGenerator('PET');
717
- const id1 = petIdGen.generate(); // 'PET-1704326400000-1'
718
- const id2 = petIdGen.generate(); // 'PET-1704326400000-2'
719
-
720
- // 事前設定ジェネレーター
721
- idGenerators.requirement.generate(); // 'REQ-...'
722
- idGenerators.design.generate(); // 'DES-...'
723
- idGenerators.task.generate(); // 'TSK-...'
724
-
725
- // UUID v4生成
726
- IdGenerator.uuid(); // 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'
727
- ```
728
-
729
- #### StatusWorkflow - ステータス遷移管理
730
-
731
- ```typescript
732
- import { taskWorkflow, approvalWorkflow, reservationWorkflow } from '@nahisaho/musubix-core';
733
-
734
- // タスクワークフロー: pending → confirmed → in_progress → completed
735
- let status = taskWorkflow.transition('pending', 'confirm'); // 'confirmed'
736
- status = taskWorkflow.transition(status, 'start'); // 'in_progress'
737
- status = taskWorkflow.transition(status, 'complete'); // 'completed'
738
-
739
- // 承認ワークフロー: draft → pending → approved/rejected
740
- approvalWorkflow.transition('draft', 'submit'); // 'pending'
741
- approvalWorkflow.transition('pending', 'approve'); // 'approved'
742
-
743
- // 予約ワークフロー: tentative → confirmed → active → completed
744
- reservationWorkflow.transition('tentative', 'confirm'); // 'confirmed'
745
- ```
746
-
747
- ## 4.4 MCPサーバー(16ツール、3プロンプト)
748
-
749
- v1.3.0では、従来の9ツールに加えて**7つの新しいパターン統合ツール**を追加しました。
750
-
751
- ```mermaid
752
- flowchart TB
753
- subgraph MCPServer["MCP Server"]
754
- subgraph SDDTools["SDD基本ツール(9ツール)"]
755
- T1[sdd_create_requirements]
756
- T2[sdd_validate_requirements]
757
- T3[sdd_create_design]
758
- T4[sdd_validate_design]
759
- T5[sdd_create_tasks]
760
- T6[sdd_query_knowledge]
761
- T7[sdd_update_knowledge]
762
- T8[sdd_validate_constitution]
763
- T9[sdd_validate_traceability]
764
- end
765
-
766
- subgraph PatternTools["パターン統合ツール(7ツール)- v1.3.0 NEW!"]
767
- PT1[pattern_extract]
768
- PT2[pattern_compress]
769
- PT3[pattern_store]
770
- PT4[pattern_query]
771
- PT5[pattern_consolidate]
772
- PT6[ontology_query]
773
- PT7[ontology_infer]
774
- end
775
-
776
- subgraph Prompts["3 Prompts"]
777
- P1[sdd_requirements_analysis]
778
- P2[sdd_requirements_review]
779
- P3[sdd_design_generation]
780
- end
781
- end
782
-
783
- subgraph Platforms["対応プラットフォーム"]
784
- Claude[Claude Desktop]
785
- Copilot[GitHub Copilot]
786
- Cursor[Cursor IDE]
787
- end
788
-
789
- MCPServer --> Platforms
790
- ```
791
-
792
- ## 4.5 自己学習システム(v1.0.12〜)
793
-
794
- MUSUBIXは**自己学習システム**を搭載し、フィードバックに基づいて推論を継続的に改善します。
795
-
796
- ```mermaid
797
- flowchart LR
798
- subgraph Learning["自己学習システム"]
799
- F[フィードバック収集] --> P[パターン抽出]
800
- P --> T{閾値判定}
801
- T -->|超過| R[パターン登録]
802
- T -->|未満| W[待機]
803
- R --> A[適応的推論]
804
- end
805
-
806
- subgraph Privacy["プライバシー保護"]
807
- PF[PrivacyFilter]
808
- LS[ローカルストレージのみ]
809
- end
810
-
811
- Learning --> Privacy
812
- ```
813
-
814
- | 機能 | 説明 | CLIコマンド |
815
- |------|------|------------|
816
- | **状態確認** | 学習状態ダッシュボード表示 | `npx musubix learn status` |
817
- | **フィードバック** | accept/reject/modifyの記録 | `npx musubix learn feedback <id>` |
818
- | **パターン一覧** | 学習済みパターン表示 | `npx musubix learn patterns` |
819
- | **パターン追加** | 手動パターン登録 | `npx musubix learn add-pattern <name>` |
820
- | **推奨取得** | コンテキストベースの推奨 | `npx musubix learn recommend` |
821
- | **データ移行** | エクスポート/インポート | `npx musubix learn export/import` |
822
-
823
- **プライバシー保護**:
824
- - すべての学習データはローカルストレージのみに保存
825
- - 機密情報の自動フィルタリング
826
- - 外部サーバーへのデータ送信なし
827
-
828
- ## 4.6 シンボリック推論モジュール(v1.2.0)
829
-
830
- v1.2.0では、**シンボリック推論モジュール**(`packages/core/src/symbolic/`)を新規追加しました。これはNeuro-Symbolic AIの核心部分であり、**LLMの創造的な出力**と**形式的検証の厳密性**を融合させる画期的な機能です。
831
-
832
- ### なぜシンボリック推論が必要か?
833
-
834
- LLM(Large Language Model)は強力なコード生成能力を持つ一方、以下の問題を抱えています。
835
-
836
- 1. **幻覚(Hallucination)**: 存在しない関数やライブラリを生成することがある
837
- 2. **一貫性の欠如**: 同じ質問に対して異なる回答を返すことがある
838
- 3. **検証不能**: 生成されたコードが仕様を満たすか数学的に証明できない
839
- 4. **セキュリティリスク**: 脆弱性を含むコードを生成する可能性がある
840
-
841
- シンボリック推論モジュールは、これらの問題に対して**形式的手法**で対処します。
842
-
843
- | 問題 | シンボリック解決策 |
844
- |-----|------------------|
845
- | 幻覚 | `HallucinationDetector` が未定義シンボルを検出 |
846
- | 一貫性 | `ConstitutionRuleRegistry` が9憲法条項への準拠を強制 |
847
- | 検証不能 | `Z3Adapter` がSMTソルバーで数学的に検証 |
848
- | セキュリティ | `SecurityScanner` がOWASP Top 10パターンを検出 |
849
-
850
- ### アーキテクチャ(3フェーズ構成)
851
-
852
- ```mermaid
853
- flowchart TB
854
- subgraph Phase1["Phase 1: 基盤"]
855
- P1A[SemanticCodeFilterPipeline<br/>LLM出力の意味検証]
856
- P1B[HallucinationDetector<br/>幻覚検出]
857
- P1C[ConstitutionRuleRegistry<br/>9憲法条項の強制]
858
- P1D[ConfidenceEstimator<br/>信頼度スコアリング]
859
- P1E[ConfidenceBasedRouter<br/>ルーティング決定]
860
- P1F[ErrorHandler<br/>グレースフルデグラデーション]
861
- end
862
-
863
- subgraph Phase2["Phase 2: 形式検証"]
864
- P2A[EarsToFormalSpecConverter<br/>EARS → SMT-LIB変換]
865
- P2B[VerificationConditionGenerator<br/>検証条件生成]
866
- P2C[Z3Adapter<br/>Z3 SMTソルバー統合]
867
- P2D[SecurityScanner<br/>OWASPパターン検出]
868
- end
869
-
870
- subgraph Phase3["Phase 3: 高度機能"]
871
- P3A[CandidateRanker<br/>複数候補のスコアリング]
872
- P3B[ResultBlender<br/>Neural/Symbolic結果統合]
873
- P3C[ExtensibleRuleConfig<br/>YAML/JSONルール設定]
874
- P3D[AuditLogger<br/>SHA-256改ざん検出]
875
- P3E[PerformanceBudget<br/>SLOメトリクス]
876
- P3F[QualityGateValidator<br/>品質ゲート検証]
877
- end
878
-
879
- Phase1 --> Phase2 --> Phase3
880
- ```
881
-
882
- ### Phase 1: 基盤コンポーネント
883
-
884
- LLM出力の基本的な品質保証を担当します。
885
-
886
- | コンポーネント | 機能 | 詳細 |
887
- |--------------|------|------|
888
- | **SemanticCodeFilterPipeline** | 意味的検証パイプライン | AST解析、型推論、依存関係検証を連鎖実行 |
889
- | **HallucinationDetector** | 幻覚検出 | 未定義シンボル、存在しないパッケージ、無効なAPIを検出 |
890
- | **ConstitutionRuleRegistry** | 憲法準拠チェック | 9憲法条項への違反を自動検出(Library-First、Test-First等) |
891
- | **ConfidenceEstimator** | 信頼度スコアリング | 複数の指標から0.0〜1.0の信頼度を算出 |
892
- | **ConfidenceBasedRouter** | ルーティング決定 | 信頼度に基づいてNeural/Symbolic処理を振り分け |
893
- | **ErrorHandler** | グレースフルデグラデーション | 検証失敗時の段階的フォールバック |
894
-
895
- ### Phase 2: 形式検証コンポーネント
896
-
897
- 数学的・形式的な検証を担当します。
898
-
899
- | コンポーネント | 機能 | 詳細 |
900
- |--------------|------|------|
901
- | **EarsToFormalSpecConverter** | EARS → SMT-LIB変換 | 自然言語要件を形式仕様に変換 |
902
- | **VerificationConditionGenerator** | 検証条件生成 | 事前条件、事後条件、ループ不変条件を生成 |
903
- | **Z3Adapter** | SMTソルバー統合 | Microsoft Z3による数学的証明(充足可能性判定) |
904
- | **SecurityScanner** | 脆弱性検出 | OWASP Top 10パターン(SQLi, XSS, CSRF等)を検出 |
905
-
906
- ### Phase 3: 高度機能コンポーネント
907
-
908
- 複数候補の評価と結果統合を担当します。
909
-
910
- | コンポーネント | 機能 | 詳細 |
911
- |--------------|------|------|
912
- | **CandidateRanker** | 候補スコアリング | 複数の生成候補を品質・適合性でランキング |
913
- | **ResultBlender** | 結果統合 | Neural結果とSymbolic結果を戦略的に統合 |
914
- | **ExtensibleRuleConfig** | ルール設定 | YAML/JSONでカスタムルールを定義可能 |
915
- | **AuditLogger** | 監査ログ | SHA-256ハッシュで改ざんを検出可能な監査証跡 |
916
- | **PerformanceBudget** | SLOメトリクス | レイテンシ、メモリ使用量のSLO監視 |
917
- | **QualityGateValidator** | 品質ゲート | 要件→設計→実装の各段階で品質基準を強制 |
918
-
919
- ### ResultBlender: Neural-Symbolic統合の核心
920
-
921
- ResultBlenderは、LLM(Neural)の出力とシンボリック推論の結果を統合する中核コンポーネントです。3つの戦略を提供します。
922
-
923
- ```typescript
924
- // 1. neural_priority: ニューラル結果を優先
925
- // シンボリック検証をパスした場合のみニューラル結果を採用
926
- // ユースケース: 創造的なコード生成、新しいアルゴリズム設計
927
- blender.blend(neuralResult, symbolicResult, 'neural_priority');
928
-
929
- // 2. symbolic_priority: シンボリック結果を優先
930
- // 形式的に正しい結果を優先し、ニューラルは補助的に使用
931
- // ユースケース: セキュリティクリティカルなコード、金融計算
932
- blender.blend(neuralResult, symbolicResult, 'symbolic_priority');
933
-
934
- // 3. weighted: 信頼度に基づく重み付け統合
935
- // 両方の結果を信頼度スコアで重み付けして統合
936
- // ユースケース: 一般的なコード生成、バランスの取れた出力
937
- blender.blend(neuralResult, symbolicResult, 'weighted');
938
- ```
939
-
940
- ### 信頼度ベースの決定ルール(REQ-INT-002準拠)
941
-
942
- ```typescript
943
- // シンボリック検証とニューラル信頼度の組み合わせ
944
- if (symbolicResult === 'invalid') {
945
- // シンボリック検証失敗 → ニューラル結果を棄却
946
- return reject(neuralResult);
947
- } else if (symbolicResult === 'valid' && neuralConfidence >= 0.8) {
948
- // 高信頼度 → ニューラル結果を採用
949
- return accept(neuralResult);
950
- } else {
951
- // 低信頼度 → シンボリック結果を優先
952
- return prefer(symbolicResult);
953
- }
954
- ```
955
-
956
- この決定ルールにより、**LLMの創造性を活かしつつ、形式的な正しさを保証**します。
957
-
958
- ## 4.7 Wake-Sleep学習サイクル(v1.3.0)
959
-
960
- v1.3.0では、**Wake-Sleepアルゴリズム**に基づく継続的学習システムを導入しました。これは神経科学の「睡眠中に記憶を整理・統合する」メカニズムに着想を得た学習パラダイムです。
961
-
962
- ### なぜWake-Sleep学習が必要か?
963
-
964
- 従来のAIコーディングアシスタントには以下の課題がありました。
965
-
966
- 1. **学習の断絶**: セッション終了後に学習内容が失われる
967
- 2. **パターンの冗長性**: 似たようなパターンが重複して蓄積される
968
- 3. **知識の断片化**: 学習したパターンが体系化されない
969
- 4. **メモリの肥大化**: 無制限にデータが増加し性能が低下する
970
-
971
- Wake-Sleep学習サイクルは、これらの問題を解決します。
972
-
973
- | 課題 | Wake-Sleep解決策 |
974
- |-----|------------------|
975
- | 学習の断絶 | `PatternLibrary` による永続化(JSON形式) |
976
- | パターンの冗長性 | Sleep Phaseでの `pattern_consolidate`(類似統合) |
977
- | 知識の断片化 | `N3Store` によるRDF/OWL体系化 |
978
- | メモリの肥大化 | Sleep Phaseでの `pattern_compress`(抽象化圧縮) |
979
-
980
- ### Wake-Sleepサイクルの詳細
981
-
982
- ```mermaid
983
- flowchart LR
984
- subgraph WakePhase["Wake Phase(覚醒)"]
985
- W1[コード観察] --> W2[パターン抽出]
986
- W2 --> W3[知識グラフ更新]
987
- end
988
-
989
- subgraph SleepPhase["Sleep Phase(睡眠)"]
990
- S1[パターン統合] --> S2[類似パターン圧縮]
991
- S2 --> S3[メモリ最適化]
992
- end
993
-
994
- WakePhase --> SleepPhase
995
- SleepPhase --> WakePhase
996
- ```
997
-
998
- #### Wake Phase(覚醒フェーズ)
999
-
1000
- 開発者がアクティブにコーディングしている間に実行されます。
1001
-
1002
- ```typescript
1003
- // Wake Phaseの処理フロー
1004
- async function wakePhase(codeObservation: CodeObservation): Promise<void> {
1005
- // 1. コード観察: 開発者の操作を監視
1006
- const observation = await observe(codeObservation);
1007
-
1008
- // 2. パターン抽出: コードから設計パターン・コーディングパターンを検出
1009
- const patterns = await extractPatterns(observation);
1010
-
1011
- // 3. 知識グラフ更新: 抽出したパターンをオントロジーに追加
1012
- await updateKnowledgeGraph(patterns);
1013
- }
1014
- ```
1015
-
1016
- | ステップ | 処理内容 | 出力 |
1017
- |---------|----------|------|
1018
- | コード観察 | ファイル変更、関数追加、リファクタリングを検出 | `CodeObservation` |
1019
- | パターン抽出 | Factory, Repository, Service等のパターンを識別 | `Pattern[]` |
1020
- | 知識グラフ更新 | RDFトリプルとして知識グラフに永続化 | `N3Store` 更新 |
1021
-
1022
- #### Sleep Phase(睡眠フェーズ)
1023
-
1024
- 開発者がアイドル状態(休憩中、ミーティング中等)に実行されます。
1025
-
1026
- ```typescript
1027
- // Sleep Phaseの処理フロー
1028
- async function sleepPhase(): Promise<void> {
1029
- // 1. パターン統合: 類似パターンをグループ化
1030
- const consolidated = await consolidatePatterns();
1031
-
1032
- // 2. 圧縮: 冗長な詳細を抽象化
1033
- const compressed = await compressPatterns(consolidated);
1034
-
1035
- // 3. メモリ最適化: 使用頻度の低いパターンを整理
1036
- await optimizeMemory(compressed);
1037
- }
1038
- ```
1039
-
1040
- | ステップ | 処理内容 | 効果 |
1041
- |---------|----------|------|
1042
- | パターン統合 | 類似度90%以上のパターンをマージ | パターン数削減 |
1043
- | 圧縮 | 具体的な変数名を抽象化(`userId` → `<identifier>`) | 汎用性向上 |
1044
- | メモリ最適化 | 30日未使用パターンをアーカイブ | 検索性能維持 |
1045
-
1046
- ### 新パッケージ(v1.3.0で追加)
1047
-
1048
- | パッケージ | npm | 役割 |
1049
- |-----------|-----|------|
1050
- | `packages/pattern-mcp/` | `@nahisaho/musubix-pattern-mcp` | パターン抽出・圧縮・ライブラリ管理 |
1051
- | `packages/ontology-mcp/` | `@nahisaho/musubix-ontology-mcp` | N3Store・RDF推論エンジン |
1052
- | `packages/wake-sleep/` | `@nahisaho/musubix-wake-sleep` | Wake-Sleep学習サイクル制御 |
1053
- | `packages/sdd-ontology/` | `@nahisaho/musubix-sdd-ontology` | SDD方法論のオントロジー定義 |
1054
-
1055
- ### 主要コンポーネント詳細
1056
-
1057
- | コンポーネント | 機能 | 詳細 |
1058
- |--------------|------|------|
1059
- | **WakeSleepCycle** | サイクルオーケストレーション | Wake/Sleepフェーズの切り替え、スケジューリング、状態管理 |
1060
- | **PatternLibrary** | パターン永続化 | JSON形式で学習済みパターンを保存、バージョン管理、検索API |
1061
- | **PatternOntologyBridge** | 相互変換 | `Pattern` オブジェクト ↔ RDFトリプルの双方向変換 |
1062
- | **N3Store** | 知識グラフDB | Turtle形式のRDF/OWLストレージ、SPARQLライクなクエリ |
1063
- | **PatternExtractor** | パターン検出 | AST解析によるGoFパターン、アーキテクチャパターンの検出 |
1064
- | **PatternCompressor** | パターン圧縮 | 類似パターンの抽象化、変数名の一般化 |
1065
-
1066
- ### 新MCPツール(7ツール)
1067
-
1068
- Wake-Sleep学習機能をMCPプロトコル経由で利用可能にします。
1069
-
1070
- | ツール名 | 説明 | ユースケース |
1071
- |---------|------|-------------|
1072
- | `pattern_extract` | コードからパターンを抽出 | 既存コードベースの分析 |
1073
- | `pattern_compress` | パターンの抽象化・圧縮 | 冗長パターンの整理 |
1074
- | `pattern_store` | パターンライブラリへの保存 | 学習結果の永続化 |
1075
- | `pattern_query` | パターンの検索・取得 | 類似実装の発見 |
1076
- | `pattern_consolidate` | 類似パターンの統合 | Sleep Phase実行 |
1077
- | `ontology_query` | オントロジーグラフへのクエリ | 知識検索 |
1078
- | `ontology_infer` | オントロジーによる推論実行 | 関連パターン推論 |
1079
-
1080
- ### 学習データの保存場所
1081
-
1082
- ```
1083
- storage/
1084
- ├── patterns/
1085
- │ └── library.json # パターンライブラリ(JSON)
1086
- │ # 形式: { patterns: Pattern[], metadata: {...} }
1087
- └── ontology/
1088
- └── n3-store.ttl # 知識グラフ(Turtle RDF)
1089
- # 形式: @prefix sdd: <http://musubix.dev/ontology/sdd#>
1090
- ```
1091
-
1092
- ### 学習効果の例
1093
-
1094
- Wake-Sleep学習サイクルにより、以下のような効果が得られます。
1095
-
1096
- ```typescript
1097
- // 学習前: 開発者が毎回同じパターンを手書き
1098
- class UserRepository {
1099
- async findById(id: string): Promise<User | null> { ... }
1100
- async save(user: User): Promise<void> { ... }
1101
- }
1102
-
1103
- // 学習後: システムが自動でパターンを提案
1104
- // 「Repository パターンを検出しました。
1105
- // 類似実装: ProductRepository, OrderRepository
1106
- // 推奨メソッド: findAll(), delete(), exists()」
1107
- ```
1108
-
1109
- ## 4.8 学習データのポータビリティ(v1.4.0)
1110
-
1111
- v1.4.0では、**プロジェクト間で学習データを共有・移行**するためのCLI機能を追加しました。これにより、あるプロジェクトで蓄積したパターンや知見を、新しいプロジェクトで即座に活用できます。
1112
-
1113
- ### なぜポータビリティが必要か?
1114
-
1115
- 従来の課題:
1116
- - 各プロジェクトで一から学習をやり直す必要があった
1117
- - チーム間で知見の共有が困難だった
1118
- - 機密情報を含むデータの共有にセキュリティリスクがあった
1119
-
1120
- v1.4.0での解決:
1121
- - **エクスポート/インポート**: CLI一発で学習データを移行
1122
- - **プライバシーフィルター**: API Key、パスワード等を自動除去
1123
- - **マージ戦略**: 既存データとの統合方法を選択可能
1124
-
1125
- ### CLIコマンド
1126
-
1127
- ```bash
1128
- # エクスポート(機密情報除去、高信頼度パターンのみ)
1129
- npx musubix learn export \
1130
- --output team-patterns.json \
1131
- --privacy-filter \
1132
- --patterns-only \
1133
- --min-confidence 0.8
1134
-
1135
- # インポート(マージ戦略指定、ドライラン)
1136
- npx musubix learn import team-patterns.json \
1137
- --merge-strategy merge \
1138
- --dry-run
1139
- ```
1140
-
1141
- ### マージ戦略
1142
-
1143
- | 戦略 | 動作 | ユースケース |
1144
- |------|------|-------------|
1145
- | **skip** | 既存を保持、重複をスキップ | 既存の学習を壊したくない場合 |
1146
- | **overwrite** | インポートデータで上書き | 最新データで完全更新する場合 |
1147
- | **merge** | 出現回数を合計、信頼度は最大値 | チームの知見を統合する場合 |
1148
-
1149
- ### プライバシーフィルター
1150
-
1151
- 以下のパターンを自動検出して`[REDACTED]`に置換:
1152
-
1153
- ```typescript
1154
- // 検出対象
1155
- const PRIVACY_PATTERNS = [
1156
- /api[_-]?key/i, // API_KEY, api-key
1157
- /secret/i, // SECRET, secret
1158
- /password/i, // PASSWORD, password
1159
- /token/i, // TOKEN, token
1160
- /credential/i, // CREDENTIAL
1161
- /private[_-]?key/i, // PRIVATE_KEY
1162
- /bearer/i, // Bearer token
1163
- /jwt/i, // JWT
1164
- ];
1165
-
1166
- // 32文字以上の英数字文字列も除去
1167
- // 例: "sk-proj-abc123..." → "[REDACTED]"
1168
- ```
1169
-
1170
- ### 活用シナリオ
1171
-
1172
- ```
1173
- プロジェクトA(成熟) プロジェクトB(新規)
1174
- ┌──────────────────┐ ┌──────────────────┐
1175
- │ 学習済みパターン │ │ 初期状態 │
1176
- │ - Repository │ export │ │
1177
- │ - Service Layer │ ────────→ │ │
1178
- │ - Value Object │ import │ 学習済みパターン │
1179
- │ 信頼度: 90%+ │ │ 即座に活用可能! │
1180
- └──────────────────┘ └──────────────────┘
1181
- ```
1182
-
1183
- ## 4.9 正誤性検証(v1.4.1)
1184
-
1185
- v1.4.1では、**知識グラフへのデータ登録時の正誤性検証**機能を追加しました。OWL制約に基づく一貫性チェックにより、不正なデータの登録を防止します。
1186
-
1187
- ### なぜ正誤性検証が必要か?
1188
-
1189
- 従来の課題:
1190
- - 不正なトリプルがそのまま登録されてしまう
1191
- - 重複データの蓄積
1192
- - OWL制約違反(関数型プロパティに複数値など)の検出ができない
1193
-
1194
- v1.4.1での解決:
1195
- - **ConsistencyValidator**: OWL制約に基づく7種類の検証
1196
- - **事前検証**: `addTripleValidated()`でエラーを未然に防止
1197
- - **一括検証**: `checkConsistency()`でストア全体をチェック
1198
-
1199
- ### 検証タイプ
1200
-
1201
- | タイプ | 説明 | 重大度 |
1202
- |--------|------|--------|
1203
- | `disjoint-class-membership` | owl:disjointWith違反 | error |
1204
- | `functional-property-violation` | owl:FunctionalProperty違反(複数値) | error |
1205
- | `inverse-functional-violation` | owl:InverseFunctionalProperty違反 | error |
1206
- | `asymmetric-violation` | owl:AsymmetricProperty違反(逆方向存在) | error |
1207
- | `irreflexive-violation` | owl:IrreflexiveProperty違反(自己参照) | error |
1208
- | `duplicate-triple` | 完全一致の重複トリプル | warning |
1209
- | `circular-dependency` | subClassOf等の循環依存 | error |
1210
-
1211
- ### 使用例
1212
-
1213
- ```typescript
1214
- import { N3Store } from '@nahisaho/musubix-ontology-mcp';
1215
-
1216
- // 検証付きストア(validateOnAdd = true)
1217
- const store = new N3Store({}, true);
1218
-
1219
- // 検証付き追加
1220
- const result = store.addTripleValidated({
1221
- subject: 'http://example.org/Person1',
1222
- predicate: 'http://example.org/hasMother',
1223
- object: 'http://example.org/Mother1'
1224
- });
1225
-
1226
- if (!result.success) {
1227
- console.error('Validation errors:', result.validation.errors);
1228
- }
1229
-
1230
- // ストア全体の整合性チェック
1231
- const consistency = store.checkConsistency();
1232
- if (!consistency.consistent) {
1233
- for (const v of consistency.violations) {
1234
- console.log(`${v.type}: ${v.message}`);
1235
- }
1236
- }
1237
- ```
1238
-
1239
- ### 検証フロー
1240
-
1241
- ```
1242
- トリプル追加要求
1243
-
1244
-
1245
- ┌─────────────────┐
1246
- │ validateTriple()│ ← 事前検証
1247
- └────────┬────────┘
1248
-
1249
- ┌────┴────┐
1250
- │ valid? │
1251
- └────┬────┘
1252
- No │ Yes
1253
- │ │
1254
- ▼ ▼
1255
- 拒否 追加
1256
-
1257
-
1258
- ┌──────────────┐
1259
- │ 推論適用 │
1260
- └──────────────┘
1261
- ```
1262
-
1263
- ## 4.10 高度推論(v1.4.5)
1264
-
1265
- v1.4.5では、**OWL 2 RLプロファイル推論エンジン**と**Datalog評価エンジン**を追加しました。これにより、知識グラフ上での自動推論と、人間可読な説明生成が可能になりました。
1266
-
1267
- ### なぜ高度推論が必要か?
1268
-
1269
- 従来の課題:
1270
- - 明示的に登録された事実しか利用できない
1271
- - 暗黙的な関係性を導出できない
1272
- - 推論結果の根拠が不明確
1273
-
1274
- v1.4.5での解決:
1275
- - **OWL2RLReasoner**: 20以上のビルトインルールによる自動推論
1276
- - **DatalogEngine**: ストラティファイド評価による柔軟なルール適用
1277
- - **InferenceExplainer**: 推論チェーンの自然言語説明
1278
-
1279
- ### OWL 2 RL推論
1280
-
1281
- OWL 2 RLプロファイルは、OWL 2のサブセットであり、ルールベースの推論に適しています。
1282
-
1283
- | カテゴリ | ルール | 説明 |
1284
- |----------|-------|------|
1285
- | Class Axioms | `cax-sco`, `cax-eqc` | サブクラス、同値クラス推論 |
1286
- | Property | `prp-dom`, `prp-rng` | ドメイン、レンジ推論 |
1287
- | Property Characteristics | `prp-symp`, `prp-trp`, `prp-inv` | 対称、推移、逆プロパティ |
1288
- | Equality | `eq-ref`, `eq-sym`, `eq-trans` | sameAs推論 |
1289
-
1290
- ### 使用例
1291
-
1292
- ```typescript
1293
- import { OWL2RLReasoner, DatalogEngine, InferenceExplainer } from '@nahisaho/musubix-ontology-mcp';
1294
-
1295
- // OWL 2 RL推論
1296
- const reasoner = new OWL2RLReasoner({
1297
- maxIterations: 100,
1298
- enablePropertyChains: true
1299
- });
1300
-
1301
- const result = await reasoner.reason(store, {
1302
- onProgress: (p) => console.log(`反復 ${p.iteration}: ${p.newTriples} 新規`)
1303
- });
1304
-
1305
- console.log(`${result.inferredCount} 個の事実を推論`);
1306
-
1307
- // Datalog評価
1308
- const engine = new DatalogEngine();
1309
- const rules = [
1310
- {
1311
- head: { predicate: 'ancestor', args: ['?x', '?y'] },
1312
- body: [{ predicate: 'parent', args: ['?x', '?y'] }]
1313
- },
1314
- {
1315
- head: { predicate: 'ancestor', args: ['?x', '?z'] },
1316
- body: [
1317
- { predicate: 'parent', args: ['?x', '?y'] },
1318
- { predicate: 'ancestor', args: ['?y', '?z'] }
1319
- ]
1320
- }
1321
- ];
1322
- const derived = await engine.evaluate(rules, facts);
1323
-
1324
- // 推論説明
1325
- const explainer = new InferenceExplainer(reasoner.getProvenanceLog());
1326
- const explanation = explainer.explain(subject, predicate, object, 'text');
1327
- console.log(explanation);
1328
- // → "Animal は owl:Class として宣言されているため Class です(ルール cax-sco)"
1329
- ```
1330
-
1331
- ### 推論フロー
1332
-
1333
- ```
1334
- 知識グラフ
1335
-
1336
-
1337
- ┌─────────────────┐
1338
- │ OWL2RLReasoner │ ← 20+ ビルトインルール
1339
- └────────┬────────┘
1340
-
1341
-
1342
- ┌─────────────────┐
1343
- │ 固定点到達まで │ ← 反復推論
1344
- │ 新規推論を生成 │
1345
- └────────┬────────┘
1346
-
1347
-
1348
- ┌─────────────────┐
1349
- │ InferenceExplainer │ ← 説明生成
1350
- └────────┬────────┘
1351
-
1352
-
1353
- 人間可読な推論根拠
1354
- ```
1355
-
1356
- # 5. 9つの憲法条項
1357
-
1358
- MUSUBIXは、MUSUBIから継承した **9つの憲法条項(Constitutional Articles)** を遵守します。これらは開発プロセス全体を統治する不変の原則であり、AIコーディングエージェントが従うべきガバナンスフレームワークです。
1359
-
1360
- ニューロシンボリックAIへの進化により、各条項の実装がより強力になりました。LLMの創造性と知識グラフの厳密性を組み合わせることで、これらの原則を **自動的かつ一貫して** 適用できるようになっています。
1361
-
1362
- | Article | 原則 | MUSUBIXでの実装 |
1363
- |---------|------|-----------------|
1364
- | I | **Specification First** | EARS検証 + オントロジーマッピング |
1365
- | II | **Design Before Code** | C4モデル + パターン検出 |
1366
- | III | **Single Source of Truth** | 知識グラフによる一元管理 |
1367
- | IV | **Traceability** | トレーサビリティマトリクス |
1368
- | V | **Incremental Progress** | 要件分解 + スプリント計画 |
1369
- | VI | **Decision Documentation** | ADR自動生成 |
1370
- | VII | **Quality Gates** | 信頼度評価 + 矛盾検出 |
1371
- | VIII | **User-Centric** | 対話的ヒアリング |
1372
- | IX | **Continuous Learning** | 知識グラフ更新 |
1373
-
1374
- 各条項は相互に関連し、開発ライフサイクル全体をカバーしています。MUSUBIXでは、これらの原則違反を知識グラフで自動検出し、開発者にフィードバックを提供します。
1375
-
1376
- # 6. 実践例:要件定義の強化
1377
-
1378
- ## 6.1 MUSUBIでの要件定義
1379
-
1380
- ```markdown
1381
- # 従来のMUSUBI
1382
- WHEN ユーザーがログインフォームを送信する
1383
- THE システム SHALL 認証を実行する
1384
- AND THE システム SHALL セッションを作成する
1385
- ```
1386
-
1387
- ## 6.2 MUSUBIXでの要件定義
1388
-
1389
- ```markdown
1390
- # MUSUBIXによる強化
1391
- WHEN ユーザーがログインフォームを送信する
1392
- THE システム SHALL 認証を実行する
1393
- AND THE システム SHALL セッションを作成する
1394
-
1395
- # 知識グラフによる補完
1396
- - 関連要件: REQ-AUTH-001, REQ-SESSION-001
1397
- - 影響コンポーネント: AuthService, SessionManager
1398
- - セキュリティ考慮: OWASP A07:2021対応
1399
- - 推奨パターン: Strategy Pattern for Auth Providers
1400
- ```
1401
-
1402
- # 7. まとめ
1403
-
1404
- ## 7.1 ニューロシンボリックAIの価値
1405
-
1406
- MUSUBIXが採用するニューロシンボリックAIは、従来のAIコーディング支援の限界を突破する価値を提供します。
1407
-
1408
- LLM単体では、「幻覚(Hallucination)」や「確率的出力」といった問題が避けられません。しかし、知識グラフによるシンボリック推論を組み合わせることで、これらの問題を検出・防止できます。
1409
-
1410
- 以下の図は、4つの主要な価値と、それが開発にもたらす具体的な効果を示しています。
1411
-
1412
- ```mermaid
1413
- flowchart TB
1414
- subgraph Value["ニューロシンボリックAIの価値"]
1415
- V1[🎯 精度向上<br/>LLM幻覚の防止]
1416
- V2[📊 説明可能性<br/>推論チェーンの追跡]
1417
- V3[🔄 知識の永続化<br/>オントロジー蓄積]
1418
- V4[✅ 形式的検証<br/>矛盾の自動検出]
1419
- end
1420
-
1421
- subgraph Outcome["開発への効果"]
1422
- O1[バグの早期発見]
1423
- O2[レビュー効率向上]
1424
- O3[知識の組織資産化]
1425
- O4[品質の一貫性]
1426
- end
1427
-
1428
- V1 --> O1
1429
- V2 --> O2
1430
- V3 --> O3
1431
- V4 --> O4
1432
- ```
1433
-
1434
- | 価値 | 従来のLLMの問題 | MUSUBIXによる解決 |
1435
- |------|------------------|--------------------|
1436
- | **精度向上** | 誤ったコード生成 | 知識グラフで事前検証 |
1437
- | **説明可能性** | なぜAIがその出力をしたか不明 | 推論チェーンで完全追跡 |
1438
- | **知識永続化** | セッションごとに忘却 | オントロジーとして蓄積 |
1439
- | **形式的検証** | 論理矛盾を見逃す | シンボリック推論で自動検出 |
1440
-
1441
- ## 7.2 進化の要点
1442
-
1443
- MUSUBIからMUSUBIXへの進化は、単なる機能追加ではなく、**パラダイムシフト**です。以下の4つの軸で進化が起こりました。
1444
-
1445
- 1. **確率的 → 確定的**: LLMの「毎回異なる結果」から、知識グラフによる「再現可能な結果」へ
1446
- 2. **揮発的 → 永続的**: セッション限定の記憶から、オントロジーとしての永続的知識へ
1447
- 3. **不透明 → 説明可能**: ブラックボックスAIから、推論チェーンが追跡可能なAIへ
1448
- 4. **孤立知識 → オントロジー統合**: 断片的な情報から、構造化された知識体系へ
1449
-
1450
- ```mermaid
1451
- flowchart LR
1452
- MUSUBI[MUSUBI<br/>仕様駆動開発] -->|+ YATA| MUSUBIX[MUSUBIX<br/>ニューロシンボリックAI]
1453
-
1454
- subgraph Evolution["進化のポイント"]
1455
- E1[確率的 → 確定的]
1456
- E2[揮発的 → 永続的]
1457
- E3[不透明 → 説明可能]
1458
- E4[孤立知識 → オントロジー統合]
1459
- end
1460
- ```
1461
-
1462
- この進化により、MUSUBIXは単なる「AIコーディングツール」を超え、**知識駆動型の開発プラットフォーム**へと進化しました。
1463
-
1464
- | 観点 | MUSUBI | MUSUBIX |
1465
- |------|--------|----------|
1466
- | **推論の信頼性** | LLMに依存 | 形式的検証で補完 |
1467
- | **知識の永続性** | セッション限定 | 知識グラフに蓄積 |
1468
- | **説明可能性** | 限定的 | 推論チェーンで完全追跡 |
1469
- | **開発効率** | 高い | さらに高い |
1470
- | **オントロジー** | なし | ドメイン・技術・SDDの3層オントロジー |
1471
-
1472
- ## 7.3 今後の展望
1473
-
1474
- MUSUBIXは現在の機能に加え、さらなる進化を計画しています。ニューロシンボリックAIの可能性を最大限に引き出すため、以下の機能拡張を検討中です。
1475
-
1476
- - **自動リファクタリング**: 知識グラフに蓄積されたパターンとベストプラクティスに基づき、コードの最適化を自動提案。技術的負債の検出と解消を支援します。
1477
- - **チーム知識共有(YATA Global / YATA Local)**: 組織横断的な知識グラフ統合により、チーム間でのノウハウ共有を実現。「車輪の再発明」を防ぎ、組織全体の開発効率を向上させます。
1478
-
1479
- ## YATA Global / YATA Local アーキテクチャ
1480
-
1481
- チーム知識共有を実現するため、**2層の知識グラフアーキテクチャ**を計画しています。
1482
-
1483
- ```mermaid
1484
- flowchart TB
1485
- subgraph Global["YATA Global(組織共有)"]
1486
- G1[共通ベストプラクティス]
1487
- G2[標準アーキテクチャパターン]
1488
- G3[セキュリティガイドライン]
1489
- G4[組織横断的な技術決定]
1490
- end
1491
-
1492
- Global <-->|同期・昇格| Local1
1493
- Global <-->|同期・昇格| Local2
1494
- Global <-->|同期・昇格| Local3
1495
-
1496
- subgraph Local1["YATA Local (Team A)"]
1497
- L1A[プロジェクト固有知識]
1498
- end
1499
-
1500
- subgraph Local2["YATA Local (Team B)"]
1501
- L2A[プロジェクト固有知識]
1502
- end
1503
-
1504
- subgraph Local3["YATA Local (Team C)"]
1505
- L3A[プロジェクト固有知識]
1506
- end
1507
- ```
1508
-
1509
- | レイヤー | 役割 | メリット |
1510
- |----------|------|----------|
1511
- | **YATA Global** | 組織共通知識の一元管理 | 標準化、重複排除、ガバナンス |
1512
- | **YATA Local** | チーム/プロジェクト固有知識 | 高速アクセス、プライバシー、カスタマイズ |
1513
-
1514
- この2層アーキテクチャにより、以下を実現します。
1515
-
1516
- 1. **プライバシーとセキュリティ**: 機密性の高いプロジェクト知識はLocalに保持
1517
- 2. **スケーラビリティ**: Localで高速処理、Globalで共有
1518
- 3. **知識の昇格フロー**: Localで検証された知識をGlobalへ昇格
1519
- 4. **オフライン対応**: Localがあれば接続なしでも動作
1520
-
1521
- これらの機能は、MUSUBIXの核心である「知識の永続化」と「形式的検証」の強みを活かしたものであり、AIコーディング支援の次なるステージを切り開きます。
1522
-
1523
- # 8. インストール方法
1524
-
1525
- MUSUBIXはnpmで公開されており、簡単にインストールできます。
1526
-
1527
- ## 8.1 クイックスタート
1528
-
1529
- ```bash
1530
- # 統合パッケージ(推奨)
1531
- npm install musubix
1532
-
1533
- # または npx で直接実行
1534
- npx musubix --help
1535
- npx musubix-mcp
1536
- ```
1537
-
1538
- ## 8.2 パッケージ一覧
1539
-
1540
- | パッケージ | インストールコマンド | 説明 |
1541
- |-----------|---------------------|------|
1542
- | **musubix** | `npm install musubix` | 統合パッケージ(全機能) |
1543
- | @nahisaho/musubix-core | `npm install @nahisaho/musubix-core` | コアライブラリ |
1544
- | @nahisaho/musubix-mcp-server | `npm install @nahisaho/musubix-mcp-server` | MCPサーバー |
1545
- | @nahisaho/musubix-yata-client | `npm install @nahisaho/musubix-yata-client` | YATAクライアント |
1546
- | @nahisaho/musubix-pattern-mcp | `npm install @nahisaho/musubix-pattern-mcp` | パターン抽出・圧縮・ライブラリ |
1547
- | @nahisaho/musubix-ontology-mcp | `npm install @nahisaho/musubix-ontology-mcp` | N3Store・RDF推論エンジン |
1548
- | @nahisaho/musubix-wake-sleep | `npm install @nahisaho/musubix-wake-sleep` | Wake-Sleep学習サイクル |
1549
- | @nahisaho/musubix-sdd-ontology | `npm install @nahisaho/musubix-sdd-ontology` | SDD方法論オントロジー |
1550
-
1551
- ## 8.3 利用方法の選択
1552
-
1553
- MUSUBIXには**2つの利用方法**があります。用途に応じて選択してください。
1554
-
1555
- ```mermaid
1556
- flowchart TB
1557
- subgraph Install["インストール"]
1558
- I1[npm install musubix]
1559
- end
1560
-
1561
- Install --> Choice{利用方法の選択}
1562
-
1563
- Choice -->|方法1| Direct["📁 直接利用<br/>AGENTS.md + プロンプト"]
1564
- Choice -->|方法2| MCP["🔌 MCP経由<br/>MCPサーバー連携"]
1565
-
1566
- Direct --> D1[GitHub Copilot]
1567
- Direct --> D2[Claude Code]
1568
- Direct --> D3[Cursor IDE]
1569
-
1570
- MCP --> M1[Claude Desktop]
1571
- MCP --> M2[VS Code + MCP拡張]
1572
- MCP --> M3[その他MCPクライアント]
1573
- ```
1574
-
1575
- | 方法 | 特徴 | 推奨ユースケース |
1576
- |------|------|------------------|
1577
- | **方法1: 直接利用** | 設定不要、即座に利用可能 | 日常のコーディング、要件定義、設計 |
1578
- | **方法2: MCP経由** | 高度なツール連携、知識グラフ統合 | 大規模プロジェクト、チーム開発 |
1579
-
1580
- ## 8.4 方法1: 直接利用(GitHub Copilot等)
1581
-
1582
- musubixパッケージをインストールすると、**AGENTS.md**と**プロンプトファイル**が `node_modules/musubix/` に配置されます。GitHub Copilotなどのエディタ統合AIは、これらのファイルを自動的に認識し、MUSUBIXの機能を利用できます。
1583
-
1584
- ### セットアップ手順
1585
-
1586
- ```bash
1587
- # 1. musubixをインストール
1588
- npm install musubix
1589
-
1590
- # 2. AGENTS.mdをプロジェクトルートにコピー(推奨)
1591
- cp node_modules/musubix/AGENTS.md ./AGENTS.md
1592
-
1593
- # 3. プロンプトファイルをコピー(オプション)
1594
- cp -r node_modules/musubix/.github/prompts ./.github/prompts
1595
- ```
1596
-
1597
- ### 自動認識されるファイル
1598
-
1599
- | ファイル | 場所 | 説明 |
1600
- |---------|------|------|
1601
- | **AGENTS.md** | プロジェクトルート | AIエージェント向けの包括的なガイド |
1602
- | **プロンプトファイル** | `.github/prompts/` | SDD各フェーズ専用のプロンプト |
1603
-
1604
- ### 提供されるプロンプトファイル
1605
-
1606
- ```
1607
- .github/prompts/
1608
- ├── sdd-requirements.prompt.md # 要件定義フェーズ
1609
- ├── sdd-design.prompt.md # 設計フェーズ
1610
- ├── sdd-implement.prompt.md # 実装フェーズ
1611
- ├── sdd-tasks.prompt.md # タスク分解
1612
- ├── sdd-validate.prompt.md # 検証フェーズ
1613
- ├── sdd-steering.prompt.md # プロジェクト方針
1614
- ├── sdd-change-init.prompt.md # 変更開始
1615
- ├── sdd-change-apply.prompt.md # 変更適用
1616
- └── sdd-change-archive.prompt.md # 変更アーカイブ
1617
- ```
1618
-
1619
- ### 使い方(GitHub Copilot / Cursor / Claude Code)
1620
-
1621
- ```markdown
1622
- # プロンプトファイルを使用
1623
- @workspace /sdd-requirements 予約管理システムの要件を定義してください
1624
-
1625
- # または AGENTS.md のガイドに従って質問
1626
- MUSUBIXのEARS形式で要件を書いてください
1627
- ```
1628
-
1629
- ### メリット
1630
-
1631
- - ✅ **設定不要**: インストール後すぐに利用可能
1632
- - ✅ **軽量**: MCPサーバーの起動不要
1633
- - ✅ **汎用性**: 主要なAIエディタで動作
1634
- - ✅ **オフライン対応**: ネットワーク不要
1635
-
1636
- ## 8.5 方法2: MCP経由(MCPサーバー連携)
1637
-
1638
- MCP(Model Context Protocol)を使用すると、**16の専用ツール**(SDD基本9 + パターン統合7)と**3つのプロンプト**を利用でき、より高度な機能(知識グラフクエリ、トレーサビリティ検証、パターン学習等)が使えます。
1639
-
1640
- ### Claude Code(CLI)
1641
-
1642
- ```bash
1643
- # MUSUBIX MCP サーバーを追加
1644
- claude mcp add musubix -- npx @nahisaho/musubix-mcp-server
1645
-
1646
- # 設定確認
1647
- claude mcp list
1648
- ```
1649
-
1650
- または `.mcp.json` をプロジェクトルートに作成:
1651
-
1652
- ```json
1653
- {
1654
- "mcpServers": {
1655
- "musubix": {
1656
- "command": "npx",
1657
- "args": ["@nahisaho/musubix-mcp-server"]
1658
- }
1659
- }
1660
- }
1661
- ```
1662
-
1663
- ### Claude Desktop / GitHub Copilot / Cursor IDE
1664
-
1665
- `.vscode/mcp.json` を作成:
1666
-
1667
- ```json
1668
- {
1669
- "mcpServers": {
1670
- "musubix": {
1671
- "command": "npx",
1672
- "args": ["@nahisaho/musubix-mcp-server"]
1673
- }
1674
- }
1675
- }
1676
- ```
1677
-
1678
- ### 利用可能なMCPツール(19ツール)
1679
-
1680
- #### SDD基本ツール(9ツール)
1681
-
1682
- | ツール名 | 説明 |
1683
- |---------|------|
1684
- | `sdd_create_requirements` | EARS形式の要件ドキュメント作成 |
1685
- | `sdd_validate_requirements` | 要件のEARS検証・憲法準拠チェック |
1686
- | `sdd_create_design` | C4モデル設計ドキュメント作成 |
1687
- | `sdd_validate_design` | 設計の要件トレーサビリティ検証 |
1688
- | `sdd_create_tasks` | 設計から実装タスク生成 |
1689
- | `sdd_query_knowledge` | YATA知識グラフへのクエリ |
1690
- | `sdd_update_knowledge` | 知識グラフの更新 |
1691
- | `sdd_validate_constitution` | 9憲法条項への準拠検証 |
1692
- | `sdd_validate_traceability` | 要件↔設計↔タスクのトレーサビリティ検証 |
1693
-
1694
- #### パターン統合ツール(7ツール)- v1.3.0 NEW!
1695
-
1696
- | ツール名 | 説明 |
1697
- |---------|------|
1698
- | `pattern_extract` | コードからパターンを抽出 |
1699
- | `pattern_compress` | パターンの抽象化・圧縮 |
1700
- | `pattern_store` | パターンライブラリへの保存 |
1701
- | `pattern_query` | パターンの検索・取得 |
1702
- | `pattern_consolidate` | 類似パターンの統合 |
1703
- | `ontology_query` | オントロジーグラフへのクエリ |
1704
- | `ontology_infer` | オントロジーによる推論実行 |
1705
-
1706
- #### オントロジー検証ツール(3ツール)- v1.4.1 NEW!
1707
-
1708
- | ツール名 | 説明 |
1709
- |---------|------|
1710
- | `consistency_validate` | 知識グラフの整合性検証 |
1711
- | `validate_triple` | 単一トリプルの事前検証 |
1712
- | `check_circular` | 循環依存の検出 |
1713
-
1714
- # 9. YATA Local & YATA Global(v1.6.3)
1715
-
1716
- v1.6.3では、知識グラフの永続化と分散管理のための新パッケージを追加しました。
1717
-
1718
- ## 9.1 YATA Local
1719
-
1720
- SQLiteベースのローカル知識グラフストレージです。
1721
-
1722
- ```mermaid
1723
- flowchart TB
1724
- subgraph YataLocal["YATA Local"]
1725
- DB["SQLite Database<br/>WAL mode, FTS5"]
1726
- QE["Query Engine<br/>BFS/DFS pathfinding"]
1727
- RE["Reasoning Engine<br/>4 built-in rules"]
1728
- IO["I/O Module<br/>JSON/RDF export"]
1729
- end
1730
-
1731
- DB --> QE
1732
- QE --> RE
1733
- RE --> IO
1734
- ```
1735
-
1736
- ### 主な機能
1737
-
1738
- | コンポーネント | 機能 |
1739
- |--------------|------|
1740
- | **Database Layer** | Entity/Relationship CRUD, FTS5全文検索, 変更追跡 |
1741
- | **Query Engine** | グラフクエリ, BFS/DFSパス探索, サブグラフ抽出, パターンマッチ |
1742
- | **Reasoning Engine** | 推論ルール実行, 制約検証, 信頼度計算, 関係性推奨 |
1743
- | **I/O Module** | JSON/RDF(N-Triples)エクスポート, Delta同期 |
1744
-
1745
- ### 組み込み推論ルール
1746
-
1747
- ```typescript
1748
- // 推移的継承: A extends B, B extends C → A extends C
1749
- 'transitive-extends'
1750
-
1751
- // 型実装: A implements B → A is-a B
1752
- 'implements-type'
1753
-
1754
- // 推移的依存: A depends-on B, B depends-on C → A depends-on C
1755
- 'transitive-dependency'
1756
-
1757
- // メソッドオーバーライド: A extends B, B has method M → A overrides M
1758
- 'method-override'
1759
- ```
1760
-
1761
- ### 使用例
1762
-
1763
- ```typescript
1764
- import { createYataLocal } from '@nahisaho/yata-local';
1765
-
1766
- const yata = createYataLocal('./knowledge.sqlite');
1767
-
1768
- // エンティティ追加
1769
- yata.addEntity({
1770
- id: 'class-user',
1771
- type: 'class',
1772
- name: 'User',
1773
- file: 'src/models/user.ts',
1774
- properties: { abstract: false }
1775
- });
1776
-
1777
- // 関係性追加
1778
- yata.addRelationship({
1779
- source: 'class-admin',
1780
- target: 'class-user',
1781
- type: 'extends'
1782
- });
1783
-
1784
- // パス探索
1785
- const path = yata.findPath('class-admin', 'interface-entity');
1786
-
1787
- // 推論実行
1788
- const inferred = yata.infer();
1789
-
1790
- // 制約検証
1791
- const validation = yata.validate();
1792
-
1793
- yata.close();
1794
- ```
1795
-
1796
- ## 9.2 YATA Global
1797
-
1798
- 分散型知識グラフプラットフォームです。
1799
-
1800
- ```mermaid
1801
- flowchart TB
1802
- subgraph YataGlobal["YATA Global Platform"]
1803
- API["API Client<br/>REST, Auth, Rate limiting"]
1804
- Cache["Cache Manager<br/>SQLite offline cache"]
1805
- Sync["Sync Engine<br/>Push/Pull, Auto-sync"]
1806
- Client["Main Client<br/>Search, Share, Analytics"]
1807
- end
1808
-
1809
- subgraph Features["Features"]
1810
- FW["Framework Knowledge<br/>19 categories, 20 languages"]
1811
- PAT["Shared Patterns<br/>15 categories"]
1812
- COMM["Community<br/>Ratings, Downloads"]
1813
- end
1814
-
1815
- Client --> API
1816
- Client --> Cache
1817
- Client --> Sync
1818
- Client --> Features
1819
- ```
1820
-
1821
- ### 主な機能
1822
-
1823
- | コンポーネント | 機能 |
1824
- |--------------|------|
1825
- | **API Client** | REST通信, Bearer認証, レート制限追跡 |
1826
- | **Cache Manager** | SQLiteオフラインキャッシュ, TTL管理, 自動サイズ制限 |
1827
- | **Sync Engine** | Push/Pull同期, 自動同期, オフラインキュー |
1828
- | **Main Client** | 検索, パターン共有, 評価, アナリティクス |
1829
-
1830
- ### 使用例
1831
-
1832
- ```typescript
1833
- import { createYataGlobal } from '@nahisaho/yata-global';
1834
-
1835
- const yata = createYataGlobal({
1836
- endpoint: 'https://api.yata.global/v1',
1837
- offlineMode: false,
1838
- });
1839
-
1840
- // フレームワーク検索
1841
- const frameworks = await yata.searchFrameworks({
1842
- query: 'react',
1843
- category: 'web-frontend',
1844
- sortBy: 'popularity',
1845
- });
1846
-
1847
- // パターン検索
1848
- const patterns = await yata.searchPatterns({
1849
- query: 'hooks',
1850
- language: 'typescript',
1851
- });
1852
-
1853
- // パターン共有(認証必要)
1854
- await yata.login({ username: 'user', password: 'pass' });
1855
- const patternId = await yata.sharePattern({
1856
- name: 'Custom Hook Pattern',
1857
- description: 'Reusable stateful logic',
1858
- category: 'design-pattern',
1859
- frameworks: ['react'],
1860
- language: 'typescript',
1861
- template: 'function use${Name}() { ... }',
1862
- tags: ['hooks', 'state'],
1863
- visibility: 'public',
1864
- official: false,
1865
- });
1866
-
1867
- // 同期
1868
- const result = await yata.sync();
1869
- console.log(`Pulled: ${result.frameworksPulled} frameworks`);
1870
-
1871
- // オフラインモード
1872
- yata.enableOfflineMode();
1873
-
1874
- yata.close();
1875
- ```
1876
-
1877
- ### オフラインサポート
1878
-
1879
- YATA Globalは完全なオフラインサポートを提供:
1880
-
1881
- | 機能 | オンライン | オフライン |
1882
- |------|----------|-----------|
1883
- | 検索 | API + キャッシュ | キャッシュのみ |
1884
- | パターン共有 | 即時アップロード | キューに追加 |
1885
- | 評価 | 即時送信 | キューに追加 |
1886
- | 同期 | 利用可能 | 無効 |
1887
-
1888
- ### メリット
1889
-
1890
- - ✅ **高速アクセス**: SQLiteキャッシュによる高速検索
1891
- - ✅ **オフライン対応**: ネットワーク非接続時も動作
1892
- - ✅ **自動同期**: バックグラウンドでの定期同期
1893
- - ✅ **コミュニティ**: パターン共有と評価
1894
- - ✅ **マルチ言語**: 20プログラミング言語対応
1895
-
1896
- ### メリット
1897
-
1898
- - ✅ **高度な機能**: 知識グラフ連携、矛盾検出
1899
- - ✅ **ツール統合**: AIが直接ツールを呼び出し可能
1900
- - ✅ **リアルタイム検証**: 作成中のドキュメントを即座に検証
1901
- - ✅ **トレーサビリティ**: 要件から実装までの完全追跡
1902
-
1903
- ## 9.3 どちらを選ぶべきか?
1904
-
1905
- ```mermaid
1906
- flowchart TD
1907
- Start[MUSUBIXを使いたい] --> Q1{MCPを使う環境がある?}
1908
-
1909
- Q1 -->|はい| Q2{高度な機能が<br>必要?}
1910
- Q1 -->|いいえ| Direct[方法1: 直接利用]
1911
-
1912
- Q2 -->|はい| MCP[方法2: MCP経由]
1913
- Q2 -->|いいえ| Both[両方併用]
1914
-
1915
- Direct --> Use1[AGENTS.md + プロンプトで日常開発]
1916
- MCP --> Use2[MCPツールで<br>高度な検証・分析]
1917
- Both --> Use3[普段は直接利用<br>必要時にMCP]
1918
- ```
1919
-
1920
- | シナリオ | 推奨方法 |
1921
- |---------|---------|
1922
- | 個人開発、小規模プロジェクト | 方法1(直接利用) |
1923
- | チーム開発、大規模プロジェクト | 方法2(MCP経由) |
1924
- | 要件定義・設計のみ利用 | 方法1(直接利用) |
1925
- | 知識グラフ連携が必要 | 方法2(MCP経由) |
1926
- | 両方の利点を活かしたい | 両方併用 |
1927
-
1928
- 詳細は [インストールガイド](https://github.com/nahisaho/MUSUBIX/blob/main/docs/INSTALL-GUIDE.ja.md) を参照してください。
1929
-
1930
- # 10. KGPR - Knowledge Graph Pull Request(v1.6.4)
1931
-
1932
- v1.6.4では、**KGPR(Knowledge Graph Pull Request)**機能が追加されました。これはGitHub PRと同様のワークフローで、YATA LocalからYATA Globalへ安全に知識グラフを共有する機能です。
1933
-
1934
- ## 10.1 KGPRワークフロー
1935
-
1936
- ```mermaid
1937
- flowchart LR
1938
- subgraph Local["YATA Local"]
1939
- L1[プロジェクト知識<br>自動収集]
1940
- L2[パターン抽出]
1941
- end
1942
-
1943
- subgraph KGPR["KGPR処理"]
1944
- K1[差分抽出]
1945
- K2[プライバシー<br>フィルタリング]
1946
- K3[レビュー<br>リクエスト]
1947
- end
1948
-
1949
- subgraph Global["YATA Global"]
1950
- G1[レビュー]
1951
- G2[マージ]
1952
- G3[コミュニティ<br>知識]
1953
- end
1954
-
1955
- L1 --> L2
1956
- L2 --> K1
1957
- K1 --> K2
1958
- K2 --> K3
1959
- K3 --> G1
1960
- G1 --> G2
1961
- G2 --> G3
1962
- ```
1963
-
1964
- ## 10.2 プライバシーフィルター
1965
-
1966
- 機密情報の漏洩を防ぐため、3段階のプライバシーレベルを提供:
1967
-
1968
- | レベル | フィルタ対象 | 推奨シナリオ |
1969
- |-------|------------|------------|
1970
- | `strict` | ファイルパス、URL、認証情報、全メタデータ | オープンソース公開 |
1971
- | `moderate` | ファイルパス、URL、認証情報 | 組織内共有 |
1972
- | `none` | フィルタなし | 完全な内部利用 |
1973
-
1974
- ## 10.3 KGPRステータス遷移
1975
-
1976
- ```
1977
- draft → open → reviewing → approved/changes_requested → merged/closed
1978
- ```
1979
-
1980
- | ステータス | 説明 |
1981
- |-----------|------|
1982
- | `draft` | 作成中、まだ送信されていない |
1983
- | `open` | レビュー待ち |
1984
- | `reviewing` | レビュー中 |
1985
- | `approved` | 承認済み、マージ可能 |
1986
- | `changes_requested` | 変更要求あり |
1987
- | `merged` | マージ完了 |
1988
- | `closed` | マージせずにクローズ |
1989
-
1990
- ## 10.4 CLIコマンド
1991
-
1992
- ```bash
1993
- # KGPRの作成
1994
- musubix kgpr create -t "Reactパターンの共有"
1995
-
1996
- # 差分プレビュー
1997
- musubix kgpr diff --namespace myproject --privacy moderate
1998
-
1999
- # KGPR一覧
2000
- musubix kgpr list
2001
-
2002
- # KGPRの送信
2003
- musubix kgpr submit KGPR-001
2004
-
2005
- # KGPRの詳細表示
2006
- musubix kgpr show KGPR-001
2007
-
2008
- # KGPRのクローズ
2009
- musubix kgpr close KGPR-001
2010
- ```
2011
-
2012
- ## 10.5 MCPツール
2013
-
2014
- | ツール | 説明 |
2015
- |-------|------|
2016
- | `kgpr_create` | ローカル知識グラフからKGPRを作成 |
2017
- | `kgpr_diff` | KGPR作成前に差分をプレビュー |
2018
- | `kgpr_list` | 全KGPRを一覧表示 |
2019
- | `kgpr_submit` | KGPRをレビューに送信 |
2020
- | `kgpr_review` | KGPRをレビュー(approve/changes_requested/commented) |
2021
-
2022
- # 11. YATA Platform Enhancements(v1.7.0)
2023
-
2024
- v1.7.0では、YATAプラットフォーム全体に大規模な機能拡張が行われました。5つの主要フェーズで構成されています。
2025
-
2026
- ## 11.1 Phase 1: インデックス最適化
2027
-
2028
- YATA Localのクエリパフォーマンスを大幅に向上させる複合インデックス最適化機能。
2029
-
2030
- ```mermaid
2031
- flowchart LR
2032
- subgraph IndexOptimizer["IndexOptimizer"]
2033
- A[クエリパターン分析] --> B[最適インデックス生成]
2034
- B --> C[インデックス健全性監視]
2035
- end
2036
-
2037
- C --> D[自動最適化推奨]
2038
- ```
2039
-
2040
- | 機能 | 説明 |
2041
- |------|------|
2042
- | `analyzeQueryPatterns()` | クエリパターンを分析 |
2043
- | `createOptimalIndexes()` | 複合インデックスを作成 |
2044
- | `checkIndexHealth()` | 断片化を検出 |
2045
- | `rebuildIndex()` | インデックス再構築 |
2046
-
2047
- ## 11.2 Phase 2: 拡張エクスポートパイプライン
2048
-
2049
- 増分エクスポートと複数フォーマット対応の強力なエクスポート機能。
2050
-
2051
- ```mermaid
2052
- flowchart LR
2053
- subgraph ExportPipeline["ExportPipeline"]
2054
- E1[フルエクスポート]
2055
- E2[増分エクスポート]
2056
- E3[フォーマット変換]
2057
- end
2058
-
2059
- E1 --> F1[JSON]
2060
- E2 --> F2[RDF/Turtle]
2061
- E3 --> F3[N-Triples]
2062
- ```
2063
-
2064
- | フォーマット | 説明 |
2065
- |------------|------|
2066
- | JSON | デフォルト形式 |
2067
- | RDF/Turtle | セマンティックWeb標準 |
2068
- | N-Triples | トリプル形式 |
2069
-
2070
- ## 11.3 Phase 3: Global同期統合
2071
-
2072
- YATA LocalとYATA Global間のシームレスな同期機能。
2073
-
2074
- ```mermaid
2075
- flowchart TB
2076
- subgraph GlobalSync["GlobalSyncClient"]
2077
- GS1[オフラインファースト] --> GS2[自動同期]
2078
- GS2 --> GS3[競合解決]
2079
- end
2080
-
2081
- subgraph SyncEngine["SyncEngine"]
2082
- SE1[Push同期]
2083
- SE2[Pull同期]
2084
- SE3[双方向マージ]
2085
- end
2086
-
2087
- GlobalSync --> SyncEngine
2088
- ```
2089
-
2090
- | 競合解決戦略 | 説明 |
2091
- |-------------|------|
2092
- | `server-wins` | サーバー側を優先 |
2093
- | `client-wins` | クライアント側を優先 |
2094
- | `merge` | 自動マージ試行 |
2095
- | `manual` | 手動解決 |
2096
-
2097
- ## 11.4 Phase 4: コードジェネレーター強化
2098
-
2099
- 設計ドキュメントからの高度なコード生成機能。
2100
-
2101
- ```mermaid
2102
- flowchart LR
2103
- subgraph CodeGenerator["CodeGenerator"]
2104
- CG1[C4設計読込] --> CG2[パターン検出]
2105
- CG2 --> CG3[コード生成]
2106
- end
2107
-
2108
- CG3 --> P1[Repository]
2109
- CG3 --> P2[Service]
2110
- CG3 --> P3[Factory]
2111
- CG3 --> P4[Value Object]
2112
- ```
2113
-
2114
- | 対応パターン | 説明 |
2115
- |-------------|------|
2116
- | Repository | データアクセス層 |
2117
- | Service Layer | ビジネスロジック層 |
2118
- | Factory | オブジェクト生成 |
2119
- | Domain Events | イベント駆動設計 |
2120
- | Value Objects | 不変オブジェクト |
2121
-
2122
- ## 11.5 Phase 5: YATA UI(Web可視化)
2123
-
2124
- 知識グラフのWebベース可視化・管理インターフェース。
2125
-
2126
- ```mermaid
2127
- flowchart TB
2128
- subgraph YataUI["YATA UI Server"]
2129
- UI1[Express Server] --> UI2[REST API]
2130
- UI1 --> UI3[WebSocket]
2131
- end
2132
-
2133
- subgraph Features["UI機能"]
2134
- F1[グラフ可視化]
2135
- F2[リアルタイム更新]
2136
- F3[名前空間フィルタ]
2137
- F4[エンティティ編集]
2138
- end
2139
-
2140
- YataUI --> Features
2141
- ```
2142
-
2143
- | 機能 | 説明 |
2144
- |------|------|
2145
- | `start()` | サーバー起動 |
2146
- | `stop()` | サーバー停止 |
2147
- | `setDataProvider()` | データソース設定 |
2148
- | `broadcastUpdate()` | リアルタイム配信 |
2149
-
2150
- ## 11.6 v1.7.0 パッケージサマリー
2151
-
2152
- | パッケージ | 新機能 |
2153
- |-----------|--------|
2154
- | `@nahisaho/yata-local` | IndexOptimizer, ExportPipeline, CodeGenerator |
2155
- | `@nahisaho/yata-global` | GlobalSyncClient, SyncEngine, CacheManager |
2156
- | `@nahisaho/yata-ui` | YataUIServer, GraphData変換, WebSocket |
2157
-
2158
- # 参考リンク
2159
-
2160
- - [MUSUBIX GitHub](https://github.com/nahisaho/MUSUBIX)
2161
- - [MUSUBIX npm](https://www.npmjs.com/package/musubix)
2162
- - [MUSUBI GitHub](https://github.com/nahisaho/MUSUBI)
2163
- - [YATA GitHub](https://github.com/nahisaho/YATA)
2164
-
2165
- ---
2166
-
2167
- **著者**: nahisaho
2168
- **公開日**: 2026-01-02
2169
- **更新日**: 2026-01-06
2170
- **バージョン**: v1.7.0