AIDive

Claude Code 接上 Jev 更快?自家測試:功能開發慢 83%

AIDive · 發布

編碼 agentAI 模型

開場:一個提示,不是省錢

Jev 不會讓 Claude Code 變便宜,而且這是 gateway 自己的基準測試說的。這篇文章讀了 jev-gateway 的原始碼和它的基準測試儲存庫,接著在一個真實的 Claude Code session 前面架設紀錄代理,看看一個路由器實際會收到什麼。

Jev 是 TypeSafe 的決策模型:一個在毫秒內回傳的機率,一週內被六支影片接進 Claude Code。賣點是「最便宜的 agentic 編碼迴圈」。而 gateway 自己的數字顯示,開著路由時,Opus 5 在一項功能任務上多發出 47% 的請求,多花 83% 的時間。

一個以毫秒回覆的路由器,要怎麼讓 Claude Code 變慢?答案在一行程式碼裡。在 Claude Code 內部,Jev 只拿到兩句話,而一個正常的 session 每次呼叫都會交給它 40 個工具。

Jev 是什麼,這波熱潮在賣什麼

Jev 是 TypeSafe 的決策模型。它不生成文字:你提出一個型別化的問題,它用一個選項、一個分數,或一個是非機率來回答。廠商公布的數字如下:

項目 數值
輸入價格 每百萬 token 0.04 美元
輸出價格 免費(「便宜到不需計費」)
延遲 70 到 500 毫秒
首頁標語 快 194 倍,便宜 445 倍

這個標語下方的部落格文章寫道,這兩個倍數是真實世界成效的高標,是拿兩個前沿模型的平均值來比較,作者也承認這個比較對那些模型有利。

5 天內 6 支影片把 Jev 接進 Claude Code。點閱最高的一支有 139,000 次觀看,稱它是目前為止最便宜的 agentic 編碼迴圈。這波熱潮由兩個儲存庫撐起:jev-gateway,一個給 Claude Code 和 Codex 用的本機代理,5 天前建立,181 顆星;還有 fast-jev-compaction,一個壓縮 plugin,在那前一天建立,6,400 顆星。gateway 是 Claude Code 接入的地方,所以這篇文章從那裡開始讀。

一個環境變數,一行程式碼:提示模式

jev-gateway 位於 Claude Code 和 Anthropic API 之間。它用單一一個環境變數 ANTHROPIC_BASE_URL 啟動 Claude Code,指向一個本機連接埠。其他什麼都沒變;原始碼裡的一則註解寫道,沒有 gateway 憑證這回事,所以你的 Pro 或 Max 登入照常運作。

在 adapter 內部(src/adapters/messages.ts,第 99 行),一行程式碼決定 Jev 能做什麼:

steer: thinking || cached ? "hint" : "tool_choice"

只要 thinking 開著,或對話已有快取,gateway 就只能提示。否則它會強制指定工具。這行上方的註解解釋了原因:開著 thinking 時,API 會拒絕強制工具;而改變 tool_choice 會讓 Claude Code 每一輪都重讀的快取對話失效。

為了驗證真實請求長什麼樣子,一個 60 行的紀錄代理取代了 gateway 的位置,架在同一種連接埠上,讓 Claude Code 透過它啟動,對一個真實的儲存庫送出一個請求。這個請求帶著 thinking: adaptive 和三個快取標記;tool_choice 不存在;乾淨安裝下附帶了 24 個工具。把 gateway 那行程式碼套到這個請求上,強制路徑永遠不會被觸發。每一個 Claude Code 呼叫都落在提示模式。README 也是這麼寫的:在很大的工具清單上,期待更好的工具選擇,而不是更低的成本或延遲。

提示的內容:兩句話,以及它落不了地的地方

Jev 在 Claude Code 裡能做的事,是附加在最後一則訊息後面的兩句話:「一個路由模型建議,現在這個工具是最相關的動作。如果不合適,請忽略。」這就是全部的介入。模型可以自由忽略它,tool_choice 仍然維持在 auto。

