Login
Back to Blog
日本語Comparison

Claude Fable 5 vs GPT-5.5:max_tokens の見落としがモデル比較の結論を変えた理由

Crazyrouter の OpenAI-compatible API を使い、claude-fable-5 と gpt-5.5 を数学、物理、Canvas アニメーションの長いコード生成タスクで比較した。焦点は max_tokens、finish_reason=length、completion_tokens、ブラウザ検証である。

C
Crazyrouter Team
July 6, 2026 / 4 views
Share:
Claude Fable 5 vs GPT-5.5:max_tokens の見落としがモデル比較の結論を変えた理由

Claude Fable 5 vs GPT-5.5:max_tokens の見落としがモデル比較の結論を変えた理由#

先に結論を書く。今回のテストは「Claude Fable 5 はアニメーションを書けない」という話ではない。最初の max_tokens 設定が低すぎたために、評価を誤りかけたケースである。

最初の同条件テストでは、gpt-5.5 は完全な HTML を一度で出力し、ブラウザ検証にも通った。一方で claude-fable-5 のアニメーションコードは途中で切れたため、最初は長いコード生成が不安定に見えた。しかしレスポンスのメタデータを見ると、原因は明確だった。

text
finish_reason = length
completion_tokens = 3200
max_tokens = 3200

これは出力予算を使い切り、サーバーが長さ制限で応答を停止したことを示している。その後、claude-fable-5max_tokens を 3200 から 8000 に上げて再テストしたところ、完全な HTML が返り、finish_reason=stop で自然終了し、ブラウザ検証にも通った。

この記事では、テスト設計、3 つの課題、最初の誤判定、Claude Fable 5 の再テスト結果、そして今後の長文コード比較で記録すべき項目を整理する。

GPT-5.5 animation result

Last updated: 2026-07-06.

要点#

今回の結果は単純な勝敗ではない。

項目結論
数学推論claude-fable-5gpt-5.5 はどちらも正解
物理総合問題どちらも正解。Claude はエネルギー損失の説明が強かった
長いアニメーションコード、max_tokens=3200gpt-5.5 は完了、Claude は途中で切れた
Claude 再テスト、max_tokens=8000Claude も完了し、ブラウザ検証を通過

修正後の結論は次の通り。

text
低い出力予算では GPT-5.5 のほうが安定していた。
Claude Fable 5 は能力的に失敗したのではなく、長いコード生成により大きな出力予算が必要だった。

短い推論、数学の導出、物理の説明では、このテストだけで大きな正確性の差は見えなかった。しかし完全なページ、アニメーション、ツール、長いコードファイルを一度に生成する場合は、max_tokenscompletion_tokensfinish_reason、実行検証を必ず確認する必要がある。

Crazyrouter で同様の OpenAI-compatible リクエストを試せる。

text
https://crazyrouter.com/register?utm_source=crazyrouter_blog&utm_medium=article&utm_campaign=model_compare_series_20260706&utm_content=claude-fable-5-vs-gpt-55-max-tokens-animation-test-2026-ja__quick_answer

テスト環境#

今回のテストは Crazyrouter の OpenAI-compatible API で行った。

text
Base URL: https://cn.crazyrouter.com/v1
Endpoint: POST /v1/chat/completions
Test date: 2026-07-06
Models:
- claude-fable-5
- gpt-5.5
temperature: 0.2

API endpoint には UTM パラメータを付けない。UTM は登録リンクなど、人がクリックするリンクにだけ付ける。

最小リクエスト例:

bash
curl https://cn.crazyrouter.com/v1/chat/completions \
  -H "Authorization: Bearer $CRAZYROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-fable-5",
    "messages": [
      {
        "role": "user",
        "content": "Toss a fair coin until HH appears for the first time. Compute the expected number of tosses and show the derivation."
      }
    ],
    "temperature": 0.2,
    "max_tokens": 3200
  }'

modelgpt-5.5 に変えるだけで、同条件の比較を実行できる。

なぜ選択式だけにしなかったのか#

モデル比較を選択式や短い質問だけで行うと、「どちらも正解」という結果になりやすい。それは API の動作確認にはなるが、実際のワークフローで起きる問題は見えにくい。

