用對模型,省下 $38:如何為你的 Agent 選擇最佳 LLM
一位同事在職場上問了我一個無關緊要的問題,我讓一個 Agent 去研究我的近期聊天記錄和文件。雖然它找到了正確答案,但這讓我花了 $38!!!。這筆投資報酬率(ROI)實在太差了。沒錯,我的時間很寶貴,但我原本並不會花那個時間,而且這個任務其實不需要昂貴的規劃能力。
我們可以做到更好。
Google Cloud 的 Gemini Enterprise Agent Platform 提供了 Model Garden,讓你透過便捷的 API 存取許多頂尖模型,包括 Google、Anthropic,甚至 xAI 的模型。事實上,Huggingface 上的每個模型都可以供你自行部署,但在這篇文章中,我們將聚焦於 Anthropic 全新的 Claude Fable 5.1 以及 Google 全新的 Gemini 3.8 Flash。開發者現在可以在完全相同的企業級 API 介面後方,使用兩種不同特性的前沿模型。
Fable 5.1 帶來了 Mythos 等級的自主規劃能力、100 萬 token 的上下文視窗,以及深入的多步驟盡職調查。Gemini 3.8 Flash 則以 Flash 的價格(每百萬輸入 token $0.75,每百萬輸出 token $3.75),提供接近前沿水準的推理能力和驚人的 token 生成速度,並具備可調校的思考控制功能。
你可能覺得選定一個模型並將所有任務都路由給它很簡單。但這是個錯誤。
如果你讓常規的開發瑣事經過深度規劃器處理,你就是在支付前沿模型的 token 費率來解析 git diff。如果你強迫一個快速模型在沒有正式計畫的情況下處理不可逆的資料庫遷移,它會徑直衝刺,在你喝完咖啡之前就把狀態搞砸。
我們可以非常簡單地大幅改善「Tokenomics」(代幣經濟學),方法是使用兩個模型並進行任務路由。

