9月14日、Entelligenceが「GPT-5.6 Luna vs GPT-6 Astra: Is a $1.20 Model Good Enough for Code Review?」と題した記事を公開した。
AIコードレビューの導入を検討する開発チームに、常に付きまとう問いがある——「高性能モデルにコストをかける価値は本当にあるのか」。AIコードレビューツールを提供するEntelligenceはこの問いに対し、実際に50件のプルリクエストを使って格安モデル「GPT-5.6 Luna」と高性能モデル「GPT-6 Astra」を比較した。結果は単純な「安物買い」論では片付かない、現場で即使える使い分けの指針だった。
1レビューあたり28倍のコスト差、それだけの価値はあるか
Lunaは1回のレビューに$0.0041、Astraは$0.113——同一のプルリクエスト50件を対象にした実験で、28倍というコスト差が出た。
モデルごとのトークン単価は以下の通りだ。
- GPT-5.6 Luna:入力 $0.20 / 出力 $1.20(100万トークンあたり)
- GPT-6 Astra:入力 $10 / 出力 $50(100万トークンあたり)
GPT-5.6 LunaはOpenAIが提供する軽量・低コスト寄りのモデル、GPT-6 AstraはGPT-6系列の高精度フラグシップモデルだ。2026年に入り、企業の生成AIコスト削減圧力が高まる中、「日常的なコードレビューを安価なモデルに任せられないか」という需要が急増しており、今回の検証はその実践的な回答を試みるものである。
実験には、GitHubで公開されているベンチマーク用PRセット AI-Code-Review-Evals から50件を使用した。Cal.com、Sentry、Discourse、Keycloak、Grafana から各10件ずつ、いずれもクリーンなベースブランチに対して意図的に欠陥を埋め込んだものだ。両モデルには同一のプロンプトを与え、正確性・セキュリティ・並行性・リソース・エラーハンドリングのバグを探させた(スタイルや命名規則の指摘は除外)。
検証方法も厳密だ。各PRの指摘をすべて匿名化してリスト化し、GPT-6 AstraとGPT-5.6 Solの2モデルが独立して判定する(GPT-5.6 SolはOpenAIの別の軽量モデルで、今回の比較対象ではなく判定専用の第三者モデルとして採用した)。両方が「本物のバグ」と認定した場合のみ検証済みとカウントする方式で、2モデルの一致率は91%、143件の独立したバグが検証を通過した。
結果:Lunaはコスパ最強だが、精度に問題あり
| 指標 | GPT-5.6 Luna | GPT-6 Astra |
|---|---|---|
| 検証済みバグ数 | 69 | 92 |
| 総指摘数 | 93 | 96 |
| 精度(Precision) | 74% | 96% |
| 50PR合計コスト | $0.20 | $5.66 |
| 検証済みバグ1件あたりコスト | $0.0030 | $0.061 |
| 平均レビュー時間 | 23秒 | 36秒 |
| 平均出力トークン数/レビュー | 2,104 | 688 |
LunaはAstraの75%のバグを、コストの3.6%で発見した。検証済みバグ1件あたりのコストではAstraが20倍高い。
興味深いのはトークン数だ。LunaはAstraの3.1倍もの出力トークンを生成しているにもかかわらず、出力単価が42倍安いため、総コストははるかに低く抑えられる。速度も23秒対36秒でLunaが速い。
ただし、精度の差は現場で即座に体感される。Lunaの指摘は4件に1件が誤りであり、AIレビューコメントをすでに流し読みしているチームはさらに読み飛ばすようになるだろう。
最大の弱点:認証・権限まわりのコード
コードベース別に分解すると、SentryやDiscourse、GrafanaではLunaはAstraの2件以内の差に収まった。一方、Keycloakで最大の差が生じた——Luna 6件 vs Astra 14件で、LunaのKeycloak指摘のうち正しかったのは50%にすぎない(Astraは93%)。
Keycloakはオープンソースのアイデンティティ・アクセス管理(IAM)サーバーで、ベンチマークのPRの大半が認証・権限ロジックの変更だ。セキュリティバグの検出数でも差は鮮明で、Luna 9件 vs Astra 19件(全24件中)。
Astraが発見してLunaが見落としたKeycloakのバグの例を挙げると:
- フェデレーテッド・リカバリーコードが「使用済み」にマークされないため、同じコードを複数回利用できてしまう
- グローバルビュー権限が個別クライアントで設定された拒否設定を上書きしてしまう
いずれも単一行を見ても問題が見えず、変更後の権限モデル全体を追って初めて気づける種類のバグだ。記事では、「どのファイルが認可パスに乗っているか」「どの関数がログインフローから呼ばれているか」といったシステム全体のコンテキストを差分テキストだけからモデルに伝えることは根本的に難しく、これが安価モデルの本質的な限界だと指摘している。
「両方動かす」という選択肢
143件の検証済みバグのうち、両モデルが同時に発見したのは44件のみ。Astraだけが発見したのが48件、Lunaだけが発見したのが25件だ。
両モデルを全PRに走らせた場合、143件中117件(82%)を$5.86で発見できる計算になる。Astra単独($5.66、92件)に対し、$0.20の追加で25件のバグをさらに検出できる。ただし、Lunaの精度の低さによるノイズが増える点はトレードオフだ。
再現性の検証:結果はどれくらいブレるか
読者からの要望で、各コードベースから2件ずつ計10件のPRを同じ設定で3回ずつ実行した。Astraは最初の実行で検証済みだった15件のバグのうち10件を両方の再実行で再発見し、14件は少なくとも1回の再実行で再発見した。Lunaも最初の15件のうち7件を両方で再発見、12件は少なくとも1回で再発見した。Lunaの方が結果のブレが大きい。コスト以外に「出力の安定性」もAstraの強みとなっている。
まとめ:使い分けの判断基準
- 一般的な正確性バグ(データ・ロジック系):LunaはAstraに近い精度を圧倒的低コストで達成する(39件 vs 47件)。大半のPRにはLunaで十分だ
- セキュリティ・認証・権限コード:Lunaを単独で使うべきではない。9件 vs 19件という差は、IAM・認可ロジックを扱うコードベースでは致命的になりうる
- 両モデル併用:$0.20の追加コストで25件のバグを上乗せできるが、Lunaのノイズ増加とのトレードオフを受け入れられるチームにのみ有効だ
詳細はGPT-5.6 Luna vs GPT-6 Astra: Is a $1.20 Model Good Enough for Code Review?を参照していただきたい。