Files
Agent-System/.doc/ops/2026-09-13-herdr-agent-roster.md
T

12 KiB
Raw Blame History

Herdr 多 Agent 编排 v1.2

更新:2026-09-21;owner:Herdr 任务协调者;本轮规范修订 herdr-v1.2。本文件是 Herdr 角色、额度、审批与备援的唯一来源,取代原 2026-09-13 路由。实现/核验见任务记录。

1. 生效范围与前提

仅在明确使用 Herdr 编排、启动或派发任务时适用本表分工。 普通 Codex、Claude Code、Cursor 独立会话,以及仅研究/编辑本规范的任务,不自动套用 Cursor 唯一实施通道,也不自动启动多 Agent。通用授权、分支、锁、验证、清理始终遵循 AGENTS 与 worktree 操作规范。

只有 HERDR_ENV=1 才能查看/控制当前 Herdr 会话;外部会话可读规范、跑 dry-run 与隔离测试。用户已授权这些客户端自动通过工具请求;不为已授权步骤再等待人工批准。自动审批不产生额外环境、外部写入或破坏性操作授权。

Herdr 中的 PI CLI(例如 context_pi)是工程协作客户端;Compose 中“产品 PI Agent Runner”是业务执行器。二者不共享验收结论,不修改产品模型配置来满足本表。

2. 资源与取舍

订阅价格与个人额度优先级来自用户本次说明,是预算输入,不是实测余额或供应商无限量承诺。

资源 用户预算 Herdr 纪律
Cursor Ultra $200/月,实施优先 默认唯一产品代码实施通道;高额度仍监测限流/余额,不自动开启额外付费
Qwen 3.8 max/flash 百炼最高档,充裕 max 分析、报告、监督判断;flash 例行检查和执行已有测试
GLM 5.3/flash 高档 token plan,充裕 规划、执行跟踪、代码审查;模型额度共享时不把两个客户端当两份预算
MiniMax M3 ¥119/月,中等 失败归因、二线审查;每个失败问题至多两轮归因,重复失败转交带证据复核
Kimi Code ¥699/月,个人调研/报告优先 Herdr 默认不用;仅可选正式报告终稿检查,或有理由的应急借用;合计每逻辑任务最多一次
Codex / GPT-6 稀缺 终审仲裁、高歧义与两轮审查仍未解决的争议;不作日常监督/机械实施
agy / Antigravity 最低档,极少 轻量杂活与测试想法;耗尽转 flash,不做高频轮询或安全终审

修正“Cursor 订阅不限量”:官方用量说明仍描述用量池/限制。其他“充裕”也只是调度优先级,任务开始记录 available/low/exhausted/unknown;unknown 不等于无限。价格不写进程序阈值。

3. 角色、客户端与路由

模型路由基于本机帮助和已配置别名,启动后还须确认实际模型。pi --list-models 只证明配置目录可识别,不证明账户余额、远端可用或本任务真实输出质量。

角色 / lane 默认 → 备援 交付边界
例行监督 supervision qwen_flash → qwen_max → verifier_antigravity 读任务/测试/锁状态;阻塞判断交 max,僵局显式 critical-review
需求分析 analysis qwen_max → qwen_flash 可验收需求、歧义、边界;高歧义显式终审升级
规划 planning reviewer_glm → qwen_max → glm_pi 步骤、依赖、允许写范围、测试计划
执行计划 execution reviewer_glm → qwen_max 调度、跟踪、核对产物;不与实施者同时改产品代码
实施 implementation / ui implementer_cursor 可运行改动、回归测试;仅明确写入接管理由时追加 reviewer_glm → qwen_max
代码审查 code-review reviewer_glm → context_pi 对冻结 diff 独立审查;两轮未过显式 critical-review
系统测试 test qwen_flash → verifier_antigravity 执行确定性测试命令;不能以“模型判断通过”替代进程退出码与断言
失败归因 test-analysis context_pi → reviewer_glm 可重现输入、原因、最小修复建议;修复回实施通道
报告 report qwen_max → qwen_flash max 写交付稿;flash 仅草稿,须回 max 定稿
报告二审 report-review reviewer_glm max 自审后,GLM 独立查来源/逻辑/未验收声明
可选终稿 report-final-check context_kimi max 完成正式交付稿后,至多一次,非每任务必经
终审 critical-review orchestrator_codex → reviewer_glm GPT-6 仲裁;GLM 若是原作者/审查者须独立上下文并补跨模型复核,未解决风险保留 blocked
轻量杂活 fast-check verifier_antigravity → qwen_flash 小范围静态核对和整理
长材料 long-context qwen_max → glm_pi 相关证据扫描,不默认占 Kimi
特例借用 quota-emergency context_kimi 百炼等故障、任务确需借个人额度;与终稿入口共用一次计数

