OpenAPIスペックからテストを生成することは、しばらく前から技術的な問題ではなくなっていました。パスアイテムを読み取り、もっともらしいリクエストを出力できるモデルは2年前から存在しています。問題はコストでした。テスト生成は1回の実行あたりのコストが十分に高かったため、チームはそれを一度きりの移行作業として扱っていました。つまり、一度スイートを生成してコミットし、あとは永遠に手作業でメンテナンスするという形です。スペックが変更されるたびに再生成すれば、誰かが質問してくるような費用項目として表面化してしまうからです。
2026年9月22日に発表されたGPT-6 Lunaは、入力トークン100万あたり$0.10、出力100万あたり$0.50で、この作業をその線の反対側へと移動させます。42エンドポイントのスペックに対するフルパスは、キャッシュなしでおよそ$0.29、キャッシュありで$0.10を下回ります。これは、生成されたスイートをメンテナンスするのをやめ、マージのたびに単純に再生成するのに十分な安さです。
ここからは、その算術、リクエストの形、計画しておくべきレイテンシ、そしてモデルが依然として間違える2つのポイントについて説明します。
動いた価格
GPT-6 LunaはGPT-6ファミリーの新モデルであり、名前を変えたGPT-5.6ティアではありません。OpenAIは、SolとLunaはGPT-6 Astraと同様の手法でトレーニングされ、どちらもGPT-5.6のプロモーション価格より50%安いと述べています。この但し書きはOpenAI自身によるもので、重要です。比較対象はリスト価格ではなくプロモーション価格なのです。系譜の全体はAIモデル価格戦争まとめをご覧ください。
| GPT-6 Luna | |
|---|---|
| API id | gpt-6-luna |
| 入力 | 100万トークンあたり$0.10 |
| 出力 | 100万トークンあたり$0.50 |
| キャッシュされた入力の読み取り | 90%割引 |
| コンテキストウィンドウ | 1,000,000トークン |
| Artificial Analysis index | 37 |
この作業では、見出しの価格よりもコンテキストウィンドウのほうが重要です。100万トークンあれば、スペック全体、あなたの社内テスト規約、そして一連のリクエスト例が、余裕を持って1つのプロンプトに収まります。チャンク分割する必要はなく、あるオペレーションがどのスキーマに依存するかを判断するための検索ロジックを書く必要もありません。モデルの詳細はGPT-6 Lunaとは何かをご覧ください。
価格を見積もる前に作業を整形する
2つの形があり、コストは大きく異なります。
ワンショット版は、スペック全体をコンテキストに入れ、スイート全体を1回の補完で要求します。入力は安く済みますが、出力は悪化します。42のオペレーションをカバーする補完は、20番目あたりまでにひどく薄くなり、最初のほうのエンドポイントにはそれぞれ5つのケースが付き、後半にはハッピーパスとお手上げ状態だけが付くことになります。また、実行全体で1つのリトライ単位しかありません。
オペレーション単位の版は、共有スペックコンテキストに加えて1つのオペレーションを、42回送信します。共有コンテキストが繰り返されるため入力は増えますが、出力品質は維持され、各呼び出しは個別にリトライ可能で、各ファイルは前回の実行ときれいに差分比較できます。キャッシュが余分な入力コストのほとんどを取り戻してくれるので、こちらが価格を見積もるべき形です。
中規模のスペックを使った、1回の呼び出しの予算:
| 呼び出しの部分 | トークン |
|---|---|
| システムプロンプトと社内テスト規約 | 4,000 |
| 共有スペックコンテキスト: components、securitySchemes、servers | 48,000 |
| テスト対象の単一オペレーションとその例 | 1,500 |
| 返却される生成テストファイル | 3,000 |
最初の2行はすべての呼び出しでバイト単位で同一です。この52,000トークンのプレフィックスがキャッシュの作用対象であり、不変の素材を最初に置くことが、セットアップにおいて最もレバレッジの効く決定です。
1パスのコスト
その予算で42のオペレーションを処理すると、実行は2,247,000入力トークンと126,000出力トークンになります。
Lunaの料金では、入力が$0.2247、出力が$0.0630なので、1パスあたり$0.2877、エンドポイントあたりでは0.7セントをわずかに下回ります。同じトークンプロファイルを、同じ2週間にリリースまたは値下げされた他のモデルに当てはめると:
| モデル | 100万あたりの入力 / 出力 | この実行のコスト |
|---|---|---|
| GPT-6 Luna | $0.10 / $0.50 | $0.29 |
| GPT-5.6 Luna、リスト価格 | $1 / $6 | $3.00 |
| Grok 4.7 | $2 / $6 | $5.25 |
| GPT-6 Sol | $2 / $10 | $5.75 |
| Claude Opus 5.5 | $4 / $20 | $11.51 |
| Claude Opus 5 | $5 / $25 | $14.39 |
| GPT-6 Astra | $10 / $50 | $28.77 |
Astraは入力と出力の両方でLunaのちょうど100倍の料金なので、この作業ではちょうど100倍のコストがかかります。Claude Opus 5.5は40倍です。
この差が意思決定のすべてです。1パス$28.77なら、インクリメンタルなロジックを構築します。つまり、どのオペレーションが変更されたかを追跡し、各パスアイテムをハッシュ化し、差分だけを再生成し、それがスペックと同期しなくなったときにその仕組みをデバッグするのです。$0.29なら、そのインクリメンタルなロジックを削除します。月20回のマージで$5.75、モデルが書いたテストを実行するのに費やすCI分よりも少ない額です。規模感として、OpenAIは中央値の研究者がコーディングエージェントに1日$600以上を費やし、90パーセンタイルでは$7,000を超えると報告しています。
プロンプトキャッシュがどこまで押し下げるか
GPT-6は価格変更とともに本物のキャッシュリリースを伴って登場しました。キャッシュされた入力の読み取りに対する90%割引、デフォルトでのヒット率向上、ダッシュボードと診断ツール、キャッシュされたプレフィックスがどこで終わるかを選べる明示的なブレークポイント、そして推論エフォートやツールの可用性の変更をまたいだキャッシュの存続です。GitHubは、数十億のリクエストにわたって、新たに処理が必要なプロンプトトークンが50%以上減少したと報告しています。詳細はGPT-6プロンプトキャッシュをご覧ください。
上記の実行に適用し、$0.10の入力料金から90%を引いてキャッシュ読み取りを100万あたり$0.01とすると:
| 行 | トークン | コスト |
|---|---|---|
| 最初の呼び出し、52,000トークンのプレフィックスを通常料金で | 52,000 | $0.0052 |
| 残り41回の呼び出しでキャッシュされたプレフィックスを読み取り | 2,132,000 | $0.0213 |
| オペレーション単位の内容、決してキャッシュされない | 63,000 | $0.0063 |
| 出力、キャッシュの影響を受けない | 126,000 | $0.0630 |
| 合計 | $0.096 |
キャッシュなしコストのおよそ3分の1、エンドポイントあたりでは0.25セントをわずかに下回ります。前提にしてはいけないことが2つあります。OpenAIは90%割引を明言していますが、我々の情報源ではLunaのキャッシュ読み取りのドル建て料金を公表していないため、上記の$0.01は算術上の値であり、公表された料金ではありません。そして、キャッシュの寿命を引用したものは我々の側にはありません。ですから、42回の呼び出しは遅いCIキューに分散させるのではなく連続して発火させ、ヒット率はダッシュボードで確認してください。
リクエスト
何も奇抜なものはありません。順序こそがその価値を生みます:
curl https://api.openai.com/v1/chat/completions \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-6-luna",
"reasoning_effort": "high",
"messages": [
{ "role": "system",
"content": "You write API tests. Emit one test file. Assert on status, response schema and error shape. Never assert on a field absent from the supplied schema." },
{ "role": "user",
"content": "Shared spec context:\n<components, securitySchemes, servers>" },
{ "role": "user",
"content": "Operation under test:\nPOST /orders\n<path item and examples>" }
]
}'
システムプロンプトと共有スペックブロックは42回の呼び出しすべてでバイト単位で同一であり、最初に来ます。オペレーションは変動し、最後に来ます。この2つを入れ替えると何もキャッシュされず、実行コストは$0.096ではなく$0.29になります。これが仕組みのすべてです。
highエフォート設定は意図的なものです。Lunaの前世代に対する公表された改善は、より高いエフォートで測定されており、GPT-6のキャッシュはエフォート変更をまたいで存続するため、プレフィックスを再構築することなくオペレーションごとに調整できます。最高設定は、金銭や認証を扱うエンドポイントのために取っておきましょう。
予算を組むべきはお金ではなく時間
安いことは速いことではありません。サードパーティのArtificial Analysisは、Lunaのmax推論バリアントを、出力毎秒153.9トークン、初回トークンまでの時間124.23秒と測定しています。どちらの数字もOpenAIのものではなく同社のものであり、どちらも特にmaxバリアントに当てはまるもので、AAは継続的に再スコアリングするため、方向性として扱ってください。
額面通りに受け取ると、maxエフォートでの1回の呼び出しは、およそ124秒の待ち時間に加えて3,000トークンをストリーミングするのに約20秒、合計144秒といったところです。42回を順番に実行すると約101分。8並列なら約13分で、ごく普通のCIステージです。
これはほとんどのモデル選定の議論とは逆の方向に働きます。だからこそこの組み合わせが機能するのです。初回トークンまでの時間は対話型アシスタントにとっては惨事ですが、ファイルを書き出すバッチジョブにとってはほぼ無関係です。より大きな兄弟モデルについても同じトレードオフがGPT-6 Solの初回トークンまでの時間にあります。
正しくできること、そしてできない2つのこと
OpenAIが公表したLunaの結果は、価格が示唆するよりも強力です。DeepSWE 1.1では、maxエフォートで66.6%に達し、OpenAIはこれを中エフォートのClaude Opus 5およびFable 5と同等と位置づけつつ、タスクあたりのコストはOpus 5より93%少なく、Fable 5より96%少ないとしています。AutomationBenchでは、タスクあたりのコストを58%削減しつつ、前世代を5.4パーセンテージポイント上回ります。すべてOpenAIがOpenAIのハーネス上で実行したものであり、スペックからのテスト生成を測定したものはありません。
ここではどんなベンチマークよりも重要な2つの失敗モードがあります。
モデルはスペックに書かれたことしかテストできません。スペックがPOST /ordersに対して200と400を記載していても、サービスが重複した冪等性キーに対して409も返す場合、あなたはコンフリクトテストを得られず、それでもスイートは完全に見えます。生成品質はスペック品質によって上限が決まるのであり、投資すべき成果物はプロンプトではなくスペックなのです。
安価な生成は正しく見えることで失敗します。特徴的なエラーは壊れたテストではなく、レスポンスが決して含まないフィールドや、エンドポイントが決して発しないステータスコードをアサートする、通ってしまうテストです。これらはテストのように読めるためレビューを通過します。生成されたすべてのアサーションを、それが取り込まれる前にスキーマに対して機械的に検証し、componentsに存在しないフィールドを参照するものはすべて却下してください。このチェックはコストがかからず、この種のエラーを根絶します。
出力を実行可能にする
生成されたテストファイルの価値は、それを実行するハーネスとまったく同じです。スペックを信頼できる唯一の情報源として保ち、それに対して生成し、そしてケースをすべてのプッシュで実行される場所に着地させましょう。
Apidogはそのループの後半をカバーします。生成元のスペックをインポートするので、プロンプト内の共有コンテキストとランナー内のリクエスト定義が1つのドキュメントから来ることになり、ずれることがありません。生成されたケースはテストシナリオになり、そのアサーションはインポートされたスキーマに対して検証されるため、上記のチェックがレビューの手間ではなく機械的なゲートになります。Smart mockはバックエンドがまだ書かれている間にスペックを提供するので、生成されたスイートは実際に叩くものができる前に正直に失敗できます。そしてシナリオはCIで実行されます。そこだけが、マージのたびに再生成するワークフローが報われる場所です。
これをLunaにルーティングする価値はあるか?
はい、ただし1つ注意点があります。コストはもはやそれをスキップする理由にはなりません。1パス$0.29、キャッシュありなら$0.10未満は、再生成すべきかどうかを議論する会議よりも安いのです。レイテンシは現実ですが、誰も待っていない時間帯に収まります。そしてLunaの公表された結果は、エージェント的コーディング作業において40倍から100倍のコストがかかるモデルに近い位置にそれを置いています。
とはいえ、それによって出力が届いた時点で信頼できるようになるわけではありません。節約した分を、スキーマ検証ゲートと初回実行の人間による読み込みに費やし、結果は、文書化された表面を完全にカバーし、文書化されていない表面をまったくカバーしない初稿として扱いましょう。それでも、4リリース前にスペックを追うのをやめた手書きのスイートよりは、ましな出発点です。
