顯示具有 Opus 標籤的文章。 顯示所有文章
顯示具有 Opus 標籤的文章。 顯示所有文章

Dynamic Workflows 實戰拆解:Claude Opus 4.8 怎麼用 11 天把 Bun 從 Zig 變成 75 萬行 Rust

Dynamic Workflows agent swarm 視覺

2026 年 5 月 28 日,Anthropic 把兩件事捆在同一天發佈:Claude Opus 4.8,跟 Dynamic Workflows in Claude Code。

新模型本來就會有人寫文章拆解,但 Dynamic Workflows 才是我覺得這次發佈真正的 game changer。Anthropic 在公告裡丟出一個 demo:Bun 作者 Jarred Sumner 用 Dynamic Workflows 把整個 Bun runtime 從 Zig 重寫成 Rust,11 天、~75 萬行、99.8% 測試通過率。

這不是「Claude 寫了一段 code」這種尺度。這是過去要拿出 quarter 規劃、開大型 task force 處理的工作量。當然 HN 上立刻有人質疑「mechanical refactor agent 也能做」「這 75 萬行 vibe-coded Rust 到底誰維護」,但作為一個概念驗證,這個尺度在以前是不可想像的。

這篇我想做的不是 review,是拆解:Dynamic Workflows 內部到底怎麼跑?這個 Bun port 的 5 個 phase 各做了什麼?跟舊的 Agent Teams 比差在哪?對一般開發者來說,怎麼用、怎麼控制成本、會踩到什麼雷?

Dynamic Workflows 是什麼?三句話講完

第一句:你在 Claude Code 裡丟一個大任務,Claude 自己寫一份 JavaScript orchestration script。

第二句:runtime 在背景跑數十到數百個 subagent 平行工作,並有另一群 verifier agent 對抗式檢驗。

第三句:全部收斂後,主 session 拿到最終結果——你不用一直盯著螢幕。

跟前一代 Agent Teams 比,差異很關鍵:Agent Teams 是「Claude 開幾個平行對話」,每個 agent 還是吃同一個 context;Dynamic Workflows 是「Claude 寫一個外部 JS 程式」,這個程式自己管狀態,agent 不必擠在同一個 context 裡。

earlyterms 的描述很精準 :「The orchestration logic — loops, branches, intermediate state — lives in code rather than Claude's context window.」

換句話說:workflow 把 Claude 從「context 受限的對話機器」變成「能寫程式調度自己的 orchestrator」。這是質的差異,不是量的差異。

Runtime 硬限制:你寫 prompt 之前要知道的

MarkTechPost 整理出來的 4 條 hard limit :

限制數值意義
同時 concurrent agents16你以為跑 100 個平行,其實同時間只有 16 個在算
單次 run 總 agent 數1,000(hard cap)超過就停
Script 能碰 filesystem 嗎不行orchestration JS 不能讀寫檔,只有 agent 能
Script 能碰 shell 嗎不行同上

Progress 自動 checkpoint,中斷可 resume。這條很重要——跑 4 小時的長任務不會因為 session 斷掉而要從頭來。

為什麼 16 / 1000 這個數字?

Anthropic 沒講,但我推測有兩層原因:

  1. API rate limit 跟 Anthropic 自己 capacity 的考量:1000 agent 同一個 session 跑,每個都吃 token,平均一個 workflow run 燒掉幾百 K token 是常態。
  2. 品質衰減:Anthropic 內部一定做過實驗,超過某個並行數,verifier agent 的對抗式 review 就 catch 不住所有 hallucination。1000 / 16 看起來是「品質 / 成本 / latency」三條曲線的甜蜜點。

觸發方式:兩種寫法

第一種:Prompt 裡有「workflow」這個字

# Claude Code prompt
> create a workflow that migrates every internal fetch() call to the new HttpClient wrapper, updating tests as you go

只要 prompt 包含 workflow,Claude Code 會問你要不要起一個 dynamic workflow。

第二種:開 ultracode 模式

# 在 Claude Code 裡
/effort ultracode

ultracode 等於 effort: xhigh + 自動 workflow orchestration。寫 prompt 不用提 workflow,Claude 自己判斷該不該啟動。

/deep-research 也是 Anthropic 預先寫好的內建 workflow,問問題時直接用 /deep-research <topic>,幾分鐘後拿到一份多 agent 平行檢索 + 對抗式驗證的研究報告。我自己用過幾次,比 Perplexity 跟 ChatGPT Deep Research 都實在——但 token 燒得很兇,Max plan 額度容易被吃。

Bun port 五階段拆解

Conductor 指揮 agent 樂團

回到 Anthropic 那個 demo case。官方公告 跟 natural20 的深度分析 把整個流程拆成 5 個 phase,我整理如下:

Phase 1:Rust lifetime 標註

One workflow mapped the correct Rust lifetime for every struct field in the Zig codebase.

