hub-run 是 AgentHub 工作流中的一站式生命周期命令,用于在一条命令内跑完整个 AgentHub 竞赛流程:初始化、采集基线、派生智能体、评估结果并合并胜出者。
用途 它面向需要让多个智能体并行解决同一任务、再从中择优合并的场景。典型用途包括降低延迟、重构模块、补充测试覆盖,以及为营销活动撰写多个候选文案等。
主要能力
- 一键串联完整生命周期:init、baseline、spawn、eval、merge。
- 支持并行启动多个智能体(默认 3 个),在单条消息中通过多个 Agent 工具调用实现真正并行。
- 支持基于指标的评估:通过 --eval 指定评估命令,通过 --metric 指定从输出中提取的指标名,通过 --direction 指定 lower 或 higher 表示更优方向。
- 支持 LLM 评审模式:不提供 --eval 时,由协调者读取各智能体的 diff 进行排名。
- 支持智能体模板:optimizer、refactorer、test-writer、bug-fixer,使用模板分派提示词替代默认提示词。
- 采集基线:若提供 --eval,会在当前工作目录运行评估命令,从 stdout 提取指标值,显示“Baseline captured: {metric} = {value}”,并将基线追加到 .agenthub/sessions/{session-id}/config.yaml。
- 评估时若已采集基线,会把 --baseline {value} 传给 result_ranker.py,从而展示相对基线的变化量。
- 合并前向用户展示排名结果并请求确认,例如“Agent-2 is the winner (128ms, -52ms from baseline). Merge agent-2's branch? [Y/n]”。
使用方式 命令形式为 /hub-run,可带以下参数:
- --task(必填):给智能体的任务描述。
- --agents(可选):并行智能体数量,默认 3。
- --eval(可选):用于衡量结果的评估命令;LLM 评审模式下可省略。
- --metric(可选):从评估输出中提取的指标名;若给出 --eval 则必填。
- --direction(可选):lower 或 higher,表示哪个方向更优;若给出 --metric 则必填。
- --template(可选):智能体模板,可选 optimizer、refactorer、test-writer、bug-fixer。
示例:
/hub-run --task "Reduce p50 latency" --agents 3
--eval "pytest bench.py --json" --metric p50_ms --direction lower
--template optimizer
/hub-run --task "Refactor auth module" --agents 2 --template refactorer
/hub-run --task "Cover untested utils" --agents 3
--eval "pytest --cov=utils --cov-report=json" --metric coverage_pct --direction higher
--template test-writer
/hub-run --task "Write 3 email subject lines for spring sale campaign" --agents 3 --judge
执行步骤
- 初始化:以提供的参数运行 /hub-init,调用 python {skill_path}/scripts/hub_init.py --task "{task}" --agents {N} [--eval "{eval_cmd}"] [--metric {metric}] [--direction {direction}],并向用户显示会话 ID。
- 采集基线:若提供了 --eval,则在当前工作目录运行评估命令,从 stdout 提取指标值,显示基线并追加到会话配置。未提供 --eval 则跳过。
- 派生智能体:以会话 ID 运行 /agenthub:spawn。若提供了 --template,则使用 ../agenthub/references/agent-templates.md 中的模板分派提示词,并把评估命令、指标和基线传入模板变量。在单条消息中用多个 Agent 工具调用启动全部智能体。
- 等待与监控:告知用户智能体正在运行;全部完成后显示每个智能体工作的简要摘要,然后进入评估。
- 评估:以会话 ID 运行 /agenthub:eval。若提供了 --eval,使用 result_ranker.py 进行基于指标的排名;否则使用 LLM 评审模式。若已采集基线,把 --baseline {value} 传给 result_ranker.py 以显示变化量。展示排名结果表。
- 确认与合并:向用户展示结果并请求确认。确认后运行 /agenthub:merge;若拒绝,可提示用户使用 /agenthub:merge --agent agent-{N} 选择其他胜出者、使用 /agenthub:eval --judge 重新用 LLM 评审,或手动检查各分支。
关键规则
- 顺序执行:每一步依赖前一步。
- 失败即停止:任一步失败则报告错误并停止。
- 合并需用户确认:绝不在未询问的情况下自动合并。
- 模板可选:未提供 --template 时,智能体使用 /agenthub:spawn 的默认分派提示词。
适用场景 适合需要并行探索多个方案并按量化指标或 LLM 评审择优的工程与内容任务,例如性能优化、代码重构、测试覆盖补齐、缺陷修复,以及生成多个候选文案。
限制 资料未提供关于收费、价格、平台支持范围、运行环境依赖或效果保证的信息。评估依赖用户提供的评估命令与指标;未提供 --eval 时改用 LLM 评审模式。合并操作必须由用户确认。