关于 memory-fabric
Memory Fabric 是面向 Agent 的图谱检索技能,用于从已存储记忆中整理相关上下文。它解析查询、遍历实体关系、去重并排序结果。
主要功能
- 01自然语言查询解析
- 02知识图谱搜索与遍历
- 03结果规范化与去重
- 04交叉引用相关性加权
- 05按时效性和相关性排序
适用场景
- 01按主题或实体查找过往决策
- 02追踪概念间的多跳关系
- 03合并并排序检索到的记忆
MCP 相关
需要知识图谱 MCP 服务,并调用其记忆搜索工具查找实体、沿图关系扩展上下文。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ yonatangross/ orchestkit --skill memory-fabric安装后在 Claude Code 中输入/memory-fabric确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
test-cases.jsonreferences/entity-extraction.mdquery-merging.mdrules/_sections.mdgraph-consistency.mdstale-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% 时:
- 保留相关性得分较高的结果
- 合并元数据
- 标记为“交叉验证”,以提升可信度
步骤 5:交叉引用加权
如果某个结果提及的实体也存在于图谱的其他位置:
- 将相关性得分提高 1.2 倍
- 将图谱关系添加到结果元数据中
步骤 6:最终排序
得分 = recency_factor × relevance × source_authority
| 因素 | 权重 | 说明 |
|---|---|---|
| recency | 0.3 | 较新的记忆排名更高 |
| relevance | 0.5 | 语义匹配质量 |
| source_authority | 0.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 使用知识图谱来处理实体关系:
- 通过
mcp__memory__search_nodes进行图谱搜索,查找匹配的实体 - 通过实体关系进行图谱遍历,扩展上下文
- 实体匹配时通过交叉引用提升相关性
集成点
与 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