mcpField
M
memory-fabric

memory-fabric

github.com/yonatangrossエージェントワークフロー299236 回インストール今日更新
リポジトリ

memory-fabric について

Memory Fabricは、保存された記憶から関連するコンテキストをまとめるエージェント向けのグラフ検索スキルです。クエリ解析、関係のたどり、重複排除、結果の順位付けを行います。

主な機能

  1. 01自然言語クエリ解析
  2. 02ナレッジグラフ検索と走査
  3. 03結果の形式統一と重複排除
  4. 04相互参照による関連度加算
  5. 05新しさと関連度による順位付け

活用シーン

  1. 01トピックやエンティティから過去の決定を検索
  2. 02概念間の複数段階の関係を追跡
  3. 03検索した記憶を統合して順位付け

MCP 対応

ナレッジグラフのMCP サーバーが必要です。記憶検索ツールでエンティティを探し、グラフ上の関係をたどってコンテキストを広げます。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/yonatangross/orchestkit --skill memory-fabric

インストール後、Claude Code で/memory-fabricを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

test-cases.json
references/
entity-extraction.md
query-merging.md
rules/
_sections.md
graph-consistency.md
stale-node-detection.md

詳細

Memory Fabric - グラフオーケストレーション

エンティティ抽出、クエリ解析、重複排除、相互参照によるブーストのために、mcp__memory__* を介してナレッジグラフをオーケストレーションします。

概要

  • ナレッジグラフからメモリを包括的に取得
  • グラフストレージ内のエンティティを相互参照
  • 関連するメモリを見落とさないようにする
  • グラフクエリから統合されたコンテキストを構築

アーキテクチャの概要

Memory Fabric Layer
┌─────────────┐ ┌──────────────┐
│Query Parser │ │Query Executor│
└──────┬──────┘ └──────┬───────┘
       └───────┬───────┘
┌──────────────┴─────────────┐
│Graph Query Dispatch        │
└──────────────┬─────────────┘
┌──────────────┴─────────────┐
│mcp__memory__*              │
│(Knowledge Graph)           │
└──────────────┬─────────────┘
┌──────────────┴─────────────┐
│Result Normalizer           │
└──────────────┬─────────────┘
┌──────────────┴─────────────┐
│Deduplication Engine        │
│(>85% sim)                  │
└──────────────┬─────────────┘
┌──────────────┴─────────────┐
│Cross-Reference Booster     │
└──────────────┬─────────────┘
┌──────────────┴─────────────┐
│Final Ranking: recency ×    │
│relevance × source_authority│
└────────────────────────────┘

統合検索ワークフロー

ステップ 1:クエリを解析する

自然言語から検索意図とエンティティのヒントを抽出します。

Input: "What pagination approach did database-engineer recommend?"

Parsed:
- query: "pagination approach recommend"
- entity_hints: ["database-engineer", "pagination"]
- intent: "decision" or "pattern"
ステップ 2:グラフクエリを実行する

グラフをクエリする(エンティティ検索):

mcp__memory__search_nodes({
  query: "pagination database-engineer"
})
ステップ 3:結果を正規化する

結果を共通形式に変換します。

{
  "id": "graph:original_id",
  "text": "content text",
  "source": "graph",
  "timestamp": "ISO8601",
  "relevance": 0.0-1.0,
  "entities": ["entity1", "entity2"],
  "metadata": {}
}
ステップ 4:重複を排除する(類似度 >85%)

2 つの結果のテキスト類似度が >85% の場合:

  1. 関連度スコアが高い方を残す
  2. メタデータを統合する
  3. 権威性を高めるため、「cross-validated」としてマークする
ステップ 5:相互参照によるブースト

結果に、グラフの別の場所に存在するエンティティが含まれている場合:

  • 関連度スコアを 1.2 倍にする
  • グラフの関係性を結果のメタデータに追加する
ステップ 6:最終ランキング

