本实践的产出 ⭐ 最小产出:Vault、Wiki、GBrain、Session Log 和模型上下文的关系图 完整产出:关系图 + 写入门槛规则 + 过期记忆冲突演练 + 会话恢复三方案(与阶段 7 合并做)
预计投入:5~7 小时。研究对象就是你自己每天在用的这套系统——这是本实践相对于任何教科书案例的最大优势。
任务:画一张图 + 配一张决策表,说清本仓五个层次各自的职责、生存期、权威性与流向。
| 层 | 具体是什么 | 关键属性 |
|---|---|---|
| 模型上下文 | 当次请求窗口 | 一次请求;由 Harness 组装 |
| Session Log | sessions/(codescope 问答留存,hook 自动写) | 任务级;git 追踪;同时是 GBrain 语料源 |
| Agent 记忆 | .claude/projects/*/memory/ + MEMORY.md 索引 + .claude/memory/shared/ 跨机同步 | 长期;一条一文件;分四型 |
| Vault 原文 + wiki/ | 手写文档 + LLM 编译的概念文章 | 长期;wiki 是派生物 |
| GBrain | 跨源语义检索(Outline / vault / sessions / GBrain 研究摘要 / 需求实现日志) | 派生索引;可能有延迟 |
| 我要知道… | 先问 | 落地前核对 | 为什么 |
|---|---|---|---|
| 这个业务概念是什么 | |||
| 这段逻辑线上现在怎么实现 | |||
| 上次这个需求最后怎么定的 | |||
| 用户(我自己)的偏好是什么 | |||
| 某个字段的取值范围 |
验收标准:
存放:Excalidraw/ 或本目录。
任务:写一套"什么时候写长期记忆"的决策规则,并用至少 10 条真实候选验证。
从最近一个月的实际工作里挑 10 条候选,逐条过规则:
| # | 候选内容 | 1 | 2 | 3 | 4 | 5 | 结论 | 类型 |
|---|---|---|---|---|---|---|---|---|
| 1 | 例:某网关只有 /chat/completions,没有 /models | ✓ | ✓ | ✓ | ✓ | ✓ | 写 | project |
| 2 | 例:今天 codescope 查到某方法在 XXService 第 120 行 | ✓ | ✗ | 不写 | — |
验收:
门槛 2 是最有区分度的一条 "代码在第几行""某个函数叫什么名字"这类内容通过其他条件很容易,但卡在门槛 2 上——它们在仓库里已经有权威来源,写进记忆只会在代码变动后变成错误的旧信息。这也是本仓记忆规则明确禁止的类型。
任务:构造一条会过期的记忆,走完"发现 → 更新 → 冲突 → 删除"全流程。
产出:一份《记忆生命周期 SOP》,包含:写入 / 更新 / 冲突处理 / 删除四段,每段写清谁触发、改哪些位置、怎么验证。
要看到的现象:
任务:验证"程序记忆 > 语义记忆 > 情景记忆"这个价值排序在自己的场景里是否成立。
做法:准备三条记忆,各自单独注入,跑同一批 5 个任务:
| 类型 | 例子 | 观察 |
|---|---|---|
| 程序记忆 | "中文回复里首次出现英文术语要标注原文" | 行为变了吗? |
| 语义记忆 | "用户是产品经理,没有代码修改权限" | 行为变了吗? |
| 情景记忆 | "用户上周问过东京航线的运价问题" | 行为变了吗?还是只是被复述? |
验收:
| 维度 | 阶段 8 的问法 |
|---|---|
| 解释 | 用"换个用户还成立吗"这一刀,讲清记忆与知识库的区别 |
| 画图 | 五层知识边界地图完成 |
| 比较 | 三种冲突处理策略各自的适用与风险 |
| 实践 | 10 条候选过门槛 + 过期演练走完全流程 |
| 评测 | 定义"记忆系统健康"的指标:命中率?误召回率?用户删除率? |
| 产品化 | 《记忆生命周期 SOP》可直接用于产品设计 |
| 迁移 | 把这套门槛用到一个 to C 助手产品上,哪些条要改?(提示:门槛 5 会变成主要约束) |
通过标志 能回答这个问题:"用户要求删除一条记忆,我们的系统一共要在几个地方删?" 答不出具体位置数量,说明还没真正理解记忆系统的存储拓扑。