模型與推理
有兩個選擇決定一個回合的花費和品質:模型,以及它推理多少。你在 New chat(新對話)對話框中做這兩個選擇,在送出任何訊息之前,也可以在輸入區再選一次。本頁說明這些選擇器、每個供應商的模型清單從哪裡來,以及各個 reasoning effort 值的意思。供應商的設定在各供應商頁面,對話框的逐欄說明在開始對話。
在哪裡選擇 #
| 位置 | 你設定什麼 |
|---|---|
| New chat 對話框 | 還不存在的對話的模型和 Reasoning effort。 |
| 輸入區的模型選擇器 | 下一則訊息的模型。它的工具提示是 Model(模型)。 |
| 輸入區的 reasoning effort 選擇器 | 下一則訊息的 reasoning effort。它的工具提示是 Reasoning effort;圖片模型則是 Quality(品質)。 |
| 輸入區的 Context window(上下文視窗)選擇器 | 模型的上下文大小,適用於有不只一種大小的模型。圖片模型則是圖片尺寸。 |
對話 ⋯ 選單中的 🤗 Select Models(選擇模型) |
哪些模型會出現在上述所有清單中。 |
一個對話使用一個供應商,所以輸入區只列出該供應商提供的模型。模型和 reasoning effort 以訊息為單位套用:你在按下傳送之前做的選擇,就是那則訊息送出時使用的。對話會記住它最後使用的模型和 reasoning effort,瀏覽器則記住你最近在任何地方選的。新對話從瀏覽器記住的值開始。如果你換到的模型不提供記住的 reasoning effort,就改用該模型提供的最接近的 reasoning effort;Ultracode 絕不會以這種方式被選上。
在還沒有任何訊息的對話上,如果供應商有提供,選擇器也會列出 Auto(自動)。第一則訊息之後,Auto 會停用,工具提示為「Auto is available only for a new conversation」。
對話進行中可以換模型嗎? #
這取決於供應商。在模型固定的供應商上,選擇器會把模型顯示為鎖定的項目(🔒),無法變更。
| 供應商 | 在訊息之間換模型 |
|---|---|
| GitHub Copilot | 可以,兩種引擎都行。 |
| OpenAI | 第一則訊息之前可以。之後模型就固定了。 |
| Claude | 可以。 |
| Claude API 0.9.18 新增 | 可以。計費切換會保留模型;另一邊沒有列出該模型時,切換會被拒絕。 |
| Claude Cloud | 可以。沙箱會在下一則訊息之前切換。 |
| Cursor | 可以。 |
| Grok | 不行。模型在建立對話時就固定了。 |
| DeepSeek | 可以。對話的 Claude Code 會在下一則訊息之前以新模型重新啟動。對話中一旦有圖片,就會拒絕切換到不接受圖片輸入的模型。 |
OpenAI 和 Grok 從第一則訊息起就鎖定選擇器。中繼會以「Grok model switching requires creating a new Grok conversation」拒絕換成其他 Grok 模型。要在模型固定的供應商上使用其他模型,請開始新的對話。輸入區上方的註記會指出固定的模型;見每個對話一個供應商。
Select Models #
🤗 Select Models(副標題:「Choose model variants shown in the composer selector」)決定探索到的模型中,哪些會出現在選擇器裡。這個選擇是為整個中繼儲存的,而不是依瀏覽器或依對話。對話框也會顯示清單上次重新整理的時間。
對話框為每個 runtime 設一個分頁:Copilot、OpenAI、Claude SDK、0.9.18 新增 Claude API、Cursor SDK、Grok 和 0.9.17 新增 DeepSeek。分頁沒有模型可顯示時會停用,例如它的供應商關閉時。Claude Cloud 沒有分頁:它的清單跟著 Claude 供應商的清單(見下方)。每個模型都有一個標題列,顯示名稱、上下文視窗,以及一行 Reasoning(推理)小標籤,它提供的每個 reasoning effort 各一個。標題列下方是該模型的各列,每列附一個核取方塊。
- 💾 Save enabled models(儲存已啟用的模型)會儲存目前分頁的勾選。其他分頁維持原樣。通知會顯示「Saved model selection.」。
- 在 Copilot 模型的分頁上,至少要保留一個勾選:「Select at least one model variant.」
- 標示為 default model(預設模型)的 Claude、Claude API、Cursor、Grok 或 DeepSeek 模型是固定的,不能取消勾選。OpenAI 模型標示為 managed in settings(在設定中管理):決定它們的是 OpenAI 模型 ID 和已儲存的清單,而不是核取方塊。標示為 unavailable(無法使用)的模型是先前勾選過、但已不再被回報的模型;它會被保留,所以更新不會重設你的選擇。
- Refresh(重新整理)會重新讀取模型清單,而且不只是目前分頁的:包括 Copilot CLI 的清單,以及其他每個已啟用供應商的清單。OpenAI、Claude、Claude API、Cursor、Grok 或 DeepSeek 讀取失敗時,會顯示類似「Claude model discovery failed. Cached Claude models were kept: …」的通知。
完全無法載入模型資料時,輸入區會顯示「Model metadata is unavailable. Refresh to choose a model and reasoning effort.」,並附上 Refresh models(重新整理模型)按鈕;在成功之前,選擇器都會停用。
每份模型清單從哪裡來 #
中繼會讀取每個供應商的清單,再由 Select Models 縮小範圍。供應商的 model ID(模型 ID)設定就是它的預設模型,也就是你沒有另外選擇時,對話一開始使用的模型。
| 供應商 | 清單來源 | 何時讀取 |
|---|---|---|
| GitHub Copilot | 已安裝的 Copilot CLI | 中繼啟動後幾秒、執行中的 session 讀取時,以及按 Refresh 時。 |
| OpenAI | 端點的 / 清單 |
儲存金鑰或重新啟用 OpenAI 時,以及按 Refresh 時。讀取失敗時會保留清單。開始對話時使用已儲存的清單。 |
| Claude | Claude Agent SDK | 啟用 Claude 時、登入之後,以及按 Refresh 時。 |
| Claude API 0.9.18 新增 | 以已儲存的金鑰查詢 Anthropic 的 GET / |
儲存金鑰或重新啟用 Claude API 時,以及按 Refresh 或分頁上的 Refresh models 時。第一次讀取之前:使用 Claude 供應商的清單。 |
| Claude Cloud | Claude 供應商的模型,加上分頁上的 Default model | 不自行讀取。 |
| Cursor | Cursor Agent SDK | 儲存 API 金鑰或重新啟用 Cursor 時,以及按 Refresh 時。 |
| Grok | Grok CLI | 啟用 Grok 時、登入之後、從面板安裝 CLI 之後,以及按 Refresh 時。 |
| DeepSeek | DeepSeek 的 / 清單中的 deepseek- ID |
儲存金鑰、重新啟用 DeepSeek 或變更其基礎 URL 時,以及按 Refresh 時。第一次讀取之前:deepseek- 和 deepseek-。 |
讀取失敗時,中繼會保留它最後一份清單。過時的是 Copilot 清單時,輸入區會顯示橫幅「Model list is cached from CLI; selection may be stale.」。清單看起來太舊時,請按 Refresh。
Copilot 的清單以 auto 開頭,接著依廠商分組,每組中最新的版本在前。在第一次讀取之前,新的中繼會提供一份簡短的內建清單;見 GitHub Copilot。其他供應商的預設值,以及缺少模型時該怎麼辦,請見各自的頁面:OpenAI、Claude、Claude API、Claude Cloud、DeepSeek。
上下文大小 #
Context window 選擇器會顯示模型提供的視窗,例如 400 和 1。大多數模型只有一個項目,這時小標籤只是顯示視窗大小。
在 Claude 上,claude- 這類長上下文模型不會列為第二個模型。在選擇器中選 1,就會以長上下文變體執行基礎模型。Claude 的模型目錄沒有預設視窗的數值,所以該項目顯示 —。只以 [1m] 變體存在的模型就只提供 1。對話會記住你選的視窗。詳見 Claude。0.9.18 新增 當 Anthropic 回報模型的視窗為 1M token 以上,或 Claude 供應商列出了它的 1M 變體時,Claude API 對話會提供 1;見 Claude API。
對於有長上下文視窗的 Copilot 模型,選擇器會把它列為第二個項目,選擇器下方的價格細節會跟著你選的項目變動。這個選擇會隨訊息一起儲存。New chat 對話框以唯讀方式顯示視窗。Claude Cloud 對話沒有大小可選;選擇器會隱藏。
DeepSeek 對話只有一個視窗,1,048,576 個 token,選擇器顯示為 1.,沒有其他可選。除非設定了自動壓縮視窗,否則它會在 400K 時壓縮;見 DeepSeek。
Reasoning effort #
reasoning effort 選擇器決定模型在回答前可以思考多少。值越高,回答前的思考越多。它的選項是所選模型支援的那些,所以換模型時選項也會跟著變。下表就是全部的值;每個模型提供其中一部分:
| 值 | 意義 |
|---|---|
none |
不要求任何 reasoning effort。模型有列出 none 時,就照原樣送出;否則模型以它自己的預設值執行。 |
minimal |
模型提供的最低層級,低於 low。 |
low、medium、high |
reasoning effort 逐級增加。 |
xhigh、max |
最高的層級。 |
| Ultracode | 僅限 Claude。見下方。 |
DeepSeek 的等級是 low、high(預設)和 max,每個模型都一樣;見下方。
default(預設)。無法關閉推理的模型會把 none 顯示為 default。選它會送出 none,模型以它自己的預設推理執行。Cursor 模型就是如此。
reasoning effort 會隨每則訊息送出。選擇器只提供模型接受的值。如果訊息指定了模型不接受的 reasoning effort(agent 可能這麼做),Claude、Cursor、Grok 和 Claude Cloud 會改用 none。GitHub Copilot 和 OpenAI 會以錯誤拒絕該訊息。DeepSeek 會把它對應到自己的等級。沒有指定 reasoning effort 的訊息會得到 none,模型沒有 none 時則得到清單中的第一個值;在 DeepSeek 上,它會沿用對話的 reasoning effort,或使用 high。
Claude #
Claude 的選擇器提供 none 和模型回報的等級(low、medium、high、xhigh、max)。none 表示不要求任何 reasoning effort 等級。支援 xhigh 的模型會多出 Ultracode。它的工具提示是「xhigh effort plus multi-agent workflow orchestration — expect much higher token use」。它不是一個等級,而是一種模式:中繼會要求 xhigh reasoning effort,並開啟 session 的工作流程協調,離開 Ultracode 時就會關閉協調。
思考另有兩個自己的開關,以對話為單位,位於 🧠 上下文面板中:Thinking(思考)可開啟或關閉,預設開啟;Thinking text(思考文字)可選 Summarized(摘要)或 Hidden(隱藏),預設為摘要。Hidden 只是隱藏文字。真正能省 token 的控制項是關閉思考,它套用到下一個 CLI session,不會在 session 進行中生效。見 Claude。
0.9.18 新增 Claude API 對話有相同的選擇器和控制項。它的等級來自 Anthropic 針對該金鑰提供的模型清單:none 和模型回報的等級,xhigh 模型再加上 Ultracode;若模型沒有回報支援 reasoning effort,就只有 none。見 Claude API。
DeepSeek 0.9.17 新增 #
DeepSeek 的模型一律會思考,所以沒有 none。選擇器提供 low、high 和 max;high 是預設值。換成不同的 reasoning effort 會在回合之間重新啟動對話的 Claude Code。來自其他地方的 reasoning effort(例如 medium)會對應到這三個等級之一。沒有 Thinking 控制項。對應方式和其他細節請見 DeepSeek。
agent 啟動 session 時 #
用 create_ 在中繼上啟動 session 的 agent,可以傳入 model 和 effort。如果都沒傳,新 session 會比照 agent 所在的 session,只要目標中繼有提供([1m] Claude 模型會對應到它的基礎模型);否則使用目標中繼的預設模型。沒有 model 的 Claude Cloud session 會使用 Claude Cloud 分頁上的 Default model,而且不接受 reasoning effort。如果目標中繼沒有為該模型提供呼叫端的 reasoning effort,session 會使用目標中繼的預設 reasoning effort。send 接受同樣的兩個參數;沒有傳入時,session 會保留自己的模型和 reasoning effort。
0.9.13 新增 目標中繼沒有為該供應商列出的模型,會在建立或傳送任何東西之前就被拒絕,並附上相近的模型;Claude 也接受 opus、sonnet 和 haiku,而附帶 reasoning effort 的 Copilot id(例如 gpt-)會以該模型搭配該 reasoning effort 執行。見接受哪些模型。
0.9.13 新增 任何沒有指定模型就送到對話的訊息(來自 agent 或腳本,而不是輸入區),都會以對話的模型、reasoning effort 和模式執行,而且不會變更其中任何一項。以前,Copilot 對話遇到這種訊息時,會改用模型目錄中的第一個模型,並一直沿用。現在,Copilot 對話的模型已不在目錄中時,這種訊息會被拒絕,顯示 This conversation's model "…" is no longer available. Choose a model and send again.(此對話的模型「…」已無法使用。請選擇模型後重新傳送。),而不是切換到其他模型。
依供應商 #
| 供應商 | 模型清單 | 對話中換模型 | Reasoning 值 | 額外控制項 |
|---|---|---|---|---|
| GitHub Copilot,SDK 引擎 | Copilot CLI runtime | 可以 | runtime 為該模型回報的值:none 以及 minimal 到 xhigh,視模型有哪些而定 |
Context window,適用於有長視窗的模型 |
| GitHub Copilot,擴充功能引擎 | Copilot CLI runtime | 可以 | 同一份清單 | 同上 |
| OpenAI | 端點的 / |
第一則訊息之前 | 依模型名稱:gpt-、codex*:none、low、medium、high、xhigh;o1*、o3*、o4*:low、medium、high;其他:none |
無 |
| OpenAI Image | 端點的圖片模型 | 第一則訊息之前 | Quality:auto、low、medium、high |
以 Size(尺寸)取代上下文視窗 |
| Claude | Claude Agent SDK | 可以 | none 和模型回報的等級,xhigh 模型再加上 Ultracode |
1 上下文、Thinking、Thinking text |
| Claude API 0.9.18 新增 | 以該金鑰查詢 Anthropic 的 / |
可以 | 同 Claude,來自 Anthropic 的清單 | 同 Claude |
| Claude Cloud | Claude 的清單加上 Default model | 可以 | 沒有可選的值 | 無 |
| Cursor | Cursor Agent SDK | 可以 | 每個模型回報的值;有些把 none 顯示為 default |
無 |
| Grok | Grok CLI | 不行 | 模型回報的值,否則為 none、low、medium、high。none 以外的值都會以提示的形式傳給 Grok CLI,而它可能忽略 |
無 |
| DeepSeek | DeepSeek 的 / |
可以,在回合之間 | 每個模型都是 low、high(預設)、max |
無;只有一個視窗,顯示為 1. |