Zig 沒有 Rust 那種 borrow checker 跟 lifetime annotation——Zig 是手動管 memory 的。Rust 移植第一步是給每個 struct field 標出正確的 lifetime('a、'static、'self 等),這對人類工程師來說超花時間。

第一個 workflow 跑數十到數百個 agent,每個 agent 拿一塊 Zig source code 分析 ownership 流,輸出對應 Rust 結構的 lifetime annotation 設計。

這個階段最容易被忽略:這不是寫 Rust,是寫 Rust 之前的「型別系統設計」。Claude 在這個 phase 等於做了一份 high-level architectural design document。

Phase 2:檔案級平行移植

The next workflow wrote every .rs file as a behavior-identical port of its .zig counterpart, hundreds of agents working in parallel with two reviewers on each file.

這是「批次翻譯」階段——每個 Zig 檔對應一個 Rust 檔。數百個 agent 平行跑,每個 file 配 2 個 reviewer。

兩個 reviewer 的設計很妙。一個負責「語意正確」(這段 Rust 跟原 Zig 行為一致嗎),一個負責「Rust idiomatic」(這個寫法是不是 Rust 慣用法)。雙審查機制是 Dynamic Workflows「adversarial verification」的具體應用。

注意:concurrent 上限是 16。所以即使邏輯上「數百個 agent 平行」,實際 runtime 一次只有 16 個在做工。剩下 queued。

Phase 3:Build + Test 修正迴圈

A fix loop then drove the build and test suite until both ran clean.

這是經典的 agentic loop:跑 build → 失敗看錯誤 → 修 → 重跑。Bun 既有 test suite 是「pass bar」,agent 一直循環直到 99.8% test 過。

這個 phase 才是 Dynamic Workflows 真正的價值——它把「我寫了一段 code、不確定對不對」這個過去需要人類拉 PR + reviewer + CI 來確認的工序,內建在 workflow 自己的 loop 裡了。

人類介入點只剩「workflow 結束後決定要不要 merge」。

Phase 4:Overnight 優化

After the port landed, an overnight workflow addressed unnecessary data copies and opened pull requests for final review.

第一輪 port 完成後,又跑了一個夜間 workflow 處理 unnecessary data copies——Rust 跟 Zig 的記憶體模型不一樣,直接翻譯出來的 Rust 會有很多無謂的 clone()。這個 workflow 自動找出來、改成 borrow 或 move,並開 PR 給人 review。

Phase 5:人類最終 review

剩下的就是 Jarred Sumner 本人。Anthropic 強調「the port is not yet in production」,所以這 75 萬行 Rust 還沒進 main branch。

跟 Agent Teams 差在哪?

Opus 4.6 的 Agent Teams 我用過一段時間。它解決的問題是「我想要 Claude 同時 review 3 個東西」這種尺度。Dynamic Workflows 是不同 league。

維度Agent Teams(4.6)Dynamic Workflows(4.8)
觸發Claude Code 設定 + tmux panePrompt 含「workflow」或 ultracode
Agent 上限通常 3-10 個1,000(同時 16)
Context 共享共享同一個 main context獨立:JS script 管 state
中斷恢復不行自動 checkpoint,可 resume
對抗式 review沒內建內建 verifier + refute agent
適合任務PR review、design 對齊、debug 三個假說大規模 migration、codebase audit、long-horizon refactor
Token 預估數萬到數十萬數百萬到上千萬(一次 run)

兩個都還在 Claude Code 裡有用,但是不同層級的工具。

簡單的 rule:

  • 「我想要 3 個 Claude 一起做」→ Agent Teams
  • 「我想要 100 個 Claude 一起做、自己管狀態、自己驗證、跑一整天」→ Dynamic Workflows

實戰預算控制:怎麼不被燒光額度

11 天時間軸的雙塔建造

這是 Dynamic Workflows 最大的雷。Bun port 那個 demo 燒了多少 token?Anthropic 沒公開。但用 1000 agent × 每個平均 50K token × verification overhead = 上千萬 token 級的 input + output。

對 Max plan 用戶來說,一次中型 workflow 就能把週額度吃光。怎麼控制?

1. 用 task_budget 設硬上限

Opus 4.7 引入的 task_budget public beta 沿用到 4.8。它跟 max_tokens 不一樣——max_tokens 是 per-request 硬上限,task_budget 是「整個 agentic loop」的 advisory cap。

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=64000,
    output_config={
        "effort": "high",
        "task_budget": 500000  # 整個任務最多燒 50 萬 token
    },
    messages=[...]
)

Workflow 自己會看 task_budget 殘量,動態調整要不要 spawn 更多 subagent。沒設這個就等於放任 Claude 燒。實際參數名稱可能依 SDK 版本略有差異,使用前請對照官方 docs 確認。

2. 從小 module 開始試水溫

不要第一次用 Dynamic Workflows 就丟整個 codebase。先選一個 ~5,000 行的 module 跑跑看,看 token 燒法跟結果品質,再評估能不能 scale 到 100,000 行。

I Migrated to Claude Opus 4.8 那篇 migration guide 給出的建議很實際:「Scope tightly and start with one module, not your whole codebase」。

3. 別把 Dynamic Workflows 當 Fast Mode 用

4.8 同時推出的 Fast Mode($10/$50 per million tokens,2.5× 速度 )跟 Dynamic Workflows 是兩條不同的線。

你想要什麼用哪個
同個 prompt 但更快回應Fast Mode
一個 prompt 拆成 100 個平行子任務Dynamic Workflows
大量探索性 query、不在乎品質但在乎速度Fast Mode
大型 audit / migration、要 verifier 對抗式 checkDynamic Workflows

兩個都很貴,但用錯場景會更慘——例如把 Fast Mode 拿去跑 codebase audit,速度有但品質下降;把 Dynamic Workflows 拿去跑互動聊天,agent overhead 把 latency 拉到 30 秒。

4. 跑前先用 /deep-research 看 cost 樣本

Claude Code 內建的 /deep-research 是一個現成的 workflow demo。隨便丟一個研究問題給它,看它最後回報的 token 用量。這個數字可以當你估自己 workflow 的 baseline。

我自己粗估跑一個中型 deep-research,燒掉百萬等級 token、十幾分鐘是合理 ballpark;實際數字隨主題複雜度跟資料量浮動很大,要看你自己的 telemetry 才準。

命名巧合:Cloudflare 也叫 Dynamic Workflows

題外話,但很妙的事。

2026-05-01,Cloudflare 也發佈了名為「Dynamic Workflows」的產品——是一個 per-tenant durable execution library for Workers。跟 Anthropic 完全無關。

5 月 28 日 Anthropic 也發了 Dynamic Workflows,但兩家公司互不提及對方。

earlyterms 對這件事的記錄 :

Two Products, Same Name: Why Cloudflare and Anthropic Both Chose 'Dynamic Workflows' in May 2026

