【deepseek harness】进化方向5:长期记忆与统一 seam 思考、设计与实现
deepseek harness 进化方向5:长期记忆与统一 seam 思考、设计与实现
作者:DeepSeek Harness
地址:https://gitee.com/ZachPineappleman/dsh_memory.git
DeepSeek Harness Evolution 5: Long‑Term Memory & Unified Seam — Design, Theory, and Implementation
摘要
随着大语言模型(LLM)agent 从单次对话走向长期任务执行,长期记忆成为决定 agent 实用性的关键基础设施。本文针对 DeepSeek Harness(dsh)——一个"一切皆插件"的 agent harness 框架——提出其长期记忆能力的系统性设计与实现方案。我们首先通过源码级盘点发现:dsh 已具备记忆的七个"零件"(AGENTS.md 指令加载、跨会话引用、技能、溢出落盘、KV 存储、会话检索、上下文压缩),但缺乏统一的记忆抽象——社区 59 个记忆插件各自定义工具名、注入方式与存储格式,生态碎片化严重。基于此,本文提出并实现三大创新点:N1 统一 Memory Provider 抽象 seam(ctx.memory Definition/Provider/Consumer 三角色,收敛碎片化);N2 基于事件溯源的引用式无损记忆(以 sessionId + eventRange + contentHash/HMAC 索引指向原始会话日志而非复制内容,实现不重复存储、信息无损、全链路可审计、可展开回原文);N3 受操作系统存储层次启发的 L0–L4 分层记忆模型(注册表/会话内/工作区/跨会话库/远程,配 LRU 淘汰与分层召回)。此外设计了记忆治理接口(门控钩子、遗忘机制、审计日志、可信度评分)。我们实现最小原型插件 dsh-memory 验证 N1/N2/N3:统一 seam 接口、引用式 Provider(remember/recall/expand + HMAC 校验)、分层标签与 LRU 淘汰、治理接口,并通过单元测试与记忆保持冒烟测试。本文的贡献在于:(1) 首次将"事件溯源引用式记忆"系统化应用于 agent harness;(2) 给出统一记忆 seam 的完整接口设计以收敛生态碎片化;(3) 将 OS 存储层次理论映射为可落地的分层记忆模型。
关键词:agent harness;长期记忆;事件溯源;引用式记忆;统一 seam;分层记忆;记忆治理;DeepSeek Harness
1 引言
1.1 背景:agent 长期记忆的需求与碎片化现状
LLM agent 的能力边界正从"单次对话问答"扩展到"跨会话、跨任务、跨项目的长期执行"。[R4](ReAct)确立了推理-行动交错范式,[R9](MemGPT)则最早提出"记忆即操作系统"的比喻——将记忆视为 agent 的内存管理问题。然而,长期记忆的工程化落地仍面临根本性挑战:记忆应该存什么、怎么存、何时召回、如何保证可信与可审计。
这一挑战在 dsh 生态中表现得尤为突出。dsh 社区(awesome-dsh-plugin)的"记忆"分类下已有 59 个记忆插件,方案分裂严重:文件型(Markdown/JSON)、SQLite+FTS、向量+图、引用式、生物仿生、协议桥接(MCP)、多层蒸馏……各插件自行定义工具名(remember/memorize/save_memory…)、注入方式(pre-step/工具调用/会话结束)、存储格式(互不兼容)。这种碎片化不仅让用户难以选择,更让"记忆"这一能力无法被 dsh 官方统一治理(安全、审计、权限)。
1.2 问题陈述
本文围绕四个研究问题展开:
- RQ1(统一性):如何为 dsh 定义一个统一的记忆抽象(seam),收敛 59 个插件的碎片化,同时不排斥任何已有方案?
- RQ2(无损与可审计):如何让记忆既"信息无损"(不经过有损摘要)又"全链路可审计"(每个记忆可回溯到原始证据)?
- RQ3(分层管理):如何借鉴成熟理论(操作系统存储层次)设计记忆的分层模型与淘汰策略,平衡"快速入语境"与"精确回查"?
- RQ4(治理):如何设计记忆的治理接口(门控、遗忘、审计、可信度),应对记忆投毒、隐私泄露与遗忘权等安全威胁?
1.3 主要贡献
本文的贡献可概括为三点创新 + 一个原型:
- N1 统一 Memory Provider 抽象 seam:定义
ctx.memory的 Definition/Provider/Consumer 三角色(对齐 dsh 的 skill/sandbox seam 范式),统一记忆原语(remember/recall/forget/expand)、工具名、注入时机与存储抽象——收敛 59 插件碎片化的"官方接口"。 - N2 基于事件溯源的引用式无损记忆:记忆条目不复制内容,而是携带
sessionId + eventRange + contentHash + HMAC指向 dsh 的 append-only 会话日志;召回时经expand()精确展开回原文。信息无损、不重复存储、可审计(HMAC 防篡改)、天然与 dsh 事件溯源架构契合。 - N3 OS 存储层次启发的 L0–L4 分层记忆:将记忆组织为注册表(L0)→ 会话内(L1)→ 工作区文件(L2)→ 跨会话记忆库(L3)→ 远程(L4)五层,配 LRU 淘汰与分层召回(L2/L3 快速入语境、L1/L0 具体事实回查)。
- 原型
dsh-memory:实现上述 seam 接口、引用式 Provider、分层/治理接口,通过单元测试与记忆保持冒烟测试验证。
1.4 论文组织
第 2 章相关工作(记忆系统分类学/框架对标/引用式与事件溯源/治理与安全);第 3 章理论基础与 Gap(dsh 记忆设施盘点 + 四大研究 Gap);第 4 章系统设计(统一 ctx.memory seam 总体架构);第 5 章三大创新点详述;第 6 章实现(最小原型,含架构图);第 7 章记忆治理设计;第 8 章讨论(与经典理论/工业实践对照、局限);第 9 章结论与展望。
2 相关工作
2.1 LLM 记忆系统分类学
记忆系统的学术分类已趋成熟。[EV5-05](2026 记忆综述)提出"存储(trajectory preservation)→ 反思(trajectory refinement)→ 经验(trajectory abstraction)"三阶段演化框架,并给出 write-manage-read 操作分类;[EV5-06](Memory in the Age of AI Agents)从"记忆年龄"视角分析记忆的时效性;[EV5-07](长期记忆安全综述)提出"记忆主权(mnemonic sovereignty)"概念,强调写授权与溯源标签。主流的架构类型包括 Buffer-based(原始会话缓存)、Retrieval-based(向量/混合检索)、Generative(摘要/蒸馏)、Graph-based(知识图谱)与 Hybrid[EV5-05][EV5-08]。蒸馏路线的最新进展包括 NEMORI 的预测误差蒸馏[EV5-11]与 CoreMem 的 Fisher 引导蒸馏[EV5-13];跨模型蒸馏方面,Agent Memory Distillation 以分层教师记忆赋能小模型[EV5-14]。检索路线上,HippoRAG 以海马突触可塑性启发长期记忆固化[EV5-18],HetaRAG 验证了向量+关键词+RRF 融合的混合检索收益[EV5-19]。
对 dsh 的意义:分类学为统一 seam 的"记忆条目类型"设计提供了词汇(事实/决策/偏好/摘要);三阶段演化框架暗示记忆应支持从原始轨迹到经验抽象的渐进转换——这与 dsh 已有的事件溯源日志(原始)与 compaction(摘要)天然衔接。
2.2 主流框架的记忆系统
我们对主流框架做了九维源码级对标(分层模型/存储抽象/写入触发/召回策略/原语/注入时机/生命周期/溯源审计/缺陷),关键结论[EV5 工业实践对照]:
| 框架 | 分层 | 存储抽象 | 溯源审计 | 核心缺陷 |
|---|---|---|---|---|
| LangChain BaseMemory | 2 层(过简) | 21 种后端 | 弱(无行级定位) | 无自动溢出机制 |
| LlamaIndex ChatMemoryBuffer | 3 层流水 | SQL+Vector | 中(sessionId+FIFO) | 并发竞态 |
| MemGPT/letta | 3 层(标杆) | 纯内存结构 | 弱(无记忆→会话关联) | 依赖 LLM 压缩、token 成本高 |
| claude-mem | 2 层 | SQL(PG/SQLite) | 行级溯源 | SQL 复杂度 |
| TencentDB-Agent-Memory | L0–L3 | 三件套 core/hub/proxy | 分层召回+RRF | 依赖外部服务 |
共同缺陷:溯源审计普遍弱——多数框架的记忆是"复制式存储"(蒸馏/摘要后存入独立库),丢失了与原始会话的关联;即使有 sessionId 标记,也缺乏"记忆 → 原始证据区间"的可校验引用。这是本文 N2 的出发点。
2.3 引用式记忆与事件溯源
事件溯源[EV5-01][EV5-02]:状态 = 事件流重放;dsh 的 SessionEvent 日志(44 个事件键、append-only、seq 连续)正是其工程实现(来源:packages/core/session)。
引用式记忆(reference-based memory):不复制内容,只保存指向原始内容的索引指针。代表工作:[EV5-23] Jesse-njx/dsh-memory(sessionId+eventRange,dsh 社区)、[EV5-26] Recall-Agent(引用指针原型)、[EV5-25] Cogito-ergo(93.4% R@1 验证指针有效性)、[EV5-24] BettyGuo/agent-memory(HMAC 签名至原始轨迹区间,可审计)。学术侧,[EV5-20] 提出区块链索引(Merkle+ECDH)的不可变记忆;[EV5-21] Eywa 提出溯源落地记忆;[EV5-22] Mem0 提供生产级可扩展记忆流水线。
空白:现有工作要么是"引用指针但无事件溯源底座"(Recall-Agent/Cogito-ergo),要么是"事件溯源但无引用式记忆接口"(dsh 自身日志)。将"事件溯源日志 + 引用式记忆 + HMAC 可校验"三者系统化整合的完整协议仍是空白——这正是 N2 的定位。
2.4 记忆治理与安全
记忆安全已成为独立研究领域[EV5-07]:记忆投毒[EV5-28] MemoryGraft(检索-生成循环的持久损害)、[EV5-29] 防投毒的起源绑定权限、[EV5-32] 黑盒视觉假记忆攻击;隐私与遗忘权[EV5-30] 个人数据量化、[EV5-31] 多用户动态访问控制;可信与审计[EV5-34] MemMark 归因水印、[EV5-33] 执行证明记忆、[EV5-35] TRUSTMEM 可信巩固、[EV5-36][EV5-37] 记忆-遗忘基准。
对 dsh 的意义:治理接口设计(门控钩子、遗忘机制、审计日志、可信度评分)应吸收上述威胁模型——尤其是"引用式记忆天然携带溯源信息"这一特性,使记忆的审计成本远低于复制式存储。
3 理论基础与 Gap
3.1 dsh 现有记忆设施盘点(源码级)
依据对 packages/ 的逐行精读(详见 digests/A1-记忆设施盘点.md),dsh 已具备记忆的七个零件:
| 记忆职责 | 现有零件 | 记忆角色 |
|---|---|---|
| 宪法(AGENTS.md) | agent-instructions |
工作区指令加载(baseline 进上下文、fs 触碰触发投影) |
| 引用(跨会话) | session-reference |
跨会话快照(URI 方案 + 投影 + 预算 + 安全注入) |
| 工序(技能) | skill |
技能注册表(seam 范式范本) |
| 溢出(临时) | spill |
超限输出落盘(SpillRef 引用模式) |
| 持久(存储) | storage |
KV 存储 hub(JSON/SQLite 后端) |
| 检索 | session-query |
会话全文检索 + 精确事件读取 |
| 淘汰 | compaction |
上下文压缩(区间替换为摘要) |
核心判断:dsh 的记忆零件已相当完整,且都遵循 seam 设计范式;但"记忆"作为独立概念没有统一 seam——无 ctx.memory、无统一工具名(remember/recall/forget)、无统一注入时机。方向5 不是"从零造记忆",而是"把 7 个现成零件用 ctx.memory seam 串成一条链"。
3.2 四大研究 Gap
Gap 1(生态碎片化):59 个记忆插件各立门户,无官方接口标准(根源:无 ctx.memory seam)。→ N1
Gap 2(复制式存储有损且不可审计):主流记忆系统蒸馏/摘要后存独立库,信息有损、无原始出处回溯;"事件溯源引用式记忆"系统研究空白。→ N2
Gap 3(分层模型缺落地):学术界有分层理论(MemGPT 三层、TencentDB L0-L3),但"自动蒸馏 + 淘汰 + 分层召回"鲜有可落地实现;OS 存储层次未映射到 agent 记忆。→ N3
Gap 4(治理无统一框架):记忆投毒/隐私/门控/审计研究分散,无统一治理接口。→ 第 7 章
4 系统设计:统一 ctx.memory seam
4.1 设计原则
基于第 3 章的盘点与 Gap,dsh 记忆系统遵循四条设计原则:
- 复用不重造:
ctx.memory是"串链层",不是新的存储/检索/压缩实现——持久化复用storageseam,检索复用session-query,注入复用agent-instructions的 pre-step 时机,淘汰参考compaction。 - seam 范式对齐:完全对齐 dsh 既有的 skill/sandbox seam 结构(Service Definition / Service Provider / Consumer),使官方记忆接口与既有生态同构。
- 无损可审计:默认 Provider 用引用式记忆(指向会话日志原文),信息无损、可展开、可校验(HMAC)。
- 分层可治理:记忆条目带 tier 标签(L1–L4),支持 LRU 淘汰与治理钩子(门控/审计/遗忘/可信度)。
4.2 总体架构
记忆系统的总体架构如下图所示(图 1):

