
进入 Compose 模式启动全流程
在终端中执行 mimo 命令后,按下 Tab 键切换至 Compose 模式(界面右上角会显示 “Mode: compose”)。此时只需用自然语言描述你的需求即可,例如:
- “对 src/utils/ 和 src/api/ 下所有导出函数执行回归测试:检查函数签名是否发生变化、行为是否向后兼容、新增函数是否覆盖了基础用例”
- 或者更具体一些:“对比 v2.3.0 与 v2.4.0 两个分支,运行全部单元测试并生成差异报告,标注可能破坏兼容性的变更点”
系统会自动将任务进行拆解,不再仅仅生成一段代码,而是调度多个子 Agent 并行执行分析、比对、测试与报告生成四个关键环节。
子 Agent 分工执行关键动作
在 Compose 模式下,主 Agent 会动态创建多个子 Agent,每个子 Agent 只专注于一类职责,并且共享当前项目的上下文信息(例如 Git 状态、tsconfig 配置、jest 配置等):
- Diff Agent:提取两个版本的 AST,识别函数签名、导出项以及类型定义的变化。
- Test Runner Agent:基于已有的测试文件(或自动生成最小覆盖用例),在隔离环境中执行 jest / vitest,捕获失败用例与超时情况。
- Beha vior Checker Agent:对关键函数进行抽样调用,比对两个版本的输出结果(包括边界值与错误路径),发现那些静默的行为偏移。
- Reporter Agent:汇总三个 Agent 的结果,生成 Markdown 格式的报告(包含变更摘要、失败堆栈、风险等级标注),并自动保存到
reports/regression-20260625.md文件中。
所有子 Agent 均支持后台运行,按 Ctrl+C 可随时取消任意一个环节,不影响其他进程;在执行期间,通过 /status 命令即可查看各个 Agent 的进度与日志片段。
用记忆机制保障回归一致性
回归测试的核心价值在于可重复、可比对。MiMo Code 的三重记忆机制恰好为这一点提供了有力支撑:
- 项目记忆:首次运行后自动生成
MEMORY.md文件,记录你定义的“兼容性规则”(例如“utils/date.ts 中所有函数必须保持 ISO8601 格式的输入输出”),后续回归时自动校验这些规则。 - 会话检查点:中断后输入
/resume,即可从上次测试的断点处继续执行,不会重复运行已经通过的模块。 - Dream 压缩:每 7 天自动触发
/dream操作,合并历史回归报告,剔除冗余用例,保留高风险路径的强化测试集。
这意味着同一个仓库连续运行 3 个月的回归测试,Agent 不会越跑越慢,反而会越跑越精准——它记住了哪些变更曾经真正引发过问题。
与现有工程流程无缝衔接
MiMo Code 并不另起炉灶,而是直接复用你已有的工具链:
- 自动识别
package.json#scripts.test或vitest.config.ts,直接调用原始命令。 - 读取
.gitignore和tsconfig.json,跳过非源码路径,避免误测 node_modules 目录。 - 当测试失败时,自动执行
git checkout HEAD --回滚临时修改,确保工作区保持干净。 - 报告生成后,可选择执行
git add reports/ && git commit -m "chore: auto-regression report"。
无需修改构建配置,也无需学习新的 DSL,回归测试就自然嵌入在日常终端操作中,使用起来非常顺手。
