记忆系统与 Agent 定制完全指南(六):Agent 编排与调度

发布时间:2026/7/22 10:43:35
记忆系统与 Agent 定制完全指南(六):Agent 编排与调度 title: 记忆系统与 Agent 定制完全指南六Agent 编排与调度——多 Agent 协作开发date: 2026-07-10category: AI 开发工具tags: [Claude Code, Agent, 编排, 调度, 协作]记忆系统与 Agent 定制完全指南六Agent 编排与调度一个 Agent 做好一件事多个 Agent 协作做好一件事。本篇教你编排多个 Agent 协同工作让 Claude 变成一个真正的开发团队。前言想象一个场景你要开发一个数据报表模块包含 - 后端 APIController Service Mapper - 前端页面列表、详情、导出 - 类型定义 - 路由配置 - 单元测试 如果让一个 Agent 串行做可能要 30 分钟。 但如果派出 4 个 Agent 并行做可能 8 分钟就完成了。这就是 Agent 编排的力量。一、Agent 编排的基本模式1.1 串行编排Agent A → Agent B → Agent C前一个 Agent 的输出是后一个 Agent 的输入。典型场景需求分析 → 代码生成 → 测试编写需求分析 Agent 输入用户描述 输出接口清单 数据结构 代码生成 Agent 输入接口清单 数据结构 输出后端代码 测试编写 Agent 输入后端代码 接口清单 输出单元测试1.2 并行编排┌→ Agent A1 │ Master Agent ──────→→ Agent A2 │ └→ Agent A3多个 Agent 同时工作最后汇总结果。典型场景前后端并行开发Master Agent调度器 ├── 后端 Agent开发 API 接口 ├── 前端 Agent开发页面组件 └── 类型 Agent定义数据结构1.3 条件编排Agent A → 条件判断 → Agent B1 或 Agent B2根据 Agent A 的结果动态选择后续 Agent。典型场景代码审查后自动修复审查 Agent 发现问题 → 修复 Agent 执行修复 无问题 → 结束 审查 Agent 发现安全问题 → 安全 Agent 深入审查 发现性能问题 → 性能 Agent 深入审查 发现质量问题 → 质量 Agent 深入审查二、Agent 调度器Master Agent2.1 什么是 Master AgentMaster Agent 是一个特殊的 Agent它的唯一职责是调度其他 Agent。它不直接写代码而是把任务分发给专业 Agent。2.2 Master Agent 定义--- name: master-developer description: 多 Agent 协作调度器分配任务给专业 Agent model: opus effort: high tools: [Read, Write, Edit, Glob, Grep, Bash, Agent, TaskCreate, TaskUpdate, TaskList] --- # 多 Agent 协作调度器 ## 角色定义 你是一个多 Agent 协作调度器。你的职责是理解需求 拆分成子任务分发给专业 Agent 并行执行 最后汇总结果并验证一致性。 ## 可用的专业 Agent | Agent | 职责 | 工具 | |-------|------|------| | backend-developer | 后端 Java 开发 | Read, Write, Edit, Glob, Grep, Bash | | frontend-developer | 前端 Vue 开发 | Read, Write, Edit, Glob, Grep, Bash | | db-engineer | 数据库设计与迁移 | Read, Write, Bash | | tester | 测试编写 | Read, Write, Bash | ## 调度流程 ### 步骤 1: 需求分析 理解用户需求拆分成独立的子任务。 ### 步骤 2: 依赖分析 确定子任务之间的依赖关系 - 无依赖的任务 → 并行执行 - 有依赖的任务 → 串行执行 ### 步骤 3: 任务分发 将子任务分配给对应的 Agent。 ### 步骤 4: 进度跟踪 监控各 Agent 的执行进度。 ### 步骤 5: 结果汇总 汇总所有 Agent 的输出验证一致性。 ### 步骤 6: 集成验证 运行类型检查、构建、测试确认集成成功。 ## 输出格式 多 Agent 协作开发━━━━━━━━━━━━━━━━━━━━━需求开发数据报表模块任务拆分类型定义无依赖立即执行→ 类型 Agent后端 API依赖任务 1→ 后端 Agent前端页面依赖任务 1→ 前端 Agent单元测试依赖任务 2→ 测试 Agent并行执行[1/4] 类型定义 → 类型 Agent独立立即执行[2/4] 后端 API → 等待类型定义完成[3/4] 前端页面 → 等待类型定义完成[4/4] 单元测试 → 等待后端 API 完成执行中…✅ 类型定义完成2s✅ 后端 API 完成45s✅ 前端页面完成38s✅ 单元测试完成12s集成验证TypeScript 编译✅单元测试42/42 通过构建✅━━━━━━━━━━━━━━━━━━━━━ 开发完成新增文件 8 个修改文件 2 个三、实战多 Agent 协作开发一个模块3.1 场景master-developer 帮我开发一个设备管理模块3.2 调度过程Step 1: 需求分析设备管理模块需要 - 设备列表页面前端 - 设备详情页面前端 - 设备 CRUD API后端 - 设备类型前端 后端共用 - 设备列表路由前端Step 2: 依赖分析无依赖 - 类型定义前后端都需要 依赖类型定义 - 后端 API使用类型定义 - 前端页面使用类型定义 依赖后端 API - 后端单元测试Step 3: 并行执行Phase 1并行 Agent 1: 类型 Agent → 创建 device.ts 类型定义 Agent 2: 后端 Agent → 创建 DeviceController/Service/Mapper Agent 3: 前端 Agent → 创建设备列表和详情页面 Phase 2等待 Phase 1 完成 Agent 4: 测试 Agent → 创建设备 API 的单元测试Step 4: 结果汇总✅ 类型定义src/types/device.ts45 行 ✅ 后端 APIDeviceController.java, DeviceService.java, DeviceMapper.java234 行 ✅ 前端页面Device/List.vue, Device/Detail.vue312 行 ✅ 测试DeviceServiceTest.java89 行 总计新增 4 个文件修改 1 个文件路由配置Step 5: 集成验证TypeScript 编译✅ 0 errors 后端编译✅ BUILD SUCCESS 单元测试✅ 12/12 passed 构建✅ dist/ (2.5 MB)四、Agent 间的通信4.1 通过文件共享数据Agent A 生成的类型定义文件Agent B 可以直接读取后端 Agent 读取 src/types/device.ts → 生成符合类型定义的 Controller 和 Service4.2 通过 SendMessage 通信Agent 之间可以直接发消息后端 Agent → SendMessage → 前端 Agent API 接口已定义路径是 /api/devices参数是 DeviceQuery4.3 通过 Task 系统协调Master Agent 使用 Task 系统管理进度TaskCreate: 创建设备类型定义 TaskCreate: 创建设备后端 API TaskCreate: 创建设备前端页面 TaskUpdate: 创建设备后端 API → addBlockedBy: [创建设备类型定义] TaskUpdate: 创建设备前端页面 → addBlockedBy: [创建设备类型定义]五、Agent 调度的最佳实践5.1 任务拆分原则✅ 好的拆分 - 每个子任务独立低耦合 - 任务粒度适中不要太粗也不要太细 - 依赖关系清晰 ❌ 坏的拆分 - 一个任务包含 10 个文件太粗 - 每个方法一个任务太细 - 循环依赖A 依赖 BB 依赖 A5.2 并行度控制同时运行的 Agent 数量建议 小型项目 10 个文件1-2 个 Agent 中型项目10-50 个文件3-5 个 Agent 大型项目 50 个文件5-8 个 Agent太多 Agent 并行会导致Token 消耗爆炸结果混乱难以汇总资源竞争多个 Agent 改同一个文件5.3 错误处理当某个 Agent 执行失败时 1. 停止依赖该 Agent 的所有后续任务 2. 报告错误信息 3. 尝试重新分配或调整任务 4. 如果无法恢复通知用户六、Agent 调度 vs Workflow维度Agent 调度Workflow 脚本灵活性高——动态决策中——固定流程复杂度低——自然语言描述中高——需要写 JS确定性中——Agent 可能有不同行为高——脚本是确定性的适用场景创意性、探索性任务重复性、确定性任务建议确定性流程用 Workflow创造性任务用 Agent 调度。七、这一章的核心心得Agent 编排有三种模式——串行、并行、条件分支Master Agent 是调度器——它不写代码只分配任务依赖分析是关键——无依赖的任务并行执行有依赖的任务串行执行任务粒度要适中——一个模块一个 Agent不要一个方法一个 AgentAgent 间通过文件共享数据——类型定义是天然的共享接口并行度要控制——3-5 个 Agent 并行是sweet spot八、下一步学会了 Agent 的编排与调度下一篇我们看 Agent 如何与外部工具深度集成——让 Agent 调用数据库、访问 API、操作服务器。系列目录初识记忆系统——什么是记忆为什么需要记忆记忆文件编写规范——怎么写一条好的记忆记忆的检索与使用——Claude 如何在对话中调用记忆自定义 Agent 开发一——Agent 的定义与结构自定义 Agent 开发二——Agent 的工具与权限Agent 编排与调度← 本篇Agent 与工具的深度集成待写记忆系统与 Agent 配合——构建智能开发助手待写