AI・機械学習
GPT-5.6 Luna対GPT-6 Astra: 1.20ドルのモデルはコードレビューに十分か?
GPT-5.6 Luna vs. GPT-6 Astra: Is a $1.20 Model Good Enough for Code Review? (entelligence.ai)
要約
この記事では、AIモデルGPT-5.6 LunaとGPT-6 Astraのコードレビューにおける性能とコスト効率を比較しています。LunaはAstraに比べて発見するバグの数は少ないものの、コストは28分の1であり、特に一般的なバグに対しては十分な性能を示しました。しかし、認証や権限に関するコードレビューではAstraに劣るため、用途に応じた使い分けが推奨されています。
全文翻訳
GPT-5.6 Luna対GPT-6 Astra: 1.20ドルのモデルはコードレビューに十分か?
Aditya Jha 2026年9月14日
GPT-5.6 Lunaは、入力トークン100万件あたり0.20ドル、出力トークン100万件あたり1.20ドルです。GPT-6 Astraはそれぞれ10ドルと50ドルです。同じプルリクエストで、Lunaによるレビューは0.0041ドル、Astraによるレビューは0.113ドルで、28倍の違いがありました。
前回の投稿ではAstraとGPT-5.6 Solを比較しました。今回は、すべてのプルリクエストが最も安価なモデルを通過した場合に何が失われるかを知りたいと思いました。
短い答え
Lunaは50件のプルリクエストで69件の検証済みバグを発見しました。Astraは92件を発見しました。Lunaのコストは実行全体で0.20ドル、Astraは5.66ドルでした。Lunaは誤りが多く、93件の発見のうち24件が検証に失敗しました。一方Astraは96件中4件の失敗でした。また、セキュリティバグ24件のうちLunaは9件を発見しましたが、Astraは19件を発見しました。
私たちの見解: Lunaはその価格で日常的な正確性バグには十分であり、認証や権限コードのレビューを単独で任せるべきではありません。
実行方法
Astra対Solの投稿からセットアップを再利用したため、数値が一致します。
プルリクエストは、AI-Code-Review-Evals組織にある50件の公開ベンチマークPRです。Cal.com、Sentry、Discourse、Keycloak、Grafanaからそれぞれ10件です。各PRはクリーンなベースブランチに対して欠陥を導入しています。
LunaとAstraは同じプロンプトと差分を受け取りました。プロンプトは、正確性、セキュリティ、並行性、リソース、エラー処理のバグを求め、スタイル、命名、ドキュメント、テストの提案は除外しました。各モデルは構造化された発見事項を返しました。
検証は以前と同じ方法で行われました。各プルリクエストについて、Astra、Sol、Luna、および公開Entelligenceレビューアのコメントからの発見事項は、1つの匿名化されたリストに入力されます。GPT-6 AstraとGPT-5.6 Solはそれぞれ、差分に対してそのリストを個別に評価し、重複をグループ化し、各問題が実際のバグであるかどうかを決定します。問題は、両方の評価者がそれをリアルだと判断した場合にのみ検証済みとカウントされます。彼らは発見事項の91%で合意し、143件の個別のバグが両方を通過しました。
Lunaの発見事項を追加すると、評価者が見たプールが変更されたため、すべてが再度評価されました。Astraの検証済みカウントは、前回の投稿の91から今回は92に、Solは107から108に増加しました。Astraも2つの評価者のうちの1つであるため、わずかに有利になる可能性があります。制限セクションでそれについて説明します。
結果
GPT-5.6 Luna
GPT-6 Astra
検証済みバグ: 69 / 92
発見事項: 93 / 96
精度: 74% / 96%
総コスト、50 PR: 0.20ドル / 5.66ドル
検証済みバグあたりのコスト: 0.0030ドル / 0.061ドル
レビューあたりの平均時間: 23秒 / 36秒
レビューあたりの平均出力トークン: 2,104 / 688
LunaはAstraの75%の検証済みバグを、わずか3.6%の費用で見つけました。検証済みバグあたりでは、Astraは20倍高価でした。
Lunaはレビューあたり3.1倍多くの出力トークンを生成しましたが、出力価格が42倍低いため、はるかに安価でした。また、レビューあたり23秒対36秒と、より高速でした。
あなたのチームはまず精度のギャップを感じるでしょう。Lunaのコメントの約4分の1は間違っていましたが、Astraは96件中4件の間違いでした。すでにAIレビューコメントをスキミングしている開発者は、4分の1がノイズである場合、さらにスキミングするでしょう。
Lunaが劣る点
前回の投稿の読者は、全体的なスコアが1つのリポジトリでうまく機能し、別のリポジトリでうまく機能しないモデルを隠す可能性があるため、コードベースごとおよびバグタイプごとに結果を分割するように求めてきました。このデータでは、Lunaが欠落しているバグがどこから来るかを示しています。
Sentry、Discourse、Grafanaでは、LunaはAstraに2件の検証済みバグ差で迫りました。Cal.comでは、21対30とより広いギャップがありました。Keycloakが最も広く、Lunaは6件の検証済みバグを発見し、Astraは14件でした。また、Keycloakでの発見事項の50%しか有効でなく、Astraは93%でした。
KeycloakはIDおよびアクセス管理サーバーであり、そのベンチマークPRのほとんどは認証および権限ロジックを変更しています。バグクラスの分割も同様の傾向を示しています。
検証済みの各バグを根本原因でラベル付けしました。GPT-5.6 Sol(ここでは比較対象の2モデルではありません)は、書かれた定義に対して1回のパスで143件のバグすべてにラベルを付けました。ラベルはベンチマークデータとともにコミットされているため、誰でも確認できます。
データおよびロジックバグ(最大のグループ)では、Lunaは39件、Astraは47件でした。並行性では、Lunaは10件、Astraは13件でした。セキュリティでは、Lunaは24件中9件、Astraは19件でした。
Astraが捉え、Lunaが見逃したKeycloakのバグのうち2件:
フェデレーテッドリカバリコードが使用済みとしてマークされなかったため、リカバリコードが複数回使用される可能性がありました。
グローバルビュー権限が、個々のクライアントに設定された拒否を上書きしました。
どちらも単一行では間違っているようには見えません。変更後に権限モデルが許可するものを理解することで、初めてそれらが見えるようになります。
LunaがAstraが見逃したものを捉えるもの
LunaはAstraが見逃したバグも発見しました。143件の検証済みバグのうち、44件は両モデルによって発見され、48件はAstraのみ、25件はLunaのみでした。
Lunaのみの25件のバグのうち、16件はデータおよびロジックバグ、4件は並行性バグです。Discourseでは、購読解除リクエストを繰り返すとユーザーの通知レベルが低下し続けました。Sentryでは、並行性バグにより、古いワーカーを停止せずに非正常なワーカーを置き換えました。
すべてのプルリクエストで両方のモデルを実行すると、143件の検証済みバグのうち117件(82%)が見つかり、合計コストは5.86ドルでした。これは、Astraの5.66ドルにLunaの0.20ドルが加算され、25件のバグが増加したことになります。
読者がチェックを求めたこと
モデルは修正を覚えているだけだったのか?
ある読者は、これらのリポジトリは公開されており、ベンチマークバグの修正が履歴に残っている可能性があると指摘しました。修正が適用された後にトレーニングされたモデルは、すでに見たパッチを記憶している可能性があります。提案されたテストは、プルリクエストを日付で分割し、各モデルのトレーニングカットオフ以降に行われた変更でランキングが維持されるかどうかを確認することでした。
このベンチマークでは、その分割を実行できません。各PRのコミット日付を取得しましたが、2013年から2025年7月25日まで範囲は広いです。20件は2025年のもので、どちらのモデルのカットオフよりも後に来るほど最近のものは1件もありません。カットオフ後のグループは空になります。
リスクは聞こえるほど大きくはありません。なぜなら、これらのPRにベンチマーク目的で意図的に欠陥が追加されたため、各差分内の正確なバグはモデルがトレーニングできたコミットではないからです。ただし、周辺コードは古く公開されているため、正しいバージョンがどのように見えるかを知っているモデルは有利になります。これを適切にテストするには、モデルよりも新しいプルリクエストが必要ですが、このベンチマークではそれを提供できません。
モデルは同じバグを2回見つけるのか?
別の読者は、同じ設定でいくつかのPRを再実行するように求めました。各コードベースから2つのPRを選択し、各モデルをさらに2回実行しました。
最初の実行から、Astraはこれらの10件のPRで15件の検証済みバグがありました。10件は両方の繰り返しで戻り、14件は少なくとも1回で戻りました。Lunaも15件でした。7件は両方の繰り返しで戻り、12件は少なくとも1回で戻りました。
サンプルは小さいので、これらは概算として扱ってください。ある実行でバグを見つけたモデルが次の実行で見逃す可能性があり、これはこの投稿のすべての単一実行数値に当てはまります。LunaはAstraよりも頻繁にそれを行いました。
誰もフラグを立てなかったバグはどうなるか?
3番目の要求は、偽陰性、つまりすべてのモデルが見逃した実際のバグを追跡することでした。それを測定するには、各PR内のバグの完全なリストが必要ですが、ベンチマークはそれを公開していません。
下限を与えることができます。26件の検証済みバグは、LunaとAstraの両方によって見逃され、SolまたはEntelligenceレビューアのみによって捕捉されました。そのうち2件は、前回の投稿のDiscourseセキュリティバグです。1つは部分文字列マッチを使用したpostMessageオリジンチェック、もう1つはホスト許可リストを通過するリダイレクトを追跡したリモートフェッチです。見逃されたバグの真の数は、どのレビューアもフラグを立てなかったバグはプールに入らないため、より高くなります。
この比較の限界
10件の繰り返しPRを除き、各モデルは各PRを1回レビューし、繰り返し実行は結果が実行間で変動することを示しています。
Astraは競技者であり、2つの評価者のうちの1人でもあります。Solに同意を求めることで、バイアスを排除せずに軽減します。
各PRは両方のモデルのトレーニングカットオフよりも前にあるため、読者が求めた日付分割はここでは不可能です。
両方のモデルは差分のみを見て、それ以外のものは見ていません。リポジトリの履歴、コールグラフ、または本番データはありません。
検証済みカウントは存在するバグの下限であり、ベンチマークには測定対象となる完全なバグリストがありません。
差分がモデルに伝えないこと
このベンチマークでは、安価なモデルはほとんどの変更でうまく機能し、認証および権限コードではうまく機能しませんでした。差分だけでは、