可扩展多agent架构需聚焦任务结构、记忆分工与运行时编排:按职责分层设计角色,用dynamic workflow实现类型化脚本编排,构建分级缓存式三重记忆机制,并通过协议化通信与自动冲突消解保障协同可控。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

用 MiMo Code 设计可扩展的多 Agent 开发协作架构,关键不是堆叠智能体数量,而是让每个角色各司其职、通信可控、状态可续。它天然支持子 Agent 协同,但真正实现“可扩展”,得从任务结构、记忆分工和运行时编排三方面入手。
按职责分层设计 Agent 角色
MiMo Code 内置了 CODER、ANALYST、REVIEWER、WRITER 等标准角色,但实际项目中不能照搬枚举——要根据开发流程抽象出稳定、低耦合的职责边界:
- 主代理(Coordinator)专注决策流:不写代码、不查日志,只做任务拆解、Goal 验证、Workflow 调度;它的 prompt 和状态只包含高层意图与约束条件。
- 执行型子 Agent 各管一摊:比如 ANALYST 负责读取 Git diff + 测试报告生成摘要;CODER 只接收结构化需求(含接口契约、测试桩),不接触原始 PR 描述;REVIEWER 基于预设规则集做静态检查,输出带行号的标记而非自由文本。
- Writer 子 Agent 独立承担记忆写入:所有会话 checkpoint、任务进度快照、项目记忆更新均由它完成,主代理仅发送待存数据,不参与序列化逻辑——这避免主模型被 I/O 拖慢或污染上下文。
用 Dynamic Workflow 替代 Prompt 编排
靠长 prompt 控制多个子 Agent 并行执行,在百步以上任务中极易失控。MiMo Code 的 Dynamic Workflow 提供确定性编排能力:
- 主 Agent 生成的是 JavaScript 脚本,不是自然语言指令;脚本在隔离沙箱中运行,调用
agent("analyzer", {...})或barrier(["coder", "tester"]),语义明确、无歧义。 - 每个子 Agent 的输入/输出严格类型化(如
{ files: string[], testResult: boolean }),不依赖自由文本解析,便于后期替换为本地工具或 API 调用。 - Workflow 脚本能被版本管理、单元测试、复用到不同项目——这意味着协作逻辑本身可演进,不绑定某次对话。
让记忆成为可伸缩的基础设施
可扩展性常被卡在状态爆炸上。MiMo Code 的三重记忆机制(项目记忆、会话检查点、任务进度)不是并列功能,而是一套分级缓存体系:
- 项目记忆是只读全局索引:存储架构图、核心模块职责、已验证的重构模式等,由 /dream 定期压缩更新,所有 Agent 共享访问,但禁止写入。
- 会话检查点按 Cycle 触发(20%/45%/70% 窗口占用):每次 checkpoint 仅保存该阶段的决策链+工具输出摘要,不是全量日志;重建时主 Agent 加载简报,Writer 子 Agent 补充原始细节。
- 任务进度追踪绑定唯一 task_id:跨 session 恢复时,通过 task_id 直接定位到最近 checkpoint,跳过中间冗余推理——这使横向扩展更多并发任务时,内存与磁盘开销呈线性增长,而非指数级。
通信与冲突消解走协议化路径
MiMo Code 默认使用异步消息队列(如 MQTT 或内存队列),但要支撑大规模协作,需显式定义通信契约:
- 所有消息必须携带
msg_type(TASK_ASSIGN / TASK_RESULT / TASK_CONFLICT)和task_id,不依赖 sender/receiver 字符串匹配。 - 冲突不靠人工介入,而是触发 VOTE 消息:当两个子 Agent 对同一文件修改产生不可合并变更时,自动广播投票请求,由 REVIEWER 和 ANALYST 分别评估影响面,按预设权重生成仲裁结果。
- 状态同步(STATE_SYNC)定时发生,但内容受控:只同步各 Agent 的健康状态、当前负载、已完成 task_id 列表,不传原始上下文——降低网络与序列化压力。











