ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Comet Supervisor多Agent并行开发实战:复杂需求如何按DAG依赖拆解协调交付

Comet Supervisor多Agent并行开发实战:复杂需求如何按DAG依赖拆解协调交付 Comet Supervisor多Agent并行开发实战复杂需求如何按DAG依赖拆解协调交付【免费下载链接】cometComet: agent skill harness for turning ideas into evaluated workflows项目地址: https://gitcode.com/rpamis/cometComet Supervisor 是 Cometagent skill harness把想法变成可评估工作流的 Agent 技能框架内置的多Agent并行开发能力它把一个复杂需求按DAG 依赖拆成多个子任务Child Change让多个 Agent 在隔离的 worktree 中并行实现与验证再按依赖顺序合并、统一验收。这篇文章带你快速理解它的工作原理与使用流程。为什么需要 Comet Supervisor 多Agent协作传统单 Agent 开发模式有个天然瓶颈一个会话、一条串行流水线。当需求同时包含新增 API、改造 CLI、更新文档、补充端到端测试等多个交付物时只能排队执行耗时长且上下文容易膨胀。Comet Supervisor 的解法是 Durable DAG Orchestration持久化 DAG 编排规划Agent 把一个父需求拆成多个 Child Change并声明depends_on依赖关系调度Runtime 校验依赖图无环计算当前可运行的任务集合ready set控制并发上限执行多个 Agent 各自进入 Runtime 创建的独立 worktree互不干扰恢复与集成进程中断后可恢复结果按依赖顺序合入统一集成分支最后只做一次整体验证与收尾一句话总结多Agent是加速器DAG 与 Runtime 才是可靠性边界——即使宿主平台不支持多Agent单 Agent 顺序执行也永远可用只是快慢之分。三步上手一个需求、多个Agent、一次交付第一步确认拆分把复杂需求变成子任务 DAG在 Shape 阶段Agent 会按可独立实现、可独立验证、真实依赖三个标准拆分需求生成精简的children.yaml计划schema 为comet.native.children.v2每个 Child 只含名称、摘要和depends_on依赖。比如一个典型依赖图A新增领域 API── BCLI 调用 A── D端到端测试 C独立更新文档─────────────────── DRuntime 会做确定性校验名称重复、依赖不存在、依赖成环都会被直接拒绝。跨模块需求还会被要求指定一个 integration Child只负责连接、fallback 和端到端验证。拆分确认规则详见 supervisor-plan 规范。关键设计B depends_on A不只代表等 A 完成而是B 的源码基线必须包含 A 验证通过的 commit——避免出现状态上有依赖、代码上没继承的假并行。第二步按 readyChildren 并行派发子任务用户只需确认一次父级 Shape之后 Runtime 只派发readyChildren中依赖已满足的任务依赖未满足的 Child 不会启动。默认并发上限为 2可用--max-parallel 1退化为串行。派发时每个 Child 会携带完整任务包worktree 路径、基线 commit、runId、验收项和停止条件。不同宿主平台有不同的承载方式Codex为每个 ready Child 创建一个独立会话进入 Runtime 指定的 worktree 工作Claude Code创建 Agent Team每个 Child 对应一个具名 teammate能力不可用时自动退化为 subagent 或单会话串行范围与顺序语义完全一致多会话协作的宿主适配协议见 Supervisor 多会话调研。第三步顺序集成、统一验收、一次收尾每个 Child 走完active → verified → integrated三步才算完成独立验证每个 Child 由只读 Verifier 逐项评估验收项失败或中断不算通过串行集成Child 通过后Runtime 把 commit 合入父级 integration worktree 并跑集成检查通过后才解除后继 Child 的依赖最终 Verify所有 Child 集成后父级在集成 worktree 上对每个验收项做最终验证如果最终验证发现已确认范围内的失败协调者会追加一个修复 Child不会改写已集成的历史任务只有新增用户可见范围时才回到 Shape 重新确认。整个协调协议派发、回报、集成、取消、恢复完整定义在 Supervisor coordination 一节。可靠性细节Runtime 用runId拒绝重复和过期的任务回报Worker 使用可过期 lease 而非永久锁即使父级 Runtime 状态丢失也能从计划、Child 状态和 Git 重建——多Agent崩溃不会把用户卡死。如何观察和监督并行进度开发过程中可以直接用 Comet 的三栏 Dashboard 在浏览器中查看 Native 进度、Git worktrees、验收结果与归档状态以及当前变更的下一步建议日常入口只需记住两条技能命令用/comet进入项目配置的 Native 或 Classic 工作流用comet native status --json随时查看父级与子任务状态。实现源码在哪里看想深入了解 Comet Supervisor 的实现可以从这些模块入手核心协调逻辑native-supervisor.ts父级协调器门面、native-children.ts子任务合同与 DAG 校验、native-children-contract.ts子任务集成与验收native-supervisor-check-binding.ts、native-supervisor-evidence.ts、native-supervisor-state.ts工作区隔离native-supervisor-workspace.ts工作流指令定义comet-native SKILL 及其 命令参考架构设计文档Supervisor 计划规范、多 Change 依赖编排调研常见问题 FAQQComet Supervisor 和普通多开几个 Agent 有什么区别A普通多开只解决并行Comet Supervisor 还保证依赖正确性ready set 计算、基线 commit 继承、状态可恢复lease、runId 去重、结果可验收逐项 Verifier 最终统一 Verify最后只交付一个经过整体验证的集成结果。Q我的平台不支持多Agent会话怎么办A完全没问题。Supervisor 的调度语义与执行速度解耦宿主能力不足时自动退化为 subagent 或单会话串行执行DAG 依赖、集成顺序和验收标准保持一致。Q并发可以调高吗A可以通过comet native next change --max-parallel N指定默认为 2。并发只影响速度不影响正确性。总结Comet Supervisor 让复杂需求的交付变得可拆解、可并行、可恢复——一份父级计划、一次依赖确认、一个统一状态视图、一次最终交付决定这正是多Agent并行开发应有的样子。【免费下载链接】cometComet: agent skill harness for turning ideas into evaluated workflows项目地址: https://gitcode.com/rpamis/comet创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进