ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Orca 多 Agent 编排完全指南:任务 DAG、决策门与 worker_done 机制

2026/8/31 9:45:41 拓冰建站 浏览量
Orca 多 Agent 编排完全指南:任务 DAG、决策门与 worker_done 机制 Orca 多 Agent 编排完全指南任务 DAG、决策门与 worker_done 机制【免费下载链接】orcaOrca is the ADE for working with a fleet of parallel agents. Run any coding agent with your own subscription. Available on desktop, mobile and VPS.项目地址: https://gitcode.com/GitHub_Trending/orca48/orcaOrca 是一款面向并行 Agent 的 AI 开发环境ADE支持多 Agent 编排你可以用一套完整的协调机制管理多个编码 Agent——通过任务 DAG定义依赖关系并行调度工作用决策门Decision Gate在关键节点暂停等待审批并依靠worker_done机制获得可靠的完成信号。本指南带你从零理解这套编排体系的三大核心机制并给出可直接上手的操作路径。一、为什么需要多 Agent 编排单个 Agent 一次只能做一件事。当你想同时修复登录页 CSS、重构 API 层、补充单元测试时就需要多个 Agent 并行工作。但并行带来的问题是谁先做、谁后做有依赖关系的任务不能同时开工谁来判断该不该继续涉及架构选择时需要人做决定怎么知道做完了Agent 说快好了不等于真的完成了Orca 的编排层orchestration正是为这三个问题设计的其完整说明见 skills/orchestration/SKILL.md。二、三大核心概念Run、Task 与 Dispatch理解编排之前先认识三个角色对应源码中的 Run / Task / Dispatch 模型概念类比职责Run项目命名空间 协调者收件箱不亲自调度任何 AgentTask任务卡一件具体的工作可声明依赖即 DAG 的边Dispatch派工单把某个 Task 指派给某个终端里的 Agent是生命周期权威所在一句话记住所有权规则新的消息和任务只属于一个明确绑定的 Runworker_done和心跳从 worker 自己的终端发出Orca 负责路由回它所属的 Dispatch 和 Run。三、任务 DAG用依赖关系驱动并行执行创建任务时可以用--deps声明前置依赖所有任务就构成一张有向无环图DAGorca orchestration run-create --objective 重构登录模块 --json orca orchestration task-create --spec 修复登录按钮 CSS --json orca orchestration task-create --spec 补充单元测试 --deps [task_a_id] --json任务状态流转共六种pending → ready → dispatched → completed另有failed和blocked。推荐的做法是先创建 Run 和所有独立任务再逐个启动 worker用task-list --ready查看当前可执行任务把无依赖的任务组成并行波次一次全部worker-start官方建议依赖链不要超过3~4 层否则调试成本会急剧上升。Orca 会持续判断 DAG 的收敛状态。源码 coordinator-dag-convergence.ts 中的逻辑很直白全部任务completed/failed→ 收敛完成没有任何活跃任务、却仍有blocked任务 →卡死Stuck日志会提示Resolve decision gates to continue这正是决策门与 DAG 的联动点。四、决策门关键节点的人工审批点决策门Decision Gate是 DAG 中的审批关卡当某个任务需要人来拍板例如选方案 A 还是方案 B协调者可以为它创建一个门该任务随即被置为blocked直到有人给出决议。orca orchestration gate-create --task task_id --question API 用 REST 还是 gRPC --options [REST,gRPC] --json orca orchestration gate-resolve --id gate_id --resolution REST --json两个设计细节值得新手注意源码见 coordinator-decision-gates.ts协调者绝不会自动决议门——门就是给人用的审批点自动通过等于失去意义门与任务状态互为约束只要存在 pending 的门任务就必须保持blocked如果状态不一致会被自动再封锁修复。注意区分两个容易混淆的命令ask/replyworker 问、协调者答Agent 之间的阻塞式问答gate-create/gate-resolve协调者管的 DAG 级决策通常由人最终拍板门的持久化存储在 decision-gate-store.ts 中即使应用重启未决议的门依然有效。五、worker_done 机制一次、可信的完成信号并行编排最怕假完成。Orca 用worker_done把它变成一条严格契约只发一次worker 完成任务后从自己的终端发出唯一一条worker_done必须显式声明结果--outcome succeeded或--outcome failed失败绝不能只写在文字描述里自动结算携带正确taskId dispatchId的worker_done会自动把任务和 Dispatch 标记为完成无需再手动task-update发完即停worker 发送后必须结束当前回合、停在提示符处不得自行开新活或关终端。# worker 端Orca 注入的前言中已带好正确参数 orca orchestration send --type worker_done \ --subject CSS 已修复 --body 改了什么 / 发现了什么 / 还剩什么 \ --task-id task_id --dispatch-id dispatch_id \ --outcome succeeded --files-modified src/login.css --json协调者这边则用滚动等待代替轮询orca orchestration check --wait --types worker_done,escalation,question --timeout-ms 900000 --json新手常见误区等待超时 ≠ worker 失败。长任务动辄 15~60 分钟超时应视为检查点继续下一轮等待心跳heartbeat只证明存活不证明完成每个被接受的worker_done处理后要么复用该终端跑下一个任务worker-start --terminal handle要么用worker-release释放不要让完成的 worker 一直挂着。六、快速上手一个最小编排循环把上面的机制串起来一个完整的最小循环是完整命令规范见 src/cli/specs/orchestration.ts准备orca status --json确认运行中在 设置 → Experimental 中开启编排功能建 Runrun-create --objective ...建任务对每个独立工作task-create用--deps声明依赖启动 worker对每个独立任务worker-start --task id --worktree current --agent codex --json滚动等待check --wait --types worker_done,escalation,question逐条处理消息后--ack确认收口处理每个worker_done→worker-release释放终端 → 等待下一批需要人拍板时gate-create开闸、人审后gate-resolve放行被blocked的下游任务随之解冻。进阶能力按需了解嵌套深度默认 worker 不能再派 workerSettings → Orchestration → Nested worker depth可设为 2跨机器联邦worker-start --on 环境名可把 worker 放到另一台已连接的 Orca 上Run 与任务仍在原机权威后续按 Dispatch ID 路由旧版兼容升级后旧的编排状态会被收养进普通 Run消息上的[LEGACY ...]标签是权威依据照着提示操作即可。七、总结三个机制各管一件事机制解决的问题一句话记忆任务 DAG谁先做、谁并行--deps连边task-list --ready取波次决策门该不该继续开了门任务就blocked只有人能解锁worker_done是否真完成一次、显式 outcome、发完即停掌握这三者你就具备了在 Orca 中调度任意数量编码 Agent 的完整能力——从派活到验收每一步都有明确的状态和归属。【免费下载链接】orcaOrca is the ADE for working with a fleet of parallel agents. Run any coding agent with your own subscription. Available on desktop, mobile and VPS.项目地址: https://gitcode.com/GitHub_Trending/orca48/orca创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考