iT邦幫忙

2026 iThome 鐵人賽

DAY 20
0
AI Engineering

[ opencode ] 開源 AI coding agent系列 第 20

20-opencode | 多模型策略:provider 切換與成本平衡

  • 分享至 

  • xImage
  •  

! 本篇文章將會介紹多模型策略,任務 × 模型的選型表、variants 調校與成本控管,把每一塊錢花在刀口上 :D

TL;DR: https://dev.benben.me/slides/s/ironman-20-multi-model

本篇目標

讀完這篇你會學到:

  • 設定預設 model、按 agent / command 覆寫
  • 用 variants 調整推理強度、small_model 處理雜事
  • 一套「任務 × 模型」的實戰選型表

為什麼要多模型?

opencode 接支援 75+ providers(靠 AI SDK 與 Models.dev),從 OpenAI、Anthropic、Google 到 Ollama 本地模型都行。但自由度的價值不在「我可以換」,而在「不同的活給不同的模型」:

全用旗艦模型 = 用賓士送外送;全用便宜模型 = 請實習生做架構決策。多模型策略的中庸,才是省錢又出品質的王道。

基礎:設定預設 model

{
  "$schema": "https://opencode.ai/config.json",
  "model": "anthropic/claude-sonnet-4-5"
}

格式一律 provider/model-id。載入優先序:--model flag > 設定檔 > 上次用的 > 內部優序第一個。TUI 裡打 /models 隨時換,opencode models 列出所有可用模型(--refresh 更新快取)。

三個覆寫點:任務對的模型

這是本篇核心。同一個 session 裡,不同角色可以用不同模型:

1. Agent 層(Day 11 學過)

{
  "agent": {
    "plan": {"model": "opencode-go/glm-5.3-flash"},
    "review": {"model": "opencode/gpt-6"}
  }
}

2. Command 層(Day 13)

某個命令固定用便宜模型跑,front-matter 寫 model:

3. small_model:雜事專用

生成 session 標題這類零碎事,opencode 預設透過 Zen 用 gpt-5-nano 等級的小模型。想自訂或鎖自家 provider:

{"small_model": "opencode-go/glm-5.3-flash"}

很多「我明明沒打什麼怎麼也在扣額度」的疑問,答案都在 small_model 與標題生成——它便宜,但不是免費。

Variants:同一個模型,多種檔位

很多模型支援推理強度切換。opencode 內建常見 providers 的 variants:

  • Anthropichigh(預設)、max 思考預算
  • OpenAInone / minimal / low / medium / high / xhigh reasoning effort
  • Googlelow / high

自訂 variant 也行(例如把 gpt-5 包一個「高推理低廢話」檔):

{
  "provider": {
    "openai": {
      "models": {
        "gpt-5": {
          "variants": {
            "deep": {"reasoningEffort": "high", "textVerbosity": "low"}
          }
        }
      }
    }
  }
}

TUI 有 variant_cycle 快捷鍵循環切換——疑難雜症切 high 慢想,例行公事切 minimal 省錢。

Zen:官方精選櫃位

Day 02 介紹過 OpenCode Zen——官方實測、逐 request 計費的 gateway。對多模型策略的意義:

  • 品質有把關:官方實測「跟 opencode 合作愉快」的模型清單,不用自己踩雷
  • 一個 key 全包:Anthropic / OpenAI / Google / DeepSeek / Kimi / GLM… 切 model 不用辦一堆帳號
  • 成本工具:auto-reload(餘額低於 $5 自動儲 $20)、月用量上限、團隊成員個別限額
  • 免費模型:清單上有數個限時免費模型,試玩無痛

不想用也完全沒關係——Zen 就是一個 provider,拔掉照跑。

實戰選型表

筆者自己的分配(模型名僅供概念參考,請以當代清單為準):

任務 模型檔位 理由
主力開發(build agent) 旗艦(Sonnet/Codex 級) 品質瓶頸在這
規劃 / 讀 code(plan、explore) 中階或 Flash 級 讀懂就好,不用揮大刀
Code review 中階 + high variant 要細心不用快
翻譯 / 標題 / 格式轉換 小模型 便宜大碗
難纏 bug 旗艦 + max/high variant 貴,但重試更貴

記住原則:模型貴不在價格,在「配錯任務」

模型清單管理

{
  "provider": {
    "anthropic": {
      "whitelist": ["claude-sonnet-4-5", "claude-haiku-4-5"]
    }
  }
}

whitelist 只留愛將、blacklist 封殺地雷——/models 選單乾淨,手滑機率歸零。本地模型(Ollama / LM Studio / llama.cpp)走 custom provider 設 baseURL,私密度最高、成本為零。

常見問題

Q:怎麼回頭查我花了多少?
A:opencode stats 看用量與成本,--days 7 限區間、--models 看模型分布、--project 看單一專案。養成每週看的習慣。

Q:model id 到底要寫什麼?
A:opencode models 直接列;或 --verbose 看到價格。別用猜的,model id 打錯的報錯訊息很冷漠。

Q:不同模型會影響 tools / agents 嗎?
A:設定照常運作,但能力有差——工具呼叫的可靠度跟模型高度相關,這也是官方推薦清單存在的意義(Zen 頁面上每個模型都是實測過工具呼叫的)。

小結

  • 預設 model 設設定檔,agent / command / small_model 三個覆寫點各司其職
  • Variants 調推理檔位,疑難雜症升檔、例行公事降檔
  • Zen 是精選 gateway:一個 key、成本工具、免費試玩
  • 選型心法:配對任務,而不是追逐最強

明日預告

Day 21:AI coding tools 2026 全景圖——二十天下來把 opencode 摸透了,接著拉高視角,看看整片工具地景長什麼樣。


有任何疑問但沒有 iT 邦幫忙帳號,或是想匿名提問?
歡迎到 https://dev.benben.me/q/P3C5U6 提問或加油打氣,沒意外的話會在完賽之後一起回答 :D


上一篇
19-opencode | GitHub 與 GitLab 整合:PR review 自動化
下一篇
21-AI coding tools | 2026 全景圖與評估框架
系列文
[ opencode ] 開源 AI coding agent24
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言