技术速递|GitHub Copilot CLI 结合多模型能力提供“第二视角”

作者:Nick McKenna & Bartek Perz

排版:Alan Wang

了解 Rubber Duck 如何为 GitHub Copilot CLI 带来不同的思路与视角。

当你让一个编码智能体构建数据管道时,它未必会采用最优结构。但如果在执行方案之前,让它先获得"第二视角"呢?

今天,在 GitHub Copilot CLI 中,我们以实验模式 引入 Rubber Duck。它利用来自不同 AI 模型家族的第二个模型,作为独立评审者,在关键时刻对智能体的计划与执行进行评估与反馈。

为了捕捉不同类型的错误,引入不同视角至关重要。我们的评估显示,Claude Sonnet + Rubber Duck 能弥补 Sonnet 与 Opus 之间 74.7% 的性能差距,在处理复杂的多文件、长流程任务时表现更佳。你可以通过在 Copilot CLI 中使用 /experimental 来启用 Rubber Duck 及其他实验特性。

问题:自信的错误会被不断放大

当前的编码智能体通常遵循一个清晰的循环:分析任务 → 制定计划 → 实现 → 测试 → 迭代。这一流程强大且高效,但也存在盲点。早期(尤其是规划阶段)的决策,会成为后续所有工作的基础。一旦存在假设偏差或效率问题,就会逐步演变为依赖,等你发现时,往往已经不只是修复一个小错误那么简单。

运用自我反思机制,让智能体在推进任务前先审视自身的输出内容,是一种经过验证的有效方法。然而,模型对自身工作成果进行审核时,仍会受限于其自身的训练偏差:相同的数据来源、相同的训练方法,也意味着相同的盲点仍然存在。

Rubber Duck:引入第二种视角

Rubber Duck 是一个专注于评审的智能体,由与你当前 Copilot 会话"互补"的模型驱动。例如,当你选择 Claude 作为主调度模型时,Rubber Duck 会使用 GPT-5.4。在我们对 Rubber Duck 进行试验的同时,也在为编排器和 Rubber Duck 本身探索其他模型系列。Rubber Duck 的职责是核查主智能体的工作,并输出一份简短且高价值的问题清单,包括:

  • 主智能体可能忽略的细节

  • 值得质疑的假设

  • 需要考虑的边界情况

何时跨模型评审最有效?

我们在开源代码库中选取了规模庞大、难度较高且源自真实场景的编程问题,构建了 SWE-Bench Pro 基准测试集,并基于该数据集对 Rubber Duck 进行了评估。结果如下:

Claude Sonnet 4.6 搭配运行 GPT-5.4 的 Rubber Duck,其解决率接近单独运行的 Claude Opus 4.6,填补了 Sonnet 与 Opus 之间 74.7% 的性能差距。

我们发现,Rubber Duck 在处理复杂难题时助力更为显著,这类问题涉及 3 个以上文件,通常需要 70 个以上步骤才能解决。在这类问题上,Sonnet 搭配 Rubber Duck 的表现比 Sonnet 基准模型高出 3.8%;而在三次测试中筛选出的最难问题上,这一优势提升至 4.8%。以下是 Rubber Duck 所发现问题的几个示例:

  • 架构问题(OpenLibrary / 异步调度器):Rubber Duck 发现所设计的调度器在启动后会立即退出,导致没有任何任务被执行;即便修复该问题,其中一个被调度的任务本身也是一个无限循环。

  • **单行代码引发的严重漏洞(OpenLibrary / Solr)**Rubber Duck 发现一个循环在每次迭代时都会悄无声息地覆盖同一个 dict 键,导致四个 Solr 分面类别中有三个在每次搜索查询中被丢弃,且没有任何错误提示。

  • 跨文件冲突(NodeBB / 邮件确认):Rubber Duck 发现有三个文件都在读取同一个 Redis 键,而新代码已经不再向该键写入数据,导致确认界面和清理流程在部署后会悄然失效。

