开源项目第178期:OptMem — 426 个 token 的提示词,给 AI Agent 跨会话的持久记忆
引言“AI Agent 记性不好不是模型的问题是没有给它一个地方存东西。”这是「每日一个开源项目」系列的第 178 篇。今天的项目是OptMem—— Victor TaelinHigherOrderCO 创始人写的一个极简 AI Agent 持久记忆工具核心是一个 Python 脚本 一段 426-token 的提示词让你的 AI Agent 在会话结束后还能记住上次发生了什么。Claude Code、Codex、Cursor 这类 AI 编程助手有一个共同局限每次新会话都从零开始上次讨论的架构决策、踩过的坑、记住的偏好全部消失。你不得不反复在新会话里解释背景。OptMem 解决的就是这件事给 Agent 一个可持久化的记忆存储让它真的能记住。整个方案的复杂度一个无依赖的 Python 脚本加上把一段提示词粘贴到你的 AGENTS.md 里。1,100 颗 StarVictor Taelin 的个人项目。你会学到什么AI Agent 为什么没有跨会话记忆OptMem 的解法是什么二叉树摘要结构怎么在 O(1) 读取的同时控制 token 消耗memo wake/memo note/memo nap六个命令的工作原理426-token 提示词块里写了什么为什么是 426 个 tokenOptMem 和向量数据库的本质差异适合什么规模的场景在 Claude Code 里的完整配置流程前提知识使用过 Claude Code 或类似的 AI 编程工具了解 AGENTS.md / CLAUDE.md 的概念会基础 Python 环境操作问题背景AI Agent 的健忘症你用 Claude Code 开发一个项目在某次会话里确定了认证方案用 magic link 而不是密码发现了一个特定 API 的速率限制记住了你的测试数据库连接字符串然后会话结束。下次打开 Claude Code它什么都不记得了。你要重新解释上下文重新告诉它那些背景信息有时候还会重复踩同一个坑。这个问题有几种常见的解法方案做法问题CLAUDE.md手动把重要信息写进去需要人工维护容易忘上下文压缩每次会话开始复制上次的内容麻烦不自动化向量数据库语义搜索存储历史需要服务器、嵌入模型复杂OptMemAgent 自己记自动管理—OptMem 的思路让 Agent 自己负责记忆而不是靠人工维护。Agent 在会话开始时加载历史记忆在工作过程中遇到值得保存的信息就自动记录记忆跨会话持久化在本地文件里。核心架构append-only 日志 二叉树摘要OptMem 的所有数据存在~/.optmem/memory/下结构极简~/.optmem/memory/ ├── LOG.txt ← 所有原始记忆每行一条只追加从不修改 ├── TREE/ ← 二叉树摘要节点缓存可从 LOG.txt 完整重建 └── config ← 配置WAKE_LINES 等LOG.txt不可变的事实记录每次memo note 某件事都把一行追加到 LOG.txt 末尾。这个文件从不被修改或删除只追加。固定宽度的记录格式使得每条记忆的位置本身就是它的标识查找是 O(1) 的一次寻址而不是全文扫描。0000000001 | 2026-08-03T10:23:11 | auth flow uses magic links, no passwords 0000000002 | 2026-08-03T10:45:33 | stripe API rate limit is 100 req/min per key 0000000003 | 2026-08-03T11:02:55 | postgres on localhost:5432, dbdev_app ...TREE/二叉树摘要一个缓存随着记忆增多每次 wake 把所有原始记忆都展示给 Agent 会消耗大量 token。OptMem 用二叉树摘要解决这个问题原始记忆 摘要树结构 #0: magic links #0-34条的摘要 #1: stripe rate limit → #0-10和1的摘要 #2: postgres port #2-32和3的摘要 #3: test user email #2-3 ... #0-6364条的摘要 #0-3132条的摘要 #32-6332条的摘要 ...记忆 #0 和 #1 合并为节点#0-1两条的摘要节点#0-1和#2-3合并为节点#0-3四条的摘要以此类推形成二叉树关键点TREE/ 里的所有摘要都是缓存可以从 LOG.txt 完整重建。真正的数据只有 LOG.txt。wake 时展示什么memo wake读取这个树输出一个分层视图## Memory [#0-1023] Summary: Auth uses magic links. Stripe rate 100/min. DB on localhost:5432... [#1024-2047] Summary: Switched to pnpm. Tests run on port 3001. Error handling... ... [#4095] 2026-08-03T14:22:11 | updated homepage hero copy to focus on 10x faster [#4096] 2026-08-03T14:35:44 | user prefers tabs not spaces in this repo [#4097] 2026-08-03T15:01:22 | production deploy requires manual approval step最近的记忆以原始形式展示精确较早的记忆以逐级摘要形式展示压缩。WAKE_LINES配置控制展示多少行默认 96 行约 8k token。六个命令memo wake每次会话开始时运行加载记忆树输出## Memory块供 Agent 读取。memo wake# 输出分层的记忆摘要贴入上下文memo note ...记录一条事实最多 280 字节类 Twitter 设计保持记忆原子性。memo notedecided to use Redis for session storage after testing Postgres was too slowmemo nap处理积累的合并请求——对二叉树节点执行摘要合并。由于没有后台进程压缩任务在 Agent 工作时内联执行。memo recall regex对所有记忆做全文正则搜索。memo recallredis|session# 找到所有提到 redis 或 session 的记忆memo zoom lo-hi展开一个摘要节点看它下面的两个子节点层层向下直到原始记忆。memo zoom0-1023# 展开[0-511] 摘要 和 [512-1023] 摘要memo zoom0-511# 继续展开...memo forget lo-hi删除一个质量差的摘要节点下次nap时从原始记忆重建。426-token 提示词块整个 OptMem 对 Agent 的集成就是把下面这段提示词粘贴到AGENTS.md或CLAUDE.md## Memory You have persistent memory via the memo command at ~/.optmem/memo. **At session start:** run memo wake before any other tool call. **During work:** run memo note ... whenever you learn something worth keeping. - Decisions made, facts discovered, user preferences, pitfalls found - Max 280 chars per note. Be specific. **On compression requests:** answer them before proceeding with other work. **Subagent rule:** if you are a subagent, do NOT run any memo commands. Commands: - memo wake — load memory - memo note ... — record a fact (≤280 chars) - memo nap — process pending merges - memo recall regex — search memories - memo zoom lo-hi — expand a tree node - memo forget lo-hi — drop a bad summary Never directly edit files under ~/.optmem/memory/.这段提示词做了几件重要的事强制顺序wake必须是 Agent 做的第一件事触发时机明确告诉 Agent 什么情况下该记——决策、发现、偏好、坑子 Agent 保护并行子 Agent 不能运行 memo防止重复写入错误不可直接编辑Agent 只通过命令操作记忆不直接写文件安装和配置安装一行命令# macOS / Linuxcurl-fsSLhttps://raw.githubusercontent.com/VictorTaelin/OptMem/main/install.sh|bash# Windows 见 WINDOWS.md安装后memo命令可用数据目录在~/.optmem/。集成到 Claude Code# 1. 运行 memo wake获取提示词块memo wake# 2. 把输出的 ## Memory 块粘贴到你的 AGENTS.md 或 ~/.claude/CLAUDE.md# 3. 之后每次 Claude Code 会话它会自动执行 memo wake 加载记忆配置记忆目录# 把记忆存到 Dropbox/iCloud/git 仓库里跨机器同步exportMEMORY_DIR~/Dropbox/optmem-memoryOptMem vs 向量数据库维度OptMem向量数据库Chroma、Pinecone 等检索方式正则全文搜索语义模糊搜索搭建成本粘贴一段提示词搭建服务器 嵌入模型可检查性纯文本用编辑器直接打开不透明的向量每次会话成本wake 加载固定 token 预算仅查询时消耗百万条记忆速度wake: 0.03 秒取决于服务器语义检索无只有精确词匹配支持适合规模个人 / 单项目企业级大规模OptMem 的核心优势透明度。你可以打开 LOG.txt一行行看 Agent 记住了什么、相不相信它。向量数据库里存的是你读不懂的浮点数。OptMem 的检索局限正则搜索要求精确词匹配。如果记忆写的是登录改用 magic link但你后来问认证方案是什么正则找不到。二叉树摘要部分弥补了这个问题——wake 把摘要加载进上下文模型做语义匹配——但每次会话都需要花固定 token 预算不管用不用到那些旧记忆。适合的场景一个人 一台机器 一个项目的 AI Agent需要记住上周做了什么决定可以打开文本文件看 Agent 记住了什么比检索精度更看重可控性和透明度。项目地址与资源GitHub: VictorTaelin/OptMem作者: Victor TaelinHigherOrderCO 创始人也做 Bend 语言和 HVM 运行时总结OptMem 代表了一种够用就好的工程哲学解决一个真实问题不过度设计。AI Agent 的跨会话记忆是一个实际痛点。向量数据库、RAG 管道、嵌入模型——这些方案技术上更完整但搭建成本和复杂度对个人开发者来说往往是过度工程。OptMem 的方案一个 Python 脚本零依赖追加写文件二叉树做摘要压缩整个集成只需粘贴一段提示词。这个架构做对了一件事LOG.txt 是唯一的真相来源TREE/ 只是缓存。不管摘要质量如何原始记忆永远完整随时可以重建。这让系统在最坏情况下也只是慢一点而不是丢数据。如果你每天用 Claude Code 工作OptMem 能解决的是一个具体的日常痛点。装好之后它在后台静默工作你只需要偶尔留意 Agent 有没有记录重要决策。探索 PrimeSkills —— 精选 AI Agent 与技能的市场每一个都经过真实企业工作流验证去掉浮夸留下真正有用的。欢迎访问我的个人主页发现更多有价值的见解和有趣的产品。