スコア = recency_factor × relevance × source_authority

要素重み説明
recency0.3新しいメモリほど上位にランクされます
relevance0.5意味的な一致度
source_authority0.2グラフエンティティによるブースト、相互検証によるブースト

結果の形式

{
  "query": "original query",
  "total_results": 4,
  "sources": {
    "graph": 4
  },
  "results": [
    {
      "id": "graph:cursor-pagination",
      "text": "Use cursor-based pagination for scalability",
      "score": 0.92,
      "source": "graph",
      "timestamp": "2026-01-15T10:00:00Z",
      "entities": ["cursor-pagination", "database-engineer"],
      "graph_relations": [
        { "from": "database-engineer", "relation": "recommends", "to": "cursor-pagination" }
      ]
    }
  ]
}

エンティティ抽出

Memory Fabric は、グラフストレージに保存するために自然言語からエンティティを抽出します。

Input: "database-engineer uses pgvector for RAG applications"

Extracted:
- Entities:
  - { name: "database-engineer", type: "agent" }
  - { name: "pgvector", type: "technology" }
  - { name: "RAG", type: "pattern" }
- Relations:
  - { from: "database-engineer", relation: "uses", to: "pgvector" }
  - { from: "pgvector", relation: "used_for", to: "RAG" }

詳細な抽出パターンについては、Read("references/entity-extraction.md") を読み込んでください。

グラフ関係のトラバーサル

Memory Fabric は、複雑な関係性のクエリに対応するマルチホップのグラフトラバーサルをサポートしています。

例:マルチホップクエリ
Query: "What did database-engineer recommend about pagination?"

1. Search for "database-engineer pagination"
   → Find entity: "database-engineer recommends cursor-pagination"

2. Traverse related entities (depth 2)
   → Traverse: database-engineer → recommends → cursor-pagination
   → Find: "cursor-pagination uses offset-based approach"

3. Return results with relationship context
グラフメモリとの統合

Memory Fabric は、エンティティの関係性にナレッジグラフを使用します。

  1. mcp__memory__search_nodes によるグラフ検索で、一致するエンティティを見つけます
  2. グラフトラバーサルで、エンティティ間の関係性を通じてコンテキストを拡張します
  3. エンティティが一致した場合、相互参照によって関連度を高めます

統合ポイント

memory スキルとの連携

メモリ検索の実行時に、必要に応じて Memory Fabric を使用して統合された結果を取得できます。

フックとの連携
  • prompt/memory-fabric-context.sh - セッション開始時に統合されたコンテキストを注入
  • stop/memory-fabric-sync.sh - セッション終了時にエンティティをグラフに同期

設定

# Environment variables
MEMORY_FABRIC_DEDUP_THRESHOLD=0.85    # Similarity threshold for merging
MEMORY_FABRIC_BOOST_FACTOR=1.2        # Cross-reference boost multiplier
MEMORY_FABRIC_MAX_RESULTS=20          # Max results per source

MCP の要件

必須: ナレッジグラフの MCP サーバー:

{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": ["-y", "@anthropic/memory-mcp-server"]
    }
  }
}

エラー処理

シナリオ動作
グラフを利用できないエラー - グラフが必要です
クエリが空グラフから最近のメモリを返します

関連スキル

  • ork:memory - ユーザー向けのメモリ操作(検索、読み込み、同期、可視化)
  • ork:remember - ユーザー向けのメモリ保存
  • caching - Fabric を使用できるキャッシュレイヤー

主な決定事項

決定事項選択根拠
重複判定のしきい値85%重複の検出とニュアンスの保持のバランスを取ります
並列クエリ常に実行両方のソースは独立しており、遅延を低減できます
相互参照のブースト1.2 倍検証済みの情報はより信頼できますが、支配的にはしません
ランキングの重み0.3/0.5/0.2関連度を最優先し、次に新しさを重視します

コメント