“无限上下文”这个概念听起来很有吸引力,但别被名称误导——它并不意味着模型窗口真的能容纳整个宇宙。真正关键的是:通过一套工程化的记忆系统,让AI在长期、多轮、跨会话的开发任务中,始终保持对项目的深度理解。这不是靠单次输入的长度堆积,而是依靠结构化沉淀与自动续写机制,本质上是构建一个可生长、可压缩、可复用的长效知识库。

那么,这个知识库具体如何运作?依靠三重记忆机制,实现知识分层存储,各司其职。
三重记忆机制:让知识分层落库
MiMo Code 的长效知识库由三个相互协同、职责分明的模块组成:
- 项目记忆(Project Memory):记录代码库整体架构、关键设计决策、技术选型理由、已知限制等高阶信息。例如“本 Android 项目采用 Jetpack Compose + Hilt,禁用反射式 DI”,这类信息写入后会长期保留,不会随单次会话结束而清除。
- 会话检查点(Checkpoint):在对话达到上下文窗口 20%、45%、70% 时自动触发,由独立 Writer 子 Agent 提取当前会话中的意图、动作、任务树、错误日志、设计变更等 11 个结构化字段,生成精简摘要并存入磁盘。
- 任务进度追踪(Task Progress):实时标记当前任务所处阶段(如“已分析 gradle 配置”“正在重写 LoginActivity”),支持中断后精准续写,避免重复解释上下文。
自动重建与压缩:避免“越用越乱”
当主 Agent 的上下文即将满载时,MiMo Code 不会简单粗暴地截断或丢弃旧内容,而是执行 rebuild 流程:
- 切断当前长上下文流,暂停主 Agent 工作;
- 调用已保存的 checkpoint 文件和 project memory,重建一份轻量但语义完整的上下文;
- 将重建后的上下文注入新会话,主 Agent 继续执行,逻辑上仍是同一任务。
这个过程对用户透明,也不依赖模型自身记忆能力——主 Agent 对记忆文件只有读权限,无法篡改,确保知识一致性。就好比项目组里“执行者”不能修改“文档员”写的纪要,各司其职,不会乱套。
/dream 命令:让知识库自我进化
每 7 天,MiMo Code 自动触发 /dream 命令,启动一次深度知识整理:
- 读取全部历史会话、notes.md、checkpoint 和 project memory;
- 合并重复项,验证路径有效性(例如删掉已不存在的文件引用);
- 去重压缩,把分散的记忆收敛为紧凑、一致、可索引的当前状态;
- 更新全局记忆快照,供后续所有任务调用。
这个机制让 MiMo Code 能真正实现“越用越懂你”:第一次改 build.gradle 可能只识别出版本号,第十次就能主动提醒“上次升级 AGP 后 testOptions.unitTests.includeAndroidResources = true 被注释了,是否需要恢复?”
配置建议:让知识库更稳更可控
长效知识库的价值,离不开合理配置:
- 在 mimocode.json 中启用 project_memory 字段,并指定本地路径,避免依赖云端同步;
- 把 notes.md 设为 Git 忽略项,但允许其参与 /dream 压缩流程,作为临时便签与正式记忆之间的缓冲区;
- 团队项目中,可统一设置 disabled_providers,防止不同成员接入不稳定 provider 导致记忆写入异常;
- 敏感项目建议关闭语音输入,避免语音转文本过程中意外泄露设计意图到本地 ASR 缓存。
这些配置不复杂,但容易忽略——细节决定知识库的稳定性和持续可用性。
