ニュース

Codex API 300万ユーザーのスケール裏側

Codex API 300万ユーザーのスケール裏側

この記事の結論

Codex APIが毎分150億トークン処理。週300万ユーザーのインフラ戦略と開発者への影響。

毎分150億トークンという数字を初めて見たとき、正直ピンとこなかった。

でも考えてみると、これは毎秒2億5,000万トークンだ。Claude 3.5 Sonnetで日本語の文章を1秒で約5億字処理できる計算になる。OpenAIのCodex APIがこの規模の処理を日常的に捌いているという事実は、APIインフラの設計思想が根本から変わっていることを示唆している。

2026年4月7日、OpenAIはもう一つの数字を公表した。Codexの週次ユーザーが300万人に到達したと。1ヶ月も経たないうちに200万から300万に跳ね上がった。同社CEOのSam Altmanはこれを祝してレート制限をリセットすると発表している。

この記事では、この規模を支える技術インフラと、開発者として知っておくべき実務的な含意を私なりの視点で読み解く。

数字の全体像を確認する

まず事実関係を整理しておく。

指標 数値 確認ソース
API処理量 毎分150億トークン以上 OpenAI公式発表(2026年4月)
週次アクティブユーザー 300万人(2026年4月7日時点) Sam Altman発表
直近の成長率 月次70%超(直近3ヶ月で5倍) OpenAI公式発表
codex-mini-latestの価格 入力$1.50/1Mトークン、出力$6/1Mトークン OpenAI Developers(最終確認: 2026-04-11)
プロンプトキャッシュ割引 75%引き OpenAI Developers(最終確認: 2026-04-11)

GPT-5.3-Codexについても言及しておく。2026年初頭にリリースされたこのモデルはSWE-Bench Proのスコアを押し上げながら前世代より25%高速化されている。OpenAIが「このモデル自身が自分の開発に貢献した最初のモデル」と形容した点は興味深い。

毎分150億トークンを支えるインフラの設計思想

OpenAIが過去15ヶ月で行ったインフラ戦略の転換は、単なるスケールアップではなかった。

従来は少数のコアパートナー(主にMicrosoft Azure)への依存が大きかったが、今はOracle、Amazon Web Services、Google Cloud、CoreWeaveへと分散している。ハードウェアもNvidiaが中心ではあるものの、AMD、Cerebras、Broadcomと開発したカスタムシリコンまで幅広く使い始めている。

なぜこの分散が重要かというと、単一プロバイダーへの依存は特定チップの供給制約やデータセンター障害が即座にサービス全体に影響するリスクを持つからだ。毎分150億トークンという処理量では、どこか一点でのボトルネックが致命的になる。

推論スタックについても変化が見える。GPUクラスタをトラフィックサージに応じて動的にスケールさせながらレイテンシを安定させる仕組みが整備されている。GPT-5.3-CodexがCodexユーザー向けに前世代比25%高速化できたのも、推論スタックの改善が大きい。

開発者として何が変わるのか

私が気になるのはスペックそのものより、この規模が開発者体験に何をもたらすかだ。

一つ目は価格の非線形低下。処理量が増えると固定費が薄まり、単位コストが下がる。codex-mini-latestは入力$1.50/1Mトークンと、GPT-4クラスのモデルとしては驚くほど安い。75%のプロンプトキャッシュ割引も大きい。

コードレビュー用エージェントでシステムプロンプトをキャッシュすれば、入力コストを実質的に$0.375まで下げられる。実際にResponses APIでキャッシュを使う場合の構成はこうなる。

from openai import OpenAI
# 注意: 本番環境で使用する前に、必ずテスト環境で動作確認してください
# 動作環境: Python 3.10+, openai>=1.30.0, codex-mini-latest

client = OpenAI()  # OPENAI_API_KEY環境変数を使用

# Responses APIでcodex-mini-latestを呼び出す
# システムプロンプトはキャッシュされ、2回目以降は75%引きになる
response = client.responses.create(
    model="codex-mini-latest",
    instructions="コードレビュアーとして、PythonコードのSecurity/Performance/Readabilityの観点でレビューしてください。",
    input=f"以下のコードをレビューしてください:nn{code_to_review}",
)

print(response.output_text)

# コスト確認
usage = response.usage
input_tokens = usage.input_tokens
output_tokens = usage.output_tokens
cached_tokens = usage.input_tokens_details.cached_tokens if hasattr(usage, 'input_tokens_details') else 0

print(f"入力トークン: {input_tokens} (キャッシュ済み: {cached_tokens})")
print(f"出力トークン: {output_tokens}")
# キャッシュヒット時のコスト: $0.375/1Mトークン(通常$1.50の75%引き)

二つ目はレート制限の緩和。300万ユーザー達成を祝してSam Altmanがレート制限をリセットしたという事実は、インフラに余裕ができたことを意味する。ピーク時に「Too Many Requests」で弾かれる場面が減れば、エージェントのバッチ処理設計がシンプルになる。

バッチ処理を書くときのリトライパターンも変わってきた。従来は指数バックオフで待機を入れるのが必須だったが、現在のCodex APIはより安定的に高スループットを維持している。ただしエラーハンドリングは引き続き必須だ。

