mcpField
M
memory-fabric

memory-fabric

github.com/yonatangrossAgent 工作流299236 次安装今天更新
代码仓库

关于 memory-fabric

Memory Fabric 是面向 Agent 的图谱检索技能,用于从已存储记忆中整理相关上下文。它解析查询、遍历实体关系、去重并排序结果。

主要功能

  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%)

当两个结果的文本相似度 >85% 时:

  1. 保留相关性得分较高的结果
  2. 合并元数据
  3. 标记为“交叉验证”,以提升可信度
步骤 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 Skill 集成

运行记忆搜索时,可以选择使用 Memory Fabric 获取统一结果。

与 Hooks 集成
  • 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相关性最重要,时效性次之

评论

支持 Markdown