今回は 3 種類の課題を使った。

課題 ID種類確認したいこと
MATH-003期待値誤った確率直感ではなく、状態方程式を立てられるか
PHYS-003物理推論衝突時の運動量保存と衝突後のエネルギー関係を区別できるか
CODE-003-ANIMフロントエンドアニメーション完全で実行可能なインタラクティブ長文コードを出力できるか

最初の 2 つは推論の正確性を見る。3 つ目は出力長、構造維持、コードの完全性、実行結果を見る。

実運用でよく起きる問題は「モデルが何も知らない」ことではない。むしろ次のような問題が多い。

text
出力が途中で切れる
イベントハンドラがない
closing tag がない
コードはそれらしいがブラウザでエラーになる
静的チェックは通るが Canvas が動かない

課題 1:HH が初めて出るまでコインを投げる#

問題:

text
公平なコインを投げ続け、初めて連続した表 HH が出るまで待つ。
1. 停止までに必要な投げる回数の期待値を求める。
2. 状態方程式または再帰で導出する。
3. なぜ答えが 4 ではないのかを一文で説明する。

標準解法では 2 つの状態を定義する。

text
E0: 現在 H の接頭状態がない
E1: 直前が H で、次の H を待っている

E0 = 1 + 1/2 E1 + 1/2 E0
E1 = 1 + 1/2 * 0 + 1/2 E0

解くと E0 = 6

結果:

モデル結果観察
claude-fable-5正解状態定義が明確で、失敗時に進捗がリセットされる点を説明
gpt-5.5正解導出がより詳しく、なぜ 4 ではないかの説明も強い

この課題では差は出なかった。どちらも 1 / (1/4) = 4 という直感的な誤りを避けた。

課題 2:弾丸、木片、ばね、摩擦#

問題の要約:

text
質量 m = 0.02 kg の弾丸が v = 300 m/s で静止した木片にめり込む。
木片の質量 M = 1.98 kg、ばね定数 k = 800 N/m。
机との動摩擦係数 μ = 0.10、g = 9.8 m/s^2。

求めるもの:
1. 衝突直後の共通速度。
2. ばねの最大圧縮量。
3. どこで運動量保存を使い、どこでエネルギー関係を使うのか。なぜ全過程に機械的エネルギー保存を適用できないのか。

標準計算:

text
衝突瞬間:
mv = (M + m)V
V = 0.02 * 300 / 2.00 = 3.0 m/s

衝突後の圧縮段階:
1/2(M + m)V^2 = 1/2kx^2 + μ(M + m)gx
9 = 400x^2 + 1.96x
x ≈ 0.148 m

結果:

モデル結果観察
claude-fable-5正解衝突前の運動エネルギー 900J、衝突後 9J という比較を加え、損失を直感的に説明
gpt-5.5正解手順がきれいで、運動量とエネルギーを使う区間を安定して分離

この課題も両方とも正解だった。衝突瞬間には運動量保存を使い、衝突後のばね圧縮では摩擦の仕事を含むエネルギー関係を使っていた。

課題 3:Canvas アニメーションを生成する#

このラウンドで最も情報量があったのは 3 つ目の課題だった。

要求は JavaScript の断片ではなく、完全な単一 HTML ファイルだった。

text
800x500 canvas
中央の星
少なくとも 5 個の周回粒子
requestAnimationFrame
半透明の軌跡
一時停止/再開ボタン
リセットボタン
速度スライダー
FPS と速度倍率の HUD
init / update / draw / animate 関数を含む
外部ライブラリ、画像、ネットワーク不要

この課題は 4 つを同時に確認する。

能力確認内容
長文出力の完全性HTML、CSS、JS が閉じているか
制約順守コントロール、関数名、Canvas サイズがあるか
実行可能性ブラウザコンソールにエラーがないか
実際のアニメーション時間経過後に Canvas ピクセルが変化するか

最初の結果:GPT-5.5 は完了、Claude は途中で切れた#

最初の同条件テストでは、両モデルとも max_tokens=3200 を使った。