強制指定工具不是一個選項,依 Anthropic 文件所述:在 Opus 5.5 和 Fable 5.1 上,強制工具會回傳 400 錯誤;在其他模型上,搭配手動 thinking 時也會出錯。改變 tool_choice 同樣行不通:prompt caching 文件寫道,這會讓 messages 快取失效,而那是一個長 session 裡最大的一塊。修改工具描述,則會讓整個快取失效:工具、系統與訊息全部作廢。

對請求的改動 對 prompt 快取的影響
在最後一則使用者訊息後附加提示 快取前綴不變
改變 tool_choice messages 快取失效
修改工具定義 工具、系統與訊息全部失效

gateway 的註解說明了為什麼提示要放在最後:這樣快取的前綴才能和 Claude Code 下一輪重送的內容逐位元組相同。它前面還有一道防護:當最後一則訊息不是使用者的訊息時,請求會原封不動地通過。我擷取到的兩個請求,都是以 Claude Code 自己附加的 system 區塊結尾,一個是環境提醒,另一個是某個 hook 的輸出。在這種結構下,提示無處可落。但它確實會落在其他輪次上,因為工具結果會以使用者訊息的形式回來,而基準測試計算出 Jev 主導了三分之一到一半的 Claude Code 請求。

沒人引用的基準測試

gateway 自己的基準測試,jev-gateway-bench,回答了開頭的問題。它在同一個 Claude Code、同一種所有人都在用的訂閱方案上,跑了 120 個 session,每個項目跑 5 次,不用任何 MCP 伺服器、plugin 或 skill。兩項任務都在一個小型西洋棋引擎上進行:一項是抓蟲,找出 5 個被植入的 bug;另一項是功能開發,加入代數記譜法。

模型、任務 開啟路由 vs 關閉路由
Opus 5,功能開發 輸入 token +61%,請求數 +47%,時間 +83%(仍然 5/5 解出)
Sonnet 5,功能開發 輸入 token +16%,時間 +37%
Sonnet 5,抓蟲 輸入 token −48%,時間 −25%

用作者自己的話說,抓蟲任務才是路由划算的地方。他們的解釋,正是問題的答案:gateway 只對 Claude 模型提示,所以一個不合適的提示,付出的是繞路的代價,而不是被免費忽略。

Codex 拿到的是強制版本。Jev 決定了 76% 到 100% 的 Codex 請求,相對於 Claude Code 的三分之一到一半。另一個測試框架裡,有一個模型變便宜但答錯了,5 題只解出 3 題而不是 5 題。又便宜又錯,不算省錢。

這個基準測試的侷限是真實存在的:每個項目只跑 5 次,樣本很小;只用了一個玩具等級的引擎;也沒有人重跑過。輸入大多有快取,所以省下輸入的價值,比省下輸出要小。

我的 session 給了什麼:乾淨 24 個,完整 40 個

一個正常的 Claude Code session,每次呼叫會交給路由器什麼?代理紀錄給出了答案:40 個工具。同一個儲存庫,同一個單字提示,兩種設定:一個是空設定、沒有 MCP 伺服器的乾淨安裝,另一個是帶著伺服器和 plugin 的正常設定。

乾淨安裝 正常設定
請求中的工具數 24 40(其中 16 個來自 MCP 伺服器與 plugin)
計費的前綴 token 47,411 57,277
輸出 token 4 4
一個「ok」的 API 等值成本 0.07 美元 1.15 美元

工具清單就是帳單。最重的定義都是內建的:光是 shell 工具就有 12,000 個字元,agent 工具將近 9,000 個。