图 1:统一记忆系统架构:模型工具(Consumer)→ ctx.memory(Service Definition)→ Provider 注册表(引用式默认 Provider + 可选增强 Provider)→ 底层复用 dsh 现有零件(storage/session-query/session 日志/agent-instructions)。
架构角色划分:
| 角色 | 包/职责 | 说明 |
|---|---|---|
| Service Definition | dsh-memory(service.ts) |
ctx.memory 服务:remember/recall/forget/expand + Provider 注册表 |
| Service Provider | provider-reference(默认) |
引用式记忆:sessionId+eventRange+HMAC 索引 |
| Consumer | tool-memory(模型工具) |
memory_remember/memory_recall/memory_forget 工具(defineTool) |
| 治理接口 | governance.ts |
门控钩子、审计日志、遗忘操作、可信度评分(可插拔) |
4.3 seam 接口定义
// dsh-memory 核心类型(Service Definition 视角)
export type MemoryTier = 'L1' | 'L2' | 'L3' | 'L4' // N3 分层标签
export interface MemoryEntry {
readonly id: string // 记忆条目 id(品牌类型 MemoryId)
readonly sessionId: SessionId // 来源会话
readonly eventRange: { start: number; end: number } // N2 引用式:事件区间
readonly contentHash: string // SHA-256,校验引用完整性
readonly hmac: string // HMAC 签名(防篡改,吸收 [EV5-24][EV5-29])
readonly summary?: string // 可选摘要(供 L2/L3 快速入语境)
readonly tier: MemoryTier // 分层标签
readonly tags: string[] // 可检索标签
readonly createdAt: number
readonly trustScore: number // 可信度评分(治理)
readonly scope: ScopeKey // 作用域(对齐 dsh scope)
}
export interface MemoryProvider {
readonly name: string
remember(input: RememberInput): Promise<MemoryEntry>
recall(query: RecallQuery): Promise<RecallResult[]>
forget(id: MemoryId, scope?: string): Promise<void>
expand(id: MemoryId): Promise<ExpandedMemory> // 解引用回原始日志
}
export class MemoryService extends Service {
static inject = ['sessionQuery', 'storage', 'sessions'] // 复用现有零件
constructor(ctx: Context) { super(ctx, 'memory') }
registerProvider(name: string, provider: MemoryProvider): () => void
remember(input: RememberInput): Promise<MemoryEntry>
recall(query: RecallQuery): Promise<RecallResult[]>
forget(id: MemoryId, scope?: string): Promise<void>
expand(id: MemoryId): Promise<ExpandedMemory>
}
Consumer 工具(对齐 defineTool 范式,来源:packages/core/tools/src/schema.ts):
memory_remember(content, { tags?, tier? })→ 记忆条目(带 sessionId+eventRange 引用)memory_recall(query, { tier?, tags?, limit? })→ 相关记忆列表(含引用,可展开)memory_forget(id)→ 删除记忆(支持作用域)
注入时机:记忆召回结果在 agent/pre-step(waterfall)之后、system-prompt/assemble 之前注入(对齐 agent-instructions 的 pre-step 时机,来源:packages/context/agent-instructions/src/index.ts);显式 memory_recall 工具供模型按需召回。
5 核心创新点
5.1 N1:统一 Memory Provider 抽象 seam(收敛碎片化)
问题:59 个记忆插件各立门户,用户无法组合、官方无法治理。
方案:定义 ctx.memory 为可插拔 Provider seam(第 4.3 节接口)。任一既有插件只要实现 MemoryProvider 接口(remember/recall/forget/expand),即可被官方 seam 收纳;官方 Consumer 工具(memory_remember 等)对所有 Provider 提供统一的模型可见接口——模型不再需要知道底层是文件型还是向量型。
与既有 seam 的同构性(对齐 skill seam,来源:packages/skill/skill/src/index.ts):
registerProvider对应 skill 的 provider 注册表;- 作用域分层(
ScopeKey)对齐 skill 的NamedEntries/ScopedLayers; - Provider 可替换:默认引用式,可替换为混合检索(RRF)或远程(MCP)。
收敛效果:工具名统一(memory_*)、注入时机统一(pre-step + 按需工具)、存储抽象统一(Provider 接口),而不排斥任何已有存储方案——文件型/SQLite/向量/引用式均可作为 Provider 实现接入。
5.2 N2:基于事件溯源的引用式无损记忆
问题:主流记忆系统复制式存储(蒸馏/摘要后存独立库),信息有损、不可审计。
方案:记忆条目不复制内容,携带 sessionId + eventRange + contentHash + HMAC 指向 dsh 的 append-only 会话日志(图 2):

