生成

spawn
分类编程
作者Alireza Rezvani
许可MIT
评分4.50/5
使用5.5K

/hub:spawn — 启动并行代理

启动 N 个子代理并行处理同一任务,每个代理运行在独立的 git worktree 中。

用法

code
/hub:spawn                                    # 为最新会话启动代理
/hub:spawn 20260317-143022                    # 为特定会话启动代理
/hub:spawn --template optimizer               # 使用 optimizer 模板生成调度提示词
/hub:spawn --template refactorer              # 使用 refactorer 模板

模板

当提供 --template <name> 时,使用 ../agenthub/references/agent-templates.md 中的调度提示词,而非下方的默认提示词。可用模板:

| 模板 | 模式 | 使用场景 |
|----------|---------|----------|
| optimizer | 修改 → 评估 → 保留/舍弃 → 重复 x10 | 性能优化、降低延迟、减小体积 |
| refactorer | 重构 → 测试 → 迭代至通过 | 提升代码质量、解决技术债 |
| test-writer | 编写测试 → 测量覆盖率 → 重复 | 填补测试覆盖率空白 |
| bug-fixer | 复现 → 诊断 → 修复 → 验证 | 通过多种竞争方案修复 Bug |

使用模板时,将所有 {variables} 替换为会话配置中的值。为每个代理分配一个不同的策略(需符合模板和任务要求)——多样化的策略能最大化并行探索的价值。

执行流程

1. 从 .agenthub/sessions/{session-id}/config.yaml 加载会话配置。
2. 为每个代理 1..N:
- 将任务分配写入 .agenthub/board/dispatch/
- 构建包含任务、约束和看板写入指令的代理提示词。
3. 在单条消息中通过多个 Agent 工具调用同时启动所有代理:

code
Agent(
  prompt: "你是 hub 会话 {session-id} 中的 agent-{i}。

你的任务:{task}

请在 .agenthub/board/dispatch/{seq}-agent-{i}.md 中阅读完整任务分配。

指令:
1. 在你的 worktree 中工作 —— 进行修改、运行测试、迭代
2. 提交所有更改,并附带描述性提交信息
3. 将结果摘要写入 .agenthub/board/results/agent-{i}-result.md
包含:采取的方法、修改的文件、相关指标(如有)、置信度
4. 完成后退出

约束:

  • 不要读取或修改其他代理的工作

  • 不要访问其他代理的 .agenthub/board/results/ 路径

  • 尽早且频繁地提交更改,并附带描述性信息

  • 如果陷入僵局,请提交当前进度并在结果中说明",

isolation: "worktree"
)

4. 通过以下命令将会话状态更新为 running

bash
python {skill_path}/scripts/session_manager.py --update {session-id} --state running

关键规则

  • 所有代理必须在一条消息中启动 —— 同时发起所有 Agent 工具调用以实现真正的并行。
  • 必须设置 isolation: "worktree" —— 每个代理需要独立的文件系统。
  • 启动后严禁修改会话配置 —— 代理依赖于稳定的配置。
  • 每个代理拥有唯一的看板帖子 —— 调度帖子按顺序编号。

启动后

告知用户:

  • 已并行启动 {N} 个代理

  • 每个代理在隔离的 worktree 中工作

  • 可使用 /hub:status 监控进度

  • 完成后使用 /hub:eval 进行评估