归档说明:本文是 2026 年 2 月的公众号旧文整理版,保留当时的思考路径。原文中的 Token 节省、检索准确率等早期数字缺少可复现评测支撑,不能视为已验证结论;个人站当前版本以公开仓库、项目页和最新事实说明为准。 查看公众号原文
这篇文章最初的开头包含一组当时用于表达产品设想的性能对比,以及来自聊天机器人的夸张评价。这些内容没有可靠的复现实验,因此个人站整理版不再重复,把正文从真实问题和设计过程开始保留。
一、为什么一个医学生要搞AI记忆系统?
身份背景
我是一名临床医学专业的大三学生。没有计算机背景,当时的代码实现高度依赖 AI 工具,但我希望把医学训练中的逻辑思维带进这个问题——毕竟医学训练的核心就是 鉴别诊断 :从一堆症状里抽丝剥茧,找到那个最可能的病因。
痛点来源
我最近几天一直在用OpenClaw作为我的AI助手。用久了发现一个致命问题:
它记不住事。
准确说,它"记得太多"又"记得太乱":
- 我才用了几天,MEMORY.md就暴涨到8000tokens
- 搜索出来的"相关记忆"经常是几天前的无关内容
- 重要的事情被淹没在琐碎信息里
- 没有任何机制区分"确定的事实"和"我猜的"
这让我想到一个问题: 人脑是怎么解决这个问题的?
二、从神经科学偷师:人脑记忆的三个秘密
我翻了翻神经科学的教材和论文(这部分花了大概$30),发现人脑的记忆系统有几个关键特性:
秘密1:分层存储
人脑不是把所有记忆放在一个地方的:
- 记忆类型 | 脑区 | 特点
- 工作记忆 | 前额叶皮层 | 容量小(7±2项),随时可用
- 长期记忆 | 海马体→新皮层 | 容量大,需要检索
- 情景记忆 | 海马体 | 带时间戳的原始事件
启发 :AI的记忆也应该分层,不是所有东西都塞进Prompt。
秘密2:记忆整合(Consolidation)
睡眠时,大脑会做一件神奇的事:把白天的短期记忆"整理"成长期记忆。这个过程叫 记忆整合 。
具体来说:
- 海马体会"回放"白天的经历
- 重要的信息被强化,转移到新皮层
- 不重要的信息被弱化、遗忘
启发 :AI也需要一个"睡眠整理"机制,定期梳理记忆。
秘密3:遗忘曲线
艾宾浩斯遗忘曲线告诉我们:记忆会随时间衰减,但衰减速度不同。
- 刚学的东西,忘得最快
- 反复回忆的东西,忘得慢
- 情感强烈的东西,几乎不忘
启发 :AI的记忆也应该有"衰减权重",让旧的、不重要的记忆自动降权。
三、架构设计:三层记忆 + 自动衰减
基于这些神经科学原理,我设计了一个三层记忆架构:
┌─────────────────────────────────────────────────────┐
│ Layer 1: 工作记忆 │
│ (每次对话都注入,<2000 tokens) │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Identity│ │ Owner │ │Top Facts│ │ Recent │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
└─────────────────────────────────────────────────────┘
▲
│ 按需检索
▼
┌─────────────────────────────────────────────────────┐
│ Layer 2: 结构化长期记忆 │
│ (JSONL格式,支持精确查询) │
│ ┌──────────────┐ ┌──────────────┐ ┌────────────┐ │
│ │ facts.jsonl │ │beliefs.jsonl │ │summaries. │ │
│ │ (确定事实) │ │ (推断信念) │ │ jsonl │ │
│ └──────────────┘ └──────────────┘ └────────────┘ │
│ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ active/ │ │ archive/ │ ← 分池管理 │
│ │ (活跃池) │ │ (归档池) │ │
│ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────┘
▲
│ Consolidation提取
▼
┌─────────────────────────────────────────────────────┐
│ Layer 3: 原始事件日志 │
│ (双格式:MD人读 + JSONL机读) │
│ ┌────────────────────────────────────────────────┐ │
│ │ 2026-02-03.md / 2026-02-03.jsonl │ │
│ │ 2026-02-04.md / 2026-02-04.jsonl │ │
│ │ ... │ │
│ └────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────┘
核心设计决策
决策1:Layer 1 严格控制在 2000 tokens
为什么是2000?
- 太少(<1000):信息不够,Agent会"失忆"
- 太多(>4000):每次对话都烧Token,响应变慢
- 2000是平衡点:够用,且成本可控
决策2:区分 Fact 和 Belief
这是整个系统最重要的设计之一。
- 类型 | 定义 | 置信度 | 使用方式
- Fact | 用户明确说过的事实 | 0.9-1.0 | 直接引用
- Belief | AI推断出的信念 | 0.3-0.8 | 谨慎使用,需标注不确定性
为什么重要?
传统Agent的问题是:它会把自己的"猜测"当成"事实"来用,导致幻觉和错误。
有了Fact/Belief区分,Agent可以说:
- "你之前提到过你是医学生"(Fact,高置信度)
- "我记得你好像对神经科学感兴趣?"(Belief,中置信度,用商量语气)
这就是Crabby说的"元认知"——AI知道自己"知道什么"和"不确定什么"。
决策3:自动衰减机制
不同类型的记忆,衰减速度不同:
- 类型 | 衰减率 | 半衰期 | 设计理由
- Fact | 0.008 | ~87天 | 事实相对稳定
- Belief | 0.07 | ~10天 | 推断需要快速验证或遗忘
- Summary | 0.025 | ~28天 | 摘要有中等时效性
- Event | 0.15 | ~5天 | 原始事件快速衰减
衰减公式:
新权重 = 旧权重 × e^(-衰减率 × 天数)
这意味着:
- 一个Belief如果10天没被访问或验证,权重会降到50%
- 一个Fact即使3个月不用,权重还有50%
四、Consolidation:AI的"睡眠整理"
这是整个系统最复杂也最有价值的部分。
什么时候触发?
冷淡期 :20分钟无消息 + 非活跃时段 + 无对话
就像人在睡觉时整理记忆一样,AI在"空闲"时整理记忆,不影响正常对话。
整理流程(7个Phase)
Phase 1: 收集 ──→ Phase 2: 筛选 ──→ Phase 3: 提取
│ │
│ ┌────────────────────────────┘
│ ▼
│ Phase 4: 分类
│ ├─ 4a: Fact处理
│ ├─ 4b: Belief验证
│ └─ 4c: Summary生成
│ │
│ ▼
│ Phase 5: 衰减计算
│ │
│ ▼
│ Phase 6: 归档
│ │
│ ▼
└───→ Phase 7: 快照生成 ──→ 更新 Layer 1
关键Phase详解
Phase 2: 筛选(用LLM判断价值)
不是所有对话都值得记住。这个阶段用LLM判断:
输入:
"今天天气真好"
输出: {
"dominated"
:
true
,
"reason"
:
"闲聊,无长期价值"
}
输入:
"我下周三有个重要考试"
输出: {
"dominated"
:
false
,
"reason"
:
"时间敏感事件,需要记住"
}
Phase 4b: Belief验证
这是"元认知"的核心。对于每个Belief,系统会:
- 检查是否有新证据支持/反驳
- 更新置信度
- 如果置信度>0.85,考虑升级为Fact
- 如果置信度<0.2,标记为待删除
Phase 7: 快照生成
最终生成Layer 1快照,控制在2000 tokens以内:
# Layer 1 Snapshot
## Identity
-
Name: Tkao
-
Role: Digital companion
## Owner
-
Name: Ktao
-
Context: 临床医学大三
## Top Rankings (by importance)
1.
[Fact] 用户正在开发AI项目 (0.95)
2.
[Fact] 用户对神经科学感兴趣 (0.88)
3.
[Belief] 用户可能在准备考研 (0.65)
## Recent (last 24h)
-
完成了Memory System v1.0设计
-
讨论了开源文章写作
五、技术实现:一个完整的Skill
最终,我把这套系统封装成了一个OpenClaw Skill:
文件结构
memory-system-skill/
├── SKILL.md
# 使用文档
├── scripts/
│ └── memory.py
# 核心CLI(500+行Python)
├── prompts/
│ ├── filter.md
# Phase 2 筛选Prompt
│ ├── extract.md
# Phase 3 提取Prompt
│ ├── verify_belief.md
# Phase 4b 验证Prompt
│ └── snapshot.md
# Phase 7 快照Prompt
└── templates/
└── config.json
# 默认配置
核心命令
# 初始化记忆系统
python memory.py init
# 添加一条记忆
python memory.py capture --
type
fact --content
"用户是医学生"
--confidence 0.95
# 运行Consolidation
python memory.py consolidate
# 查看状态
python memory.py status
# 生成Layer 1快照
python memory.py snapshot
六、成本复盘:200刀花在哪了?
- 项目 | 费用 | 说明
- Claude API调用 | ~$150 | 48小时高强度对话、代码生成、设计迭代
- 论文/资料获取 | ~$10 | 神经科学文献、记忆系统论文
- 测试与调试 | ~$30 | 反复测试、压力测试、边界情况
- 其他工具 | ~$10 | 杂项
- 总计 | ~$200 |
48小时的时间分配:
- 第1-8小时:问题定义 + 神经科学调研
- 第9-24小时:架构设计 + 反复迭代
- 第25-40小时:代码实现 + 测试
- 第41-48小时:文档 + 打包发布
七、写在最后
这个项目教会我的事
- 医学思维是可迁移的 :鉴别诊断的逻辑、对不确定性的处理、分层分类的习惯——这些都能用在AI系统设计上。
- 不会写代码不是障碍 :我的代码能力只有⭐⭐,但我能清晰地描述我要什么。AI帮我写代码,我负责设计和决策。
- 从第一性原理出发 :不是"别人怎么做记忆系统",而是"记忆系统应该解决什么问题"。回到神经科学,回到人脑,答案自然浮现。
开源地址
GitHub: https://github.com/ktao732084-arch/openclaw_memory_supersystem-v1.0
未来计划
- [ ] 接入OpenClaw session数据,实现真正的自动记忆
- [ ] 优化检索算法,支持语义搜索
- [ ] 添加可视化面板,让记忆系统"可见"
如果你也在用OpenClaw,或者对AI Agent的记忆系统感兴趣,欢迎交流。 如果你也要使用我这个skill 你会怎么调整你个人助手的遗忘速率和权重计算呢。
我是Ktao,一个试图用医学生思维理解AI的人。