
美国微软旗下的GitHub于4月6日(当地时间)发布了“GitHub Copilot CLI”的新功能“Rubber Duck”。该功能允许使用与主代理不同的模型家族对主代理的计划和代码进行审查,类似于第二意见机制。
编程代理通常在计划、实现和测试的循环中工作,但如果在初期阶段出现错误判断,后续阶段可能会引发严重问题。因此,在每个阶段进行错误检查的代码审查非常重要。然而,如果审查仍由与主代理相同的模型执行,可能会因为存在相同的盲点而无法获得良好结果。
“Rubber Duck”的设计理念正是基于此。例如,当主模型使用日本国家Claude Sonnet时,作为批评模型的“Rubber Duck”会采用其他厂商的模型,如GPT-5.4。由于GPT-5.4具备与Claude Sonnet不同的视角和方法,能够敏锐地指出Claude Sonnet容易忽视的缺陷、设计假设偏差、跨多个文件的依赖关系破裂以及测试遗漏等问题。该名称来源于“橡皮鸭调试”方法,即通过向橡皮鸭逐行解释代码,帮助发现问题或想出更优解决方案。
根据GitHub的测试,Claude Sonnet与Rubber Duck(GPT-5.4)的组合在处理步骤较长、涉及多个文件的复杂问题时,表现出比Claude Sonnet与Claude Opus组合更显著的改进。
通过结合主模型和批评模型提升输出质量的做法,也被微软的调查代理“Researcher”采用,其内部测试了类似的“Critique”机制。这种多模型协作可能成为未来的趋势。
值得一提的是,GitHub Copilot会在开发循环的适当时机自动调用“Rubber Duck”,开发者无需特别操作即可享受该功能。但如果需要,也可以手动调用以进行更深入的开发流程审查。
目前,“Rubber Duck”功能在GitHub Copilot的实验模式(/experimental)中提供。用户可从模型选择器中选择任意“Claude”模型,并启用对GPT-5.4的访问,即可使用该功能。
目前主模型与批评模型的组合仅限于“Claude”模型与“GPT-5.4”,但未来这一限制有望放宽。


