
こんにちは、テックラボの高橋です。今回はGPT-5 Codex(5.2/5.3)とClaude Opus 4.6のVLM(Vision Language Model)性能を比較してみました。Codexのreasoning.effortとClaudeのAdaptive thinkingパラメーターによる推論強度の違いも検証しています。Codex 5.3については、画像理解のベンチマークであるMMMU-Proの結果も取得しました。
背景
現在のGPT-5 Codexは画像入力に対応しています。コード生成に特化したCodexモデルですが、UIのあるアプリなど、目視でのテストが必要な開発の場合に画像認識をしてくれると便利です。Codex 5.3がVLMとしてどの程度の画像認識能力があるのか気になったので、Claude Opus 4.6と並べて比較検証しました。
環境
- Azure Foundry (GPT-5.2 Codex / GPT-5.3 Codex / Claude Opus 4.6)
- Python 3.12
テスト対象

こちらの「いらすとや」の素材を用います。
LLMのAPIは、以下のようにPythonから利用します。
# Codex url = f"{endpoint}/openai/responses?api-version=2025-03-01-preview" payload = { "model": "gpt-5.3-codex", "input": [{"type": "message", "role": "user", "content": [ {"type": "input_text", "text": prompt}, {"type": "input_image", "image_url": f"data:image/png;base64,{img_b64}"}, ]}], "max_output_tokens": token_num, } # Claude url = "https://{resource}.services.ai.azure.com/anthropic/v1/messages" payload = { "model": "claude-opus-4-6", "messages": [{"role": "user", "content": [ {"type": "text", "text": prompt}, {"type": "image", "source": {"type": "base64", "media_type": "image/png", "data": img_b64}}, ]}], "max_tokens": token_num, }
システムプロンプトは、以下を指定しています。
この画像を詳細に説明してください。以下の観点で分析してください: 1. **人物の特徴**: 性別、年齢層、髪型、表情 2. **服装**: 色、種類、スタイル 3. **ポーズ・動作**: 何をしているか、体の向き 4. **装飾要素**: 星やエフェクトなど 5. **画像スタイル**: イラストの種類(例:水彩風、フラットデザインなど) 6. **背景**: 背景の色や要素 できるだけ具体的に、日本語で回答してください。
比較結果
画像に対する各モデルの回答を比較しました。
| モデル | 回答 |
|---|---|
| Codex 5.2 | (前略) 4. 装飾要素 - 周囲に黄色い星のようなキラキラしたエフェクト 5. 画像スタイル - 優しいタッチのイラストで、少し水彩風の質感 - シンプルで親しみやすい児童向けのイラスト(後略) |
| Codex 5.3 | (前略) 4. 装飾要素 - 黄色い星形のキラキラが複数配置 - 喜び・テンションの高さを視覚的に強調 5. 画像スタイル - いらすとや風に近いフラット寄りのデフォルメイラスト - 紙・クレヨン風のテクスチャ感 (後略) |
| Opus 4.6 | (前略) 4. 装飾要素 - オレンジ色(山吹色)の四芒星が合計5個 - 左上・右上・左中央・右中央・下中央付近に配置 5. 画像スタイル - いらすとや(みふねたかし氏作)の典型的なスタイル - 水彩風。デフォルメされた頭身(約3〜4頭身) (後略) |
Codex 5.3/Opus 4.6はいらすとやの画像であることを推定しています。 Opus 4.6は、星の数(5個)と記述がありますが実際は7個のため、ハルシネーションが発生しています。
座標推定テスト
定性的な画像説明だけでなく、定量的な空間認識能力も比較しました。各モデルに目と口の位置を「左上(0,0)、右下(100,100)のパーセント座標」で推定させ、ピクセル計測した正解座標との誤差を計算しています。誤差は以下のようにパーセント座標での距離の平均を用いています。
def dist(p1, p2):
return math.sqrt((p1[0]-p2[0])**2 + (p1[1]-p2[1])**2)
def avg_err(le, re, m, gt):
e = [dist(le, gt["le"]), dist(re, gt["re"]), dist(m, gt["m"])]
avg = sum(e) / 3
print(f" 各誤差: 左目={e[0]:.2f} 右目={e[1]:.2f} 口={e[2]:.2f} -> 平均={avg:.1f}%")
return avg
プロンプト
この画像の顔パーツの位置を推定してください。
座標系: 左上を (0, 0)、右下を (100, 100) とするパーセント座標。
以下のJSON形式のみで回答してください:
{"left_eye": [x, y], "right_eye": [x, y], "mouth": [x, y]}
正解座標
画像の目・口の位置をピクセル単位で計測し、パーセント座標に変換したものを正解としました。
| パーツ | ピクセル座標 | パーセント座標 |
|---|---|---|
| 左目 | (354, 184) | (44.2, 23.0) |
| 右目 | (433, 184) | (54.1, 23.0) |
| 口 | (398, 260) | (49.8, 32.5) |
推定結果
| モデル | 左目 | 右目 | 口 | 平均誤差 |
|---|---|---|---|---|
| 正解 | (44.2, 23.0) | (54.1, 23.0) | (49.8, 32.5) | - |
| Codex 5.2 | (44, 24) | (56, 24) | (50, 30) | 1.9 |
| Codex 5.3 | (44, 24) | (56, 24) | (50, 33) | 1.2 |
| Opus 4.6 | (42, 22) | (58, 22) | (50, 30) | 3.0 |
各モデルの推定位置を画像上にプロットした結果です。赤の+が正解、各色のマーカーがモデルの推定値です。

