# Memory Systems

> 设计短期、长期和基于图谱的记忆架构。当用户要求'设计记忆系统'、'跨会话持久化'、'知识图谱记忆'、'实体一致性'或'累积知识推理'时使用。

- Skill: `kscz0000/memory-systems` (Agent Skill)
- Install (CLI): `npx skillmds@latest add kscz0000/memory-systems`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kscz0000/memory-systems/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: kscz0000 (https://skillmd.com/u/kscz0000)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/kscz0000/memory-systems

---


## 何时使用此技能

设计短期、长期和基于图谱的记忆架构

涉及短期、长期和基于图谱的记忆架构设计时使用此技能。

# 记忆系统设计

记忆为智能体提供了持久化层，使其能跨会话保持连续性并对累积知识进行推理。简单智能体完全依赖上下文窗口作为记忆，会话结束后丢失所有状态。高级智能体采用分层记忆架构，在即时上下文需求与长期知识保留之间取得平衡。从向量存储到知识图谱再到时序知识图谱的演进，代表了对结构化记忆投入的递增，以改善检索和推理能力。

## 适用场景

以下情况激活此技能：
- 构建需要跨会话持久化的智能体
- 需要跨对话维护实体一致性
- 实现基于累积知识的推理
- 设计能从历史交互中学习的系统
- 创建随时间增长的知识库
- 构建追踪状态变化的时序感知系统

## 核心概念

记忆存在于从即时上下文到永久存储的连续谱上。一端是上下文窗口中的工作记忆，提供零延迟访问但会话结束后消失。另一端是永久存储，无限期持久化但需要检索才能进入上下文。

简单向量存储缺乏关系结构和时序结构。知识图谱保留关系以支持推理。时序知识图谱添加有效期以支持时间感知查询。实现选择取决于查询复杂度、基础设施约束和准确性要求。

## 详细主题

### 记忆架构基础

**上下文-记忆连续谱**
记忆存在于从即时上下文到永久存储的连续谱上。一端是上下文窗口中的工作记忆，提供零延迟访问但会话结束后消失。另一端是永久存储，无限期持久化但需要检索才能进入上下文。有效架构在此谱上使用多层结构。

该谱包括工作记忆（上下文窗口，零延迟，易失）、短期记忆（会话内持久，可搜索，易失）、长期记忆（跨会话持久，结构化，半永久）和永久记忆（归档，可查询，永久）。每层具有不同的延迟、容量和持久性特征。

**简单向量存储为何不够**
Vector RAG 通过将查询和文档嵌入共享嵌入空间来提供语义检索。相似度搜索检索语义最相似的文档。这对文档检索效果良好，但缺乏智能体记忆所需的结构。

向量存储丢失关系信息。如果智能体学到"客户 X 在日期 Z 购买了产品 Y"，向量存储在直接询问时能检索此事实，但无法回答"购买了产品 Y 的客户还买了什么？"，因为关系结构未被保留。

向量存储也难以处理时序有效性。事实会随时间变化，但向量存储除了通过显式元数据和过滤外，没有机制区分"当前事实"和"过时事实"。

**向基于图谱的记忆演进**
知识图谱保留实体间的关系。图编码的是实体 A 与实体 B 具有关系 R，而非孤立的文档块。这支持遍历关系的查询，而非仅基于相似度的查询。

时序知识图谱为事实添加有效期。每个事实有"生效时间"和可选的"失效时间"时间戳。这支持时间旅行查询，重建特定时间点的知识状态。

**基准性能对比**
Deep Memory Retrieval (DMR) 基准提供了各记忆架构的具体性能数据：

| Memory System | DMR Accuracy | Retrieval Latency | Notes |
|---------------|--------------|-------------------|-------|
| Zep (Temporal KG) | 94.8% | 2.58s | Best accuracy, fast retrieval |
| MemGPT | 93.4% | Variable | Good general performance |
| GraphRAG | ~75-85% | Variable | 20-35% gains over baseline RAG |
| Vector RAG | ~60-70% | Fast | Loses relationship structure |
| Recursive Summarization | 35.3% | Low | Severe information loss |

Zep 相比全上下文基线（GPT-5.2 下 2.58s vs 28.9s）检索延迟降低 90%。此效率来自仅检索相关子图而非整个上下文历史。

GraphRAG 在复杂推理任务中相比基线 RAG 准确率提升约 20-35%，通过社区摘要将幻觉降低最多 30%。

### 记忆分层架构

**第1层：工作记忆**
工作记忆即上下文窗口本身。提供对当前处理信息的即时访问，但容量有限且会话结束后消失。

工作记忆使用模式包括：草稿计算（智能体追踪中间结果）、对话历史（保留当前任务的对话）、当前任务状态（追踪活跃目标的进展）、活跃检索文档（持有当前使用的信息）。

优化工作记忆的方法：仅保留活跃信息、在已完成工作移出注意力前进行摘要、将关键信息放在注意力优先位置。

**第2层：短期记忆**
短期记忆在当前会话内持久化但不跨会话。提供搜索和检索能力，无需永久存储的延迟。

常见实现包括：会话作用域数据库（持续到会话结束）、指定会话目录的文件系统存储、按会话 ID 键控的内存缓存。

短期记忆用途包括：跨轮次追踪对话状态而不塞满上下文、存储后续可能需要的工具调用中间结果、维护任务清单和进度追踪、会话内缓存已检索的信息。

**第3层：长期记忆**
长期记忆跨会话无限期持久化。使智能体能从历史交互中学习并随时间积累知识。

长期记忆实现从简单的键值存储到复杂的图数据库不等。选择取决于需建模的关系复杂度、所需查询模式和可接受的基础设施复杂度。

长期记忆用途包括：跨会话学习用户偏好、构建随时间增长的领域知识库、维护带关系历史的实体注册表、存储可复用的成功模式。

**第4层：实体记忆**
实体记忆专门追踪实体（人物、地点、概念、对象）信息以维护一致性。这创建了一个基础知识图谱，使实体在多次交互中被识别。

实体记忆维护实体身份（追踪一次对话中的"John Doe"与另一次中的是同一人）、维护实体属性（随时间存储发现的实体事实）、维护实体关系（追踪发现过程中实体间的关系）。

**第5层：时序知识图谱**
时序知识图谱为实体记忆扩展显式有效期。事实不再仅是真或假，而是在特定时间范围内为真。

这支持"用户在日期 X 的地址是什么？"这类查询，通过检索该日期范围内有效的事实。当过时信息与新数据矛盾时防止上下文冲突。支持关于实体随时间变化的时序推理。

### 记忆实现模式

**模式1：文件系统即记忆**
文件系统本身可作为记忆层。此模式简单、无需额外基础设施，支持与基于文件系统的上下文相同的即时加载。

实现使用文件系统层级进行组织。使用传达含义的命名约定。以结构化格式（JSON、YAML）存储事实。在文件名或元数据中使用时间戳进行时序追踪。

优点：简单、透明、可移植。
缺点：无语义搜索、无关系追踪、需手动组织。

**模式2：带元数据的 Vector RAG**
增强丰富元数据的向量存储提供带过滤能力的语义搜索。

实现将事实或文档嵌入并与元数据一起存储，包括实体标签、时序有效性、来源归因和置信度分数。查询时将元数据过滤与语义搜索结合。

**模式3：知识图谱**
知识图谱显式建模实体和关系。实现定义实体类型和关系类型，使用图数据库或属性图存储，维护常用查询模式的索引。

**模式4：时序知识图谱**
时序知识图谱为事实添加有效期，支持时间旅行查询并防止过时信息导致的上下文冲突。

### 记忆检索模式

**语义检索**
使用嵌入相似度搜索检索与当前查询语义相似的记忆。

**基于实体的检索**
通过遍历图关系检索与特定实体相关的所有记忆。

**时序检索**
使用有效期过滤检索特定时间或时间范围内有效的记忆。

### 记忆整合

记忆随时间积累，需要整合以防止无限增长并移除过时信息。

**整合触发条件**
在记忆大量积累后、检索返回过多过时结果时、按计划定期、或收到显式整合请求时触发整合。

**整合流程**
识别过时事实、合并相关事实、更新有效期、归档或删除废弃事实、重建索引。

## 实践指导

### 与上下文集成

记忆必须与上下文系统集成才能发挥作用。使用即时记忆加载在需要时检索相关记忆。使用策略性注入将记忆放在注意力优先位置。

### 记忆系统选型

根据需求选择记忆架构：
- 简单持久化需求：文件系统记忆
- 语义搜索需求：带元数据的 Vector RAG
- 关系推理需求：知识图谱
- 时序有效性需求：时序知识图谱

## 示例

**示例1：实体追踪**
```python
# Track entity across conversations
def remember_entity(entity_id, properties):
    memory.store({
        "type": "entity",
        "id": entity_id,
        "properties": properties,
        "last_updated": now()
    })

def get_entity(entity_id):
    return memory.retrieve_entity(entity_id)
```

**示例2：时序查询**
```python
# What was the user's address on January 15, 2024?
def query_address_at_time(user_id, query_time):
    return temporal_graph.query("""
        MATCH (user)-[r:LIVES_AT]->(address)
        WHERE user.id = $user_id
        AND r.valid_from <= $query_time
        AND (r.valid_until IS NULL OR r.valid_until > $query_time)
        RETURN address
    """, {"user_id": user_id, "query_time": query_time})
```

## 准则

1. 记忆架构应匹配查询需求
2. 实现记忆访问的渐进式披露
3. 使用时序有效性防止过时信息冲突
4. 定期整合记忆防止无限增长
5. 优雅处理记忆检索失败
6. 考虑持久记忆的隐私影响
7. 为关键记忆实现备份和恢复
8. 监控记忆增长和性能随时间的变化

## 集成

此技能基于 context-fundamentals 构建。关联技能：

- multi-agent-patterns - 跨智能体共享记忆
- context-optimization - 基于记忆的上下文加载
- evaluation - 评估记忆质量

## 参考

内部参考：
- Implementation Reference - 详细实现模式

本集合中的相关技能：
- context-fundamentals - 上下文基础
- multi-agent-patterns - 跨智能体记忆

外部资源：
- Graph database documentation (Neo4j, etc.)
- Vector store documentation (Pinecone, Weaviate, etc.)
- Research on knowledge graphs and reasoning

---

## 技能元数据

**创建日期**：2025-12-20
**最后更新**：2025-12-20
**作者**：Agent Skills for Context Engineering Contributors
**版本**：1.0.0

## 限制
- 仅在任务明确匹配上述范围时使用此技能。
- 输出不能替代针对具体环境的验证、测试或专家评审。
- 若缺少必要输入、权限、安全边界或成功标准，应停下来请求澄清。

