Skip to content

融合竞赛

融合竞赛把同一个需求交由多个模型分别实现,每个模型在隔离的工作副本中独立完成;可附加一条客观检查命令作为硬性门禁,再由评审模型综合各家最优、合并回主线。它是「代码竞赛」,与研究委员会的「问答会诊」不同:这里产出的是可合并的代码。

参赛为 2 至 4 个选手(各自跑一个真实 CLI,故有数量上限)。每个选手在自己隔离的工作副本里实现,彼此看不到、也无法互相覆盖。可用的参赛引擎包括 claude、codex、opencode、reasonix、zulu(zulu:模型名 可用一份 License 让多个 zulu 模型对赛)。

一键全自动

这是面向新手的零点击路径:输入一句需求、勾选「全自动」、点一下开赛,后续自动完成。

  1. 自动选阵容——若本机有两个及以上可用的真实 CLI,就取其中最多三个组成跨引擎对赛;否则用一份 Zulu License 让三个模型对赛。都没有可用引擎则明确报错。
  2. 并行实现——每个选手在各自隔离的工作副本中实现需求、提交。
  3. 自动进入评审——当所有选手都落定后,自动进入「综合最优」评审阶段。
  4. 综合并合并——评审综合出最优版本,合并回主线。

「落定」的判定基于是否产出了提交(引擎无关的完成信号),或该选手已终止——而非靠空闲时间猜测「做完了没」。等待实现的时间有上限(默认 20 分钟),超时也会照常进入评审,让弱的或空的选手在评审中自然落败。

手动模式

关闭「全自动」即为分步流程:自行指定 2 至 4 个选手、驱动它们实现,然后在批次卡片上选择裁决方式:

  • 进入评判——生成每个选手相对主线的改动清单(diff);随后由你在某个选手上点「选为赢家」来裁决并合并。
  • 自动评判——派一个评审 agent 读遍所有选手的改动,写出结构化分析(共识/分歧/独特观点/盲区),选出一个赢家并落定。
  • 综合最优——派一个综合 agent 亲手把各家最优糅合成一版实现、提交,并合并这一版(赢家是综合出来的结果,而非某个原始选手)。

客观检查

可选地提供一条检查命令(如 python3 check.pycargo test)。在自动模式下,swarmx 会在每个选手各自的工作副本里真实执行这条命令:退出码为 0 即通过,非 0 即失败。

检查结果作为最高优先级的硬规则交给评审:任何未通过客观检查的选手一律不当选,无论其代码看起来多优雅。相比人工阅读 diff,这能拦住「看着对、跑起来错」的一类问题。没能获得独立工作副本的选手(标记为「降级」)会被当作未通过门禁处理,避免把无法验证的产物当成通过。

不会卡死:看门狗与确定性兜底

自动评审的裁决由评审 agent 自己发起,万一它中途失灵,批次可能卡在「评判中」。为此有一个服务端看门狗兜底,保证批次永远不会静默卡死:

  • 综合模式——取评审已写好的综合产物,仅当它确有非空改动时才合并;否则转为「待裁决」交人工。
  • 带客观检查的挑选模式——重新在各选手副本里跑一遍客观检查,第一个通过的选手胜出。
  • 无确定性信号——转为「待裁决」,由界面提示你手动挑选。

裁决的落定是比较并设置的原子操作,因此评审自己的裁决与看门狗的兜底不会重复合并。

状态与结果

一个批次会经历这些状态:

状态含义
进行中选手正在各自的工作副本里实现。
评判中已生成评审方向与各选手 diff,评审与看门狗在运行。
待裁决自动评审未能确定性地裁决,界面提示手动挑选。
已完成赢家已定,分支已合并(或无可合并的改动)。
失败批次终止于失败状态。

合并的结果会如实反馈:已合并有冲突(AI 正在协调)、或无可合并的改动。冲突不会丢给你——swarmx 会派一个 AI 协调者去解决。

前置条件

多模型能力由 Comate Zulu 提供;跨引擎模式下则使用你已登录的 claude、codex 等(见引擎参考)。

基于 MIT 许可发布