iT邦幫忙

1

Claude Fable 5 對比 GPT-5.5:長程式輸出測試顯示,`max_tokens` 可能影響評測結論

  • 分享至 

  • xImage
  •  

Claude Fable 5 對比 GPT-5.5:長程式輸出測試顯示,max_tokens 可能影響評測結論

7 月 6 日消息,在一次針對 claude-fable-5gpt-5.5 的小樣本模型對比測試中,兩個模型在數學期望題與物理綜合題上均給出正確答案,但在一題「生成完整 Canvas 動畫 HTML」的長程式任務中,第一次測試出現了明顯差異。

不過,後續復測顯示,這個差異並不能簡單理解為「Claude Fable 5 不會寫動畫」。第一次截斷的主要原因,是測試時設定的 max_tokens=3200 不足以容納完整 HTML 輸出。

測試背景

本輪測試使用 Crazyrouter 的 OpenAI-compatible API:

Base URL: https://cn.crazyrouter.com/v1
Endpoint: POST /v1/chat/completions
模型 1:claude-fable-5
模型 2:gpt-5.5
temperature:0.2
測試日期:2026-07-06

復現入口:

https://crazyrouter.com/register

測試題目分為三類:

題目 類型 主要觀察點
連續擲硬幣直到 HH 數學期望 是否能建立狀態方程
子彈嵌入木塊後壓縮彈簧 物理綜合 是否能區分動量守恆、能量關係與機械能不守恆
Canvas 軌道動畫 前端長程式 是否能輸出完整 HTML 並在瀏覽器執行

數學與物理題未拉開差距

第一題是經典期望問題:

連續擲一枚公平硬幣,直到第一次出現連續兩個正面 HH 為止。
求停止時所需擲硬幣次數的期望值。

正確做法是設兩個狀態:

E0:目前沒有 H 前綴時,到第一次出現 HH 還需要的期望次數
E1:目前已經有一個 H 前綴時,到第一次出現 HH 還需要的期望次數

狀態方程為:

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

解得:

E0 = 6

測試中,claude-fable-5gpt-5.5 均得到正確答案。

第二題為物理綜合題:子彈射入木塊並嵌入,木塊連接彈簧,桌面存在動摩擦,需要計算碰撞後共同速度與彈簧最大壓縮量。

題目參數如下:

子彈質量 m = 0.02 kg
子彈速度 v = 300 m/s
木塊質量 M = 1.98 kg
彈簧勁度係數 k = 800 N/m
動摩擦因數 μ = 0.10
g = 9.8 m/s^2

標準解法為分階段處理:

碰撞瞬間:使用動量守恆
mv = (M + m)V
V = 3.0 m/s

碰撞後壓縮彈簧:使用能量關係,並計入摩擦做功
1/2(M+m)V^2 = 1/2kx^2 + μ(M+m)gx
x ≈ 0.148 m

兩個模型同樣都給出正確計算。差異主要在表述風格,而非答案正確性。

長程式題首次測試出現差異

第三題要求模型直接輸出一個完整 HTML 文件,實現「太陽系風格的模型對比軌道儀表板」Canvas 動畫。

要求包括:

1. 使用原生 HTML / CSS / JavaScript
2. 不依賴外部函式庫、外部圖片或網路資源
3. 頁面包含 800x500 canvas
4. 中心恆星 + 至少 5 個繞行粒子
5. 粒子具有不同半徑、速度、顏色與軌道
6. 使用 requestAnimationFrame
7. 粒子留下半透明軌跡
8. 具備暫停 / 繼續、重置、速度滑桿
9. 左上角顯示 FPS 與速度倍率
10. 至少包含 init、update、draw、animate 四個函式

這類題目不只測試模型是否會寫邏輯,還會測試輸出完整性、HTML / JS 是否閉合、瀏覽器是否報錯,以及動畫是否真的在執行。

GPT-5.5 首次輸出完整 HTML

在原始測試中,gpt-5.5 一次輸出完整 HTML。靜態檢查結果包括:

包含 <!DOCTYPE html>
包含 </html>
包含 requestAnimationFrame
包含 init / update / draw / animate
包含暫停、重置、速度滑桿
canvas 為 800x500

瀏覽器驗證結果:

