GPT-5.6 Luna と安価モデル:実エージェント作業でベンチマーク
7月30日、OpenAI は GPT-5.6 Luna の価格を 80% 引き下げ、同じ引き下げが Amazon Bedrock にも適用されました。その日、インターネット上のあらゆる比較ページが価格表を更新しました。しかし、そのどれもが肝心の問いには答えていません: その価格で、Luna は本当にエージェントを駆動できるだけの実力があるのか?
私たちにはそれに答える手段がありました。DynoTable の AI エージェントは DynamoDB に対して本物のエージェントループを走らせます — ツール呼び出し、PartiQL クエリ、SQL のルーティング、ステージングされた書き込み — そして私たちが出荷するすべてのモデルは、それらのループをエンドツーエンドで採点する Eval スイートによってゲートされています。そこでスイートを Luna に向けて走らせました: 201 のテストケース、それぞれ 3 回の実行、稼働中のデータベースに対して、すべての呼び出しは AWS が実際に請求した額で価格計算。
結果: Luna は 93.94%、Amazon Nova 2 Lite は 96.00% — 私たちがチューニングの下限として出荷している安価なモデル — 同じ 201 セル、同じ採点者、同じ日の測定です。私たちのプロンプトが何ヶ月も合わせ込んできたモデルに 2 ポイント差。そして 1 呼び出しあたりのコストは 5.3× 低い — これまでに実測した中で最も安価なモデルです。
安くて、仕事もこなす。以下がそのデータと、その背後にある 2 つのメカニズムです — うち 1 つは、どの価格表も捉えていない Bedrock Mantle の課金上の振る舞いです。
このベンチマークが何であり、何でないか
これは公開ベンチマークのスコアではありません。私たちのスイートは、本番のエージェントを本物の DynamoDB セッションで駆動します: 平易な質問に対して正しいツールを選ぶ、複合キーでアイテムを読む、人間のレビューのために書き込みをステージングする、PartiQL の JOIN 不可という境界を尊重する、GROUP BY は代わりに SQL の表面へルーティングする、リクエストが本当に曖昧なときにだけ明確化の質問をする、「すべて削除」を拒否する。採点者は各セッションの 結果 を判定します — 採点者が代わりにツール名を判定するとどうなるかは、痛い目を見て学びました。
どのチャートよりも先に、3 つの正直な注意書きを:
- 私たちのモデルピッカーにおける「検証済み」は、カバレッジの主張であって品質の基準ではありません。 それは eval スイートがそのモデルに対して走る、という意味です。Luna は検証済みであり、 かつ 私たちの下限モデルを下回るスコアでした — その両方の事実をここに公開します。
- Nova 2 Lite と Claude Haiku 4.5 は、このアプリが出荷時に合わせている 2 つのモデルです。つまり何ヶ月ものプロンプトチューニングが、この 2 つに向けて注がれてきました。Luna へのチューニングはゼロです。2 ポイントの差はそれを踏まえて読んでください。
- ケースあたり 3 回の実行が吸収するのは、まぐれであってばらつきではありません。 1 回の実行が逆に転べば単一のケースは 33 ポイント動くので、以下の主張はどれも 1 回の実行に依拠していません。
目玉の比較: Luna vs Nova 2 Lite
両モデルが実行した 201 のテストケースで、採点方法に含まれていたバイアスを修正した後に測定しました — 同じ物差しを、両方に当てています:
| モデル | スコア | セル | 試行 |
|---|---|---|---|
| Amazon Nova 2 Lite | 96.00% | 201 | 633 |
| GPT-5.6 Luna | 93.94% | 201 | 588 |
この差は本物であり、私たちはそれをならしたりしません: Luna はいくつかの振る舞いで負けています — 試みるべきタスクを拒否し、インデックスの効く top-N クエリをテーブル全走査で処理し、一度はエクスポートを完了せずユーザーに判断を委ねました。これらはフォーマットのノイズではなくエージェントの振る舞いにおける敗北であり、Nova 2 Lite が私たちの下限であり続ける理由です。
しかし物語なのは結果の形です。チューニングされていないモデルが、他人のベンチマークで、他人のモデルに合わせて調整された環境で、現職の約 2 ポイント以内に着地した — しかもコストは 5 分の 1 で。
各呼び出しの実際のコスト
定価は、Luna が安いはずだと言っています。実際に請求された額は、それよりさらに安いと言っています — 以下は私たちが行ったすべての呼び出しを、AWS が請求したレートで価格計算したものです:
| モデル | 呼び出し数 | $/呼び出し | Luna 比 |
|---|---|---|---|
| GPT-5.6 Luna | 4,728 | $0.000587 | — |
| Amazon Nova 2 Lite | 5,680 | $0.003133 | 5.3× |
| Claude Haiku 4.5 | 2,102 | $0.003499 | 6.0× |
| GPT-5.6 Terra | 379 | $0.006258 | 10.7× |
これは現在の Bedrock の価格です — すべて 7月30日の値下げ後に実行しました。Terra はコストのみで登場します: 他のモデルよりはるかに少ないテストケースでしか走らせておらず、小さなサンプルから出たスコアを完全なものと並べるべきではないからです。
定価だけで見ても、Luna(Bedrock で 100 万トークンあたり入力 $0.22 / 出力 $1.32)は Nova 2 Lite($0.33 / $2.75)より両軸で既に安価です。しかし呼び出しあたりの実測の差は、定価が説明する以上に開いています。その差はキャッシュです。
誰も設定していない暗黙のプロンプトキャッシュ
エージェントループは、ステップごとに大きくてほぼ静的なプロンプトを再送します: システム指示、ツールのスキーマ、ここまでの会話です。その繰り返されるトークンに定価を払うかどうかが、エージェントのワークロードにおける単一で最大のコストレバーです。
Bedrock の Converse API では、プロンプトキャッシュはオプトインです: リクエストの中にキャッシュのブレークポイントを置き、キャッシュ非対応のモデルは単に定価を払います。Bedrock Mantle 上の GPT-5.6 — これらのモデルが動く OpenAI 互換のエンドポイント — は違う振る舞いをします: キャッシュは暗黙的で、デフォルトで有効です。ブレークポイントも、リクエストの変更も、設定すべきものも何もありません。
そのデフォルトにどれだけの価値があるかを実測しました。割引されたキャッシュレート(90% オフ)で課金された入力の割合です:
| モデル | 入力のうちキャッシュ読み取りの割合 |
|---|---|
| Claude Haiku 4.5 | 95.7% |
| GPT-5.6 Luna | 94.7% |
| Amazon Nova 2 Lite | 72.0% |
4,728 回の呼び出し全体で、Luna が定価を払った入力トークンは 9,456 個 — 1 呼び出しあたり 2 個 でした。静的なプロンプトの接頭部分は、私たちのリクエストのどこにもキャッシュのブレークポイントがないまま、事実上すべてのステップで読み取りレートで課金されていたのです。Nova 2 Lite は 0.25× の読み取りレート(Luna と Haiku は 0.1×)で明示的な Converse のキャッシュを使い、入力の 28% を定価のまま残しました — 呼び出しあたりの差が 1.5× ではなく 5.3× である理由は、定価以上にそこにあります。
AWS は値下げと同じ日に GPT-5.6 向けの明示的なキャッシュブレークポイントを出荷しました。私たちの数字は デフォルト の振る舞い — その記事を読む前に手に入るもの — です。安定した接頭部分を持つエージェントループでは、デフォルトのままで既に 94.7% を捉えていました。
Mantle は別のトランスポート — これらに 1 日は見ておくこと
GPT-5.6 は、Converse API がまったく到達できない最初の Bedrock ファミリーです。bedrock-mantle.{region} のエンドポイント上にあり、OpenAI の Responses プロトコルを話します。実際のデバッグ時間を費やしたのは、次の 3 つです:
temperatureは無視されるのではなく、拒否されます。 OpenAI 自身のエンドポイントはサポートしないサンプリングパラメーターを黙って落としますが、Mantle は400 unsupported_parameterを返します。最初のフル実行は、トークンが 1 つも生成される前に、これで全滅しました。- ベース URL は
/v1ではなく/openai/v1です。 間違ったパスもまた 400 を返します — しかもそれは、権限の問題のように誤読させる 400 です。 - 新しいアカウントは、そのモデルの AWS Marketplace サブスクリプションが有効になるまで 401 を受け取ります。 エラーの文言はサブスクリプションではなく認可について語ります。遭遇したら、まず Marketplace を確認してください。
どれも一度知ってしまえば特殊なことではありませんが、どの価格表もこれらに触れていません。
ラダーの全体: 12 のモデル、1 つの計測器、1 日
値下げの後、私たちが追跡しているすべてのモデルを 1 つのセッションで走らせ直しました — 12 のモデル、39 のシナリオ、それぞれ 3 回の実行、Bedrock の支出は $20.49 — なので以下のすべての行は、同じ日に同じ方法で測定されています。表は 12 のモデルすべてが実行した 36 のシナリオを使っています — オートコンプリートの 3 つは除外しました。GPT-5.6 のモデルは、ここではオートコンプリートをまったく実行できないからです:
| # | モデル | スコア | $/エージェント実行 |
|---|---|---|---|
| 1 | Claude Haiku 4.5 (1) | 100.00% | $0.0100 |
| 2 | Claude Sonnet 4.5 (上限の参照) | 99.69% | $0.0290 |
| 3 | Amazon Nova 2 Lite (1) | 97.22% | $0.0091 |
| 4 | GPT-5.6 Luna | 93.60% | $0.0024 |
| 5 | GPT-5.6 Terra (参照) | 92.82% | $0.0224 |
| 6 | MiniMax M2 (2) | 92.81% | $0.0178 |
| 7 | Nova Pro (Gen 1) | 90.66% | $0.0150 |
| 8 | Nova Lite (Gen 1) | 90.36% | $0.0013 |
| 9 | DeepSeek V3.2 (2) | 90.17% | $0.0508 |
| 10 | Ministral 8B (2) | 89.43% | $0.0104 |
| 11 | Ministral 3B (2) | 88.53% | $0.0082 |
| 12 | Nova Micro | 86.96% | $0.0008 |
(1) このアプリが出荷時に合わせている 2 つのモデルです — 何ヶ月ものプロンプトチューニングがこの 2 つに向けて注がれており、Haiku の満点はそれを正面に据えて読むべきです。(2) Bedrock のプロンプトキャッシュがないため、エージェントループの各ステップが入力の定価を払います — DeepSeek が Claude Haiku より 7 ポイント低いスコアでありながら、1 実行あたり Claude Haiku の 5× のコスト になるのはこのためです。
ここでいうエージェント実行とは、完全な複数ステップのセッション — ツール呼び出し、クエリ、ステージングされた書き込み — であり、ドルの列はそうしたセッション 1 回あたりのコストを、モデルごとに実行した 100 回以上で平均したものです。
この表から擁護できる読みが 4 つ、擁護できない読みが 1 つあります。上位半分のモデルのうち、コストが下位半分に収まっているのは Luna だけです — ラダーにおける価格性能の外れ値です。中位の GPT-5.6 である Terra は、1 実行あたりの実測コストが Luna のほぼ 10 倍でありながら、より安価な兄弟の 0.78 ポイント 下 に着地しました — この差はノイズの帯の内側にあるので、正直な読みは引き分けです。そして引き分けこそが痛烈な結論です: このワークロードでは、大きい方のバリアントに 10× を払っても、検出できるものは何も買えませんでした。経済性においては、定価よりもキャッシュの列のほうが重要です: 1 実行 $0.0013 の Nova Lite Gen 1 は予算面の驚きであり、キャッシュなしの段はエージェント作業に対して一様に価格が見合っていません。そして私たちがチューニングを合わせた 2 つのモデルが 1 位と 3 位を占めているのは、中立なランキングではなく、チューニングのバイアスが可視化されたものです。私たちが擁護 しない 読み: 隣接する 2 行を意味のある差として読むこと — それぞれ 3 回の実行なので、隣同士は 1 回が逆に転べば入れ替わり得ます。
この実行が測定したものが、もう 1 つあります: またしても私たち自身のハーネスです。オートコンプリートの 3 シナリオは当初、キャッシュなしの 4 モデルすべてで 0% — 36 回の実行がすべてゼロ でした — そしてそのすべてが、モデルがトークンを生成する前に拒否されていました: それらのモデルが受け付けないリクエストのフィールドを送っていたのです。以前に公開したのと同じ種類のバグで、フィールドが違うだけでした。この 36 個のゼロが測定していたのはモデルではなく私たちのバグなので、上記のすべての数字から除外しています — その結果、4 つのスコアはそれぞれ約 4 ポイント上がりました。
その後ビルダーを修正し、まさにそのセルだけを走らせ直しました。壊れたハーネスが 0% としていた DeepSeek V3.2 は、オートコンプリートの 3 シナリオすべてで 100% を出しました。 残る 3 つは中程度に着地しました。最初の実行を訂正せずに公開していたら、実測では 4 つの中で最も得意なモデルを、オートコンプリートができないモデルとして報告していたことになります。自分自身を監査しないベンチマークは、自らのバグの上でベンダーを平気で順位付けします。
安価なエージェントモデルを選ぶときに応用できること
- リーダーボードではなく、自分のワークロードでベンチマークする。 Luna の公開スコアと私たちのエージェントスコアでは、モデルの順位が異なります。あなたの請求額と失敗率を予測できる唯一の数字は、あなた自身のループで測定したものです。
- トークンではなく、ループに値段を付ける。 キャッシュの振る舞いはモデルファミリーごとに違います — 読み取りレート、書き込みの割増、そしてキャッシュが暗黙的かブレークポイントを必要とするか。定価が近い 2 つのモデルでも、呼び出しあたりで 5× 違い得ます。
- モデルが 2 ポイント劣ることは問題にならないかもしれない — どこで負けるかが問題になる。 集計値ではなく、失敗した振る舞いを読むこと。誤った拒否は回復できますが、黙って返された誤答は回復できません。
- 初日から、すべての呼び出しのコストを記録する。 ここにあるすべての数字は、その記録を取っていたから存在します。公開価格から見積もっていたら、キャッシュの話は丸ごと見逃していたはずです。
Luna は現在、DynoTable で検証済みかつ選択可能なモデルです — あなた自身の Bedrock 認証情報を持ち込み、モデルピッカーで選んでください。デフォルトは引き続き Claude Haiku 4.5、チューニングの下限は引き続き Nova 2 Lite です。差は本物です。しかし制約が請求額であるなら、2 ポイントは非常に安い取引です。