gpt-5.5 は完全な HTML を返した。

text
finish_reason = stop
<!DOCTYPE html> を含む
</html> を含む
requestAnimationFrame を含む
init / update / draw / animate を含む
一時停止、リセット、速度スライダーを含む
canvas = 800x500

ブラウザ検証:

text
コンソールエラー: なし
canvas サイズ: 800x500
コントロール: あり
700ms 後 changedPixels = 37512
hasAnimation = true

つまり静止画ではなく、実際に動いていた。

claude-fable-5 も方向性は正しかった。800x500 canvas、粒子設定、軌道、中央の星、HUD、コントロールのスタイル、initupdatedraw の一部を書いていた。しかしファイルは途中で止まった。

重要なメタデータ:

text
max_tokens = 3200
finish_reason = length
completion_tokens = 3200
HTML was truncated
完全な </script> がない
</body> がない
</html> がない

「実行可能な HTML アニメーション」を求める課題では、この成果物を完了とは判定できない。

なぜ最初の解釈は誤りだったのか#

出力ファイルだけを見ると、次のような誤った結論を書きやすい。

text
GPT-5.5 はアニメーションを書けるが、Claude Fable 5 は書けない。

しかし finish_reason=length が解釈を変える。

Chat Completionsfinish_reason=length は通常、設定された長さ上限に達したことを意味する。さらに次の値があった。

text
completion_tokens = 3200
max_tokens = 3200

この場合、応答は自然終了していない。出力予算を使い切ったと見るべきである。

したがって、最初の失敗をすぐに「モデル能力の不足」と判断すべきではない。より妥当な仮説は、その HTML が 3200 output tokens を超えていたということだ。

Claude Fable 5 の再テスト:max_tokens を 8000 に上げる#

この仮説を確認するため、同じアニメーション課題で claude-fable-5 を再テストした。

テストmax_tokensfinish_reasoncompletion_tokensHTML は閉じたか
同じ予算で再テスト3200length3200いいえ
出力予算を増加8000stop3975はい

重要なのはここである。

text
max_tokens=3200 では、Claude は再び出力予算を使い切って切れた。
max_tokens=8000 では、3975 completion tokens で自然終了した。

つまり、このアニメーション課題には 3200 output tokens より少し多く必要だったが、8000 に近いほど長いわけではなかった。最初の設定がちょうど足りなかった。

Claude Fable 5 の 8000 版もブラウザ検証を通過した。

text
コンソールエラー: なし
canvas サイズ: 800x500
一時停止ボタン: あり
リセットボタン: あり
速度スライダー: あり
700ms 後 changedPixels = 15795
hasAnimation = true

修正後の結論:

text
Claude Fable 5 はアニメーション課題を能力的に失敗したわけではない。
max_tokens=3200 では全文を収められず、max_tokens=8000 では完了し実行できた。

Claude Fable 5 animation result

全体結果#

指標結果
テストモデルclaude-fable-5, gpt-5.5
EndpointPOST /v1/chat/completions
最初のテストリクエスト数6
HTTP 2006/6
returned_modelrequested_model の一致6/6
最初のテストで finish_reason=stop5/6
最初の切断claude-fable-5 のアニメーション課題
Claude 再テストmax_tokens=8000 で完了

応答時間:

課題claude-fable-5gpt-5.5
MATH-00317.87s28.18s
PHYS-00323.21s43.05s
CODE-003-ANIM40.84s79.22s

この実行では Claude のほうが速かった。ただし長いコード課題では、速度だけを見てはいけない。速く切れた応答は完成した成果物ではない。

手動評価#

課題claude-fable-5gpt-5.5説明
MATH-0035/55/5どちらも期待値 6 を正しく導出
PHYS-0035/55/5どちらも運動量とエネルギー関係を正しく使用
CODE-003-ANIM、元の max_tokens=32002/55/5Claude は途中で切れた。GPT は完了しブラウザ検証を通過
CODE-003-ANIM、Claude max_tokens=8000 再テスト5/5-Claude も完了しブラウザ検証を通過

この表は 2 つの問いを分けている。