兼容旧 lane governance 转到规划 GLM → max,已移除日常 Codex/Kimi 路由。Cline、Devin 和旧 reserve_claude 不在 v1.2 活跃路由;Claude Code 是客户端名称,本机路由到 GLM,不把它算作另一份 Claude 高端模型额度。

profile 标准逻辑名 启动选择
claude reviewer_glm Claude Code --model opus,本机 Opus 别名配置为 GLM 5.3;不修改全局配置
codex orchestrator_codex 默认已配置 GPT-6;仅角色名称兼容旧脚本,其职责收窄为终审
cursor implementer_cursor cursor-agent 的已配置模型
pi-max qwen_max qwen-token-plan-cn / qwen3.8-max
pi-flash qwen_flash qwen-token-plan-cn / qwen3.8-flash
pi-glm glm_pi zai-coding-cn / glm-5.3
pi context_pi minimax-cn / MiniMax-M3
kimi context_kimi Kimi Code 已配置模型
antigravity verifier_antigravity agy 已配置模型

独立上下文审查有价值,但规划和审查都用 GLM 仍可能同源盲点;高风险争议增加 MiniMax/GPT-6 跨模型意见。简单任务采用“实施 → 验证/审查 → 收口”最短路径,不强制走九个角色;大任务按依赖拆分,最多一个产品代码写者/重叠范围,独立 worktree 可并行。

4. 预算闸门

  • 每任务记录一个不可随子任务/重试变化的 task_id、角色调用、升级原因、审查/归因轮次、实际来源与结果。轮询优先直接读机器状态,只在状态改变或阻塞时调用模型。
  • Kimi 默认不进入普通分析、代码审查、测试归因或报告撰写备援。协调者在既有授权内判断是否值得调用,显式填 --kimi-reason,不用再向用户索取工具批准。
  • 派发器在发送前向主仓 .locks/state.sqlite 的 herdr_kimi_uses 原子登记;同一 task_id 两个入口合计 ≤1。发送失败/结果未知也占用,不自动退款,不通过新 task_id 重置。此计数是一次投递,不是模型内部工具轮数或真实账单 token 上限;输入只含最终稿/必要来源,禁止继续发多轮 Kimi。
  • 个人调研额度告急时,协调者在主仓 .locks/herdr-kimi.disabled 留停用标记,所有后续受管 Kimi 派发拒绝;确认恢复后移除此标记。它不控制个人在 Herdr 之外的 Kimi 主业,也不能自动读取个人用量。
  • Kimi 停用:max 自审 + GLM 二审。GPT-6 耗尽:GLM 复核;仅交付文档可以用尚未使用的 Kimi 终稿检查,不能拿文稿检查顶替代码安全/发布终审。百炼故障先用 GLM/MiniMax 支撑,确需 Kimi 才借用;故障消除即回原通道,不形成新默认。
  • 机器强制范围是统一派发入口的一次计数;直接在 Kimi pane 手工发问可绕过,禁止据此声称全账户硬限额已完成。MiniMax 轮次/GPT 升级由任务记录管理,尚无跨供应商余额 API。

