mimo-code 接入 spec-manager 后形成以三层规格为锚点的闭环反馈机制:l1 prd 定义影响范围、l2 design 约定路径、l3 impl 锁定修改点;所有 agent 输出须对齐 l3,生成结构化反馈信号并共享于同一 spec id 下,通过语义比对实现精准闭环验证。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

多 Agent 协作中的反馈循环,不是让 AI 反复重试,而是让每次执行都留下可验证、可回溯、可进化的痕迹。MiMo-Code 本身不自带闭环能力,但接入 spec-manager 后,它就从“写完即走”的补全工具,变成一个能自我校准的修复引擎。
用规格锚定反馈起点
没有明确目标的修复,容易陷入语义镜像:Agent A 说“修复空指针”,Agent B 返回“已检查 null 值”,A 看到“null”又触发新一轮“请再确认边界条件”……循环由此开始。
spec-manager 强制在修复前冻结三层规格:
- L1 PRD:定义问题影响范围(如“登录页点击后崩溃,仅影响 iOS 17+”)
- L2 Design:约定修复路径(如“不改 AuthSDK,只加空值 guard”)
- L3 Impl:锁定具体修改点(如“在 UserSession.init() 第 42 行插入非空断言”)
这三层规格成为所有后续反馈的唯一参照系。任何 Agent 的输出,都必须对齐 L3,否则直接被拒绝,不进入下一轮。
把修复动作转化为结构化反馈信号
MiMo-Code 执行修复后,不再只输出 diff 或日志。spec-manager 要求它同步生成三类反馈信号:
- 执行证据:git diff hash + 测试覆盖率变化截图
- 自检结论:是否覆盖 L3 所有修改点?是否触发 L2 约定的副作用检查?
- 环境反馈:CI 是否通过?预发环境是否复现原问题?
这些信号被结构化存入 spec 实例,成为下一次同类问题的先验知识。比如某次修复因未 mock 网络超时而失败,该失败模式会被自动标记为“L3 Impl 必须含 timeout mock”规则,下次同类任务直接生效。
让多个 Agent 在同一反馈轨道上接力
单次修复常需多个角色协作:静态分析 Agent 找出潜在空指针、测试 Agent 生成边界用例、部署 Agent 推送验证包。若无统一反馈轨道,各 Agent 容易各执一词。
spec-manager 提供共享上下文空间:
- 所有 Agent 都读写同一个 spec ID 下的 feedback log
- 消息格式强制包含 performative 字段(如 "confirm" / "refute" / "extend"),避免模糊响应
- 当测试 Agent 发送 "refute" 并附带复现步骤,系统自动触发静态分析 Agent 的二次扫描,而非让修复 Agent 盲目重试
这种设计切断了“你问我答、我再问你”的镜像链,把协作拉回到以规格为轴心的负反馈轨道上。
闭环验证不是重跑,而是比对
传统做法是“修复 → 测试 → 失败 → 再修复”。spec-manager 把验证变成一次精准比对:
- 提取 L3 规格中声明的“预期行为变更”(如“点击登录按钮后,不再抛出 NPE,而是显示 Toast”)
- 调用自动化验收工具,提取实际运行中对应事件流
- 计算二者语义相似度(非字符串匹配),低于阈值即判定闭环失败
这意味着:即使测试通过,但 Toast 文案与规格不符,也会被拦截;即使测试失败,但错误堆栈指向 L3 之外的模块,系统会提示“问题超出当前规格范围”,而非让 Agent 继续瞎猜。