图 2:引用式记忆:memory_remember 在会话日志上建立带引用的索引(不复制内容);memory_recall 返回记忆条目;expand(id) 经 session-query 精确事件读取展开回原文;contentHash/HMAC 校验引用完整性。
核心机制:
- 引用(Reference):
sessionId唯一标识会话,eventRange {start, end}精确指向日志事件区间。dsh 会话日志 seq 单调连续(来源:packages/core/session),引用稳定。 - 无损(Lossless):不经过摘要/蒸馏,
expand()展开的是原始user/message、assistant/message、tool/result事件——信息零损失。 - 可审计(Auditable):
contentHash = SHA-256(事件区间序列化)校验引用完整性;hmac签名(吸收 [EV5-24] BettyGuo 与 [EV5-29] 起源绑定)保证记忆条目未被篡改。expand()时重算哈希比对,检测日志篡改。 - 复用:解引用复用
session-query的精确事件读取(readFrom);索引持久化复用storageseam(SQLite/JSON)。
与复制式的权衡(吸收 digests/A4 分析):
| 维度 | 引用式(本文) | 复制式(主流) |
|---|---|---|
| 存储成本 | 低(只存指针) | 高(存内容) |
| 信息保真度 | 无损(取原文) | 有损(摘要/蒸馏) |
| 可审计性 | 强(可反查+HMAC) | 弱(无原始出处) |
| 检索延迟 | 高一次解引用 | 低 |
| 适合场景 | 事实/决策/偏好(需可追溯) | 高频语义检索 |
设计要点:对于高频语义检索场景(如"找上次讨论过 X 的内容"),N2 的引用式 Provider 可输出 summary 字段(可选,L2/L3 层)供快速匹配,命中后再 expand() 取原文——兼顾速度与无损。
5.3 N3:OS 存储层次启发的 L0–L4 分层记忆
问题:记忆分层理论(MemGPT 三层、TencentDB L0-L3)缺乏统一模型与淘汰策略;"一层一解"难以落地(Gap 3)。
方案:借鉴操作系统存储层次(寄存器→Cache→主存→SSD→远程,来源:reference/Computer-operating-system-notes/ 与 [EV5-09] “记忆即 OS”)与页面置换(LRU),定义 L0–L4 五层记忆模型(图 3):