相关新闻

酒吧物料管理软件 vs 传统Excel记账:哪种更适合中小酒吧?

酒吧物料管理软件 vs 传统Excel记账:哪种更适合中小酒吧?

中小酒吧老板、店长、财务及库管人员常在月末面临库存核对的难题。月底酒水盘点耗时、损耗率难以追踪、账实不符等日常经营痛点,直接影响门店实际利润。 盘点耗费大量人工时间隐性损耗难以查明原因采购与库存数据常常对不上 客观对比传统表格与专业酒吧物料管理软件…

2026/8/8 0:08:15 阅读更多 →
Grok Build 开源:当构建工具成为 AI 原生的试验场

Grok Build 开源:当构建工具成为 AI 原生的试验场

🌊 专注 AI 大模型与前沿科技深度解析,习惯从工程师视角拆解技术热点。 📚 欢迎 点赞、收藏、关注,一起在技术浪潮中保持清醒与好奇 🚀Grok Build 开源:当构建工具成为 AI 原生的试验场 开源社区最近又迎来…

2026/8/8 0:08:15 阅读更多 →
Mem Reduct:3MB超轻量级Windows内存清理工具的终极指南 [特殊字符]

Mem Reduct:3MB超轻量级Windows内存清理工具的终极指南 [特殊字符]

