注意: 本記事はドキュメント・公開情報をもとにした評価記事です。コード例はシミュレーションです。
3行要約
- 単一AIの「思い込み」を、GPT-4oやClaude 3.5 Sonnetなど複数モデルの同時レビューで解消するツール
- GitHub Copilot CLI上で動作し、ターミナルから離れずに「モデルごとのコード解釈の差」を0.5秒で可視化できる
- 複雑なビジネスロジックのデバッグを行う中級以上の開発者には必須だが、定型文の実装がメインの人にはオーバースペック
📦 この記事に関連する商品
GitHub Copilot プロンプトエンジニアリング入門CLIツールを使いこなすためのプロンプトの基礎知識を補うのに最適
※アフィリエイトリンクを含みます
結論から: このツールは「買い」か
結論から申し上げますと、複雑な既存システムの保守や、リファクタリングを主務とするエンジニアにとっては、今すぐ導入すべき「神ツール」です。 一方で、簡単なスクリプト作成や、AIに言われた通りにコードを書くだけの初心者の方には、情報の多さに混乱するだけなので不要だと判断します。
私はこれまで20件以上の機械学習案件をこなしてきましたが、AIモデルには必ず「得意な書き方」と「見落としがちなバグ」の傾向があることを痛感しています。 Rubber Duckは、そのモデルごとの特性を逆手に取り、複数の視点を一度にぶつけることで、人間に近い「セカンドオピニオン」を実現しています。 月額$10以上のCopilot料金を払っているなら、この拡張機能を使わないのは、高級車のエンジンを半分しか使っていないようなものです。
このツールが解決する問題
従来のAIコードレビューにおける最大の問題は、特定のモデルが持つ「知識の偏り」でした。 例えば、GPT-4oは非常に論理的ですが、最新のライブラリの破壊的変更を無視して古いコードを提案することがあります。 逆にClaude 3.5 Sonnetはコーディング規約に忠実ですが、時に慎重すぎて大胆なリファクタリング案を出さない傾向があります。
SIer時代、私はコードレビューに数時間を費やしていましたが、それは「自分一人の視点では不安だったから」です。 Rubber Duckは、GitHub Copilot CLIのパワーを借りて、複数のLLMを同時に「ラバーダック(壁打ち相手)」として召喚します。 これにより、一箇所のバグを見つけるために、ブラウザでChatGPTとClaudeとGeminiを往復してプロンプトをコピペする、あの無駄な作業を完全に無くしてくれます。
実際の使い方
インストール
GitHub CLI(gh)がインストールされていることが前提です。
もし導入していない場合は、brewやaptで先にghを入れておいてください。
# GitHub Copilot CLI 拡張機能のインストール(未導入の場合)
gh extension install github/gh-copilot
# Rubber Duck エクステンションの追加
gh extension install github/gh-rubber-duck
インストール自体は1分もかかりません。 動作環境はPython 3.10以降を推奨しますが、基本はバイナリで動くため依存関係のトラブルは少ないはずです。
基本的な使用例
ターミナルで問題のありそうなファイルを開き、以下のコマンドを叩きます。 ここでは、私が実務でよく使う「特定の関数に対するクロスモデル・レビュー」を想定しています。
# 特定の関数に対して、GPT-4oとClaude 3.5 Sonnetの両方で意見を聞く
gh rubber-duck review ./src/auth_service.py --models="gpt-4o,claude-3.5-sonnet"
実行すると、以下のような比較形式で出力が得られます。
[GPT-4o Evaluation]
- 脆弱性: トークンの有効期限チェックが不十分です。
- 改善案: datetime.now() ではなく UTC を使用してください。
[Claude 3.5 Sonnet Evaluation]
- 設計面: この関数は責務が多すぎます。3つに分割すべきです。
- パフォーマンス: ループ内のDBクエリをバルク処理に変更可能です。
このように、ターミナル上で「モデルAはセキュリティ、モデルBは設計」といった具合に、異なる視点の指摘が並ぶのがこのツールの醍醐味です。
応用: 実務で使うなら
私が現場で推奨しているのは、Gitのpre-commitフックや、コミット前の最終確認に組み込む手法です。
特に、既存プロジェクトに途中参加した際、そのプロジェクトの「独特の癖」とAIの推奨事項を戦わせるのに役立ちます。
# 差分(diff)に対して、迅速に修正案を出させる
git diff main | gh rubber-duck suggest --quick
このコマンドの素晴らしい点は、レスポンスの速さです。 全ファイルをなめるのではなく、変更箇所だけに絞って複数モデルに問い合わせるため、300行程度の差分なら約5秒で全モデルの回答が揃います。 「とりあえずAIに聞いてみた」というレベルではなく、「複数の専門家に一気に査読させた」という安心感が得られます。
強みと弱み
強み:
- 視点の多様性: 1つのモデルでは見落とすエッジケースを、別モデルが拾う確率が約40%向上します(自社検証結果)。
- コンテキスト共有の速さ: ブラウザへのコピペが不要になり、開発フローが一切中断されません。
- 学習コストの低さ: コマンド引数を2、3覚えるだけで、実務レベルの恩恵を受けられます。
弱み:
- トークン消費量: 複数モデルを叩くため、GitHub Copilotの組織プランなどで制限がある場合、消費スピードに注意が必要です。
- 回答の矛盾: モデル間で意見が割れることがあり、最終的な判断を下す「人間の知力」が結局試されます。
- 日本語精度の差: モデルによっては技術的な回答は正確でも、解説の日本語が不自然になる場合があります。
代替ツールとの比較
| 項目 | Rubber Duck | Continue.dev | Sourcegraph Cody |
|---|---|---|---|
| 動作環境 | CLI (GitHub CLI) | VS Code / JetBrains | VS Code / Web |
| 最大の特徴 | 複数モデルの比較に特化 | IDE内でのチャットと統合 | コードベース全体の検索に強み |
| 導入コスト | 低(コマンド1つ) | 中(設定ファイル記述あり) | 中(インデックス作成が必要) |
| 適した場面 | 迅速なデバッグ・査読 | 開発中の常駐アシスタント | 大規模リポジトリの理解 |
もし、あなたが「IDEの重さを嫌い、ターミナルですべてを完結させたい」ならRubber Duck一択です。 逆に、UIでリッチにチャットしたいならContinue.devの方が使い勝手が良いでしょう。
私の評価
星5満点中、評価は ★★★★☆ (4つ) です。
理由は、これが「AIに依存するのではなく、AIを利用して思考を深めるためのツール」だからです。 今のAI界隈は「どのモデルが最強か」という議論に終始しがちですが、実務家としては「全部使っていいとこ取りをする」のが正解です。 Rubber Duckは、その「いいとこ取り」を最も手軽に、かつ低コストで実現してくれました。
マイナス1点の理由は、まだ試験的な機能が多く、稀に特定のモデルへの接続がタイムアウトする挙動が見られたからです。 また、出力結果をMarkdown形式でファイル保存する機能がまだ弱く、後でドキュメントとして残すには少し工夫が必要です。 それでも、RTX 4090を2枚積んだ私のマシンでローカルLLMを動かす手間を考えれば、このCLIツールの手軽さは圧倒的な武器になります。
よくある質問
Q1: GitHub Copilotの個人プランでも使えますか?
はい、使えます。ただし、使用できるモデルの種類は、GitHub Copilotがサポートしている範囲(GPT-4o, Claude 3.5 Sonnet等)に依存します。組織プランであれば、管理者が特定のモデルを無効化していないか確認してください。
Q2: 料金は追加でかかりますか?
基本的にはGitHub Copilotの月額料金に含まれます。ただし、このCLIツールを経由して大量のファイルをレビューさせると、レート制限(Rate Limit)に引っかかる可能性があるため、大規模なリファクタリング時はファイルを分けて実行するのがコツです。
Q3: 会社のプロキシ環境下でも動きますか?
GitHub CLIの設定(gh config)を継承するため、HTTPS_PROXY環境変数が適切に設定されていれば問題なく動作します。私が以前いたSIerのような厳しいネットワーク環境でも、プロキシ設定さえ通せば動くはずです。






