用途:Agent Swarm 用于将工作拆分并跨多个智能体与工作树进行并行或流水线执行。编排器负责分区工作、派发给智能体,并校验和合并结果。
适用场景:可切分为独立工作包的大型功能;受益于并行的批量操作(测试、文档、迁移、RLM 蒸馏);多关注点工作,由不同专家同时处理不同方面。
流程:1) 规划与分区,将工作拆分为独立任务并明确边界;2) 路由,选择串行流水线(任务相互依赖)或并行群体(任务独立);2.5) 在引导阶段交互式确定 CLI 与模型,询问用户选择 LLM CLI 引擎(agy、claude、copilot、gemini、llama)和具体模型,构造 swarm_run.py 调用并追加 < /dev/null;3) 派发,每个任务创建工作树并分配给 CLI 智能体、确定性脚本或人类;4) 执行,各智能体隔离工作,无跨工作树通信;5) 校验与合并,按验收标准检查输出,执行 TDD、增量检查,失败则生成修正包并重新派发,通过则合并到主分支;6) 封存;7) 回顾。
实现:./../scripts/swarm_run.py 由带 YAML frontmatter 的 .md 作业文件驱动。支持断点续跑(.swarm_state_<job>.json,--resume)、智能重试、验证跳过(check_cmd)、干跑(--dry-run)以及切换后端(--engine [claude|gemini|copilot|agy])。
依赖:需要 Python 3.8+,仅用标准库。安装依赖使用 pip-compile ./requirements.in 与 pip install -r ./requirements.txt。
限制与已记录的怪癖:Copilot CLI 使用 -p 时忽略 stdin,swarm_run.py 会把提示自动前置到文件内容;认证令牌应使用 source ~/.zshrc 加载;并发上限为 --workers 2。Gemini 支持更高并发(5-10 workers),模型会自动升级。使用 resume 时后置命令必须幂等。编排器持有整体作业状态,需在子任务完成时记录 total_tokens 与 duration_ms。各工作树必须独立。