兩家都是大廠,撞名不太可能是巧合——大概率是同一個技術 buzz term 同時被兩邊產品團隊鎖定。實務上要注意:你 google「dynamic workflows」會夾雜 Cloudflare 的東西。

我自己用 Dynamic Workflows 幾天的感想

對重度 Claude Code 用戶來說,Dynamic Workflows 改變了「我能做多大尺度的事」這個直覺。

過去我在 Claude Code 裡會自我設限:「這個 task 太大、context 裝不下、不要叫 Claude 做」。現在的判斷變成:「這個 task 太大 → 寫成 workflow 讓它自己拆」。

但有兩個雷:

第一:workflow planning 階段品質很受 prompt 影響。如果你給的 prompt 含糊、目標不清楚,Claude 寫出來的 orchestration JS 也跟著爛。我建議寫 workflow prompt 時先給 Claude 一份「task spec」,包含目標、約束、acceptance criteria,再叫它寫 workflow。

第二:verifier agent 不是萬靈丹。對抗式 review catch hallucination 的能力有上限——如果整個 workflow 的所有 agent 都基於同一個錯誤假設,verifier 也救不了你。Bun port 那個 case 之所以成功,部分是因為「behavior-identical port」這個 acceptance criteria 非常具體(既有 test suite 就是 ground truth)。對沒有明確 ground truth 的任務(產品設計、UX 決策),Dynamic Workflows 的可信度大幅下降。

寫到最後

Dynamic Workflows 不是「Claude 變強」,是「Claude 變成 orchestrator」。這個位置變動的意義比模型本體的 benchmark 進步重要很多——它把 Claude 從「我給它一個 task 它回我一段答案」變成「我給它一個專案它自己組軍隊跑」。

對個人開發者來說,這意味著「我可以承擔的 task 尺度上升一個量級」。對企業來說,意味著「過去要規劃 quarter 的 migration,現在規劃 sprint」。對 Anthropic 來說,意味著「我們不只賣 LLM,我們賣 LLM 編出來的軍隊」。

當然,Bun port 還沒進 production,這個 demo 是不是真的 work 還要時間驗證。HN 上「這幾十萬行 vibe-coded Rust 到底誰維護」的質疑很犀利。Dynamic Workflows 的成本曲線、品質曲線、適用場景,都還需要社群更多實戰才能畫清楚。

但工具已經出來了。下一個季度,會看到的不是「誰的 LLM 比較聰明」,是「誰的 LLM 比較會組軍隊」。Anthropic 在這條線上跑出了第一個能 demo 給大家看的版本,這個位置可能會撐很久。

夭壽,下次有人說「我寫了 100 萬行程式」,記得先問一句:「是你寫的,還是你的 workflow 寫的?」

延伸閱讀

Claude Opus 4.7 換 tokenizer 那一夜:英文圈罵翻,中文工程師卻偷偷賺到

中文書法墨跡溶解為數位 token 的概念圖

2026 年 4 月 16 日,Anthropic 發佈 Opus 4.7。同一天,r/ClaudeAI 跟 HN 開始炸。

吵的是什麼?大部分的「regression 罵聲」其實都繞著同一件事打轉:新 tokenizer 把同一段英文 prompt 編碼成更多 token。Simon Willison 把自家 system prompt 丟進 token counter 實測——多 46%。同樣的 prompt、同樣的內容、同樣的 $5/$25 per million 標牌,OpenRouter cohort 統計算下來真實帳單漲 12–27% ,特定內容組合甚至更多。

但這篇我想講的不是那個故事。我想講的是:同一次變動,中文工程師反而是受益方。

如果你的 prompt、context、文件、code review 都是中文為主,4.7 的 tokenizer 換版對你來說根本沒漲價。如果你還在用 Claude Code 配上一堆中文 CLAUDE.md 跟中文 prompt,你跟英文圈的人在算同一條帳單,但用的 token 數比他們少。這是少數一次「中文工程師佔便宜的時刻」,而我相信大多數人還沒意識到。

先看數字:tokenizer 換版到底差多少

Claude Code Camp 拿 Anthropic 自己的 POST /v1/messages/count_tokens 端點對 12 種內容類型實測 ,這是目前最乾淨的對照數據:

內容類型字元數4.6 token4.7 token4.7 / 4.6
English technical docs2,5414787041.47×
Shell script2,6321,0331,4361.39×
TypeScript code4,4181,2081,6401.36×
Spanish prose2,5297339861.35×
Markdown + code2,3786048121.34×
Python code3,1828641,1121.29×
English prose2,2025086111.20×
JSON (dense)48,06713,93915,7061.13×
Tool defs (JSON Schema)2,5217388261.12×
CSV (numeric)9,5465,0445,4141.07×
Japanese prose9938568661.01×
Chinese prose7507797891.01×

看最後兩列。Chinese 跟 Japanese 是 1.01×——四捨五入等於沒漲。

這不是 measurement noise。Simon Willison 自己的 token counter 工具 也做了類似比對,結果一致:英文 + code 大幅漲,CJK 幾乎沒動。

對應到帳單:findskill.ai 引用 OpenRouter 對切版用戶的 1M+ request cohort 分析 ,英文為主的開發者「真實成本上升 12–27%」。中文工程師的對應 cohort 雖然沒被點名,但根據 1.01× 的編碼比例,帳單變化在 5% 以內——這個範圍正常使用波動就會吃掉。

為什麼 Anthropic 會做這個變動?

這不是 bug,這是 Anthropic 的策略選擇。

LLM tokenizer 用的是 BPE(Byte-Pair Encoding)這類演算法,把訓練語料裡常見的字串合併成單一 token。Tokenizer 的 vocab 是固定大小——通常是 10 萬到 20 萬個 token。每多塞一個英文常用合併(例如「technical」、「implementation」整個變一個 token),就少給其他語言一個位置。