5. 自动通过请求与实际启动

所有 Herdr 启动均走 start;仅影响该次进程参数,不改个人客户端的全局审批设置。以下来自本轮安装 CLI --help,不是猜测同名产品能力。

客户端 参数 说明
Claude Code --dangerously-skip-permissions --model opus 自动通过工具权限,使用用户已配置 GLM 别名
Codex --ask-for-approval never --sandbox danger-full-access 不再等待批准;授权内操作仍须 agentctl/Git 门禁
Cursor --force --sandbox disabled --approve-mcps --trust Run Everything + MCP 自动批准 + workspace trust;显式 deny 仍有效
agy --dangerously-skip-permissions 自动通过工具请求,不再添加旧脚本的限制性 sandbox
PI CLI --approve + 明确 provider/model 内置工具本就无逐工具弹窗;该参数处理项目文件信任,不能说它关闭了不存在的权限系统
Kimi --auto Never Ask;--yolo 仍可能询问,不替代 auto

Cursor 参数、Kimi 参数、Claude 参数与本机帮助一起核对。CLI 升级后先重新核验 flags;外部认证、显式 deny、企业策略或扩展交互无法由统一参数保证消失,失败写 blocker,不反复向用户弹批准,不擅自清除已有安全规则。

# 先用 agentctl 注册 task-id。名称可用 base__短任务后缀,完整长度最多 32。
./scripts/herdr-agent-start.sh --dry-run pi-max qwen_max__demo w1:p2
./scripts/herdr-agent-start.sh --task task-id pi-max qwen_max__demo w1:p2
./scripts/herdr-agent-dispatch.sh --explain report
./scripts/herdr-agent-dispatch.sh --task task-id report '根据已提交证据撰写报告'
./scripts/herdr-agent-dispatch.sh --task task-id --kimi-reason '正式报告的一次终稿核验' report-final-check '核验最终稿与来源'
./scripts/herdr-agent-dispatch.sh --task task-id --implementation-fallback 'Cursor 额度已耗尽,已核对无在途写入' implementation '接续已登记范围'

启动/派发仅接受注册任务的直接 .worktrees 工作区;目标 pane/agent cwd 必须匹配。标准名后缀支持不同任务同时有自己的同角色 Agent;同任务同角色出现多个可用实例时拒绝歧义。旧命名实例先由其 owner 完成/交接,不自动抢占、改名或停止。

6. 监督、失败、恢复与交接

  1. 协调者读取任务与本规范,确认预算、角色、分支、允许写路径、实际客户端/模型和精确 head。启动后核验身份;标准名字只能表达意图,不能证明客户端模型没被手工切换。
  2. Herdr 的新 pane 不是 agentctl with supervisor 的子进程;禁止把短命令租约凭据复制进去。worker 按每条写命令取自己的任务 path 租约,提交另取 git:index;共享 CURRENT/MATRIX 用 docs apply。监督者不长期持有所有资源锁。
  3. 只投递同任务的 idle/done Agent;已工作/blocked/unknown 不发第二份。等待最多 60 秒;超时只观察,不把超时当未执行或自动终止任务。
  4. 已选实例的 prompt RPC 出错统一视为可能已发送,不根据输出里出现 quota/auth 字样自动转发。只有已 settled 且返回本轮唯一 HERDR_RETRY 标记、明确未写入/无副作用时才可备援;仍是合作协议,不是任意工具副作用的机器证明。
  5. 不抢主目录、不切他人分支、不覆盖旧 CURRENT;合入/环境验收由独立协调者按机器锁串行处理。模型返回“完成”不等于测试通过或 dev 已部署。
  6. 每次交接含冻结 SHA、改动范围、实际验证/缺项、未完成副作用、下一执行者与预算用量。owner 退出并确认文件/进程/祖先证据后再清理;异常现场保留 cleanup_pending,不强删。