text
同じ呼び出し制約ではモデルはどう振る舞ったか。
十分な出力予算を与えたとき、モデルは何ができるか。

最初の問いでは、max_tokens=3200 の条件で GPT-5.5 のほうが安定していた。2 つ目の問いでは、Claude Fable 5 はアニメーション能力で失敗していない。

実際のモデル選定への示唆#

次のようなタスクでは、このテストだけで大きな正確性の差は見えない。

text
数学の導出
物理の説明
短いコード
構造化された説明
短い JSON

一方で次のようなタスクでは、見えている回答だけを比較してはいけない。

text
完全な HTML 生成
長い JavaScript ファイル
インタラクティブなフロントエンドデモ
ツールページ全体の生成
長い設定ファイルやテストコード

次の項目を一緒に記録すべきである。

フィールド重要な理由
max_tokens今回の最大出力量
completion_tokens出力が上限に近いかどうか
finish_reason自然終了か、切断か
content_chars出力量の大まかな確認
静的チェック関数、コントロール、タグ、必須項目の存在
実行検証ブラウザ、コンソール、ピクセル変化など

これらがないと、長文コード比較は簡単に誤読される。

推奨する記録形式#

長文コードのモデル比較では、次のようなメタデータを保存するのがよい。

json
{
  "task_id": "CODE-003-ANIM",
  "model": "claude-fable-5",
  "endpoint": "/v1/chat/completions",
  "max_tokens": 8000,
  "temperature": 0.2,
  "http_status": 200,
  "requested_model": "claude-fable-5",
  "returned_model": "claude-fable-5",
  "finish_reason": "stop",
  "completion_tokens": 3975,
  "validation": {
    "console_errors": 0,
    "canvas": "800x500",
    "changed_pixels_after_700ms": 15795,
    "has_animation": true
  }
}

結論はモデルのテキストだけでなく、こうしたメタデータと実行証拠を合わせて判断するべきだ。

Crazyrouter の OpenAI-compatible API で同様のテストを実行できる。

text
https://crazyrouter.com/register?utm_source=crazyrouter_blog&utm_medium=article&utm_campaign=model_compare_series_20260706&utm_content=claude-fable-5-vs-gpt-55-max-tokens-animation-test-2026-ja__api_example

関連記事#

この記事はモデル比較シリーズの方法論を修正する位置づけである。

関連する Crazyrouter 記事:

共通する原則は明確だ。モデル比較はマーケティングページや HTTP 200 だけで判断してはいけない。実際の payload、実際の応答、失敗メタデータ、実行検証を見る必要がある。

FAQ#

これは GPT-5.5 が常に Claude Fable 5 より強いという意味か?#

いいえ。今回示したのは、元のアニメーション課題の max_tokens=3200 条件では GPT-5.5 のほうが安定していたということだ。Claude Fable 5 は出力予算を増やすと同じ課題を完了した。

なぜ finish_reason=length が重要なのか?#

応答が自然に終わったのではなく、長さ制限に達したことを示すためである。長いコードでは closing tag、イベントバインディング、関数の末尾が欠ける可能性がある。

completion_tokens だけでは不十分なのはなぜか?#

completion_tokens=3200 だけでは判断できない。max_tokens=3200 と同じだったため、出力予算を使い切ったと判断できる。

なぜブラウザ検証が必要なのか?#

コード生成タスクはテキスト検査だけでは不十分である。ブラウザ検証ではコンソールエラー、Canvas サイズ、コントロールの存在、実際のピクセル変化を確認できる。

長いコードで max_tokens はどのくらい必要か?#

固定値はない。ただし HTML、CSS、JavaScript を含む完全なページでは、出力予算を低くしすぎると危険である。finish_reason=length が出たら、まず予算を上げて再テストするべきだ。

このテストで production routing を決められるか?#

参考にはなるが、単独の基準にはならない。コスト、レイテンシ、コンテキスト長、構造化出力の安定性、失敗率、リトライ戦略、タスク種別も合わせて見る必要がある。

最終結論#

今回の比較で重要なのは、どちらかのモデルが永続的に勝ったということではない。重要なのは、最初の結論が早すぎたという点である。

