mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4
1368 字
4 分钟
多智能体协同——主Agent
2026-05-02

1. 项目概述#

一个场景无关的通用主Agent调度提示词模板,用于驱动多智能体(Multi-Agent)协作系统完成复杂任务的自动化开发与质量验证。经过30+轮设计评审和11项工程缺陷修复,形成了一套可复用的编排骨架。

核心命题:在主Agent上下文窗口有限的约束下,如何安全、可靠、可恢复地调度多个子Agent完成”计划→执行→验证→修正”闭环。


2. 技术栈#

2.1 运行时平台#

组件技术说明
Agent 框架Claude Agent SDK / Claude Code多Agent启动、resume、后台运行
语言模型Claude Opus 4.x / Sonnet 4.x / Haiku 4.x主Agent用Opus做调度决策,CHECK用Haiku降本
操作系统Windows(bash 环境)Git Bash 提供 GNU 工具链
ShellGNU Bashfind / sed / grep / ls / mkdir / stat
文件系统NTFS标记文件、日志、报告、产物均落盘

2.2 核心CLI依赖#

工具用途关键参数
findAgent ID 探测-newer 时间过滤、-printf 时间排序
sedplan.md 状态标记更新(兜底)-i 原地替换,捕获组保留标题
grep测试报告判定提取pattern="^### 判定" 只取第一行
ls / Glob标记文件扫描status/*.done / status/*.pass
mkdir初始化目录结构status/ / reports/

2.3 文件体系#

文件生产者消费者主Agent权限
plan.mdPLANDO, CHECK, MASTER只读状态行
guide.mdPLANDO, CHECK不读
lessons.mdPLAN→DODO, PLAN不读
log.mdMASTERMASTER读写
reports/{单元}-{维度}.mdCHECKDO(全读), MASTER(判定行)Grep 判定行
status/{单元}.doneDOMASTERGlob 文件名
status/{单元}-{维度}.passCHECKMASTER, DOGlob 文件名 / DO删除
主产物DOCHECK, DO不读

2.4 角色体系#

角色引用名模型建议工具权限上下文策略
主调度AgentMASTEROpusBash, Glob, Grep, Agent持久会话
计划Agent{PLAN}Opus/SonnetRead, Write, Bash, Glob, Grep独立窗口,每次新建
执行Agent{DO}SonnetRead, Edit, Write, Bash, Glob, Grep独立窗口,同批 resume 复用
验证Agent{CHECK}HaikuRead, Write, Glob, GrepPhase 0新建 / Phase 2 resume

2.5 设计模式#

模式应用位置说明
编排者-执行者分离MASTER vs PLAN/DO/CHECK主Agent只调不干,全权委托
上下文隔离绝对禁止清单主Agent不Read任何子Agent产出
乐观批处理Phase 2 BATCH_SIZE批量开发+批量测试,减少调度轮次
重试循环Phase 0/2 修正循环最多3轮,每轮 resume 而非新建
检查点.done / .pass落盘标记,支撑断点续跑
乐观并发Phase 2 CHECK修正轮已有ID后并行resume,上限由PLAN设定
串行取号Phase 2 CHECK首轮逐个前台阻塞,防竞态
兜底策略Step 4 sed无DO可用时主Agent机械替换状态标记

3. 架构详解#

3.1 整体流程#

INPUT_PATH
Phase 0: 计划审查(PLAN → CHECK ⇄ 修正≤3轮)
│ ├─ PLAN: 读素材 → 出 plan.md + guide.md + 主产物骨架 + lessons.md + [PARAMS]
│ ├─ CHECK: 审计划(任务分解/执行顺序/认知目标/格式合规/标记唯一性)
│ └─ 修正: resume PLAN 修 plan/guide → 新建 CHECK 重审
Phase 1: 计划确认
│ └─ MASTER 读 plan.md 状态行,使用 [PARAMS] 中的 BATCH_SIZE / 维度 / 并发上限
Phase 2: 批量开发循环(逐批)
│ ├─ Step 1: DO(后台) → 查重→追加→写.done → MASTER Glob汇总
│ ├─ Step 2: CHECK逐个前台(串行取ID) → 写报告+写.pass
│ ├─ Step 3: FAIL? → resume DO修+删.pass+更新lessons → CHECK重测全批
│ │ 循环≤3轮 → 全PASS: DO改plan.md✅ / 仍FAIL: sed改⚠️
│ └─ Step 4: 首次全PASS兜底 → sed改✅
Phase 3: 收尾统计 → log.md

3.2 中断恢复链路#

MASTER 重启
├─ 1. Glob status/*.done → 哪些单元已写入主产物
├─ 2. Glob status/*.pass → 哪些单元-维度已通过测试
├─ 3. Read plan.md 状态行 → 交叉校验
├─ .done✅ + .pass完整 → 跳过(已完成)
├─ .done✅ + .pass不全 → 从缺失维度重测
├─ .done❌ → 从该单元重新开发
└─ DO_ID/CHECK_ID 全部失效 → 强制重启(不复用 resume)

3.3 Agent ID 生命周期#

Step 1: 启动 DO(后台) → 等待完成 → find + 重试(2s/3s/4s) → 写入 log.md
Step 2: 启动 CHECK_1(前台) → 完成 → 取ID_1
启动 CHECK_2(前台) → 完成 → 取ID_2
...
Step 3: resume DO_ID(修) → resume CHECK_ID(重测,可并发)
Step 4: resume DO_ID(改状态) 或 sed
下一批: 所有 ID 失效,重新获取

4. 工程特性#

4.1 竞态保护#

  • 首轮CHECK逐个前台阻塞启动,完成一个取一个ID再启下一个
  • find 使用 -newer log.md 过滤其他项目历史残留
  • find 无结果时启用3次递增间隔重试(2s/3s/4s)

4.2 防重复追加#

  • DO 追加前按 guide.md 定义的标记格式 Grep 主产物,已存在则跳过
  • guide.md 标记格式(如 <!-- UNIT_MARKER:u01 -->)由 Phase 0 作为最高优先级审查项校验

4.3 防状态污染#

  • Step 3 DO修正环节严禁修改 plan.md
  • plan.md ✅ 只在重测全部 PASS 之后才写入
  • DO修正时删除受影响单元的 .pass 文件,确保恢复时重测

4.4 解析鲁棒性#

  • CHECK 返回使用 ||| 分隔符(非逗号/换行),主Agent按分隔符切割
  • PLAN 返回使用 [PARAMS] 标记行,主Agent正则精确提取
  • 测试报告写入规定目录+规定命名(reports/{单元}-{维度}.md),Grep 判定行做二次校验

4.5 上下文保护#

  • 主Agent永远只用 Grep/Glob/Bash,绝不用 Read 读子Agent产出
  • 后台通知只回复”已确认”,不复述内容
  • Agent ID 立即写入 log,不依赖记忆
  • sed 仅用于元数据标记替换,不加载文件进入上下文

5. 性能模型#

指标估算
主Agent单批调度开销~500-1000 tokens(路径传递+判定解析+日志写入)
CHECK 单维度测试延迟30-90s(Haiku,前台阻塞)
DO 单批开发延迟2-5min(Sonnet,后台,与单元数正比)
修正轮额外开销DO修 ~1-2min + CHECK重测 ~30-90s
ID 获取重试上限9s(2+3+4s,3次全失败则暂停)
中断恢复时间<30s(Glob扫描+.done/.pass交叉校验)

6. 适用场景与局限#

适用:

  • 复杂任务需分解为独立单元逐批开发
  • 主Agent上下文预算紧张,需要严格隔离
  • 需要N维质量验证和修正闭环
  • 运行环境不稳定,需要中断恢复

不适用:

  • 单次简单任务(杀鸡用牛刀)
  • 子Agent能力边界不清晰
  • 任务间强依赖、无法批处理

7. 版本演进#

版本日期核心变更
v1.0(通用版)2026-05-02抽离场景名词,PLAN/DO/CHECK角色槽,新增Phase 0计划审查+中断恢复,N维验证
v1.1.02026-05-02修复竞态/时序/解析等11项缺陷,引入.done/.pass标记文件体系,重试机制,状态更新链路优化

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

多智能体协同——主Agent
https://kano.lzink.icu/posts/agent_prompt/
作者
卡诺Kano
发布于
2026-05-02
许可协议
CC BY 4.0

部分信息可能已经过时

目录