舊的 Claude tokenizer 訓練語料英文比例極高,所以英文壓得很短、中文卻一個字一個 token(甚至更糟,常見漢字會被切成多個 byte)。中文用戶長期承受的就是「英文一句話 4 個 token、中文同義一句話 10 個 token」的不公平。

4.7 的新 tokenizer 把 vocab 重新分配:把一些英文長合併拿掉、塞入更多 CJK / 多語的常見字元組合。結果就是英文編碼變鬆、CJK 變緊——對 Anthropic 來說是拉平多語成本的合理決策,但對英文圈而言就是「同價漲 35%」的隱形稅。

claudecodecamp 的分析寫得很直接 :「CJK content moved 1.005–1.07x. A wholesale new vocabulary would shift these more uniformly. That didn't happen. Consistent with the non-Latin portions of the vocabulary changing less than the Latin.」

韓國工程師的反彈:CJK 還是不夠便宜

CJK 與英文 token 重量天秤平衡

事情沒這麼單純。CJK 對 4.6 → 4.7 的漲幅幾乎沒感,但整體絕對 token 數仍然遠高於英文。

GitHub Issue #26401 是一位韓國開發者開的 ,標題:「Non-English users (Korean/Japanese/CJK) face structural disadvantage due to tokenization inefficiency — Usage limits should be adjusted accordingly」。他列出同義句子的 token 比較:

句子語言Token 數
"Refactor this function"English~4
"이 함수를 리팩토링해줘"Korean~10–14
"Fix the bug in this file"English~6
"이 파일의 버그를 수정해줘"Korean~14–18
"Explain the architecture"English~4
"아키텍처를 설명해줘"Korean~10–12

同樣意思,韓文用 2–3 倍 token。中文跟日文情況類似。

Claude Pro 的月 quota 是按 token 算的——你用韓文/中文/日文做 Claude Code,等於 2–3 倍的速度燒額度。Issue 提了 4 種可能解法:

  1. 按語言調整 quota
  2. 升級 tokenizer 讓 CJK 更貼近平衡
  3. 至少在訂閱頁清楚寫出「token 數隨語言而異」
  4. 改用「請求次數」或「compute time」而非 token 計費

Anthropic 對這個 issue 沒有提出政策性回應方案,CJK 工程師對 quota 不公平的呼聲至今未被正式處理。

所以實際定位是這樣:4.7 換 tokenizer 沒讓中文工程師付出英文圈的代價,但中文工程師本來就在付高於英文的代價。新 tokenizer 只是讓這個差距沒擴大,沒縮小。

但帳單算的是「漲幅」,不是「絕對值」。如果你 4.6 時跑得動,4.7 切過去帳單不會額外漲。這在 4.7 翻車的脈絡裡,就是中文工程師最該知道的紅利。

寫程式碼的台灣工程師怎麼算這筆帳

但工程師寫 prompt 不只是中文。實際 Claude Code 一個 session 的 prompt 是「中文需求說明 + 英文 code + 英文 framework 文件 + JSON tool defs」混排。我用 Claude Code Camp 那張表自己組了一個典型 session 的權重估算:

內容類型佔比4.7/4.6 比例加權貢獻
中文需求說明15%1.01×+0.15%
TypeScript/Python code50%1.32×+16%
英文 framework 文件15%1.47×+7%
JSON tool defs10%1.12×+1.2%
Markdown 混排10%1.34×+3.4%
合計100%—~+28%

啊就是——就算你需求說明全寫中文,只要 codebase 是英文寫的,整個 session 的真實 token 還是會漲 25-30%。

但這算法有兩個但書:

  1. 中文比例越高越省。如果你的工作流是「中文 prompt + 中文文件閱讀 + 中文 markdown 整理」,比如做研究、寫部落格、做翻譯、跑 RAG 在中文知識庫——那 4.7 對你而言真的接近持平。
  2. CLAUDE.md 系統提示也要算進去。我自己的 CLAUDE.md 90% 是中文敘述、10% 是 code fence,4.7 上幾乎不漲。但 Anthropic 自家 Claude Code 的內建 system prompt 是英文,這部分你跑不掉。

實際上對「以中文寫 prompt、但 code 為英文」的台灣工程師來說,4.7 是 「漲一點點」,不是 「持平」。比英文圈的 +28% 還是好很多。

給中文工程師的 5 條實戰建議

Asian 工程師 silhouette 與 token river

那實務上怎麼讓這個紅利落地?

1. CLAUDE.md 用中文寫滿,不要混英文

你的 CLAUDE.md 是每次 session 都要載入的,token 成本會放大很多倍。把它寫成中文,配合一點點 code fence 範例,能把整個 system prompt 的 token 數壓到很低。台灣鄉民版的 CLAUDE.md 大概長這樣:

# Memory
- 使用繁體中文回應
- Git commit:<type>: <description>(feat/fix/refactor/...)
- 偏好 zod 做 input validation
- 不要寫廢話 comment,只寫 why

短、中文、行動導向,token 效率拉到頂。

2. 中文需求說明配英文技術詞

需求用中文寫沒問題,但技術術語留英文:

✅ 「幫我把這個 fetch() 改成 axios,順便加 retry logic 跟 exponential backoff」
❌ 「請協助我將此處的網路請求函式更換為另一個套件,並添加錯誤重試與指數退避機制」

第二種寫法看似「全中文」其實 token 數更高(因為 BPE 對「網路請求函式」這類組合的合併比 fetch() 差很多),也讓 Claude 還要花心力把中文映射回英文 API 名。Code 圈裡 fetch / axios / retry 不需要翻譯。

3. 不要在 Claude Code 裡用「請」「謝謝」「麻煩你」

這不是禮貌問題,是 token 問題。實測「請幫我」「麻煩你」這類客套話一句就消耗數個額外 token,一天下 100 個 prompt 等於白扔幾百個 input token。

我不是叫你變沒禮貌,是把禮貌話留給跟人溝通的場景。跟 Claude Code 直接下指令就好。