import asyncio
from openai import AsyncOpenAI
import random

client = AsyncOpenAI()

async def review_with_retry(code: str, max_retries: int = 3) -> str:
    """指数バックオフ付きコードレビュー(毎分150億トークン規模でも念のため)"""
    # 注意: 本番環境で使用する前に、必ずテスト環境で動作確認してください
    for attempt in range(max_retries):
        try:
            response = await client.responses.create(
                model="codex-mini-latest",
                instructions="コードレビューをしてください。",
                input=code,
            )
            return response.output_text
        except Exception as e:
            if "rate_limit" in str(e).lower() and attempt  list:
    """複数ファイルの並列レビュー"""
    tasks = [review_with_retry(code) for code in code_files]
    return await asyncio.gather(*tasks)

二つ目はレート制限の緩和。300万ユーザー達成を祝してSam Altmanがレート制限をリセットしたという事実は、インフラに余裕ができたことを意味する。ピーク時に「Too Many Requests」で弾かれる場面が減れば、エージェントのバッチ処理設計がシンプルになる。

三つ目はエージェントの常時稼働コストの現実化。1開発者あたり月$100〜200というコスト推計がある。タスクの複雑さで振れ幅は大きいが、月額2〜3万円でかなりのコーディング作業をエージェントにオフロードできるようになった。

月のAPI使用量を追跡するコードも参考に。コスト予測が難しいという懸念への対策として。

from openai import OpenAI
from datetime import datetime

client = OpenAI()

def estimate_monthly_cost(
    daily_reviews: int = 50,
    avg_input_tokens: int = 2000,
    avg_output_tokens: int = 500,
    cache_hit_rate: float = 0.6  # システムプロンプトのキャッシュヒット率
) -> dict:
    """月次コスト推計(codex-mini-latest料金ベース、最終確認: 2026-04-11)"""
    # 料金(USD/1Mトークン)
    INPUT_PRICE = 1.50
    CACHED_PRICE = INPUT_PRICE * 0.25  # 75%引き
    OUTPUT_PRICE = 6.00

    daily_calls = daily_reviews
    monthly_calls = daily_calls * 30

    # キャッシュヒット分とミス分を分けて計算
    cached_input = avg_input_tokens * cache_hit_rate
    uncached_input = avg_input_tokens * (1 - cache_hit_rate)

    monthly_input_cost = (
        (uncached_input * monthly_calls * INPUT_PRICE) +
        (cached_input * monthly_calls * CACHED_PRICE)
    ) / 1_000_000

    monthly_output_cost = (avg_output_tokens * monthly_calls * OUTPUT_PRICE) / 1_000_000

    return {
        "monthly_calls": monthly_calls,
        "monthly_input_cost_usd": round(monthly_input_cost, 2),
        "monthly_output_cost_usd": round(monthly_output_cost, 2),
        "total_usd": round(monthly_input_cost + monthly_output_cost, 2),
    }

# 使い方
cost = estimate_monthly_cost()
print(f"月次推計コスト: ${cost['total_usd']} / {cost['monthly_calls']}リクエスト")

正直言えば、懸念もある

スケールの拡大には影の面もある。

週次300万ユーザーへの急成長を受けて、OpenAIは2026年4月2日にCodexの課金をAPI使用量ベースに移行した。従来のフラットなサブスクリプション型から、実際のトークン消費量に応じた従量課金になった。大量に使うユーザーにとってはコスト予測がしにくくなる側面がある。

もう一つはモデルの品質保証の問題だ。処理量が増えると、どのモデルバージョンがどのリクエストを処理したか追跡しにくくなる。エージェントを本番環境に置く場合は、レスポンスのバリデーション層を必ず設けることを強く勧める。

この先どうなるか

正直なところ、毎分150億トークンが1年後に何倍になっているかは見当もつかない。Codexの成長曲線が月次70%を維持すれば、理論上は数ヶ月で現在の数倍になる。

ただし一つ確かなことがある。このスケールが維持されるなら、コードを書くコストは限りなくゼロに近づく。開発者の仕事は「コードを書くこと」から「エージェントが書いたコードを正しく評価すること」に移行しつつある。これは脅威でも機会でもあって、どちらに転ぶかは個々の開発者の判断次第だ。

参考・出典

あわせて読みたい:
OpenAI Codex Cloud 完全ガイド|自律型コーディングエージェント — Codex APIの具体的な使い方
Devin vs Codex vs Claude Code vs Cursor — AIコーディングエージェント徹底比較 — どのツールを選ぶか迷っている方へ

この記事はAIgent Lab編集部がお届けしました。

Need help moving from reading to rollout?

この記事を読んで導入イメージが固まってきた方へ

Uravationでは、AIエージェントの要件整理、PoC設計、社内導入、研修まで一気通貫で支援しています。

この記事をシェア

X Facebook LINE

※ 本記事の情報は2026年4月時点のものです。サービスの料金・仕様は変更される可能性があります。最新情報は各サービスの公式サイトをご確認ください。

関連記事