回归测试最令人困扰的问题是什么?重复劳动、上下文断裂、每次都要从头开始。MiMo Code 的持久化记忆功能正是针对这些痛点设计——它并非依赖模型死记硬背,而是通过结构化记录、自动续写与周期清理,将回归测试本身转化为可沉淀、可复用、可演进的工程资产。简单来说,就是让 AI 真正理解“这个项目上次通过的基线是什么”“哪些用例长期不稳定”“上一轮修复又引入了哪些新风险”。

项目记忆:将测试策略固化到 MEMORY.md 中
每次启动回归任务时,MiMo Code 会自动读取项目根目录下的 MEMORY.md,从中提取关键信息:
- 已知不稳定用例列表(包含失败频率、环境依赖、历史修复 PR 编号)
- 当前主干分支的准入标准(例如:覆盖率不低于 85%,关键路径测试通过率 100%)
- 最近三次全量回归的耗时分布与瓶颈模块(例如:“test_auth_flow 平均耗时从 2.1 秒升至 4.7 秒”)
- 被跳过的测试项及跳过原因(例如:“test_legacy_api_v1 —— 待迁移,标记为 @deprecated”)
这些信息并非人工维护的文档,而是由 MiMo 在每次执行 mimo test --regression 后自动更新——失败日志被解析、耗时异常被标注、跳过行为被归因,全部写入 MEMORY.md 的对应章节。
会话检查点:中断后精准恢复测试上下文
回归测试常因资源不足、CI 队列阻塞或手动干预而中断。传统工具重启后必须重跑全部用例,而 MiMo Code 则在每轮子任务结束时保存检查点:
- 已执行的测试集范围(例如:
test/unit/auth/✅,test/integration/payment/⏳) - 当前失败堆栈的最小复现路径(包含临时生成的 fixture 文件路径)
- 尚未验证的修复补丁关联 commit hash(用于后续 diff 比对)
下次运行 mimo resume 时,它会直接加载检查点,跳过已完成阶段,从断点继续执行,并自动比对新旧结果差异,生成增量报告。
任务进度树:将回归拆解为可追踪的原子节点
MiMo Code 将一次回归视为树状任务(T1 → T1.1, T1.2…),每个节点代表一个可验证的操作:
- T1:准备环境 → T1.1 安装指定版本 Python,T1.2 启动 mock 数据库,T1.3 加载基线数据快照
- T2:执行测试 → T2.1 运行核心路径,T2.2 运行边界用例,T2.3 触发并发压测
- T3:分析结果 → T3.1 标记不稳定用例,T3.2 提取性能退化指标,T3.3 生成修复建议补丁
树节点状态实时写入本地 .mimo/tasks.json。当你询问“上次 T2.2 耗时异常的原因查清了吗?”,它能立刻定位到对应日志段落和 MEMORY.md 中的关联决策记录。
/dream 命令:让记忆随项目一起进化
每周运行一次 /dream,MiMo 会启动专用子 Agent 执行三项操作:
- 合并重复记录(例如多个会话中都提到 “test_login_timeout 失败因网络抖动”,只保留最新一次带时间戳的结论)
- 验证路径有效性(删除已不存在的测试文件引用,更新被重命名的模块导入路径)
- 压缩冗余上下文(将连续五次相似的失败堆栈,提炼为一条泛化规则:“当 JWT 过期时间设为 0 时,auth 中间件抛出空指针”)
这个过程不会改变原始日志,只优化 MEMORY.md 和索引结构,确保长期使用后记忆更精炼、检索更精准。
