MemU:给编码代理装上持久记忆的最快上手路径
【免费下载链接】memUPersonal memory across agents项目地址: https://gitcode.com/GitHub_Trending/mem/memU
MemU 是一个面向 Claude Code、Codex 这类编码代理的 AI 记忆系统:会话结束自动沉淀成可检索的记忆文件,下次遇到相关问题直接召回。适合想让代理拥有跨会话记忆的工程开发者。
它解决什么实际痛点
你有没有这种体验:在 Codex 里开了个新会话,代理不记得项目技术栈,上次踩过的坑又要踩一遍。客服机器人、个人助理同样如此——每轮对话都从零开始,偏好要重新说,流程要重新讲。
MemU 的思路很简单:不存黑盒向量块,而是存可读的文件。它定时挖掘你的会话日志,让代理自己把结论和工作流蒸馏成 Markdown,检索时再对这些文件做向量搜索。记忆因此可读、可 diff、可被多个代理共享。
🚀 3 条命令跑通第一个示例
git clone https://gitcode.com/GitHub_Trending/mem/memU && cd memU python3.11 -m venv .venv && source .venv/bin/activate pip install -e .要求 Python 3.11+。检索靠 embedding,默认走 OpenAI,先配好密钥再跑第一条命令:
export OPENAI_API_KEY=sk-... echo '{"recall_files":[{"name":"prefs","track":"memory","description":"coffee preference","content":"# Prefs\n- dark roast"}]}' > r.json memu commit r.json memu retrieve "what coffee does the user prefer"commit把记忆文件写进本地 SQLite(默认./data/memu.sqlite3),retrieve返回按相似度排序的片段列表——全程不调 LLM,几秒内出结果。
它内部怎么工作:从会话日志到可检索记忆
数据进来→被处理→存取的三步:
- 会话切片:新会话日志被切成自包含的作业文件
- 代理蒸馏:代理自己决定新建、修补还是跳过记忆
- 文件+向量:记忆按文件存,检索走 embedding 相似度
整条管线只有两个接口:record(定时任务挖掘历史)和 inject(在代理的指令文件里加一句"先检索再回答")。判断和综合都留在代理侧,MemU 本身只负责存储、向量化和检索。
MemU 如何把对话变成结构化记忆
你能用它做什么:喂入 1-10 个完成的会话,产出 memory/skill 两条轨道上的记忆文件。
memu memorize prepare session-1.json --jsonprepare会校验输入、落地转录、生成有序的作业文件,并吐出一段executor_prompt可以直接交给外部代理执行;代理写完后跑memu memorize commit,按内容哈希做 diff,只提交有变化的文件。输入契约见 docs/developer.md,核心实现在 src/memu/app/memorize/lifecycle.py。
注意同一个会话会产出两份投影:memory 轨道只收纯对话(用户事实、偏好),skill 轨道连工具调用一起收(工作流证据)。
MemU 如何从历史里自动提炼可复用技能
你能用它做什么:代理把某类任务摸索出解法后,流程本身被写成带名称和描述的 skill 文件,下次相似任务出现时,任何已接入的代理都能直接取用。
每个 skill 是一份含可复用流程、分支和坑点的 Markdown,提交时只对名称和描述做 embedding。各主机适配器的源码都极薄,比如 src/memu/hosts/codex/cli.py 基本只是一份"日志在哪、指令文件改哪里"的声明,管线全部共享。
⚡ 常见卡点与快速解法
- 首次运行报缺 API key 或检索为空→
export OPENAI_API_KEY=...,或用MEMU_EMBED_PROVIDER+MEMU_API_KEY换 jina/voyage 等 provider - 报
invalid choice→ 包版本过旧,pip install --upgrade memu-cli后重跑 - 第二次
memorize prepare被拒 / 出现database is locked→ 前者说明有未提交的 run,先完成代理执行并memu memorize commit;后者因 SQLite 单写者,并发场景换 Postgres
接下来可以看什么
- 库集成:docs/developer.md — prepare → agent → commit 完整契约与恢复规则
- 换存储后端:docs/sqlite.md — 从 SQLite 切到 Postgres + pgvector
- 代理侧安装:SKILL.md — 一句话把任意代理接进 MemU 的路由技能
跑通之后,拿两个你自己的真实会话文件走一遍 memorize 流程,下次开新会话就能感觉到"代理真的记得"是什么体验。
【免费下载链接】memUPersonal memory across agents项目地址: https://gitcode.com/GitHub_Trending/mem/memU
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考