元のテスト:

text
GPT-5.5: max_tokens=3200、完全な HTML、ブラウザ検証通過。
Claude Fable 5: max_tokens=3200、finish_reason=length、completion_tokens=3200、出力が途中で切れた。

再テスト:

text
Claude Fable 5: max_tokens=8000、finish_reason=stop、completion_tokens=3975、完全な HTML、ブラウザ検証通過。

最終結論:

text
低い出力予算では GPT-5.5 のほうが安定していた。
十分な出力予算では Claude Fable 5 もアニメーション課題を完了できた。
長文コードのモデル比較では max_tokens、completion_tokens、finish_reason、実行検証が必須である。

今後のモデル比較では、この 4 項目を必須の証拠として記録するべきだ。そうしないと、出力予算の問題をモデル能力の問題として誤って記録してしまう。

Implementation Guides

Topics

Comparison

Related Posts

Gemini 2.5 Flash vs GPT-4.1 Nano Vision API ベンチマーク 2026:実運用目線の画像理解モデル比較Comparison

Gemini 2.5 Flash vs GPT-4.1 Nano Vision API ベンチマーク 2026:実運用目線の画像理解モデル比較

gemini-2.5-flash と gpt-4.1-nano を Vision API ワークロードで比較する実運用向けベンチマーク。実際の画像認識精度、latency、tail latency、成功画像あたりのコスト、usage signals、failure modes、production routing を整理します。

Jun 22
GPT-4.1 Nano vs Qwen3 VL Plus Vision API ベンチマーク 2026:実運用目線の画像理解モデル比較Comparison

GPT-4.1 Nano vs Qwen3 VL Plus Vision API ベンチマーク 2026:実運用目線の画像理解モデル比較

gpt-4.1-nano と qwen3-vl-plus を Vision API ワークロードで比較する実運用向けベンチマーク。実際の画像認識精度、latency、tail latency、成功画像あたりのコスト、usage signals、failure modes、production routing を整理します。

Jun 22
Qwen3 VL Flash vs GPT-4.1 Mini Vision API ベンチマーク 2026:実運用目線の画像理解モデル比較Comparison

Qwen3 VL Flash vs GPT-4.1 Mini Vision API ベンチマーク 2026:実運用目線の画像理解モデル比較

qwen3-vl-flash と gpt-4.1-mini を Vision API ワークロードで比較する実運用向けベンチマーク。実際の画像認識精度、latency、tail latency、成功画像あたりのコスト、usage signals、failure modes、production routing を整理します。

Jun 22
GPT-4.1 Mini vs Qwen3 VL Plus Vision API ベンチマーク 2026:実運用目線の画像理解モデル比較Comparison

GPT-4.1 Mini vs Qwen3 VL Plus Vision API ベンチマーク 2026:実運用目線の画像理解モデル比較

gpt-4.1-mini と qwen3-vl-plus を Vision API ワークロードで比較する実運用向けベンチマーク。実際の画像認識精度、latency、tail latency、成功画像あたりのコスト、usage signals、failure modes、production routing を整理します。

Jun 22
Gemini 2.5 Flash Lite vs GPT-4.1 Mini Vision API ベンチマーク 2026:実運用目線の画像理解モデル比較Comparison

Gemini 2.5 Flash Lite vs GPT-4.1 Mini Vision API ベンチマーク 2026:実運用目線の画像理解モデル比較

gemini-2.5-flash-lite と gpt-4.1-mini を Vision API ワークロードで比較する実運用向けベンチマーク。実際の画像認識精度、latency、tail latency、成功画像あたりのコスト、usage signals、failure modes、production routing を整理します。

Jun 22
Gemini 3.5 Flash vs Claude レスポンスティアモデル:開発者はどちらを選ぶべきかComparison

Gemini 3.5 Flash vs Claude レスポンスティアモデル:開発者はどちらを選ぶべきか

Gemini 3.5 FlashとClaude Haiku、Sonnet、Opusスタイルのレスポンスティアを、レイテンシ、コスト、コーディング、推論、本番API ルーティングの観点から実践的に比較します。

May 21