AI Agent 的记忆终于可以告别「重框架」了
AI Agent 的记忆终于可以告别「重框架」了。
如果你用 Claude Code、Codex 这类编程 Agent 做长期任务,一定被记忆系统折腾过——要么外挂向量库 + 嵌入模型 + RAG 管线,部署起来一坨依赖;要么直接写到 markdown,搜的时候抓瞎。
今天聊一个 GitHub 上刚火起来的极简方案:OptMem(VictorTaelin/OptMem),作者 Victor Taelin——HVM 高阶虚拟机和 Kind 编程语言的创建者,以「极简系统设计」闻名。两周冲上 2k+ Star。
一个 Python 文件,六个命令
整套方案就两件事:
- 一段 426 token 的 system prompt(含 6 个
memo命令说明),贴到 Agent 的AGENTS.md或CLAUDE.md顶部 - 一个零依赖 Python 脚本(标准库 only),提供 6 个命令:
| 命令 | 作用 | 触发时机 |
|---|---|---|
memo wake |
读记忆上下文 | 每个会话第一条命令 |
memo note "..." |
记录一条记忆(≤280 字节) | Agent 学到新东西时 |
memo nap |
执行待处理的压缩合并 | note 提示”该 nap 了”时 |
memo recall <正则> |
搜索全部原始记忆 | 需要翻旧账 |
memo zoom <lo>-<hi> |
展开压缩块到子块 | 需要细节 |
memo forget <lo>-<hi> |
删坏摘要,下次 nap 重建 | 压缩质量出问题 |
安装一行:
curl -fsSL https://raw.githubusercontent.com/VictorTaelin/OptMem/main/install.sh | sh
它会自动打印出 ## Memory 块,复制粘贴就完事。
核心设计:定长记录 = O(1) 寻址
OptMem 的哲学是「位置即身份」:
- 每条记忆 → 固定 320 字节 → 物理偏移 = 逻辑 ID
- 不需要 B-Tree / 倒排索引 / 哈希表
- Agent 要读第 N 条记忆,
seek(N × 320)直接读 - 100 万条记忆(608 MB),
wake耗时 0.03 秒
配合二叉树压缩(TREE/ 目录存摘要),保持「冷数据可压缩、热数据秒读」的平衡。所有数据存在 LOG.txt(append-only,永不修改)+ TREE/(可重建缓存),$MEMORY_DIR 环境变量可以指向任何地方——同步盘、git 仓库都行。
为什么不是又一个 RAG?
它主动拒绝了三个主流做法:
- ❌ 向量数据库
- ❌ 嵌入模型
- ❌ 后台进程
记忆由人类/Agent 在 note 时显式触发压缩,没有定时任务、没有守护进程、没有中间件。Victor 的原话:「The cost is O(1), the dep is numpy(不是 NumPy,是 no deps).」
适合谁用?
- 想给 Claude Code / Codex / Cursor / Gemini CLI 装长期记忆的开发者
- 不想运维向量库、图数据库、嵌入服务的个人/小团队
- 喜欢「一个文件能跑就跑」哲学的极简主义者
- 需要把 memory 同步到自己的 git 仓库/Syncthing 的隐私敏感用户
几个细节坑提醒
- 没有冗余去重检测——你自己在 prompt 里约束「Don’t register redundant memories」
memo提问压缩时必须执行——别跳过,否则后续wake会读到不完整的上下文~/.optmem/memory/下任何东西都别手动改——工具自己管理,改了会破坏索引
GitHub
仓库地址: https://github.com/VictorTaelin/OptMem
仓库目前 2k+ Star,作者仍在迭代(7 月底刚加 Windows 原生支持)。如果你受够了向量数据库的重,这套轻量方案值得一试。
GitHub 链接:VictorTaelin/OptMem
评论区
0 条评论
登录后可评论。