概要
contextコマンドにはナレッジグラフ統合が既に実装されている(score_knowledge_graph()、find_knowledge_related())が、以下の改善点が残っている:
- 重みの最適化:
KNOWLEDGE_GRAPH_WEIGHT: 0.8 が低く、--max-files の枠内でimport依存に埋もれる可能性
- スニペット品質: 現在は本文の単純切り詰めであり、設計判断の要約になっていない
- リレーション優先度:
relation_to_string() で KnowledgeGraph が最低優先度のため、複合リレーション時に隠れる
現状(実装済み機能)
// related.rs - ナレッジグラフスコアリング(実装済み)
KNOWLEDGE_GRAPH_WEIGHT: 0.8
score_knowledge_graph() → store.find_knowledge_related(target)
// context.rs - エンリッチメント(実装済み)
has_knowledge_graph → heading + snippet 付与
relation_to_string() → "knowledge_graph"
現在の課題
KnowledgeGraph の重みが 0.8 で、MarkdownLink(1.0) や ImportDependency(0.9) より低い
- スニペットは
truncate_body() による機械的な切り詰めのみで、設計判断の要約にならない
relation_to_string() で KnowledgeGraph が最低優先度(6番目)
期待される改善結果
{
"context": [
{"path": "tests/unit/config/z-index.test.ts", "relation": "import_dependency", "score": 2.2},
{"path": "dev-reports/design/issue-299-ipad-layout-fix-design-policy.md", "relation": "knowledge_graph", "score": 3.0,
"snippet": "z-index指定方式をinline style方式で統一"},
{"path": "src/components/ui/Modal.tsx", "relation": "import_dependency", "score": 2.1}
]
}
import依存(コード構造)とナレッジグラフ(設計文脈)が統合されて初めて、AIエージェントに必要な「文脈パック」になる。
対象バリュー
- 文脈先回り: contextがコード構造だけでなく設計意図を含めば、AIが1回のcontext取得で全体像を把握できる
影響範囲
共有インフラへの影響
related.rs のスコアリング重みと relation_to_string() は以下の4コマンドで共有:
context (対象コマンド)
suggest (サジェスト機能)
why (理由説明機能)
before-change (変更前チェック)
重み変更は全4コマンドのランキング結果に影響するため、クロスコマンドのリグレッションテストが必須。
リスク軽減策
- 重みの調整は保守的に行う(
KNOWLEDGE_GRAPH_WEIGHT は MarkdownLink(1.0) 以下に抑える)
relation_to_string() の優先度変更は全呼び出し元を監査してから実施
- スニペット改善は既存の出力契約(JSON形式)を維持
実装案
- 重みの調整:
KNOWLEDGE_GRAPH_WEIGHT を 0.8 → 0.95 に引き上げ(MarkdownLink 1.0以下で保守的に)
- スニペット改善:
knowledge_edges の metadata にsummaryがあれば優先利用、なければ見出し直後の1〜2文を抽出
- リレーション優先度:
KnowledgeGraph を ImportDependency の次(3番目)に引き上げ
受け入れ基準
概要
contextコマンドにはナレッジグラフ統合が既に実装されている(score_knowledge_graph()、find_knowledge_related())が、以下の改善点が残っている:KNOWLEDGE_GRAPH_WEIGHT: 0.8が低く、--max-filesの枠内でimport依存に埋もれる可能性relation_to_string()でKnowledgeGraphが最低優先度のため、複合リレーション時に隠れる現状(実装済み機能)
現在の課題
KnowledgeGraphの重みが 0.8 で、MarkdownLink(1.0) やImportDependency(0.9) より低いtruncate_body()による機械的な切り詰めのみで、設計判断の要約にならないrelation_to_string()でKnowledgeGraphが最低優先度(6番目)期待される改善結果
{ "context": [ {"path": "tests/unit/config/z-index.test.ts", "relation": "import_dependency", "score": 2.2}, {"path": "dev-reports/design/issue-299-ipad-layout-fix-design-policy.md", "relation": "knowledge_graph", "score": 3.0, "snippet": "z-index指定方式をinline style方式で統一"}, {"path": "src/components/ui/Modal.tsx", "relation": "import_dependency", "score": 2.1} ] }import依存(コード構造)とナレッジグラフ(設計文脈)が統合されて初めて、AIエージェントに必要な「文脈パック」になる。
対象バリュー
影響範囲
共有インフラへの影響
related.rsのスコアリング重みとrelation_to_string()は以下の4コマンドで共有:context(対象コマンド)suggest(サジェスト機能)why(理由説明機能)before-change(変更前チェック)重み変更は全4コマンドのランキング結果に影響するため、クロスコマンドのリグレッションテストが必須。
リスク軽減策
KNOWLEDGE_GRAPH_WEIGHTはMarkdownLink(1.0) 以下に抑える)relation_to_string()の優先度変更は全呼び出し元を監査してから実施実装案
KNOWLEDGE_GRAPH_WEIGHTを 0.8 → 0.95 に引き上げ(MarkdownLink 1.0以下で保守的に)knowledge_edgesのmetadataにsummaryがあれば優先利用、なければ見出し直後の1〜2文を抽出KnowledgeGraphをImportDependencyの次(3番目)に引き上げ受け入れ基準
contextコマンドを実行した際、relation: "knowledge_graph"のエントリが出力に含まれること--max-files枠内でimport依存とKGがスコア順でマージされ、KGエントリが埋もれないことsuggest,why,before-changeコマンドが重み変更後も正常動作すること