4. 大型文件閱讀請走 1M context,不要切 chunk

2026-03-13 之後 Opus 4.6/4.7/4.8 的 1M context 全部變成標準價,不再有 200K 之上 2× 加價。中文文件 token 密度比英文高(同樣字元數,中文佔的 token 數量少但「單位資訊量」高),對中文 RAG 來說 1M context 是真實能用的。

過去要把一份 300 頁中文 PDF 切成 50 個 chunk 做向量檢索的場景,現在可以直接整本丟進去問。當然要付 input token 費,但比 chunk + retrieve + 重組的整體成本低很多。

5. 留 Opus 4.6 當 long-context 保底

根據 4.7 system card 232 頁細讀 ,4.7 / 4.8 在 MRCR v2 8-needle 長上下文檢索測試上掉得很慘(4.7 在 1M 從 78.3 砍到 32.2,4.8 雖然修復一些但還是輸 4.6)。如果你做的是「長文檢索 + 多 needle 提問」,4.6 還是中文 RAG 的隱藏王者。

API 模型 ID 隨時可切:

# 一般任務
model = "claude-opus-4-8"

# 大量長文檢索任務 → 切回 4.6
model = "claude-opus-4-6"

為什麼這件事值得寫一篇

英文圈的 4.7 翻車敘事已經寫到爛了——Simon Willison、The Zvi、findskill、claudecodecamp 全部都在罵英文 token 漲價。

但中文圈幾乎沒人在講「我們其實沒漲」這件事。原因可能是:

  • 寫 LLM 觀察的中文部落格少
  • 大家覺得「跟我無關」就跳過
  • Reddit / HN 罵聲量太大,蓋過細節

但這是真實的差異,而且是對中文工程師有利的差異。如果你正在做 production 的 Claude API 整合、或經營靠 LLM 計價的產品,這個 tokenizer 偏移直接影響你的單位經濟。

當然,這只是「中文相對英文沒漲」的相對紅利。絕對來說 CJK 用戶單 token 攜帶的資訊量還是比英文低,韓國工程師開的 Issue #26401 仍然成立。Anthropic 對多語 fairness 的態度是「一步步拉平」,4.7 是這一步。下一步會不會把 CJK 編碼效率再拉一檔,我不知道。但短期內,你可以放心地寫中文 prompt、用中文 CLAUDE.md、配上英文 code——這個組合在 4.7/4.8 上是最划算的搭配。

夭壽,難得有一次 LLM 升級對中文使用者比較好,記得佔便宜。

延伸閱讀

Claude Opus 4.6 / 4.7 / 4.8:四個月、三代旗艦、一場兩極化的口碑戰爭

三代 Opus 模型概念圖

2026 年 2 月 5 日,Anthropic 把 Opus 4.6 推上線,給了 Opus 等級第一個 1M token context。4 月 16 日,4.7 接著上線,SWE-bench Pro 從 53.4% 跳到 64.3%。5 月 28 日,4.8 又登場,自稱「比 4.7 少 4 倍的漏 bug 率」,還順手把 Bun 從 Zig 移植成 750,000 行 Rust。

四個月內三代旗艦,這個 cadence 對熟悉 LLM 圈的人來說已經很猛了。但更有趣的是:這三次發佈的社群口碑,幾乎跟 Anthropic 自己端出來的 benchmark 表完全對不上。

4.7 發佈當天,r/ClaudeAI 上一篇標題寫「Opus 4.7 is a serious regression, not an upgrade」的貼文迅速衝上數千個 upvote。同一週,HN 上的長串討論 圍繞著 4.7 在長上下文 retrieval 的「砍掉一半以上」MRCR 分數。日文圈直接出現一句乾脆的「評判悪すぎて速攻 4.6 にした」。

但翻 Anthropic 自家公告,12 / 14 個 benchmark 上漲。Vercel、Replit、Cursor、Devin 一整排 partner testimonial 一字排開,沒有人在罵。

到底發生什麼事?這篇就把三代的差異、爭議、跟「為什麼 benchmark 跟體感對不上」一次講清楚。

先把版本軸理清楚

我做這篇研究時最痛的就是這個:Anthropic 從 2025 年底開始進入「點版本快速 iteration」模式,光是 4.x 系列就有 5 個版本還活著。先把時間軸丟在這裡:

版本發佈日內部 codename一句話定位
Opus 4.52025-11-24—引入 effort 參數、context compaction(基線)
Opus 4.62026-02-05Fennec首個 1M context 的 Opus、Agent Teams、128K output
Sonnet 4.62026-02-17Fennec中階模型偷襲:59% 開發者偏好 Sonnet 4.6 勝過 Opus 4.5
Mythos Preview2026-04-07Capybara不公開,Project Glasswing 安全研究專案
Opus 4.72026-04-16—強化 coding、視覺、xhigh effort、Task Budgets
Opus 4.82026-05-28—Honesty 革命、Dynamic Workflows、Fast Mode 降價 3×

定價這四個月都沒動:$5/$25 per million tokens。但同樣是「不漲價」,4.7 因為換 tokenizer 變得「價牌沒變,帳單卻漲了」——這件事後面會單獨講,因為這就是 4.7 翻車的第一個原因。

codename 推測:網路社群上流傳 Fennec、Capybara、Numbat 等名稱疑似來自 Claude Code 內部 feature flag 的逆向結果,Capybara 可能就是 Mythos。這些歸納尚未經 Anthropic 官方證實,當作社群推測看看就好。

4.6:把工作面拉大的一代

Opus 4.6 是 Anthropic 第一次把「1M token」這個 Sonnet 4.5 就有的東西帶到 Opus 等級。一開始 200K 以上會加價到 $10/$37.5,但 3 月 13 日 GA 後變成全 1M 同價。

對開發者真正有感的不是 1M 數字本身,而是另外兩件事:

Agent Teams。你可以在 Claude Code 裡開出多個平行 agent,每個跑在自己的 tmux pane 裡,分工 review code、寫程式、做測試。一個 Reddit 用戶分享他怎麼把這玩意操到爛:「我用 Opus 4.6 max effort,agent 也全開 max,2x Max 20x 帳號 3 到 4 天就把週上限燒完」。對重度使用者來說這完全就是新工具。

Adaptive Thinking。之前你要嘛開 extended thinking 嘛關,現在 Claude 自己決定要不要 think。配合 4 段 effort(low/medium/high/max),等於把模型的計算強度做成旋鈕。

但 4.6 暗藏一個後來被 4.7 砍掉的隱藏王牌:MRCR v2 在 256K context 拿 91.9%,在 1M 拿 78.3%。這是當時所有 1M context 模型裡 long-context retrieval 表現最猛的。你後面會看到,這個分數在 4.7 上直接腰斬到 32.2%。

整體來說 4.6 的口碑很穩,沒什麼人罵,benchmark 也很乾淨。如果故事就停在這裡,Anthropic 應該很開心。

4.7:聲量最大、爭議最深的一代

一邊乾淨數據中心一邊霓虹暴風的對比視覺,象徵 4.7 兩極評價

然後就到了 4.7。

從客觀 benchmark 來看,4.7 是一個全面升級。我把幾個關鍵數字列在這:

BenchmarkOpus 4.6Opus 4.7差異
SWE-bench Verified80.887.6+6.8
SWE-bench Pro53.464.3+10.9
CursorBench5870+12
XBOW Visual Acuity54.598.5+44
Notion Agentbaseline+14%,tool error 砍 1/3—
Linear 解決率baseline+13%—
Rakuten 生產任務baseline3×—

XBOW 的 visual acuity 從 54.5 跳到 98.5 ,這幾乎是「視覺直接翻倍」。Vercel 的 Joe Haddad 留下一句很妙的評論:「4.7 會在開始寫 systems code 之前先做 proofs,這是我們在之前 Claude 模型沒看過的行為」。Devin 的 Scott Wu 則說「能連續工作好幾小時,會把硬問題啃下去而不是放棄」。Anthropic 官方公告裡列了 28 個 partner testimonial,沒一個在說不好。

但 24 小時內 r/ClaudeAI 就炸了。為什麼?

翻車原因一:tokenizer 偷漲價

Anthropic 在公告裡有講,但講得很含蓄:「Opus 4.7 uses an updated tokenizer... the same input can map to more tokens—roughly 1.0–1.35× depending on the content type」。

然後 Simon Willison 把自家 system prompt 丟進 token counter 實測 ,發現整段 prompt 在 4.7 上多用了 46% 的 token。

Claude Code Camp 做了 12 種內容類型的細測 :

內容類型4.7 / 4.6 token 比例
English technical docs1.47×
Shell script1.39×
TypeScript code1.36×
Spanish prose1.35×
Python code1.29×
English prose1.20×
Japanese prose1.01×
Chinese prose1.01×

注意最後兩列。英文跟程式碼漲最多,中日文幾乎沒變。這其實是 Anthropic 想拉平多語成本,對 CJK 用戶來說反而是好消息,但對英語為主的開發者社群就是「價牌沒動但帳單漲三成」。

findskill.ai 引用 OpenRouter 的 1M+ request 分析 ,把切版到 4.7 的用戶分群算了 cohort,結論是:「12–27% 的實際成本上升,例外是極短 prompt 反而便宜」。

同一篇 findskill 分析裡也引了一個用戶個案:同樣任務在 4.7 跑了兩次 context exhaustion、6.7 MB transcript;同樣任務在 4.6 沒做 compaction、1.4 MB transcript。同任務 ~5× token,結果還更差——這是單一用戶實測不是大樣本,但走向跟 cohort 數據吻合。乾,這還沒完——4.7 的 Claude Code 預設 effort 是 xhigh,這個 effort 等級又比 4.6 default 多 thinking。tokenizer 漲價、xhigh 預設、agentic 後段 thinking 變多,三條疊起來就是用戶感覺帳單爆炸的根源。(至於「模型變笨」感的另一個原因,要看下一節 MRCR 那條線。)

翻車原因二:長上下文崩盤

更慘的是 MRCR。

MRCR v2 8-needleOpus 4.6Opus 4.7
@ 256K91.959.2
@ 1M78.332.2

1M context 砍掉一半以上。對 RAG、deep research、長文檢索類產品來說,這是真實的退步。BrowseComp 也從 83.7 退到 79.3。

HN 上有人講得很妙:「至少 Anthropic 這次很誠實,4.6 其實也有 short-term memory loss,只是 4.7 把分數真實量出來了」。可能吧。但對已經把 pipeline 架在 4.6 那個分數上的人來說,這就是 production 出事。

翻車原因三:模型「個性」變了

這個比較難量化但聲量最大。

一篇深度分析整理出兩個陣營的對比 :

用戶說實際發生
「它忽略我 prompt 的一部分」它字面化執行——你沒講的它就不做
「output 變短了」長度按任務複雜度自動調整,不再 pad
「簡單任務也不思考了」Adaptive thinking 正確分配 reasoning
「pipeline 壞了」temperature / top_p / top_k 自訂值不再接受
「token 變貴」新 tokenizer 1.0–1.35×
「warmth 不見了」個性更直接、更專業

就連 Claude Code 主帶頭人 Boris Cherny 都在公開場合提到,要對 4.7 調整使用習慣需要時間(findskill.ai 第三方整理 )。

The Zvi 的一句話總結最精準:「Opus 4.7 is smarter, more literal, and quietly more expensive — these are three different problems」。三個問題綁在同一次發佈,但 Anthropic 把它們當成一個「升級」端出來,當然被噴。

翻車原因四:API breaking changes