Mem Reduct:3MB超轻量级Windows内存清理工具的终极指南 🚀 【免费下载链接】memreduct Lightweight real-time memory management application to monitor and clean system memory on your computer. 项目地址: https://gitcode.com/gh_mirrors/me/me…

2026/8/8 0:07:14 阅读更多 →

最新新闻

Linphone Android如何用异步架构重构通信体验:从卡顿瓶颈到毫秒级响应

Linphone Android如何用异步架构重构通信体验:从卡顿瓶颈到毫秒级响应

Linphone Android如何用异步架构重构通信体验:从卡顿瓶颈到毫秒级响应 【免费下载链接】linphone-android Linphone.org mirror for linphone-android (https://gitlab.linphone.org/BC/public/linphone-android) 项目地址: https://gitcode.com/gh_mirrors/li/li…

2026/8/8 1:11:03 阅读更多 →
替代料如何实现Pin-to-Pin上板即用

替代料如何实现Pin-to-Pin上板即用

替代料如何实现Pin-to-Pin上板即用结论先说:Pin-to-Pin不是“脚距一样、封装相近”,而是替代料装到原PCB后,不改焊盘、不飞线、不调整外围参数,就能满足原来的功能、性能、可靠性与安全要求。要实现上板即用,必须通过机…

2026/8/8 1:11:03 阅读更多 →
15分钟黑苹果革命:OpCore-Simplify图形化配置终极指南

15分钟黑苹果革命:OpCore-Simplify图形化配置终极指南

15分钟黑苹果革命:OpCore-Simplify图形化配置终极指南 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为复杂的黑苹果配置而烦恼吗&am…

2026/8/8 1:11:03 阅读更多 →
5G VoNR技术解析:高清语音通话的实现与优化

5G VoNR技术解析:高清语音通话的实现与优化

1. 5G与VoNR技术全景解析当我们在城市里看到越来越多的5G基站时,可能很少有人意识到这些铁塔背后正在发生一场通信技术的革命。作为从业十余年的通信工程师,我见证了从2G到5G的演进过程,而VoNR(Voice over New Radio)无…

2026/8/8 1:09:02 阅读更多 →
PostgreSQL安装配置与基础操作指南

PostgreSQL安装配置与基础操作指南

1. PostgreSQL入门指南:从安装到基础应用PostgreSQL作为一款功能强大的开源关系型数据库系统,已经成为了企业级应用和开发者工具箱中不可或缺的一部分。我最初接触PostgreSQL是在2013年一个电商项目的数据迁移工作中,当时就被它出色的JSON支持…

2026/8/8 1:09:02 阅读更多 →
网络工程师实战入门:从零构建企业网与故障排查方法论

网络工程师实战入门:从零构建企业网与故障排查方法论

最近两年,我身边想转行或者刚入行的朋友,问得最多的问题就是:“网络工程师到底该怎么学?” 他们手里可能有一堆教程,从“零基础”到“实战案例”应有尽有,但真正打开电脑,面对一个模拟的网络拓扑…

2026/8/8 1:09:02 阅读更多 →

日新闻

AI多智能体时代来临,读懂MCP与A2A架构,抢占企业数字化新风口

AI多智能体时代来临,读懂MCP与A2A架构,抢占企业数字化新风口

当下AI应用飞速普及,无数企业下场搭建智能体系统,可落地阶段难题接踵而至:上下文无限堆积频繁爆栈、AI工具调用准确率低下、Token成本居高不下、企业数据权限混乱暗藏安全隐患……很多团队卡在架构搭建环节,空有前沿技术概念&…

2026/8/8 0:00:07 阅读更多 →
PHP二维码生成终极指南:用chillerlan/php-qrcode打造专业级二维码

PHP二维码生成终极指南:用chillerlan/php-qrcode打造专业级二维码

PHP二维码生成终极指南:用chillerlan/php-qrcode打造专业级二维码 【免费下载链接】php-qrcode A PHP QR Code generator and reader with a user-friendly API. 项目地址: https://gitcode.com/gh_mirrors/ph/php-qrcode 在当今数字时代,二维码已…

2026/8/8 0:00:08 阅读更多 →
UniApp微信小程序隐私保护组件开发:从原理到实战

UniApp微信小程序隐私保护组件开发:从原理到实战

1. 项目缘起:为什么我们需要一个隐私保护通用组件?最近在维护一个基于uniapp开发的微信小程序矩阵时,我遇到了一个非常棘手的问题。随着平台对用户隐私保护的要求越来越严格,几乎每一个新版本发布,或者在某些特定机型&…

2026/8/8 0:00:08 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/6 22:02:27 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/6 22:02:27 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/7 23:24:08 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/7 17:02:37 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/7 23:54:54 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/7 17:02:36 阅读更多 →