图 3:分层记忆:L0 注册表(Provider 目录,常驻)→ L1 会话内(当前会话日志,自动)→ L2 工作区文件(AGENTS.md/记忆文件,按需)→ L3 跨会话记忆库(引用式索引,LRU 淘汰)→ L4 远程记忆(MCP/云,可选)。
| 层 | 内容 | 访问速度 | 容量 | 淘汰策略 | dsh 对应 |
|---|---|---|---|---|---|
| L0 | Provider 注册表/技能目录 | 常驻 | 极小 | 无 | ctx.memory 注册表、ctx.skills |
| L1 | 当前会话日志 | 快 | 上下文窗口 | compaction | session 日志 |
| L2 | 工作区文件(AGENTS.md 等) | 快 | 磁盘 | 手动 | agent-instructions |
| L3 | 跨会话记忆库(引用式索引) | 中 | 磁盘 | LRU | 本文 Provider |
| L4 | 远程记忆(MCP/云) | 慢 | 大 | 服务端 | 扩展接口 |
分层召回(tier-aware recall):recall(query) 默认在 L2/L3 快速匹配(用 summary/tags 关键词 + FTS),命中后如需细节再 expand() 取 L1 原文——"快速入语境、精确回查"双轨。L4 远程作为可选增强(对接 MCP 记忆服务)。
LRU 淘汰:L3 记忆库维护访问时间戳;超容量阈值时按最近最少使用淘汰(保留 tier=L3 且 trustScore 高的条目)。淘汰策略接口化(EvictionPolicy),可替换为其他策略。
6 实现:最小原型插件 dsh-memory
6.1 插件结构与构建
原型插件位于 dsh-memory/(工作区独立目录),对标已交付的 model-router/benchmark-plugin 插件结构(TypeScript + vitest + cordis bundle 声明):
dsh-memory/
├── package.json # dsh.bundle 声明(cordis.patch.yml)
├── cordis.patch.yml # 插件行(可被 profile 安装)
├── tsconfig.json
├── src/
│ ├── index.ts # 插件入口(apply)
│ ├── service.ts # Service Definition:ctx.memory(N1)
│ ├── provider-reference.ts # 引用式默认 Provider(N2)
│ ├── layers.ts # L0-L4 分层 + LRU 淘汰(N3)
│ ├── governance.ts # 门控/审计/遗忘/可信度(治理)
│ └── tool.ts # Consumer 工具(memory_remember/recall/forget)
├── tests/
│ ├── service.spec.ts
│ ├── provider-reference.spec.ts
│ ├── layers.spec.ts
│ └── governance.spec.ts
└── README.md
构建与测试:pnpm build(tsc)+ pnpm test(vitest)。
6.2 核心实现要点
service.ts(N1 seam):MemoryService extends Service,super(ctx, 'memory') 注册 ctx.memory;registerProvider(name, provider) 维护 Provider 注册表(对齐 skill seam 的 provider 注册);remember/recall/forget/expand 委托到当前 Provider,并提供默认治理钩子(门控检查、审计记录)。
provider-reference.ts(N2):
remember(input):接收{ content, sessionId, eventRange }(由调用方/工具提供引用目标),计算contentHash = SHA-256(事件区间序列化)与hmac = HMAC-SHA256(secret, contentHash),生成MemoryEntry,索引持久化经ctx.storage(SQLite/JSON)。recall(query):关键词/FTS 匹配summary/tags(默认 Provider 用简单子串+标签匹配,避免向量库依赖),按trustScore排序,返回带引用的条目。expand(id):校验contentHash/hmac(防篡改)→ 经ctx.sessionQuery精确事件读取eventRange→ 返回完整原始事件。
layers.ts(N3):tier 字段(L1–L4)强制标签;LRU 淘汰(维护访问时间戳,超容量阈值淘汰最久未用,保留高 trustScore);recall 分层策略(L2/L3 快速匹配 summary,命中后 expand() 回查原文)。
governance.ts(治理):gate 钩子(作用域/可信度检查,返回 {allowed, authority, provenance});audit 记录({timestamp, subject, action, objectId, provenanceHash, trustScore, reason});forget 知识隔离式删除(只删索引,日志保持 append-only);trustScore 计算(来源信誉 + 时间新鲜度 + 一致性,可插拔策略)。
6.3 与论文创新点的对应
| 论文章节 | 插件模块 | 验证方式 |
|---|---|---|
| N1(第 5.1 节) | service.ts + tool.ts |
seam 接口可编译;Provider 可注册/可替换(单测桩) |
| N2(第 5.2 节) | provider-reference.ts |
remember→recall→expand 闭环测试;HMAC 篡改检测 |
| N3(第 5.3 节) | layers.ts |
分层标签 + LRU 淘汰单测 |
| 治理(第 7 章) | governance.ts |
门控/审计/遗忘单测 |
6.4 记忆保持冒烟测试
对标 benchmark-plugin 的评测思路,设计一个最小"记忆保持"冒烟:会话 A 中 memory_remember("用户偏好简洁回答", {tags:["偏好"]}) → 新会话 B 中 memory_recall("偏好") → 断言命中 m2 并 expand() 展开回原文。该测试验证"跨会话记忆保持"这一核心价值。
7 记忆治理设计
7.1 威胁模型(依据 2026 年记忆安全研究)
[EV5-28] MemoryGraft 实证了"经验记忆投毒"攻击:攻击者植入恶意"成功经验",agent 的语义模仿启发式会跨会话采纳不安全模式;[EV5-07](A8#9)提出记忆生命周期框架(Write/Store/Retrieve/Execute/Share/Forget × 完整性/机密性/可用性/治理),核心结论是 LTM 安全无法在检索或执行时事后修补,必须从存储时就锚定溯源(provenance)、版本化与策略感知留存;[EV5-29](A8#6 TMA-NM)形式化证明"写入时来源绑定"是防洗白攻击的必要条件;[EV5-32][EV5-33] 展示了黑盒假记忆攻击与伪造推理攻击。
A8 精读提炼的三条共性结论(溯源从可选项变安全刚需 / 写路径是攻防主战场 / 分层隔离是结构性方案)直接塑造本文治理设计:
7.2 治理接口(governance.ts)
依据 A5 调研与上述威胁模型,设计四类治理接口:
- 门控钩子(Gating):
check_access(subject, object, action) → {allowed, authority, provenance}。支持按 Agent 作用域、会话上下文、记忆敏感级别动态决策;门链模式(多层验证,最高权限决定)。写路径门控优先(吸收"写路径是攻防主战场"结论):remember前校验来源可信度、内容敏感度。 - 遗忘机制(Forgetting):
forget(id, scope)知识隔离式删除(只删索引,日志保持 append-only——与事件溯源不可变语义一致);生命周期策略(TTL、activity-based expiration、LRU)。 - 审计日志(Audit):所有读写操作记录
{timestamp, subject, action, objectId, provenanceHash, trustScore, reason};记忆条目本身携带provenance(sessionId+eventRange+contentHash+hmac),天然满足"存储时溯源"要求。 - 可信度评分(Trust):基于来源信誉、时间新鲜度、一致性计算
trustScore;低可信度记忆标记为"引用场景"而非"直接采纳"。
7.3 与 N2 的协同:引用式记忆天然可审计
本文的引用式设计(N2)在治理上具有结构性优势:每个记忆条目携带 contentHash 与 hmac,expand() 时重算比对即可检测篡改——溯源不是附加字段而是记忆的本体。这与 [EV5-07] 的"存储时溯源"结论、[EV5-29] 的"来源绑定权威"主张、[EV5-34] MemMark 的"溯源可验证物化"方向一致。与复制式存储相比,引用式的审计成本更低(无需对内容副本做额外校验,校验对象就是原始日志本身)。
8 讨论
8.1 与经典理论的关系
- 事件溯源 / CQRS[EV5-01][EV5-02][EV5-03]:dsh 会话日志是事件溯源工程实现("模型可见即已记录"不变量);本文 N2 将记忆定义为日志上的引用索引——写侧 append 事件、读侧投影记忆视图,与 CQRS 读写分离完全对应。
- OS 存储层次[EV5-04][EV5-09]:L0–L4 分层 + LRU 淘汰直接借用虚拟内存/页面置换理论;"记忆即 OS"比喻(MemGPT)在本文落地为具体分层模型。
- 能力 seam 范式(dsh 架构):
ctx.memory与 skill/sandbox seam 同构,确保与既有生态兼容。
8.2 与工业实践对照
- claude-mem(
reference/claude-mem):MemoryItem 四类(observation/summary/prompt/manual)+ facts/concepts/filesRead 结构化字段 + MemorySource 溯源——本文 MemoryEntry 的tags/summary/eventRange字段设计直接吸收其结构化思想。 - TencentDB-Agent-Memory(
reference/TencentDB-Agent-Memory):L0–L3 分层沉淀 + 分层召回 + RRF + 三件套(core/hub/proxy)——本文 N3 的分层召回与其高度一致,但引用式默认 Provider 避免了其对向量库的依赖。 - AgentSys[EV5-15](A8#8):主/worker 进程隔离 + 确定性 JSON 边界——"隔离 + 结构化边界"思想与本文治理门控互补(AgentSys 防注入、本文防污染+审计)。
8.3 与 2026 年最新研究的定位
A8 精读的 10 篇论文揭示了本方向的最新竞争格局:
- 溯源记忆:Eywa[EV5-21](证据先于信念,LoCoMo 90.19%)与本文 N2 同方向,但 Eywa 是"证据→规范事实"的自建存储,本文 N2 直接复用 dsh 会话日志(零额外存储),且提供统一 seam 接口——工程成本更低、生态兼容更强。
- 分层记忆:TiMem[EV5-12](LoCoMo 75.30%)、HiMem[EV5-10] 各有分层方案,但均绑定自建框架;本文 N3 的分层是 seam 之上的"标签 + 策略",可跨 Provider 复用。
- 防投毒:TMA-NM[EV5-29](攻击成功率 0%)证明"写入时来源绑定"必要性——本文
hmac签名正是其轻量工程化(非形式化保证,标注为启发而非等价)。 - 统一 seam:AgentSys[EV5-15] 的确定性边界思想最接近,但面向"隔离安全"而非"记忆抽象";本文
ctx.memory是首个面向 dsh 的记忆统一 seam。
8.4 局限
- 原型验证深度:最小原型聚焦接口正确性与基本路径(remember/recall/expand + HMAC + LRU),未实现混合检索(D)、完整门控策略(E)、跨层自动蒸馏(F)——论文做理论、工程留扩展接口(与既有计划一致)。
- 评估基准:未在 LoCoMo/LongMemEval 等标准基准上做量化评测(原型阶段),后续可对接
benchmark-plugin扩展记忆维度(对齐方向2 的评测闭环)。 - 安全保证级别:HMAC 签名是"防篡改检测"而非 TMA-NM 的"机器校验保证"(形式化)——定位为工程启发,不宣称形式化安全。
- 依赖会话日志可访问性:引用式记忆依赖 dsh 日志持久化可用;日志删除会失效对应记忆(可接受:日志是架构真源)。
9 结论与展望
9.1 结论
本文针对 dsh 的长期记忆能力提出系统性设计与实现:N1 统一 ctx.memory seam(收敛 59 插件碎片化)、N2 事件溯源引用式无损记忆(sessionId+eventRange+HMAC,不复制内容、可审计、可展开回原文)、N3 OS 存储层次启发的 L0–L4 分层记忆(LRU 淘汰 + 分层召回),并设计了记忆治理接口(门控/遗忘/审计/可信度)。最小原型插件 dsh-memory 验证了三项创新点的可实现性。
本文的核心主张可概括为:在事件溯源架构之上,记忆应当是被引用的"索引视图"而非被复制的"内容副本"——这一设计同时满足无损(信息零损失)、可审计(HMAC 防篡改 + 天然溯源)、低存储(只存指针)三重需求,且与 dsh 的"模型可见即已记录"架构红线天然契合。2026 年最新研究(Eywa/TMA-NM/AgentSys/MemMark)从溯源、防投毒、隔离、水印四个方向独立收敛到"溯源锚定 + 写路径治理 + 分层隔离"的共识,印证了本文方向的前瞻性。
9.2 展望
- D 混合检索:为 Provider 增加 BM25+向量+RRF 融合(对接 dsh-memoria 社区方案),解决语义模糊查询。
- E 完整门控:与 dsh-memory-gate 协同,实现可解释的采用/核验/忽略决策。
- F 自动蒸馏:参考 NEMORI[EV5-11] 的预测误差蒸馏,实现 raw→summary→archive 的自动化跨层传递(吸收 compaction 机制)。
- 评估闭环:将记忆维度纳入
benchmark-plugin(对接 LoCoMo/LongMemEval [EV5-37][EV5-36])。 - 生态治理:作为官方 seam 发布后,推动 59 个社区插件迁移接入(吸收 [EV5-07] 的"存储时溯源"为强制要求)。
参考文献
[EV5-01] M. Fowler. Event Sourcing. 2005. martinfowler.com/eaaDev/EventSourcing.html
[EV5-02] M. Fowler. CQRS. martinfowler.com/bliki/CQRS.html
[EV5-03] M. Fowler. The Many Meanings of Event-Driven Architecture. 2017. martinfowler.com/articles/201701-event-driven.html
[EV5-04] 计算机操作系统笔记. reference/Computer-operating-system-notes/
[EV5-05] P. Du. Memory for Autonomous LLM Agents: Mechanisms, Evaluation, and Emerging Frontiers. arXiv:2603.07670, 2026.
[EV5-06] Memory in the Age of AI Agents. arXiv:2512.13564, 2025.
[EV5-07] Z. Lin, X. Hao, R. Fu, et al. A Survey on Long-Term Memory Security in LLM Agents: Attacks, Defenses, and Governance Across the Memory Lifecycle. arXiv:2604.16548, 2026.
[EV5-08] Toward Conversational Agents with Context and Time Sensitive Long-term Memory. arXiv:2406.00057, 2024.
[EV5-09] C. Packer, S. Woodruff, et al. MemGPT: Towards LLMs as Operating Systems. arXiv:2310.08560, 2023.
[EV5-10] N. Zhang, X. Yang, Z. Tan, et al. HiMem: Hierarchical Long-Term Memory for LLM Long-Horizon Agents. arXiv:2601.06377, 2026.
[EV5-11] W. Ma, J. Nan, W. Wu, et al. What Deserves Memory: Adaptive Memory Distillation for LLM Agents(NEMORI). arXiv:2508.03341, 2025.
[EV5-12] K. Li, X. Yu, Z. Ni, et al. TiMem: Temporal-Hierarchical Memory Consolidation for Long-Horizon Conversational Agents. arXiv:2601.02845, 2026.
[EV5-13] J. Chen, Y. Zeng, S. Chen, et al. CoreMem: Riemannian Retrieval and Fisher-Guided Distillation for Long-Term Memory. arXiv:2606.18406, 2026.
[EV5-14] T. Kim, K. Kim, S. J. Hwang. Agent Memory Distillation: Empowering Small LLM Agents with Hierarchical Teacher Memory. arXiv:2608.07169, 2026.
[EV5-15] R. Wen, H. Li, C. Xiao, et al. AgentSys: Secure and Dynamic LLM Agents Through Explicit Hierarchical Memory Management. arXiv:2602.07398, 2026.
[EV5-18] B. Stephan, et al. HippoRAG: Neurobiologically Inspired Long-Term Memory for Large Language Models. arXiv:2405.14831, 2024.
[EV5-19] Zhang, et al. HetaRAG: Hybrid Deep Retrieval-Augmented Generation across Heterogeneous Data Stores. arXiv:2509.21336, 2025.
[EV5-20] Wang, et al. On Immutable Memory Systems for Artificial Agents: A Blockchain-Indexed Automatic Memory System. arXiv:2506.13246, 2025.
[EV5-21] R. Joshi. Eywa: Provenance-Grounded Long-Term Memory for AI Agents. arXiv:2605.30771, 2026.
[EV5-22] P. Chhikara, D. Khant, S. Aryan, et al. Mem0: Building Production-Ready AI Agents with Scalable Long-Term Memory. arXiv:2504.19413, 2025.
[EV5-23] Jesse-njx. dsh-memory. github.com/Jesse-njx/dsh-memory, 2026.
[EV5-24] BettyGuo. agent-memory. github.com/bettyguo/agent-memory, 2026.
[EV5-25] Cogito-ergo(PyPI). pypi.org/project/cogito-ergo, 2026.
[EV5-26] joonspk-research. Recall-Agent. github.com/joonspk-research/recall-agent, 2025.
[EV5-28] S. Srivastava, H. He. MemoryGraft: Persistent Compromise of LLM Agents via Poisoned Experience Retrieval. arXiv:2512.16962, 2025.
[EV5-29] Y. Louck. Securing LLM-Agent Long-Term Memory Against Poisoning: Non-Malleable, Origin-Bound Authority with Machine-Checked Guarantees(TMA-NM). arXiv:2606.24322, 2026.
[EV5-30] Stauffer, et al. What Should LLMs Forget? Quantifying Personal Data in LLMs for Right-to-Be-Forgotten. arXiv:2507.11128, 2025.
[EV5-31] Gao, et al. Collaborative Memory: Multi-User Memory Sharing in LLM Agents with Dynamic Access Control. arXiv:2505.18279, 2025.
[EV5-32] H. Bouzidi, et al. Do Agents Dream of False Memories? Black-box Visual Attacks on Long-term Memory. arXiv:2607.15657, 2026.
[EV5-33] M. Rahman, J. Kim. Proof-of-Execution Memory: Defending LLM Agents Against Forged-Reasoning Attacks. arXiv:2608.16032, 2026.
[EV5-34] H. Zhang, X. Mao, G. Dong, et al. MemMark: State-Evolution Attribution Watermarking for Agent Long-Term Memory Systems. arXiv:2605.25002, 2026.
[EV5-35] T. Yang, S. Paul, V. Srinivasan, et al. TRUSTMEM: Learning Trustworthy Memory Consolidation for LLM Agents with Long-Term Memory. arXiv:2606.25161, 2026.
[EV5-36] M. Uddin, K. Shubham, E. Blanco. From Recall to Forgetting: Benchmarking Long-Term Memory for Personalized Agents. arXiv:2604.20006, 2026.
[EV5-37] A. Cherif. AgentMemBench: A Systematic Benchmark for Evaluating Long-Term Memory Management Strategies. arXiv:2608.00009, 2026.
项目参考:LangChain、LlamaIndex、MemGPT/letta、claude-mem、TencentDB-Agent-Memory、agentmemory、honcho、OpenHands、EverOS、MCP servers、awesome-dsh-plugin。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)