在 AI 协作编程领域,MiMo Code 的 Agent 协同任务分配机制并非依赖随机指派或硬编码规则,而是围绕“角色可识别、职责可拆解、状态可追溯”三大实际开发需求进行设计。它将编程任务视为一条工业流水线,每个子 Agent 如同一位拥有明确工种的工程师,既互不越界,又能主动对齐进度。

通俗而言,该机制的核心在于让多个 AI 角色各司其职,同时像真实开发团队一样,随时掌握彼此的进展与状态。虽然看似复杂,但逐层拆解后便会发现其清晰逻辑。
面向职能划分的角色分工机制
系统预设了四种基础角色 Agent,每类角色对应开发流程中的关键能力节点:
- Planner Agent:负责接收原始需求(例如“添加登录页面”),输出带有约束条件的执行计划,涵盖技术选型、文件结构、接口定义以及测试边界;
- CodeWriter Agent:仅处理已确认的模块级任务,严格依照 Planner 输出的契约生成代码,不擅自扩展逻辑;
- Reviewer Agent:在每次代码提交前自动触发,检查风格一致性、安全漏洞、单元测试覆盖率,并反馈是否需要退回给 Writer 修改;
- Memory Keeper Agent:独立运行,不参与决策,专职捕获会话中的项目规范、历史修改意图、用户偏好等元信息,定期压缩归档供后续调用。
每个角色都拥有明确的职责边界,避免了职责重叠或越权操作。Planner 制定的方案,Writer 严格遵照执行,Reviewer 进行质量把关,而 Memory Keeper 则默默记录所有约定与偏好。这样的分工协作,显著提升了迭代效率。
任务拆解依赖上下文感知,而非固定模板
任务拆解并非静态切分,而是基于动态判断。例如,当用户提出“优化首页加载速度”时,系统不会直接将任务分配给 CodeWriter 编写代码,而是先由 Planner 启动诊断流程:
- 调用内置性能分析工具扫描当前页面资源;
- 识别瓶颈类型——是 JS 执行阻塞?还是图片未使用懒加载?
- 根据结果决定是否需要前端重构、服务端接口合并,或 CDN 配置调整;
- 再将对应子任务分发给匹配角色的 Agent,避免出现“写代码的去改 Nginx 配置”这类错配。
这种动态感知的优势在于,同一需求在不同项目或不同阶段,拆解出的任务可能截然不同。系统能根据当前上下文灵活调整,而非机械套用模板。
协同基于轻量通信协议,不依赖共享内存
各 Agent 之间不直接读写彼此内部状态,而是通过标准化事件总线交换结构化消息:
- 消息包含唯一 task_id、来源角色、目标角色、payload 类型(如 plan_draft / code_diff / review_report);
- 每个 Agent 只订阅自己关心的消息类型,比如 Reviewer 仅监听 code_diff 类事件;
- 失败任务会自动触发重试与降级机制——若 CodeWriter 连续两次生成不可编译代码,系统会切换到更保守的模型参数,并通知 Planner 重新细化约束条件。
这种松耦合架构使每个 Agent 都能专注于自身职责,同时通过事件总线精准感知整体流程进展。即使出现异常,也有降级兜底机制,避免整个链条阻塞。
跨会话协同借助记忆压缩与语义索引
当用户隔天返回继续开发同一项目时,系统无需从头理解:
- Memory Keeper 已将上次会话中的所有关键决策(例如“使用 Pinia 而非 Vuex”“API 响应字段必须保持驼峰”)提取为结构化记忆条目;
- 新会话启动时,Planner 会优先检索这些条目,自动注入到初始 prompt 中,相当于给新启动的 Agent 附带一份“项目简报”;
- 用户也可手动执行 /dream 命令,触发一次记忆整理,合并重复项、剔除过期约定、强化高频模式。
这一机制解决了 AI 编程中长期存在的难题:每次对话上下文断裂,项目历史信息丢失。借助结构化的记忆压缩与语义索引,跨会话协同不再是空谈。从实际体验来看,这种设计使得长时间、大型项目的持续开发真正成为可能。