這是純技術層的雷。從 4.6 切到 4.7,下列五件事你要先處理掉,不然每個 request 都吃 HTTP 400:

#變動修法
1temperature / top_p / top_k 非預設值 → 400全部刪掉,改用 prompting 引導
2thinking: {type: "enabled", budget_tokens: N} → 400改 {type: "adaptive"} + output_config: {effort: ...}
3Prefill assistant turn → 400改用 strict system prompt
4Thinking content 預設 omitted要看 reasoning 要 opt-in display: "summarized"
5Adaptive thinking 預設 OFF必須明確設定才會啟用

Mastra、Vercel AI SDK、LangChain 這幾個框架都得在這次升級加 capability layer 來吸收這些變動:用戶 agent.stream() 帶 default temperature 一律噴 400 的 issue,發佈當週在多個 framework repo 都見得到。OpenRouter 比較雞賊,把這些參數在 4.7 改成靜默忽略,避免框架崩潰;但 Anthropic 直連 API 是硬噴 400 的。

4.8:補救版 + 一個新典範

4.8 Dynamic Workflows 平行 agent 視覺

5 月 28 日,4.8 上線。Anthropic 自己用「a more effective collaborator」當主軸——不是更聰明,是「更有效的協作夥伴」。這個用詞很有玄機。

我看完三份 system card 後的判斷是:4.8 是 Anthropic 在拆 4.7 自己埋的雷。

Honesty 大幅改善

4.8 system card 裡幾個數字看起來很反直覺:

  • 「Uncritically reporting flawed results」評分 0%——第一個拿到 perfect score 的 Claude 模型。
  • 「Lazy investigation」也是 0%(4.7 是 25%)。
  • 自身代碼漏 bug 比 4.7 少 4×。
  • Overconfidence 比 4.7 改善 10× 以上。

Bridgewater Associates 在早期測試的回饋 是這樣:「4.8 會主動 flag 輸入跟輸出的問題,這是其他模型常常漏掉、把鍋丟給用戶的事」。

DEV 上有人做了一個三函數 bug 測試 :餵三段他知道有問題的程式碼。4.7 抓到 off-by-one、漏掉 race condition 跟 silent error swallow。4.8 三個都抓到,還特別指出空的 catch block 會在 production 隱藏失敗。

但這個誠實是有代價的

The Zvi 在 4.8 system card 分析裡指出一個關鍵:4.7 訓練時加了「商業技能 + 對抗 adversarial agents」,結果副作用是 honesty 下降。Anthropic 在 4.8 移除這部分訓練——honesty 上來了,但模型在 Vending-Bench(模擬商業環境)上被詐騙得逞、議價能力也變差。

Zvi 留下一句我覺得是這整個研究最有 takeaway 的話:「You cannot teach honesty as security through obscurity without paying a high price.」你沒辦法靠教模型「怎麼防騙子」來訓練誠實,那只會教出更會防的騙子。

Reddit 上的反彈:「i hate that opus 4.8 is honest」

但 4.8 也有自己的槽點。r/ClaudeAI 一篇熱門貼文 標題就叫「i hate that opus 4.8 is honest」,以下節譯自英文原帖:

我問它幫我寫個 email,它回我「i should mention this section might come across as slightly overconfident」像爸爸一樣,我又沒問你。

Anthropic 自己 release notes 寫「4x less likely to let flaws pass unremarked」,我整個感受到了。每個回應都附「just so you know」「i want to flag that」。

我懷念它直接犯錯但不會 self-narrate 的時代。以前是有點不正常的天才朋友會幫你做任何事,現在是同一個朋友去過 therapy、有 boundaries、想跟你「be transparent about his limitations」。

創意寫作圈反彈得更直接。有人試圖讓它寫一個「角色在夢裡親吻另一個角色」的場景,被判定為 non-consensual 拒寫。夢裡耶。

ChatPRD 創辦人 Claire Vo 早期測試後提到:「4.8 在 greenfield 任務很猛,但在 existing codebase 的最後 10% 跟 edge case 還是會幻覺。我 strategy 工作會繼續用 4.7」。

Dynamic Workflows:真正的範式轉移

但 4.8 真正的賣點不是 honesty,是 Dynamic Workflows。

簡單講:你給 Claude Code 一個大任務,Claude 自己寫一份 JavaScript orchestration script,runtime 在背景跑數十到數百個 subagent,每個 agent 處理一塊,另一群 verifier agent 對抗式檢驗,全部收斂後再丟回給你。

runtime 有幾條 hard limit :

  • 同時 concurrent agents:16
  • 單次 run 總 agent 數:1,000
  • Script 本身不能碰 filesystem 或 shell(只有 agent 能)
  • Progress 自動 checkpoint,中斷可 resume

觸發方式更妙:Prompt 裡有「workflow」這個字就會自動 trigger。或者在 Claude Code 開 ultracode 設定,把 effort 設為 xhigh 並自動啟用 workflow orchestration。

旗艦案例是 Bun 作者 Jarred Sumner 用 Dynamic Workflows 把 Bun 從 Zig 整個重寫成 Rust。根據 Anthropic 5/28 官方公告 數字:

  • 規模:~750,000 行 Rust
  • 時間:11 天 from first commit to merge
  • 測試通過率:99.8%
  • 流程:第一個 workflow 為每個 Zig struct field 標出正確的 Rust lifetime;第二個 workflow 把每個 .zig 移植成 behavior-identical 的 .rs,數百個 agent 平行跑,每個 file 配 2 個 reviewer;fix loop 直到 build + test 都 clean;最後 overnight workflow 處理不必要的 data copy 並自動開 PR。

當然,HN 上立刻有人質疑:「我看不出 dynamic workflows 真的做了什麼,一般 mechanical refactor agent 也能做」「這 1M 行 vibe-coded Rust 到底誰維護」。Bun port 也還沒進 production。但作為一個 demo,這個尺寸的 codebase migration 在以前是要拿出 quarter 規劃的工作,現在 11 天搞定。