作者:Alan Blount (@zeroasterisk
以下是完整的操作指南,幫助你達成目標:
- 將兩個模型配置在單一統一的治理平面後方。
- 在選擇預設模型前,先對常規任務進行基準測試。
- 將快速模型作為你的前線協調者,並在你知道需要更多算力或快速模型需要升級處理時,使用深度規劃器。
- 建立關於任務 ROI 的心智模型,並理解 token 的價值(而不僅僅是成本)。
1. 將兩個模型配置在單一統一的治理平面後方
選擇你的 LLM 推論平台需要考慮許多設計決策。成本、容量、安全性、模型選擇、服務功能、開發者摩擦係數,以及更多的安全性(API 金鑰是有風險的)。Gemini Enterprise Agent Platform(前身為 Vertex AI)是一個具有獨特功能的綜合選項,由於它將 Gemini 和 Anthropic 模型都作為託管 API 暴露出來,因此單次安全認證即可涵蓋兩項工作負載。
但說實話,有些流程的摩擦係數比我想要的要高。我喜歡開玩笑說:「不可能的事情很容易,但容易的事情卻很難。」這也是我寫這篇文章的部分原因。
在處理模型之前,請登入 gcloud,並閱讀文件以了解各種變體。
1gcloud auth application-default login
要存取 Claude Fable 5.1,你需要啟用 API,然後啟用 Claude Fable 5.1,並填寫一份關於你使用案例的快速表單。但你還沒完成。
現在,Fable 受 Google Cloud 的高階 AI 安全附加條款約束。在你向 aiplatform.googleapis.com 發送任何提示詞之前,你必須在專案層級明確配置提示詞與回應共享,並接受發布者條款。
以下是針對全球端點的確切操作說明,請閱讀文件以了解各種變體。
首先,讓我們設定幾個有助於我們的變數。請注意,URL 路徑中的模型名稱是 claude-fable-5-1,使用連字符而不是點,並確保你輸入專案 ID 和位置,然後可能需要根據你的區域更改端點:
1export PROJECT_ID="YOUR_PROJECT_ID"2export LOCATION="global"3export MODEL="claude-fable-5-1"45# Global endpoint: aiplatform.googleapis.com (recommended)6# Multi-Regional endpoints: aiplatform.eu.rep.googleapis.com7# Regional endpoints: us-central1-aiplatform.googleapis.com8export ENDPOINT="https://aiplatform.googleapis.com"
接下來,呼叫 setPublisherModelConfig API,將 dataSharingEnabledProvider 設定為 ANTHROPIC - 請注意,這裡是全大寫:
1curl -X POST \2 -H "Authorization: Bearer $(gcloud auth print-access-token)" \3 -H "Content-Type: application/json; charset=utf-8" \4 -d '{ "publisherModelConfig": { "dataSharingEnabledProvider": "ANTHROPIC" } }' \5"${ENDPOINT}/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/anthropic/models/${MODEL}:setPublisherModelConfig"
初始呼叫會回傳一個已完成的操作物件,確認資料共享已啟動:
1{2 "name": "projects/YOUR_PROJECT_NUMBER/locations/global/operations/1234567",3 "metadata": {4 "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.SetPublisherModelConfigOperationMetadata",5 "genericMetadata": {6 "createTime": "...",7 "updateTime": "..."8 }9 },10 "done": true,11 "response": {12 "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.PublisherModelConfig",13 "loggingConfig": {},14 "dataSharingEnabledProvider": "ANTHROPIC"15 }16}
如果你已經這樣做過,你會收到 HTTP 409 錯誤,指出此設定已存在:
1409 ALREADY_EXISTS: The same PublisherModelConfig already exists.
這個 409 錯誤完全不是問題。
測試你對模型的存取權限,你應該會得到回應:
1curl -X POST \2 -H "Authorization: Bearer $(gcloud auth print-access-token)" \3 -H "Content-Type: application/json; charset=utf-8" \4 -d '{"anthropic_version": "vertex-2023-10-16","messages": [{"role": "user", "content": "Hello world."}], "max_tokens": 1024, "stream": true}' \5"${ENDPOINT}/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/anthropic/models/${MODEL}:streamRawPredict"
如果你沒有正確執行此操作,你會收到如下所示的 HTTP 403 錯誤:
1403 PERMISSION_DENIED: Access to this model requires data sharing to be enabled for publisher 'anthropic'. Please set `PublisherModelConfig.data_sharing_enabled_provider`2to 'anthropic' via the setPublisherModelConfig API to use this model.
要存取 Gemini 3.8 Flash,請確保你在模型卡片中看到它已啟用,它應該就能直接運作:
1curl -X POST \2 -H "Authorization: Bearer $(gcloud auth print-access-token)" \3 -H "Content-Type: application/json; charset=utf-8" \4 -d '{"contents": [{"role": "user", "parts": [{"text": "Hello world"}]}],"generationConfig": {"thinkingConfig": {"thinkingLevel": "LOW"}}}' \5"${ENDPOINT}/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/gemini-3.8-flash:streamGenerateContent"
…呼。我們做到了 🎉!
需要更多配額?你可以為任何模型管理配額,並為某些模型付費購買預置吞吐量。
2. 不要信任基準測試,自己跑一遍
如果你問五位工程師在 Agent 設置中該使用哪個模型,你會得到超過五種基於 Twitter 氛圍和合成排行榜的衝突意見。
公開基準測試提供了極佳的資源,但它們測試的是孤立的提示詞,或者越來越像是在真空中進行的任務。生產環境的用例,或你本地的 agentic SDLC agents,從來都不是公開基準測試的完美匹配。今天,你的工作方式與任何基準測試都不相同。
所以,你可以建立自己的基準測試(Agent Ops 和 Evals 太棒了!)並大規模自動化,或者你也可以只是並排執行你自己的簡單任務。只要你不改變任務中的檔案,你應該沒問題,而且幾乎不費吹灰之力,你就能對任務有一種感覺。
這是一個使用 promptfoo 驅動 opencode 對每個模型執行相同 2 個任務的例子。你需要更改任務描述並設置你的環境才能使其運作,但這應該不會太難。

GIF
1# opencode.json2{3 "$schema": "https://opencode.ai/config.json",4 "provider": {5 "google-vertex": {6 "options": { "project": "alanblount-demo", "location": "global" },7 "models": {8 "gemini-3.8-flash": { "id": "gemini-3.8-flash", "name": "Gemini 3.8 Flash" }9 }10 },11 "google-vertex-anthropic": {12 "options": { "project": "alanblount-demo", "location": "global" },13 "models": {14 "claude-fable-5-1": { "id": "claude-fable-5-1", "name": "Claude Fable 5.1" }15 }16 }17 },18...
配置 Promptfoo 以比較 opencode agentic 任務執行,而不僅僅是單個提示詞和模型。
1# promptfooconfig.yaml2description: "Benchmarking OpenCode Agent Harness: Gemini 3.8 Flash vs. Claude Fable 5.1"34prompts:5 - "Summarize git branch status in one sentence."6 - "Design a zero-downtime database migration strategy from Postgres to Spanner."78providers:9 - id: "exec:opencode run --auto -m google-vertex/gemini-3.8-flash"10 label: "Gemini 3.8 Flash (OpenCode Agent)"11 - id: "exec:opencode run --auto -m google-vertex-anthropic/claude-fable-5-1"12 label: "Claude Fable 5.1 (OpenCode Agent)"1314defaultTest:15 options:16 timeoutMs: 60000
使用 Promptfoo 運行你自己的並排比較:
promptfoo eval -c promptfooconfig.yaml --no-cache
以下是我在乾淨室開發容器中運行此評估的結果:

當檢查 PR 分支時,Claude Fable 5.1 進行了多輪元反思,重新檢查了未變更的樹狀雜湊值。它花費了近 6 秒,成本高出 23 倍。Gemini 3.8 Flash 立即識別出意圖,觸發了 git 工具,並在 1.1 秒內給出答案,成本不到十分之一美分。
在複雜的資料庫遷移任務上,情況反轉了。Gemini 3.8 Flash 在 3 秒內產生了一個穩健、簡潔的線性序列。但 Fable 5.1 花費了 12 秒生成了一個完整的、正式的有向無環圖(DAG)。它識別了雙重寫入中的時鐘偏差風險,生成了冪等鍵要求,並定義了一個可逆的回滾閘門。
這只是一個說明性的例子,你應該用自己的任務進行比較。
3. 日常使用和生產環境中的實際應用
無論你是使用現成的編碼工具還是構建自定義 agent 服務,致勝模式都是不對稱協調:廉價的速度用於前線執行,配合深思熟慮的深度用於架構檢查點。將昂貴的 token 花在棘手問題或規劃工作上,但對於較簡單的任務,預設使用較便宜的 token。
編碼 Agent 框架(OpenCode, Aider 等)
不要強迫一個模型成為你的通用預設值。配置映射到不同模型的專業子 agents。使用相同的統一供應商帶來安全性和成本優勢。使用不同的模型系列可以讓它們互相檢查。
使用深度思考 agent 來識別根本原因並為這個問題規劃解決方案,然後使用 worker agent 來處理每個任務並報告狀態。深度規劃器檢查他們的工作,並確認成功或重新分配。
1# opencode.json2{3 "$schema": "https://opencode.ai/config.json",4 "model": "google-vertex/gemini-flash-latest",5 "agent": {6 "plan": {7 "model": "google-vertex/gemini-flash-latest"8 },9 "build": {10 "model": "google-vertex/gemini-flash-latest"11 },12 "worker": {13 "model": "google-vertex/gemini-3.8-flash",14 "mode": "primary",15 "description": "General worker agent using gemini-3.8-flash"16 },17 "deep-thinker": {18 "model": "google-vertex-anthropic/claude-fable-5-1@default",19 "mode": "primary",20 "description": "Deep thinking agent using Claude Fable 5.1"21 }22 },23...
自定義 Agents 「即服務」(Google ADK, LangGraph, 自定義代碼等)
當你構建自己的 agent 框架和自己的 agent 服務時,你擁有完全的架構自由
- 重塑框架以適應模型: 給 Gemini 3.8 Flash 3 到 5 個專注的工具(read_file, write_file, run_tests),並帶有嚴格的 JSON schemas。快速模型擅長專注執行,但 50 個工具的目錄會導致參數混淆和上下文浪費。給 Claude Fable 5.1 架構文檔、schemas 和指南,但剝離直接的文件寫入權限。
- 基於 Evals 落地: 不要猜測哪個模型適合哪個節點。在你的 repo 任務上運行帶有確定性斷言檢查的自動評估套件,找出小模型在哪裡能以 10% 的成本提供 95% 的品質。這說起來容易做起來難,很難知道你想評估哪些場景。查看我們的 Kaggle 5 天課程(agents, vibecoding)以了解更多。
- 使用「請求協助」升級模式: 從快速 worker 開始處理每個傳入請求。給 worker 一個明確的工具:ask_for_help(reason, failed_attempts, context)。Worker 直接處理 85% 到 90% 的請求。它僅在模糊不清、不可逆動作或連續兩次工具失敗時才升級。
關於自動化「智慧」模型路由器的現實檢查
智慧路由器在預測性 ML(廣告技術、欺詐檢測)中有著悠久的歷史。多臂老虎機和成本品質路由器之所以成熟,是因為特徵是表格化的,輸入是有界的,且反饋(點擊、拒付)既是即時的,又可以在長時間範圍內衡量。
在生成式 AI 中,多輪 agents 則是另一回事。動態路由器可能在三個生產現實中掙扎:
- 單輪上下文可能不包含足夠的任務信號以供選擇
- 成功指標並未明確外推到特徵,因此路由器無法快速「學習」
- 錯誤的選擇會在另一條路上重跑,侵蝕任何潛在的節省並增加延遲
結論: 保持簡單乏味。明確組成你的 agents 並按任務邊界路由。定義清晰的角色,並讓具體的代碼斷言或人類意圖控制交接。
4. Token ROI 方程式:你實際上在為什麼付費?
原始價格表($/1M tokens)並不是生產價值的良好地圖。計算成本只是方程式的一部分。不可能給你一個總是在編碼、產品、製造和其他所有待辦事項中都能運作的計算公式。
一個起點可能是思考你獲得的商業價值。
- 節省的人力時間成本,員工完成更多工作,並減少在苦工和自動化任務上的時間。
- 更快將功能推向生產環境的價值,同時因這些功能提高客戶滿意度和留存率。
- 因改進的安全措施和工程實踐而減輕的錯誤和避免的生產中斷。
減去 token 成本,以及提升團隊技能以構建和管理其 agents 的成本,你就有一個粗略的 ROI 計算。

你可以通過使用更少且更便宜的 token 來影響這些計算,但你可能會通過更快完成更多工作來最大程度地影響它們。選擇高槓桿任務。選擇能節省開支或增加收入、可驗證且值得自動化的任務。當你分解這些任務時,也許你想超級深入地思考和規劃,願意支付更多並等待;或者也許你想快速可靠地執行。你兩者都需要。
Tokenomics 目前是熱門話題,還有許多其他選項可以降低成本並最大化價值。這篇文章的主要觀點是,設置幾個具有不同配置的 agents 在 2 個模型上並自己路由任務真的很簡單。那是最容易的起點。
如果你覺得這個拆解有用,請查看我們之前關於每位 AI 工程師都應該知道的關於 agent 沙盒的 5 件事的文章。關注 @GoogleCloudTech 和 @zeroasterisk 以獲取來自建設者戰壕的更多深度剖析。





