进阶 📋 7 个步骤 第 423 / 470 篇

用 GitHub Copilot CLI 的 HydraFusion 做多模型编排:单模型、级联、互评三种模式怎么选

HydraFusion 研究预览实操:开启实验开关、三种执行模式对比、五指标对照测法、五类失败模式,以及把路由思想复刻进自己 Agent 的最小骨架。

2026.09.14· 25 分钟阅读· 约 2379 字· 🐉 Copilot CLI / 🔀 多模型路由

2026 年 9 月 4 日,GitHub 放出了 Project HydraFusion 的研究预览版。它做的事情说起来很朴素:不再让你在任务开始前「选一个模型」,而是让运行时在任务进行中决定用几个模型、怎么配合。对已经习惯「写码用一个模型、评审再手动切另一个」的开发者来说,这等于把手工编排搬进了运行时。这篇教程带你把它开起来、按一套可比的测法跑一遍,并把它的路由逻辑复刻到你自己的 Agent 里。

🎯 适合人群:已经在用 GitHub Copilot 写代码、手头有多个模型可选、关心「质量除以成本」的开发者和技术负责人。需要 Copilot 订阅(任意层级)+ 最新版 Copilot CLI,不需要 GPU。

先理解:它把模型选择变成了「工作流选择」

过去 Copilot 的自动模型选择,是给你的任务挑一个最合适的模型。HydraFusion 往前一步:它会为每个请求生成一份执行计划,按任务需要的推理、代码生成、调试、工具使用等能力信号,从多个供应商的模型里挑组合。

当前它会从三种模式里选一种:

模式发生了什么主要代价
Single(单模型)一个模型直接解题路由判断正确时开销最低
Cascade(级联)高效模型先起草,质量闸门决定「接受」还是「升级」到更强模型能省钱;一旦升级就有额外延迟
Critique(互评)一个模型起草,另一个模型家族的只读评审员点评,起草方再做一次结构化修订多一次模型调用;换来独立视角

注意 Critique 的评审步骤是在隔离且无工具的上下文里跑的——评审员不能改仓库,这跟「橡皮鸭调试法」是同一个思路。这点很重要:如果评审员能顺手改代码,它就会把「评审」和「动手」混在一起,你就分不清哪一版是谁写的。

Step 1:把 Copilot CLI 升到带实验特性的版本

1 先更新,再开实验开关

HydraFusion 只走 Copilot CLI 的实验入口,网页版和编辑器插件里没有。先在 CLI 里更新到最新版:

# 在 GitHub Copilot CLI 会话里执行
/update          # 安装最新版本
/experimental    # 查看实验特性开关状态
/experimental on # 打开实验特性
/model           # 在模型列表里选 HydraFusion (Research Preview)

它还是研究预览。官方明确说明:名称、参与模型、路由策略与行为都可能变。所以请不要把生产仓库当试验场,先在一条可丢弃的分支上跑。每次测试都记下 CLI 版本、选中的模式和日期,否则两周后你没法解释数据为什么不一样。

Step 2:挑一个「够大、边界清晰」的任务做基线

2 别拿改错别字来测编排

GitHub 给的建议很具体:先用体量足够、边界清晰、能用一段话描述完整的编码任务来试。任务太小,三种模式都会退化成 Single,你测不出差别;任务太模糊,你又分不清是路由不好还是需求没说清。

一个可用的五任务组合(每个都有客观验收标准):

1. 让一个原本失败的测试通过(有明确 pass/fail)
2. 实现一个小功能(有验收描述)
3. 升级一个依赖并修掉随之而来的编译错误
4. 按文档要求做一次小范围重构(不改变对外行为)
5. 修一个有可复现步骤的 Bug
💡 这五个任务要同一批跑两遍:一遍用你平时的单模型默认,一遍用 HydraFusion。只跑一遍看不出任何东西。

Step 3:记录五个可比指标

3 成本要按「每一条腿」加总

HydraFusion 不是一口价,它按实际调用到的模型、按各自标准单价计费。级联和互评都可能有多条计费腿(起草、评审、修订、升级、重试、回退)。所以账单不能只看最终那个模型:

要记什么怎么记为什么重要
验收结果由独立的人(或独立评审流程)检查测试与 diff防止「Agent 自报完成」
总模型成本把每条腿的用量加总不然级联和互评没法比
墙钟时间从提交提示到拿到可评审补丁捕捉路由与评审带来的延迟
人工介入分钟数 + 你纠正了几次衡量「没被消掉的工作量」
补丁范围改了哪些不在需求里的文件揪出「测试通过但改过头」