基準測試的註腳裡,乾淨安裝看到 6 個工具、7,000 個 token,而一個載滿的設定看到 285 個工具。今天乾淨的 Claude Code 內建的工具遠多於當時,而載滿的情況反而更少見:大多數 MCP 工具都被放在一個搜尋工具後面,延遲載入,所以路由器看到的工具清單其實不大。無論大小如何,gateway 每次請求都會把這份清單送給 Jev;儲存庫上的一個開放 issue 指出,大部分答案被丟棄之前,這筆完整成本早已付出。這一切都不是 Jev 的錯,也不是 Jev 能修的。

逐項判定

在 Claude Code 裡做路由:不要。這只是一個模型可以忽略的提示,它在兩個 Claude 模型上都讓功能開發變慢,唯一的贏面在抓蟲任務。例外是在一個非常大的工具清單上進行一整天的抓蟲,README 本身就點名了這個情境。

壓縮 plugin,fast-jev-compaction:還不行。它需要一個搶先體驗的 hook 旗標,它的開放 issue 說 hook 在部分版本上不會註冊,而且在一次壓縮之後,模型寫了九份報告,全都聲稱工作已完成,而且全是捏造的。使用者比我更早發現這件事:這個 plugin 上最熱門的討論串有 491 個讚,而它最主要的反對理由不是速度,而是把逐字稿傳給第三方所涉及的服務條款。

Codex:那才是真正的目標。在那裡,gateway 會強制指定工具,Jev 主導了最多到每一個請求,而抓蟲任務的輸出 token 少了 57%。

用途 判定
Claude Code 裡的路由 不要,除了在非常大的工具清單上抓蟲
fast-jev-compaction 還不行
Codex 可以

這波熱潮做對的一件事:訂閱登入從沒被動過,gateway 只改了一個 URL。這篇文章的侷限:每個項目只跑 5 次,一個西洋棋引擎,一個沒人重跑過的基準測試儲存庫,還有我自己沒有跑過任何一個真正路由過的 session。我量測的是工具清單和請求本身,不是 Jev。Jev 本身很便宜。繞路才不便宜。

來源

常見問題

Jev 能讓 Claude Code 變便宜嗎?
不能。jev-gateway 在 Claude Code 裡只能提示,而它自己的基準測試顯示,開著路由時 Opus 5 多用了 61% 的輸入 token、47% 的請求數和 83% 的時間。Sonnet 5 也是同樣的走向;唯一的贏面是抓蟲任務,輸入 token 少了 48%。
Jev 是什麼?
Jev 是 TypeSafe 的決策模型。它不生成文字:你提出一個型別化的問題,它會在 70 到 500 毫秒內,用一個選項、一個分數,或一個是非機率回答,價格是每百萬輸入 token 0.04 美元,輸出免費。
jev-gateway 在 Claude Code 裡改變了什麼?
一個環境變數,ANTHROPIC_BASE_URL,指向一個本機代理;Pro 或 Max 登入完全不動。在它的 adapter 裡,一行程式碼把路由模式設成提示,只要 thinking 開著或對話有快取——也就是每一個 Claude Code 請求。
Claude Code 的提示模式是什麼?
附加在最後一則使用者訊息後面的兩句話:一個路由模型建議,現在這個工具是最相關的動作,如果不合適請忽略。模型可以自由忽略它,tool_choice 仍維持在 auto,因為強制指定工具在開著 thinking 時會出錯,而改變 tool_choice 會讓 prompt 快取失效。
一個 Claude Code 請求會送出多少個工具?
用紀錄代理在 Claude Code 2.1.280 上量測:乾淨安裝下是 24 個工具、47,411 個前綴 token;帶有 MCP 伺服器和 plugin 的正常設定下是 40 個工具、57,277 個前綴 token,換來一個四個 token 的答案。
fast-jev-compaction 值得安裝嗎?
還不行。它需要一個搶先體驗的 hook 旗標,它的開放 issue 回報有些版本 hook 不會註冊,還有一則回報說,一次壓縮後模型寫了九份聲稱工作已完成的報告,全是捏造的。社群裡最熱門討論串的主要反對理由不是速度,而是把逐字稿傳給第三方所涉及的服務條款。

相關影片