Rubber Duck 何时触发?

GitHub Copilot 可以自动调用 Rubber Duck,既可以主动触发,也可以在需要时被动触发;同时,用户也可以在任意时刻手动发起评审,让其对结果进行检查和优化。

对于复杂任务,GitHub Copilot 通常会在"反馈价值最高"的关键节点自动请求评审:

  • 制定计划之后:这是最关键的阶段,因为尽早发现不合理的决策,可以避免后续错误不断放大

  • 完成复杂实现之后:此时通过"第二双眼睛"审查复杂代码,有助于发现边界情况问题

  • 编写测试之后、执行测试之前:可以提前发现测试覆盖不足或断言错误,避免误以为"一切正常"

当智能体陷入循环或无法继续推进时,也会被动触发评审,通过咨询 Rubber Duck 来打破僵局。

作为用户,你可以在任何时候请求评审。Copilot 会调用 Rubber Duck,对反馈进行分析,并清晰展示修改内容及其原因。

在设计上,我们刻意让 Rubber Duck 低频但高价值地介入,只在最关键的时刻提供帮助,而不会打断整体工作流。对于技术细节感兴趣的用户:Rubber Duck 是通过 Copilot 现有的任务工具机制调用的,与其他子智能体使用相同的基础设施。

目前,Rubber Duck 已支持在模型选择器中作为"主调度模型"的所有 Claude 系列模型(Opus、Sonnet 和 Haiku)。同时,我们也在探索更多模型组合,例如让 GPT-5.4 作为主模型时的搭配方案。

开始使用

Rubber Duck 现已以实验模式提供。

要开始使用,只需安装 GitHub Copilot CLI,并运行 /experimental 命令。当你在模型选择器中选择任意 Claude 模型,并且已开通 GPT-5.4 权限时,即可使用 Rubber Duck。你将通过两种方式看到评审结果:

  • 自动触发:当 Copilot 判断某个关键节点需要"第二视角"时,例如在制定计划后、完成复杂实现后或编写测试后

  • 按需触发:在任何时候,你都可以让 Copilot 对其工作进行评审,它会调用 Rubber Duck,整合反馈,并清晰展示具体改动内容

Rubber Duck 最适合的使用场景:

  • 复杂重构与架构调整

  • 高风险任务(错误代价较高)

  • 确保测试覆盖的完整性

  • 在执行方案前获取"第二意见"

GitHub Copilot CLI 中的 Rubber Duck 现已开放实验模式,欢迎在社区讨论中分享你的使用反馈。

相关推荐
marsh02062 小时前
35 openclawCQRS模式应用:分离读写操作提升性能
运维·ai·jenkins·编程·技术
研究点啥好呢2 小时前
Github热榜项目推荐 | React生态系统的成熟演进
前端·react.js·github
一个小浪吴啊2 小时前
Linux/Mac Hermes Agent部署教程
linux·运维·macos·ai·ai编程
企业架构师老王3 小时前
2026年国内AI Agent选型指南:企业数字化转型中的非侵入式架构方案深度评测
人工智能·ai·架构
marsh02063 小时前
34 openclaw事件溯源:实现可追溯的业务流程
数据库·ai·编程·技术
米猴设计师3 小时前
PS电商详情页高效制作:Nano Banana一键生成电商高转化套图(附实操教程)
大数据·图像处理·人工智能·ai·aigc·startai·banana修图
Luca_kill12 小时前
MCP数据采集革命:从传统爬虫到智能代理的技术进化
爬虫·python·ai·数据采集·mcp·webscraping·集蜂云
2501_9481142413 小时前
2026模型能力分化加剧:多模型聚合架构的技术解析与工程落地思考
人工智能·ai·chatgpt·架构
实在智能RPA15 小时前
Agent 如何处理流程中的异常情况?2026年AI Agent架构工程与自愈机制深度拆解
人工智能·ai·架构