如果界面只显示最终模型或最终答案,先导出可得的用量记录再下成本结论。多腿任务的账目最容易在这里出错——你看到的那个模型,往往不是花掉大部分 token 的那个。

Step 4:读懂它为什么切到了 Cascade 或 Critique

4 三种模式各自适合什么信号

路由本身是看不见的,但你可以从结果反推:

结果特征                                大概率走了哪种模式
------------------------------------------------------------
一次成型、无额外调用、延迟低            Single
先有一段「看起来能跑」的草稿,           Cascade
  之后质量突然提升、总成本仍偏低
输出里能看到明显的「先评后改」痕迹、     Critique
  修订只有一轮、耗时明显更长
💡 观察结论:容易验证的任务(有测试)最适合 Cascade,因为质量闸门有客观依据;难验证但错一次代价高的任务(迁移脚本、并发逻辑)更适合 Critique,因为你需要的是「另一个人看一眼」而不是「再试一次」。

Step 5:盯住五类已知失败模式

5 编排不是免费的午餐
失败模式表现应对
过早接受级联闸门放过了一份只过了浅层检查的草稿把验收标准写进任务描述,别让闸门替你判断业务正确性
昂贵升级便宜模型先烧了一轮 token,最后还是升级统计升级率,升级率高的任务类型直接指定强模型
评审盲点只读评审员看不到仓库上下文,漏掉回归评审前把关键约束(接口契约、迁移红线)写进任务上下文
延迟意外质量更好但串行调用把任务拖慢把墙钟时间和成本一起看,别只看省钱
路由不透明结果不错,但没人能说清跑了哪几条腿要求导出每条腿的角色、结果、成本、延迟与诊断

Step 6:把路由思想复刻到你自己的 Agent

6 核心逻辑其实不到 20 行

HydraFusion 背后有五条运行原则值得抄:完整记账、有界执行(每条腿有超时与取消)、隔离评审、失败不打补丁(校验失败就一个补丁都不落)、执行前校验路由(模型绑定与可用性先确认)。把这套抽象出来,骨架是这样:

def solve(task, budget):
    difficulty = router.estimate(task)      # 用能力信号估难度

    if difficulty.low:
        return cheap_model.run(task)        # Single

    draft = cheap_model.run(task)           # Cascade 起点
    if not quality_gate.pass_check(draft, task):
        draft = flagship_model.run(task)    # 升级

    if difficulty.high:                     # Critique 兜底
        review = critic_model.review(draft, task)   # 只读,无工具
        draft = writer_model.revise(draft, review)  # 只允许一轮
    return draft

两个必须自己设的闸门。一是质量闸门:级联模式要把「便宜模型答错」的代价压到低于升级成本,否则级联就是纯浪费。二是修订轮数上限:互评模式不加最大轮数,很容易在两个模型之间来回改到超预算。这两处没有默认值,得按你自己的任务分布调。

Step 7:设定预期——基准数据不等于你的任务

7 官方数据怎么读才不误导自己

GitHub 公布的离线受控评测(对比 Claude Opus 5 单模型、中等推理强度、调优后的配置)大致是这样:

基准估算成本质量
TerminalBench 2.1低 67%+4.9 个百分点
DeepSWE低 36%-1.5 个百分点
CheckpointBench(内部基准)低 65%-0.1 个百分点

三个前提别忽略:① 这些是固定输入、固定工具、固定限额与定价假设下的受控结果,不是「每个真实任务都会更便宜」;② 基准只代表特定任务分布,你的仓库未必在分布内;③ 成本估算用的是当前模型价,价格会变。另外,延迟没有被汇总进这张表——省钱不等于省时间。想真正下结论,只有一条路:拿你自己那批任务跑 Step 2 的对照。

常见问题速查

你遇到的现象大概率原因 & 解决
/model 里找不到 HydraFusionCLI 不是最新版,先 /update 再 /experimental on
跑了三次都像是单模型任务太小,被路由判定为 Single。换体量更大、边界更清晰的任务
成本比平时还高触发了 Cascade 升级或 Critique 多腿调用,去核对每条腿的用量
质量不如预期评审员缺少仓库上下文。把接口契约、迁移红线等约束写进任务描述
同样的提示两天后结果不同研究预览期间策略会变。记录 CLI 版本与日期,隔一段时间重测
← 返回教程中心