MiMo Code的记忆系统采用四层结构:Session Memory、Cycle Checkpoint、Dream Memory和Distill Memory,分别管理实时上下文、周期快照、跨会话经验与通用规则;由writer subagent专职结构化写入,支持语义+结构双路精准检索,并以纯文本本地存储,确保可读、可查、可编辑。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

MiMo Code 的记忆系统不是把聊天记录存下来就完事。它把记忆拆成四层,每层管不同时间尺度和用途,重点是让长程编程任务不“失忆”、不“串场”、不“忘进度”。
四层记忆结构各司其职
不同于传统 Agent 只靠向量库临时召回,MiMo Code 明确划分了四个物理与逻辑分离的记忆层级:
- Session Memory(会话内存):运行时驻留内存,只保留当前任务的实时上下文,容量受模型窗口限制,用完即丢
- Cycle Checkpoint(周期快照):当上下文使用率达 20%/45%/70% 时自动触发,由独立 writer subagent 将结构化状态(如已改文件、测试结果、失败堆栈)写入本地 JSON 文件,不依赖 LLM 解析
- Dream Memory(梦境记忆):跨 session 的经验沉淀区,存储用户偏好、项目架构理解、高频踩坑点等高信号事实,格式为 Markdown + YAML frontmatter,支持人工编辑与 git 版本管理
- Distill Memory(蒸馏记忆):定期从 Dream 中提取通用规律(比如“该仓库禁用 require.ensure”“后端 API 响应必含 x-request-id”),生成轻量规则文件供 future agent 初始化时加载
记忆写入:谁来记?记什么?怎么记?
写入不是由主 Agent 边干边想,而是交由专用 writer subagent 承担。它不参与决策,只做三件事:识别关键事实、过滤噪声、结构化落盘。
- 识别依据包括:代码变更 diff、测试失败断言、用户显式标注(如 /remember this)、CLI 工具返回的非零退出码
- 过滤掉试错注释、中间调试日志、重复报错、未确认的猜测性修改
- 落盘格式统一为 .mimo/mem/ 下的带时间戳文件,例如
2026-06-24T14:22:08Z-docker-build-fail.mimo,含 context、error、fix_attempt、verified 五个字段
记忆检索:不是搜得全,而是召得准
检索发生在两个环节:任务启动时预加载,和执行中动态触发。它不靠全文模糊匹配,而是基于语义+结构双路召回:
- 语义路:对当前问题 embedding 后,在 Dream 和 Distill 层做向量检索(使用本地 LiteLLM + Qdrant 轻量实例)
- 结构路:解析当前命令路径、文件类型、错误关键词,直接匹配 .mimo/mem/ 中的 metadata 标签(如
tags: ["auth", "jwt", "401"]) - 最终注入上下文前,还会做一次 token 预估——若总长度超阈值,优先保留 verified=true 的条目,剔除 confidence<0.85 的推测项
记忆维护:可读、可查、可修
所有记忆都以纯文本形式存在本地磁盘,默认路径 ~/.mimo/mem/,没有黑盒数据库。
- 开发者可直接用 vim 或 VS Code 打开编辑 Dream 文件,修正过时信息
- 用
mimo mem list --tag auth查看所有认证相关记忆,mimo mem show 2026-06-24T14:22查单条详情 - 遇到冲突记忆(如两份对同一配置的不同结论),系统会在 CLI 提示并标出来源 commit hash,由用户决定 merge 或 discard



















