MiMo Code 的 Memory Agent 采用双层记忆架构:自动的 Cycle checkpoint 机制与可读写的 notes.md + SQLite FTS5 知识库;通过定制触发时机、字段权重、notes 注入规则及 SQLite 检索逻辑,实现精细记忆干预。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

MiMo Code 的 Memory Agent 不是黑箱,它允许开发者在不改动核心逻辑的前提下,精细干预上下文记忆行为。关键在于理解它的双层记忆架构:一层是自动运行的 Cycle checkpoint 机制(负责结构化摘要),另一层是可读写的 notes.md + SQLite FTS5 知识库(承载会话级与项目级语义)。高级技巧的本质,就是在这两层之间建立可控的连接点。
定制 checkpoint 触发时机与字段权重
MiMo Code 默认在上下文达 20%、45%、70% 时触发 Writer 子Agent。你可以在项目根目录的 .mimo/config.yaml 中调整:
- 修改 thresholds:例如设为 [15, 40, 65],让关键信息更早被捕获,适合逻辑密集型任务(如协议解析)
- 重定义 extraction_fields:默认 11 个固定字段(意图、动作等)可删减或扩展;若项目强依赖“API 版本号”或“环境变量约束”,可新增字段并指定提取正则
- 禁用某类 checkpoint:比如开发调试阶段关闭 70% 触发,避免频繁 rebuild 干扰实时反馈
控制 notes.md 的自动注入与语义锚定
notes.md 是主Agent唯一可写的记忆入口,也是人工干预最直接的通道。高级用法包括:
-
前缀标记语法:在 notes.md 开头写
<!-- MEMORY:project:auth-module -->,Memory Agent 会将该段内容绑定到 “auth-module” 标签,后续检索自动关联 -
动态模板注入:通过 CLI 命令
mimo memory inject --template=pr-review,自动填充预设格式的评审要点(如“是否校验 JWT 签名?”“CORS 配置是否覆盖 dev/staging?”) -
禁止自动覆盖:在 notes.md 某段落末尾加
<!-- NO-OVERWRITE -->,Writer 子Agent 会跳过该区块,保留人工维护的关键结论
扩展 SQLite 记忆检索能力
底层 SQLite FTS5 支持自定义 tokenizer 和 rank 函数。你可以:
-
添加代码符号索引:启用
fts5_code_tokenizer插件,使useAuth()这类函数名能被精确匹配,而非仅靠词干 -
设置跨会话相关性衰减:在
.mimo/memory.db中执行 SQL:UPDATE mem_entries SET score = score * 0.95 WHERE last_accessed < datetime('now', '-7 days'),让旧决策权重自然下降 -
绑定 Git commit hash 到记忆条目:当执行
git commit -m "fix login race"后,Memory Agent 自动将本次会话所有 notes 关联到该 hash,回溯时可一键还原上下文
子Agent 协作中的记忆隔离与共享策略
在 Compose 或 Max Mode 下,并行子Agent 默认共享同一份上下文快照。但你可以:
-
按角色隔离记忆视图:启动子Agent 时传参
--memory-scope=test-runner,它只会加载含test-*标签的 notes 和 checkpoint 数据 -
强制同步某次 checkpoint:主Agent 执行
mimo memory sync --to=subagent-id-xyz,将最新结构化摘要推送到指定子Agent,避免其基于陈旧状态做决策 -
临时禁用 Writer 对某子Agent 的监听:在子Agent 启动命令中加
--no-memory-write,适用于只读分析类子任务(如安全扫描),防止无关日志污染主记忆流


