Fast Mode 經濟學變了

附帶一提,4.8 的 Fast Mode 跟前代 Fast 比直接便宜 3×:$10/$50 per million tokens、2.5× 速度。比同一個模型的標準模式貴 2 倍,但比之前的 Fast Mode 便宜很多。對 latency 敏感的互動 agent,這條線真的有性價比了。

為什麼 benchmark 跟體感對不上?

寫到這裡你可能已經發現一個 pattern:三代的客觀 benchmark 都是上升的,但 4.7 是體感大幅退步。為什麼?

我的綜合判斷是這三件事疊起來的化學反應:

1. Benchmark 在飽和區,無法區分真實差距

GPQA Diamond 從 4.6 的 91.3 → 4.7 的 94.2 → 4.8 的 93.6。這三個分數在 noise 範圍內。當 benchmark 飽和,0.5 點差距不代表體感差距。

更慘的是據 Agent Native 在 Medium 上的報導(需訂閱 ),DeepSWE 這個新出的 long-horizon benchmark 顯示,Opus 4.6 與 4.7 在 SWE-bench Pro 上有超過 12% 的題目被判定為「cheated」。如果屬實,這代表 SWE-bench 這個 coding 黃金 benchmark 已經有部分污染。

2. 隱性成本沒寫在價牌上

4.7 漲價是隱形的——tokenizer 多吃 12–27% token,Claude Code 預設 effort 從 high 拉到 xhigh,agentic 後段 turn 又會 think more。三者乘起來,同樣 prompt 在 4.7 跑下來的真實帳單比 4.6 多 30–50%。Anthropic 在公告裡只寫「1.0–1.35×」,不寫複合效果。

3. 訓練配方公開後才看到代價

4.7 的「business skills + adversarial agents」訓練 → honesty 退化。4.8 把這段移掉 → honesty 上來但商業能力下降。

這是第一次有人公開承認「我們為了某個能力而訓練的東西,反而傷害了另一個能力」。System card 的這個發現比所有 benchmark 都重要——它告訴我們,LLM 不是單調朝「越來越強」前進的,而是在多維 trade-off 空間裡左右橫跳。

那現在該用哪一代?

三條決策路徑

這是我綜合所有研究後的決策建議:

你的需求推薦版本為什麼
95% 一般 coding 任務Opus 4.8tool triggering、long-context、honesty 全面修復 4.7 痛點
大規模 migration / refactorOpus 4.8 + Dynamic Workflows11 天 750k 行那種尺度
Long-context RAG / deep researchOpus 4.6 保留 fallbackMRCR 91.9 @ 256K 是 4.6 暗藏王牌
創意寫作 / 角色扮演Opus 4.6warmth 仍是 4.6 最好
4.7 已調好不想動的 production保持 4.7沒有不可取代的點,但也不急著切
Computer use 安全敏感避開 4.84.8 system card 顯示 computer use 上對抗式 red-team 攻擊成功率比 4.7 升高
純日常程式碼 + 預算敏感Sonnet 4.659% 開發者表示偏好它勝過 Opus 4.5

切版實戰建議:

  1. Shadow test 2–3 天。在 production 的子集跑 4.8,量 cost / latency / completion rate / error rate。不要在切版同時改 prompt,否則無法歸因。
  2. 預期 token 不會漲太多。4.7 → 4.8 的 tokenizer 沒換,但 effort 等級重新校準了,default high 跟 4.7 default 用差不多 token 數但結果更好。
  3. Effort 不要一律 max。4.8 default high 已經是品質/成本最佳區。extra / max / ultracode 留給真難的非同步任務。
  4. Dynamic Workflows 要設預算上限。planning + 數百個 subagent + verify 是三段都吃 token,沒設預算很容易把 Max plan 額度燒掉。
  5. CJK 用戶記得占便宜。4.7 的 tokenizer 對中文/日文幾乎沒漲(1.01×),這在英文圈是大新聞但對中文工作者反而是好消息。

寫到最後

回頭看這四個月:4.6 把工作面拉大,4.7 把精度拉高、順手踩到誠實度的雷,4.8 把雷拆掉並丟出 Dynamic Workflows 這個新典範。三代之間真正的差異不是 benchmark 分數,是 Anthropic 在跟自己訓練配方搏鬥——他們已經公開承認,為了某個能力訓練的東西會傷害另一個能力。這件事比所有 SWE-bench 數字都重要。

下次有模型宣稱「同價升級」,記得跑一輪你自己的 prompt 去看實際 token 數,再判斷帳單會不會偷偷漲。當一個模型在某個 benchmark 大躍進時,去 system card 找它為這個躍進付了什麼代價——4.7 的代價寫得清清楚楚,是誠實度。世界上沒有單方向越來越強的 LLM,只有在多維空間裡左右橫跳的 trade-off。

而 4.8 也讓「聰明」這個詞需要重新定義。Dynamic Workflows 不是把 Claude 變強,是讓它自己組軍隊做單一 context 做不完的事——這比模型本體又進步幾個百分點更值得注意。下一代旗艦 Mythos(內部 codename 疑似 Capybara)大概很快會公開,到時候 Anthropic 怎麼繼續推進這套 trade-off 的講法,就是下一個故事了。

夭壽,這四個月最有趣的不是哪一代最強,是把「LLM 不是線性進步」這件事一次攤在所有人面前。

延伸閱讀

8GB 的 RK3588 能跑多聰明的 LLM?ROCK 5C 用 NPU 實測 5 個模型

先講結論,省得你滑到最後: 在一片 8GB 的 RK3588 板子上,用 NPU 跑得最聰明的是 Qwen3-4B-Instruct-2507,我出的 7 題全對,但每秒只吐 3.7 個 token。 想要順一點的對話體驗,Qwen3.5-2B 的 8.4 tok/s 是比...