控制台錯誤:無
canvas 尺寸:800x500
控制項:存在
700ms 後 changedPixels = 37512
hasAnimation = true

測試截圖如下:

GPT-5.5 Canvas 動畫截圖

其中 changedPixels 代表測試腳本對兩個時間點的 canvas 像素進行比較,用於確認畫面確實在變化,而不是靜態圖片。

Claude Fable 5 首次輸出被截斷

claude-fable-5 第一次輸出的方向基本正確,已包含 HTML 結構、canvas、控制區、粒子配置、軌道繪製、恆星繪製、HUD,以及部分 initupdatedraw 邏輯。

但第一次輸出並未完成。關鍵 API 元資料如下:

max_tokens = 3200
finish_reason = length
completion_tokens = 3200
HTML 沒有 </html>

這意味著輸出並非自然結束,而是剛好打滿 max_tokens=3200 的輸出上限。

當時生成的 HTML 末尾停在類似以下位置:

ctx.beginPath();

後續繪製邏輯、事件綁定、animate 收尾、</script></body></html> 均未完整輸出。若只看生成文件,這份 HTML 確實不可直接使用;但從 API 元資料看,該結果更像是輸出預算不足,而不是模型完全無法完成任務。

提高輸出預算後,Claude Fable 5 復測通過

為確認原因,測試方又單獨復測 claude-fable-5,題目保持不變,但提高 max_tokens

復測結果如下:

測試 max_tokens finish_reason completion_tokens HTML 是否完整
同參數復測 3200 length 3200
提高輸出預算 8000 stop 3975

結果顯示,max_tokens=3200 不足以完成該完整 HTML;提高到 max_tokens=8000 後,claude-fable-5 實際使用 3975 個 completion tokens,正常結束,HTML 完整閉合。

瀏覽器驗證結果如下:

控制台錯誤:無
canvas 尺寸:800x500
控制項:暫停、重置、速度滑桿均存在
700ms 後 changedPixels = 15795
hasAnimation = true

復測截圖如下:

Claude Fable 5 Canvas 動畫復測截圖

因此,較準確的結論是:claude-fable-5max_tokens=3200 下無法完整輸出該動畫頁面;提高到 max_tokens=8000 後,可以完成並通過瀏覽器驗證。

評測結論需區分「能力」與「測試條件」

若只看原始同參數測試,gpt-5.5 表現更穩定,因為它在 max_tokens=3200 下完成了整個 HTML,而 claude-fable-5 被截斷。

但若討論模型能力本身,不能簡單得出「Claude Fable 5 不會寫該動畫」的結論。更合理的說法是:

GPT-5.5 在較低輸出預算下更容易一次完成長程式輸出。
Claude Fable 5 對輸出預算更敏感;預算足夠時,也能完成可執行產物。

這類差異更接近工程問題,而非單純能力排名。

長程式生成應記錄 finish_reason

本次測試最關鍵的欄位是:

finish_reason = length

它表示模型不是自然完成,而是因長度限制停止。如果評測文章只展示最終輸出,不展示 API 元資料,讀者可能會把一個輸出預算問題誤判為模型能力問題。

對於長程式生成,建議至少記錄:

requested_model
returned_model
max_tokens
completion_tokens
finish_reason
elapsed_ms
HTTP 狀態
本地或瀏覽器驗證結果

不同任務也應給不同輸出預算:

任務類型 建議 max_tokens
數學 / 物理短推導 1000-2000
簡單函式實作 1500-3000
完整 HTML 頁面 6000-10000
帶 CSS、JS、互動與動畫的頁面 從 8000 起步

若返回 finish_reason=length,優先考慮提高 max_tokens、拆分任務,或要求模型分段輸出,而不是直接改寫結論。

小結

本輪測試顯示:

  1. 在數學與物理推理題上,claude-fable-5gpt-5.5 都表現穩定。
  2. 在長程式 Canvas 動畫題上,gpt-5.5 在較低輸出預算下更容易一次完整輸出。
  3. claude-fable-5 第一次被截斷,主要原因是 max_tokens=3200 不足;提高到 max_tokens=8000 後可輸出完整可執行 HTML。

因此,長程式生成評測不能只看「最終文件是否完整」,還要同時查看輸出上限、完成原因與實際運行驗證結果。

復現入口:

https://crazyrouter.com/register

圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言