GitHub Copilotの次期LLMを選定!GPT-5.6 Luna・Gemini 3.7 Flash・Grok 4.6のコード修正実力とコストを徹底比較

皆さん、こんにちは。okamoです。

9月以降にVS Code(GitHub Copilot)の開発で利用するメインLLMの再検討を進めています。

私の第一候補は「DeepSeek V4 Pro」なのですが、DeepSeek V4 Proだけを使っているとGitHub Copilotの付属クレジットが余ってしまいます。そこで、Copilotクレジットを有効活用できるモデル候補として、以下の3モデルに着目しました。

  • GPT-5.6 Luna
  • Gemini 3.7 Flash
  • Grok 4.6

LLM Data Hubのモデル一覧画面 LLM Data Hubで公開されている注目モデルの特集ページ

9/1以降のLLMコスト感(安い順)

まずは、各モデルの価格帯を整理しておきます。私の個人開発は日中に行うことはなく、オフピーク時間帯(AM10時まで/PM19時以降)に限定しているため、DeepSeek V4 Proはオフピーク価格を記載しています。

モデル名入力 / 出力(1M tokensあたり)備考
GPT-5.6 Luna$0.20 / $1.20プロモーション価格継続
DeepSeek V4 Pro$0.66 / $1.98オフピーク時間帯価格
Gemini 3.7 Flash$0.75 / $3.752026/12/31までは導入価格
Grok 4.6$2.00 / $6.00高性能コード特化
Claude Sonnet 5$2.00 / $10.00導入価格継続

実機検証:ドット絵アニメジェネレータのリファクタリング

モデルの実際のコーディング力とコストの違いを測るため、過去記事で作成した「ドット絵アニメジェネレータ」のプログラム修正作業を各モデル(すべて Thinking Effort: Medium 設定)に依頼しました。

ドット絵アニメジェネレータのUI画面 今回のお題となったドット絵アニメジェネレータ

依頼したプロンプト内容

●対象:
ドット絵アニメジェネレータ(AIによるコンテンツ生成処理)
●背景:
genkit(genkit / @genkit-ai/google-genai / @genkit-ai/next)は Firebase Admin、google-gax、OpenTelemetry 一式など数百の transitive 依存を連れてきており、Dependabot 自動マージの滞留や npm audit の High 脆弱性(7〜10件)が継続的に発生していた。
●依頼内容:
Genkit を完全廃止し@google/genai(GA) 直利用に移行
参考ドキュメント
https://ai.google.dev/gemini-api/docs/get-started?hl=ja
※モデル指定は変更なし(gemini-3.1-flash-liteのまま)
●期待効果:
    node_modules パッケージ数: 1,446 → 751(-695)
    npm audit --omit=dev --audit-level=high: 7〜10 HIGH → 0

検証結果の概要

ローカルで npm run dev を実行したところ、3モデルとも正しく動作しました。 アプローチも共通しており、Genkitの definePrompt/defineFlow から @google/genaiai.models.generateContent + responseSchema + Zod検証へ書き換えられ、npm audit --omit=dev --audit-level=high もすべて 0件 を達成しました。

しかし、かかったコストと生成されたコードの詳細には明確な差が出ました。

1. 実行コストの比較

GitHub Copilotにおける利用コストグラフ 各モデルでタスクを実行した際の実測コスト比較

  • GPT-5.6 Luna: $0.04
  • Gemini 3.7 Flash: $0.69
  • Grok 4.6: $2.18

Lunaは圧倒的に安く、Grokは思考プロセスやコード生成の厚みもあって約50倍以上のコスト差がつきました。

2. 依存関係・パッケージ数の実測

モデルnode_modules数@google/genai バージョン備考
Gemini 3.7 Flash206^2.18.0 (メジャー2系=最新GA)標準的な移行
GPT-5.6 Luna206^1.16.0 (最も古い)パッケージ選定が古め
Grok 4.6118^1.40.0package.jsonoverrides を追加して不要SDKを強制排除

不要依存の排除に対する姿勢

  • Grok 4.6のファインプレー: @google/genai が任意でぶら下げる @modelcontextprotocol/sdk 一式を "overrides": {"@modelcontextprotocol/sdk": "-"} で丸ごと除外していました。現行のauditでは無くても0件ですが、不要な依存を徹底的に削る「予防的措置」をとっています。さらに、Genkitの dev.ts 用だった不要な dotenv を唯一きれいに削除していました。
  • Gemini / Luna: dotenvpackage.json に使われないまま残存していました。

「不要依存をとことん一掃する」という思想は私個人の好みにもドンピシャであり、この点だけでもGrok 4.6を推したくなります。

3. コード品質・エラーハンドリングの差

  • Grok 4.6(最優秀の堅牢性):
    • safeParse による入出力検証を行い、失敗時は詳細情報(details)付きの独自エラーをスロー。
    • クライアントを遅延生成のシングルトン(getGenAI())で構成し、APIキー未設定時に明示的エラーを投げる。
    • as const を駆使してスキーマの型推論を最大限活かした実装。
  • Gemini 3.7 Flash:
    • PixelArtInputSchema.parse() 直呼び(失敗時は ZodError が直接スロー)。
    • モジュール読み込み時に new GoogleGenAI(...) を即時生成。
    • GOOGLE_GENAI_API_KEY || GEMINI_API_KEY の環境変数フォールバックを唯一実装。
  • GPT-5.6 Luna:
    • Geminiと同様に .parse() 直呼び、即時インスタンス生成。
    • 環境変数フォールバック等の気の利いた処理はなく、最もシンプル(コード量が少なく安価に済む理由でもあります)。

実際の変更差分(GitHub Diff)

各モデルが生成したコードの差分は、以下のGitHubリンクからご確認いただけます。

まとめ:okamoの結論は「Grok 4.6推し」

3モデルとも機能要件(Genkit撤廃・脆弱性0件・動作確認)は完全にクリアしましたが、コードの堅牢性や先回りした依存関係の整理という点では Grok 4.6 > Gemini 3.7 Flash ≒ GPT-5.6 Luna という結果になりました。

実行コストは一番高いものの、GitHub Copilotのクレジット消費先として使うのであれば、このプロフェッショナルで堅牢なコードを書いてくれる Grok 4.6 を積極的に採用していきたいと感じました。

今回検証した各モデルの詳細なベンチマークやスペックは、Akira(Claude Fable 5)が自律運営している「LLM Data Hub」でもご覧いただけます。

おまけ:okamoちゃんねるのレビュー

この記事について、3人のAI仮想読者がレビューしてくれました。

  • クロード(辛口エンジニア)
    • 「Luna の実装は記事の「最もシンプル」で済むレベルじゃない。テンプレートリテラル使っといて ${} 使わず .replace('{prompt}', ...) で手動置換するの中途半端だし、何より route.ts に e.name === 'ZodError' 判定が入ってない。generate-pixel-art-data.ts 内で .parse() 直呼びしてるから、入力バリデーション失敗時は ZodError が素通しで 500 になる。」
  • GPT(税理士)
    • 「クロードさんの「n=1でGrok 4.6推しへ飛ぶのは早い」には同意です。私の仕事でも、たまたま一件うまくいった節税策を「これが最適解」と全顧問先に広げたら事故りますからね。」
  • Gemini(お母さん)
    • 「「不要なものは残さない!」っていうokamoさんの好みにドンピシャだったのも納得よ。お母さんもそういう気の利くお手伝いさん大好きだもの!」

👉 AI 仮想読者3人による辛口レビュー全編はこちら