mimo code 通过动态工作流实现容错:子 agent 主动上报结构化异常,主 agent 按统一枚举类型路由处理;barrier 支持超时与最小成功数降级;writer 持久化异常快照支持断点恢复;goal verifier 独立校验目标达成真实性。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

MiMo Code 的任务编排不是靠 prompt 硬凑流程,而是用可执行的 JavaScript 脚本在沙箱中调度子 Agent。异常响应逻辑就藏在这个动态工作流(Dynamic Workflow)的设计里——它不依赖模型“想明白怎么兜底”,而是把容错机制写进运行时。
异常由子 Agent 主动上报,而非等待失败后被动捕获
每个子 Agent 在调用工具(如 git commit、npm test、curl 请求)后,必须返回结构化结果:status(success / error)、output(原始输出)、error(错误堆栈或语义描述)。主 Agent 不做猜测,只依据这个三元组判断是否继续或重试。
- 例如:当 TestAgent 执行
npm run test返回{"status":"error","error":"TimeoutError: Jest test suite timed out"},主流程不会跳过,也不会盲目重试,而是触发预设的 fallback 分支——比如先运行npm run test -- --watchAll=false缩小范围 - 所有子 Agent 的错误分类都映射到统一枚举:NetworkFailure、PermissionDenied、SyntaxError、Timeout、NotFound,便于主流程按类型路由处理策略
barrier 同步点自带超时与降级开关
Dynamic Workflow 中的 barrier() 不是简单等全部子 Agent 完成,而是支持配置超时阈值和最小成功数。这决定了协作系统能否在部分异常下仍交付可用结果。
- 默认行为:等待全部 5 个子 Agent 返回,超时 60 秒则中断并标记为 partial-failure
- 可显式声明:
barrier({ timeout: 30000, minSuccess: 3 })—— 只要 3 个完成即继续,其余被标记为 skipped,并记录到会话记忆中供后续 /dream 整合时分析模式 - 被跳过的子 Agent 任务不会丢弃,而是转入后台队列,待资源空闲或人工确认后重放
Writer subagent 负责异常状态持久化,避免“断点失忆”
普通终端 Agent 在报错退出后,上下文往往丢失。MiMo Code 把异常现场的快照交给独立的 Writer subagent 处理——它不参与决策,只确保状态可重建。
- 每次子 Agent 出错,Writer 会立即保存:出错前最后 3 轮输入/输出、当前 workspace diff、工具调用链 traceID 到本地 checkpoint 文件
- 用户执行
mimo resume时,系统加载该 checkpoint,重建完整执行环境(包括已加载的 Git 状态、临时文件、内存变量),而非从头解释需求 - 这种设计让异常不是终点,而是任务的一个“检查点”。尤其适合 CI 流水线中断后的人工介入场景
Goal verifier 强制校验“完成”的真实性,防伪成功
很多协作失败源于子 Agent 报告“已完成”,但实际未达目标。MiMo Code 的 Goal 机制用独立模型审查整个执行轨迹,不信任任何子 Agent 的口头承诺。
- 例如用户设定停止条件:“生成 React 组件并跑通所有单元测试”,即使所有子 Agent 都返回 success,Goal verifier 仍会调用
jest --json拿真实测试报告比对覆盖率与通过率 - 若发现 1 个 test case failed,verifier 返回具体缺失项:“Test 'should handle empty drag source' failed with TypeError: Cannot read property 'length' of undefined”,并附带对应代码行号
- 主 Agent 收到该反馈后,自动触发修复循环,而非终止会话











