摘要: 開發者 Charles Azam 將三套開源編碼 Agent fork 後改用同一顆 GLM-4.7,並與 Claude Code 在 Terminal-Bench 2.0 的 89 個任務上比較。模型固定後,Mistral Vibe 得 0.35、Codex 得 0.15,差距超過兩倍,顯示腳手架設計的影響。改用 GLM-5 後分數上升,但排名沒有改變。
開發者 Charles Azam 在 2026 年 4 月 22 日貼出一篇深度實測:他動手 fork 了三套開源編碼 Agent,讓每一套都改用同一顆 GLM-4.7,接著在 Terminal-Bench 2.0 的 89 個任務上同場對跑;至於閉源的 Claude Code,則是經由 ZAI 的 Anthropic 相容端點以原生方式執行。
這份實測的意義在於:談 Agent 的成績,模型能力往往被當成唯一的解釋變數;這次研究把模型固定住,單獨量出「腳手架」這一層的影響——同一顆模型、同一批題目,表現最好與最差之間相差超過兩倍。
實驗怎麼設計:統一用 GLM-4.7,題目定為 Terminal-Bench 2.0
四個受測對象分別是 Codex(出自 OpenAI,以 Rust 寫成)、Gemini CLI(Google,TypeScript)、Mistral Vibe(Python)與 OpenCode(TypeScript/Bun)。這次統一搭載的模型是 ZAI 開源的 GLM-4.7,按 Artificial Analysis 的榜單,程度與 Claude Sonnet 4.5 同一檔。
考卷選定 Terminal-Bench 2.0,經由 Harbor 執行:89 道跑在 Docker 隔離環境裡、設有時限的真實任務,範圍觸及除錯、跨檔重構、測試生成與修復建置。每個分數取 5 次執行的平均,變異約 5%。整場實驗總共燒掉約 50 億 token,全靠 ZAI 每月 60 美元的訂閱撐完(速率約每秒 100 token)。
成績揭曉:最高 0.35、最低 0.15,差距逾兩倍
GLM-4.7 底下的最終排序:Mistral Vibe 0.35、Claude Code 0.29、Gemini CLI 0.23、OpenCode 0.21、Codex 0.15。拿 Terminal-Bench 官方排行榜交叉比對,Claude Code 與 Terminus 2 走直連 API 也有約 0.33 的水準,數量級對得上。分差從哪裡來?作者答得乾脆:出自「模型周圍的程式碼」。
改造的工程量恰好與分數倒著排。Mistral Vibe 最省事,13 個檔案、1 個 commit 就搞定;Gemini CLI 費工些,動到 49 個檔案,裡頭還有 812 行的協定轉譯器;最折騰的是 Codex,得深入改寫 Rust、重譯 Responses API,過程中 prompt caching 和原生 shell 工具都沒能保住。作者替這幾條路線排出高下:「Adapter pattern 遠勝 translation layer,再遠勝 type system surgery」。
撐起分差的五項架構設計
- 檔案編輯:編輯工具愈容錯愈吃香(OpenCode 內建 9 種策略 fallback);Codex 那套 patch DSL 是替 GPT 微調出來的方言,模型一換就屈居劣勢
- 沙箱:光譜的兩端,一邊是 Codex 疊了五層的 OS 級防護(bubblewrap、seccomp),另一邊是 OpenCode 的「只有核准提示」
- 上下文管理:面對多步任務,Mistral Vibe 靠主動壓縮壓過 Codex 的被動截斷
- 錯誤處理:兩層式設計——基礎設施錯誤靜默、任務錯誤可見——被認定是最好的折衷
- 記憶:唯獨 Codex 能跨 session 學習,靠的是兩階段記憶抽取管線
改跑 GLM-5,座次紋風不動
作者接著把模型換成 GLM-5 從頭再跑:Mistral Vibe 進帳到 0.48(+38%)、Claude Code 來到 0.40(+40%)、Gemini CLI 0.35(初步數字,+54%)。排名完全沒動,可見架構優勢能跨模型世代延續;但代價是逾時變得更常見——Claude Code 有 27% 的任務逾時,Mistral Vibe 則是 24%。
腳手架開發者能帶走什麼
作者把整份結論收成一句:「Scaffolding still dominates」。給想挑選或打造腳手架的人三個提醒。其一,先定腳手架、再談模型——遷移成本與耦合程度在 adapter 設計階段就已決定,自製協定只會變成長期負債。其二,開放權重模型如今配上合適的腳手架已足以實戰,從這次的 GLM 到專為 agentic coding 調校的 Qwen3.6-35B-A3B,都該放進評估名單。其三,別把升級模型當成唯一的槓桿——編輯工具的寬容度、壓縮啟動的時機,這類工程判斷的影響量級和換一個模型世代不相上下。借用作者的收尾:編碼 Agent 最有意思的不是迴圈本身,而是圍繞著迴圈的一切安排。
