GitHub Copilot CLI、モデルファミリーを組み合わせてセカンドオピニオンを提供
GitHub Copilot CLI が実験的機能「Rubber Duck」を導入。異なるAIファミリーのモデルを独立したレビュアーとして活用し、エージェントの計画や作業を評価する。評価結果では、Claude Sonnet + Rubber Duck が Sonnet と Opus 単体間の性能差の 74.7% を埋め、複雑なマルチファイルタスクで顕著な改善を示した。
GitHub は、Copilot CLI に実験的な新機能「Rubber Duck」を追加しました。これは、異なる AI モデルファミリーを組み合わせて、コーディングエージェントの作業を独立した視点からレビューする仕組みです。Rubber Duck の名称は、古典的なデバッグ手法「ラバーダック法」に由来しますが、技術的には別のモデル(現時点では GPT-5.4)が主エージェント(例:Claude Sonnet)の計画や実装を評価し、見落としや前提の誤り、エッジケースを指摘します。
従来のエージェントは自己反省によって改善を試みますが、同一モデルのバイアスに制約されます。Rubber Duck は異なるトレーニングデータと手法で学習したモデルを用いることで、より多様なエラーを捉えることができます。SWE-Bench Pro ベンチマークを用いた評価では、Claude Sonnet を主モデルとし、GPT-5.4 を Rubber Duck として使用した場合、単体で動作する Claude Opus との性能差の 74.7% を埋めることが確認されました。特に、3 ファイル以上、70 ステップ以上の困難なタスクでは、Sonnet 単体と比較して 3.8% 高いスコアを記録し、最も難しい問題では 4.8% の向上が見られました。
Rubber Duck は、以下のタイミングで自動的に起動します。(1)エージェントが計画を立案した後、(2)複雑な実装を完了した後、(3)テストを記述した後(実行前)。また、エージェントがループに陥った場合やユーザーが任意の時点でレビューを要求した場合にも呼び出されます。フィードバックは Copilot の既存のタスクツールを通じて統合され、どのような変更が行われたかが表示されます。
具体的な事例としては、スケジューラが起動直後に終了するアーキテクチャ上の問題、ループ内で辞書キーが上書きされるバグ、複数ファイルにまたがる Redis キーの競合などが挙げられます。これらの問題は、単一モデルでは検出が困難であり、Rubber Duck の多角的なレビューが有効であることを示しています。
Rubber Duck は現在実験的に利用可能で、GitHub Copilot CLI をインストールし、/experimental コマンドを実行することで使用できます。モデルピッカーから Claude モデルを選択し、GPT-5.4 へのアクセスが有効である場合に自動的に有効になります。GitHub は今後、他のモデルファミリーとの組み合わせも検討しており、ユーザーからのフィードバックを基に機能を改善していく予定です。