Fusion — 多模型面板
不同的前沿模型,出錯的方式也不同。一個漏掉的邊界情況,另一個抓到了;一個憑空編出的 API,其餘三個拒絕發明。Fusion 把這種多樣性變成一項功能:啟用之後,你的 Claude Code 工作階段問出的每一個問題都由好幾個模型同時回答,一個評判模型描繪出這些草稿在哪裡一致、在哪裡衝突、各自在哪裡出色,而一個以那份分析為根基的單一合成答案,會像是某一個模型寫的那樣交回給 Claude Code。代理程式永遠不知道曾經召開過一場合議。
Fusion 完全跑在主機端的代理伺服器裡(見概念),所以 VM 裡什麼都沒變:沒有代理程式的旗標、沒有包裝腳本,也沒有任何代理程式能察覺並據以反應的延遲來源。它是按機器設定的(在設定編輯器中即工作區),設定在Fusion 設定窗格裡,並在機器的某個終端機標籤頁顯示於畫面上時,用工具列的閃電按鈕(⚡)啟用。
注意: Fusion 在介面中標示為 BETA。它是一個能用的原型:機制是穩定的,但評判模型的提示、各供應商的後端,以及失敗的處理方式都還在演進。在依賴它之前,請先看BETA 的限制。
Fusion 如何運作
Fusion 攔截 Claude Code 工作階段送往 Anthropic /v1/messages 端點的流量。每個請求都分階段處理:
- 分支 A — 先由 Claude 回答。 客體原本的請求原封不動送往 Anthropic(強制為非串流,以便檢查完整的回覆)。你的 Claude Code 工作階段永遠是這個融合的分支之一。
- 工具回合直接通過。 若 Claude 的回覆是一次工具呼叫——在代理式編程中這是常見情形,多數回合都是「讀這個檔案」、「執行這道命令」——它會被一字不改地轉交給代理程式,該回合便跳過融合。代理循環永遠不會被一個合成出來的工具呼叫打斷。
- 文字回合向外開展。 只有在 Claude 回傳純文字答案時,Fusion 才介入。每一個其他被選取的分支——Codex (OpenAI)、Grok (xAI)、Kimi Code (Moonshot AI)、Oh My Pi,以及可選的本機模型——都會就同一份攤平後的對話紀錄被問同一個問題。
- 評判模型描繪地形。 評判模型比較所有草稿,並產出一份結構化的 JSON 分析——共識、衝突、獨到見解、盲點,以及一個裁定——而不是散文式的評論。
- 評判模型進行合成。 同一個評判模型接著以它剛產出的那份分析為根基,寫出最終的答案。
- 交付。 融合後的答案會以 VM 裡的代理程式所要求的那個傳輸形式(Anthropic 的 SSE 或 JSON)原樣串流回去。從 Claude Code 的角度看,就是一個模型回答了。
任何階段的失敗都是優雅地退化,而不是把工作階段弄壞:憑證無法解析、出錯或逾時的分支,都會被靜靜地從融合中剔除。若存活的答案少於兩個,就原封不動回傳 Claude 自己的答案。
工具回合與文字回合
工具回合/文字回合的區分,正是 Fusion 對代理式工作而言安全的原因。行動(工具呼叫)完全按 Claude 發出的樣子執行;只有答案——解釋、設計、檢視、計畫——才會被融合。在典型的編程工作階段中,多數回合都是行動,所以 Fusion 的影響集中在模型多樣性最要緊的地方:推理與結論,而不是機械性的檔案編輯。
每個分支的身分從哪裡來
Fusion 沒有自己的憑證介面。每個分支都使用在機器的實際模型設定中——偏好設定 › 模型,加上機器自己的模型覆寫(見模型與供應商)——已為該代理程式設好的登入或 API 金鑰。當你改動那些設定時,執行中機器的 Fusion 組態會當場刷新;若改動之後可用的模型少於兩個,Fusion 就會被停用。
- 訂閱——分支使用主機訂閱庫中的一個活權杖(Claude、ChatGPT、Grok 或 Kimi);主機會在需要時更新它。Claude 的訂閱權杖會自動取得 Anthropic 所要求的 Claude Code 身分系統區塊與 OAuth beta 標頭。
- API 金鑰——分支使用主機端權杖替換表裡那把真正的 API 金鑰(客體看到的始終只是誘餌;見憑證)。
- Oh My Pi——omp 只吃 API 金鑰,並且講它被切換到的那個供應商,所以它的分支使用該供應商的 API 金鑰,搭配模型設定在那裡為 omp 所選的模型(否則就是該供應商預設的分支模型)。只有 Anthropic、OpenAI 與 xAI 能被融合;位於 z.ai 或自訂端點上的 omp 不會被當作分支提供。
- 本機模型——分支瞄準這台機器的本機引擎:有設定自訂伺服器時就是它,否則是 Mac 的裝置端引擎(見模型與供應商)。
- Amazon Bedrock——跑在 Bedrock 上的 Claude Code 工作階段只透過客體自己的請求貢獻;沒有單獨的 Bedrock 融合分支。
憑證無法解析的分支會留下一行紀錄後被剔除,絕不會把錯誤丟到代理程式面前。
需求
Fusion 需要至少兩個可用的模型:
- 只要 Claude Code 代理程式有一份可用的憑證,你的 Claude Code 工作階段就永遠算作一個分支。
- 每一個額外的雲端分支——Codex (OpenAI)、Grok (xAI)、Kimi Code (Moonshot AI)——都需要該代理程式的憑證,在偏好設定 › 模型或機器的模型覆寫中設定。在那之前,該列會呈灰色並帶著提示*— 沒有雲端憑證(請在偏好設定 › 模型中設定一個)*。
- Oh My Pi 分支需要 omp 被切換到 Anthropic、OpenAI 或 xAI,並具備該供應商的 API 金鑰。否則它那一列會顯示*— Oh My Pi 需要 Anthropic、OpenAI 或 xAI 的 API 金鑰(請在偏好設定 › 模型中設定)*。
- 本機模型分支需要一個本機模型:在模型的裝置端下載的裝置端模型,或一台自訂伺服器。在那之前,它那一列會顯示*— 請在偏好設定 › 模型中下載一個*。
被選取的可用模型少於兩個時,窗格會顯示輔助文字*「請至少選兩個要融合的模型——你的 Claude Code 工作階段算一個,所以再加一個(一個雲端代理程式或一個本機模型)。」*,而閃電按鈕保持停用。
為一台機器設定 Fusion
Fusion 在機器設定中模型之下的Fusion 窗格裡設定(黃色的閃電圖示;該窗格標著 BETA)。逐欄位的參考在Fusion 設定;本節走一遍流程。
在上面的截圖中,這個工作區沒有設定任何供應商,所以要融合的模型之下每一列都呈灰色,而橙色的輔助文字說明了缺什麼。
- 打開機器的設定(機器選單中的設定…),並選取Fusion 窗格。
- 在要融合的模型之下,勾選你想要其答案進入面板的那些代理程式。Claude Code (Anthropic) — 你的工作階段永遠是一個分支;再加上Codex (OpenAI)、Grok (xAI)、Kimi Code (Moonshot AI)、Oh My Pi 和/或本機模型。本機模型那一列附有一個可用本機模型的選擇器。
- 在評判模型之下,挑出要權衡草稿並寫出最終答案的供應商與模型。供應商清單提供每一個具備可用憑證的代理程式(判定方式與分支相同),並在有本機模型可用時加上本機。雲端模型清單是即時從供應商的
/v1/models端點取得的,並包含一個**(預設)** 項目;若取得失敗,就改為提供一份內建的小清單。本機的評判模型從已安裝的目錄模型中挑選。 - 點選儲存。
| 設定 | 預設 | 備註 |
|---|---|---|
| 要融合的模型 | 未選任何 | Claude Code 永遠是一個分支;其他需要憑證(雲端)或一個本機模型。 |
| 評判模型 → 供應商 | 第一個可用的供應商 | 一旦有本機模型可用,就會出現本機。 |
| 評判模型 → 模型 | (預設) → claude-opus-4-8 | 雲端清單即時從 /v1/models 取得。 |
當某個分支的模型沒有被明確釘選時,預設為:Claude → claude-opus-4-8;Codex → 用訂閱時是 gpt-5.5,用 API 金鑰時是 gpt-5.5-2026-04-23;Grok → grok-build;Kimi Code → kimi-k2.5;Oh My Pi → 它所交談那個供應商的預設(Claude 的、Codex 以 API 金鑰時的預設,或 Grok 的)。Oh My Pi 的評判模型則退回到 omp 的分支模型。
提示: 一個本機模型是個有本事又沒有邊際成本的額外分支——而且評判模型本身也可以在本機跑,讓整個分析與合成的階段都留在你的 Mac 上。見模型與供應商。
在一台機器上啟用 Fusion
設定好窗格只是讓 Fusion可用。你是按機器啟用它的,用主視窗工具列上的閃電按鈕(⚡)。閃電只在該機器的某個終端機標籤頁顯示於畫面上時出現——在側邊欄的虛擬機器之下,或在某個工作階段中按下Linux 膠囊(⌥⌘U)跳到它的終端機之後。它從不出現在聊天裡。
| 閃電的樣子 | 狀態 | 工具提示 |
|---|---|---|
| 中空、停用 | 不可用——可用的模型少於兩個 | 「請啟用至少兩個模型才能使用 Fusion」 |
| 實心、深灰 | 可用,但未啟用 | 「Fusion 可用 — 點選以啟用」 |
| 實心、黃色 | 已啟用 | 「Fusion 已啟用 — 點選以停用」 |
點閃電即可切換。啟用它是對整台機器生效的:在它上面執行的每一個 Claude Code 工作階段都會被融合,直到你停用為止。機器一開始是 Fusion 未啟用的狀態——這是一個明確的選擇,絕不是默默套上的預設。
從命令列
在應用程式執行中時,你可以不碰視窗就在一台執行中的 VM 上切換 Fusion:
bromure-cli vm fusion enable <vm>
bromure-cli vm fusion disable <vm>
<vm> 是 VM 的 id 或一個工作區名稱,而 on/off/engage/disengage 也都接受作為別名。bromure-cli vm 的狀態輸出中含有一列 fusion,寫著 engaged 或 available (off)。這些命令是跟應用程式的控制 API 交談的,所以需要應用程式(或它的代理程序)正在執行;見CLI、API 與 MCP。
Fusion 的代價
Fusion 會把模型用量乘上好幾倍,你該在懂得這筆算術之後再啟用它。對於每一個 Claude 回傳純文字答案的回合:
- 每一個被選取的額外分支都會發出一次完整的模型呼叫,並收到同一份攤平後的對話紀錄作為脈絡——所以長對話在每一個融合回合、每一個分支上都會按比例計費。
- 評判模型還會多發兩次呼叫:一次產出 JSON 分析,一次寫出合成。兩者的輸出都以 4,096 個 token 為上限。
因此,若在 Claude 之外還選了 Codex、Grok 與一個本機模型,一個融合後的答案最多會在你原本就要發出的那次 Claude 呼叫之外,再花掉五次模型呼叫;每多一個分支就再多一次。工具呼叫的回合向外開展成零次額外呼叫,這在實務上讓代理式工作階段遠比最壞情況便宜得多——編程循環中多數回合都是工具呼叫。
每個分支怎麼計費,跟著它的憑證走:API 金鑰的分支按 token 計費,訂閱的分支吃訂閱的額度,而本機分支只花裝置上的算力(在筆電上還有電池)。每個分支預設有 600 秒的上游逾時。
追蹤紀錄中的 Fusion
Fusion 對代理程式刻意隱形,但對你完全可見。每一次朝上游的側邊呼叫——每個分支、評判模型的分析,以及合成——都會像其他任何 AI 往來一樣被追蹤管線擷取,並受該機器追蹤層級的約束(見追蹤)。
實務上的後果:
- 追蹤檢閱器(視窗選單 → 追蹤檢閱器…)會把那些額外的往來與工作階段的一般流量並列,並把擷取到的請求與回應呈現為已解析的對話——你可以確切讀到每個分支答了什麼、評判模型下了什麼結論。
bromure-cli trace hostnames會顯示,某個你原以為只和 Anthropic 往來的工作階段,其實聯絡過api.openai.com這類主機。若你的組織會稽核出向流量,請預期融合過的工作階段會顯示每一個被選供應商的端點。- Fusion 也會以
[fusion]前綴在應用程式紀錄(~/Library/Logs/BromureAC/bromure-ac.log)中詳細記事——診斷某個分支為何被剔除時很有用。
注意: 若你的資料處理規則限制了哪些供應商可以看到你的程式碼,請記得每一個被選取的分支都會收到整段對話攤平後的完整紀錄。請據此挑選分支。當這台機器開著個人資料保護時,個人資料會在向外開展之前被換成替身,所以每個分支收到的都是替身。
環境變數覆寫
有幾個預設值可以在啟動應用程式時用環境變數覆寫——適合實驗,並非設計來日常使用:
| 變數 | 預設 | 效果 |
|---|---|---|
BROMURE_FUSION_TIMEOUT | 600 | 每個分支的上游逾時,以秒計。 |
BROMURE_FUSION_OPENAI_MAX_TOKENS | 128000(GPT-5/o 系列)、16384(gpt-4o 及更早) | OpenAI 分支的完成 token 上限。 |
BETA 的限制
Fusion 是一項 beta 功能,有幾處值得知道的鋒利邊角:
- 只限 Claude Code 工作階段。 Fusion 攔截的是 Anthropic
/v1/messages的 POST 請求。跑 Codex、Grok、Kimi 或 omp 的工作階段不會被融合——那些代理程式的流量照常通過。 - 非 Claude 的分支不帶工具回答。 Codex、Grok、Kimi Code、Oh My Pi 與本機分支的工具定義都會被拿掉;它們就著一份攤平的對話紀錄以散文作答。它們的草稿會餵進合成,但它們本身不能採取行動。
- 訂閱後端是盡力而為。 Codex 訂閱分支搭在走 WebSocket 的 ChatGPT 後端上,而 Grok 訂閱分支用的是
cli-chat-proxy.grok.com——兩者都是未公開的介面。一有任何錯誤,就剔除該分支,而不是讓整個融合失敗。 - Oh My Pi 只限三個供應商。 Oh My Pi 的分支或評判模型,只在 omp 被切換到 Anthropic、OpenAI 或 xAI 並具備 API 金鑰時才有效;在 z.ai 或自訂端點上則不提供。
- 靜默退化。 被剔除的分支與評判模型的失敗,都會退回 Claude 自己的答案(或某份原始草稿),而不向代理程式示警。追蹤紀錄與應用程式紀錄中的
[fusion]行,是你唯一能看到這件事發生過的地方。 - 延遲。 一個融合的文字回合要等最慢的那個存活分支,然後還有兩次評判模型呼叫。請預期答案回合會明顯比一般工作階段慢;工具回合不受影響。