融合竞赛
融合竞赛把同一个需求交由多个模型分别实现,每个模型在隔离的工作副本中独立完成;可附加一条客观检查命令作为硬性门禁,再由评审模型综合各家最优、合并回主线。它是「代码竞赛」,与研究委员会的「问答会诊」不同:这里产出的是可合并的代码。
参赛为 2 至 4 个选手(各自跑一个真实 CLI,故有数量上限)。每个选手在自己隔离的工作副本里实现,彼此看不到、也无法互相覆盖。可用的参赛引擎包括 claude、codex、opencode、reasonix、zulu(zulu:模型名 可用一份 License 让多个 zulu 模型对赛)。
一键全自动
这是面向新手的零点击路径:输入一句需求、勾选「全自动」、点一下开赛,后续自动完成。
- 自动选阵容——若本机有两个及以上可用的真实 CLI,就取其中最多三个组成跨引擎对赛;否则用一份 Zulu License 让三个模型对赛。都没有可用引擎则明确报错。
- 并行实现——每个选手在各自隔离的工作副本中实现需求、提交。
- 自动进入评审——当所有选手都落定后,自动进入「综合最优」评审阶段。
- 综合并合并——评审综合出最优版本,合并回主线。
「落定」的判定基于是否产出了提交(引擎无关的完成信号),或该选手已终止——而非靠空闲时间猜测「做完了没」。等待实现的时间有上限(默认 20 分钟),超时也会照常进入评审,让弱的或空的选手在评审中自然落败。
手动模式
关闭「全自动」即为分步流程:自行指定 2 至 4 个选手、驱动它们实现,然后在批次卡片上选择裁决方式:
- 进入评判——生成每个选手相对主线的改动清单(diff);随后由你在某个选手上点「选为赢家」来裁决并合并。
- 自动评判——派一个评审 agent 读遍所有选手的改动,写出结构化分析(共识/分歧/独特观点/盲区),选出一个赢家并落定。
- 综合最优——派一个综合 agent 亲手把各家最优糅合成一版实现、提交,并合并这一版(赢家是综合出来的结果,而非某个原始选手)。
客观检查
可选地提供一条检查命令(如 python3 check.py、cargo test)。在自动模式下,swarmx 会在每个选手各自的工作副本里真实执行这条命令:退出码为 0 即通过,非 0 即失败。
检查结果作为最高优先级的硬规则交给评审:任何未通过客观检查的选手一律不当选,无论其代码看起来多优雅。相比人工阅读 diff,这能拦住「看着对、跑起来错」的一类问题。没能获得独立工作副本的选手(标记为「降级」)会被当作未通过门禁处理,避免把无法验证的产物当成通过。
不会卡死:看门狗与确定性兜底
自动评审的裁决由评审 agent 自己发起,万一它中途失灵,批次可能卡在「评判中」。为此有一个服务端看门狗兜底,保证批次永远不会静默卡死:
- 综合模式——取评审已写好的综合产物,仅当它确有非空改动时才合并;否则转为「待裁决」交人工。
- 带客观检查的挑选模式——重新在各选手副本里跑一遍客观检查,第一个通过的选手胜出。
- 无确定性信号——转为「待裁决」,由界面提示你手动挑选。
裁决的落定是比较并设置的原子操作,因此评审自己的裁决与看门狗的兜底不会重复合并。
状态与结果
一个批次会经历这些状态:
| 状态 | 含义 |
|---|---|
| 进行中 | 选手正在各自的工作副本里实现。 |
| 评判中 | 已生成评审方向与各选手 diff,评审与看门狗在运行。 |
| 待裁决 | 自动评审未能确定性地裁决,界面提示手动挑选。 |
| 已完成 | 赢家已定,分支已合并(或无可合并的改动)。 |
| 失败 | 批次终止于失败状态。 |
合并的结果会如实反馈:已合并、有冲突(AI 正在协调)、或无可合并的改动。冲突不会丢给你——swarmx 会派一个 AI 协调者去解决。
前置条件
多模型能力由 Comate Zulu 提供;跨引擎模式下则使用你已登录的 claude、codex 等(见引擎参考)。