Codex 5.3の性能が良さそうですね。
推論強度を変えた場合
ここまではデフォルトの設定で実験しましたが、Codexのreasoning.effortとOpus 4.6のAdaptive thinkingを変えて、同じ画像で再実行しました。Adaptive thinkingはOpus 4.6で推奨されているモードで、リクエストの複雑さに応じてthinkingの深さを自動調整します。
| 設定 | 左目 | 右目 | 口 | 平均誤差 |
|---|---|---|---|---|
| 正解 | (44.2, 23.0) | (54.1, 23.0) | (49.8, 32.5) | - |
| Codex 5.3 (low) | (44.5, 23.0) | (55.5, 23.0) | (50.0, 32.8) | 0.7 |
| Codex 5.3 (default) | (44, 24) | (56, 24) | (50, 33) | 1.2 |
| Codex 5.3 (high) | (44, 23) | (56, 23) | (50, 33) | 0.9 |
| Opus 4.6 (default) | (43, 22) | (57, 22) | (50, 30) | 2.4 |
| Opus 4.6 (adaptive high) | (43, 24) | (57, 24) | (50, 32) | 1.7 |
Codex 5.3が全設定で高精度(0.7〜1.2)ですが、Opus 4.6もAdaptive thinkingを有効にすると誤差が2.4→1.7に改善しました。
MMMU-Proベンチマーク
MMMU-Proベンチマークは画像を入力として選択式の問題を回答させるベンチマークです。
例えばBiologyのカテゴリだと、家系図の遺伝様式を推定させる以下のような問題があります。

Codex 5.3のベンチマーク性能を確認するため、reasoning.effort=highでMMMU-Pro全1,730問(30科目)を実行しました。
結果
| 項目 | reasoning.effort=high |
|---|---|
| 正答数 | 1,323 / 1,730 |
| 正答率 | 76.5% |
外部スコアとの比較
MMMU-Proのベンチマーク結果を公開しているVellumの値を参考値として並べます。
| モデル | w/o tools | 備考 |
|---|---|---|
| Gemini 3 Pro | 81.0% | Vellumより |
| GPT-5.2 | 79.5% | Vellumより(汎用モデル) |
| Codex 5.3 (high) | 76.5% | 本記事の実測値(コード特化モデル) |
| Opus 4.6 | 73.9% | Vellumより |
| Opus 4.5 | 70.6% | Vellumより |
VellumでのClaudeの設定値が不明なためあくまで参考程度ですが、 Codex 5.3はOpus 4.6よりもスコアが高く、汎用モデルであるGPT 5.2よりは低いという結果となりました。
おわりに
今回はGPT-5 Codex(5.2/5.3)とClaude Opus 4.6のVLM性能を、画像説明・座標推定・MMMU-Proベンチマークの観点で比較してみました。
この実験ではGPT-5 Codex 5.3の性能が良さそうですね。 VLMの性能は問題設定によってもかなり左右されるため、用途に応じたモデル・設定の選択が重要になりそうです。最近はマルチモーダル性能の進化が著しいので、また新しいモデルが出たら比較してみたいと思います。