Fusion — das Multi-Modell-Panel
Verschiedene Spitzenmodelle scheitern auf unterschiedliche Weise. Das eine übersieht einen Grenzfall, den ein anderes erkennt; das eine halluziniert eine API, die die anderen drei zu erfinden verweigern. Fusion macht aus dieser Vielfalt eine Funktion: Ist Fusion aktiviert, wird jede Frage, die Ihre Claude-Code-Sitzung stellt, von mehreren Modellen gleichzeitig beantwortet, ein Judge-Modell kartiert, wo die Entwürfe übereinstimmen, sich widersprechen und jeweils glänzen, und eine einzige synthetisierte Antwort — verankert in dieser Analyse — wird an Claude Code zurückgeliefert, als hätte sie ein einzelnes Modell verfasst. Der Agent erfährt nie, dass ein Panel einberufen wurde.
Fusion läuft vollständig im Host-seitigen Proxy (siehe Konzepte), sodass sich innerhalb der VM nichts ändert: keine Agent-Flags, keine Wrapper-Skripte, keine sichtbare Latenzquelle, auf die der Agent reagieren könnte. Fusion wird pro Arbeitsbereich im Einstellungsbereich Fusion konfiguriert und pro Sitzung mit der Blitz-Schaltfläche (⚡) in der Titelleiste des Sitzungsfensters aktiviert.
Hinweis: Fusion ist in der Benutzeroberfläche als BETA gekennzeichnet. Es handelt sich um einen funktionsfähigen Prototyp: Der Mechanismus ist stabil, aber die Judge-Prompts, die Provider-Backends und die Fehlerbehandlung entwickeln sich noch. Lesen Sie Beta-Einschränkungen, bevor Sie sich darauf verlassen.
Wie Fusion funktioniert
Fusion fängt den Datenverkehr der Claude-Code-Sitzung zum /v1/messages-Endpunkt von Anthropic ab. Jede Anfrage wird in Stufen verarbeitet:
- Bein A — Claude antwortet zuerst. Die ursprüngliche Anfrage des Gasts wird unverändert an Anthropic gesendet (erzwungen ohne Streaming, damit die vollständige Antwort geprüft werden kann). Ihre Claude-Code-Sitzung ist immer ein Bein der Fusion.
- Tool-Züge werden durchgereicht. Ist Claudes Antwort ein Tool-Aufruf — der häufige Fall beim agentischen Coding, wo die meisten Züge „lies diese Datei", „führe diesen Befehl aus" lauten —, wird sie wortgetreu an den Agenten weitergeleitet und Fusion für diesen Zug übersprungen. Die agentische Schleife wird niemals durch einen synthetisierten Tool-Aufruf unterbrochen.
- Text-Züge fächern auf. Nur wenn Claude eine reine Textantwort zurückgibt, greift Fusion ein. Jeder andere ausgewählte Provider — Codex (OpenAI), Grok (xAI) und optional ein lokales Modell auf dem Gerät — wird dieselbe Frage über dasselbe abgeflachte Transkript gestellt.
- Der Judge kartiert das Gelände. Das Judge-Modell vergleicht alle Entwürfe und gibt eine strukturierte JSON-Analyse aus — Konsens, Konflikte, einzigartige Erkenntnisse, blinde Flecken und ein Urteil — statt eines Fließtextkommentars.
- Der Judge synthetisiert. Dasselbe Judge-Modell verfasst dann die endgültige Antwort, verankert in der Analyse, die es soeben erstellt hat.
- Auslieferung. Die fusionierte Antwort wird in genau der Übertragungsform, die er angefordert hat (Anthropic SSE oder JSON), an den Agenten in der VM zurückgestreamt. Aus Sicht von Claude Code hat ein einziges Modell geantwortet.
Ein Fehler in einer beliebigen Stufe verschlechtert das Ergebnis kontrolliert, anstatt die Sitzung zu unterbrechen: Ein Bein, dessen Zugangsdaten nicht aufgelöst werden können oder das einen Fehler wirft oder eine Zeitüberschreitung erleidet, wird stillschweigend aus der Fusion entfernt. Überleben weniger als zwei Antworten, wird Claudes eigene Antwort unverändert zurückgegeben.
Tool-Züge vs. Text-Züge
Die Unterscheidung zwischen Tool-Zug und Text-Zug ist es, die Fusion für agentisches Arbeiten sicher macht. Aktionen (Tool-Aufrufe) werden genau so ausgeführt, wie Claude sie ausgegeben hat; nur Antworten — Erklärungen, Entwürfe, Reviews, Pläne — werden fusioniert. In einer typischen Coding-Sitzung sind die meisten Züge Aktionen, sodass sich der Einfluss von Fusion dort konzentriert, wo Modellvielfalt am wichtigsten ist: bei der Argumentation und den Schlussfolgerungen, nicht bei den mechanischen Dateiänderungen.
Woher die Identität jedes Beins stammt
Fusion hat keine eigene Benutzeroberfläche für Zugangsdaten. Jedes Bein löst die Zugangsdaten auf, die der Agenten-Tab des Arbeitsbereichs bereits für diesen Provider bereithält:
- Abonnementmodus — das Bein verwendet ein aktives OAuth-Token aus dem Abonnementspeicher des Hosts; der Host aktualisiert es bei Bedarf. Claude-Abonnement-Token erhalten automatisch den Claude-Code-Identitätssystemblock und den OAuth-Beta-Header, den Anthropic verlangt.
- API-Token-Modus — das Bein verwendet den echten API-Schlüssel aus der Host-seitigen Token-Austauschtabelle (der Gast hat immer nur Köder-Zugangsdaten gesehen; siehe Zugangsdaten).
- Lokales Modell — das Bein richtet sich an die Inferenz-Engine auf dem Host mit deren internem Schlüssel (siehe Lokale & hybride Inferenz).
- Bedrock (AWS) — ein Claude-Agent im Bedrock-Modus trägt nur über die eigene Anfrage des Gasts bei; es gibt kein separates Bedrock-Fusionsbein.
Ein Bein, dessen Zugangsdaten nicht aufgelöst werden können, wird mit einer Log-Zeile entfernt, niemals mit einem für den Agenten sichtbaren Fehler.
Voraussetzungen
Fusion benötigt mindestens zwei nutzbare Modelle:
- Ihre Claude-Code-Sitzung zählt immer als ein Bein, vorausgesetzt der Claude-Code-Agent verfügt über nutzbare Zugangsdaten.
- Jedes weitere Cloud-Bein — Codex (OpenAI), Grok (xAI) — benötigt seine im Agenten-Tab des Arbeitsbereichs konfigurierten Zugangsdaten. Bis dahin ist seine Zeile im Fusion-Bereich ausgegraut mit dem Hinweis — keine Cloud-Zugangsdaten (in Agenten konfigurieren).
- Das Bein Lokales Modell benötigt mindestens ein im Bereich Lokale Modelle heruntergeladenes Modell. Bis dahin zeigt seine Zeile — in Lokale Modelle eines herunterladen.
- Sind weniger als zwei nutzbare Modelle ausgewählt, zeigt der Bereich den Hilfetext „Wählen Sie mindestens zwei Modelle zum Fusionieren — Ihre Claude-Code-Sitzung zählt als eines, fügen Sie also ein weiteres hinzu (einen Cloud-Agenten oder ein lokales Modell)." an und die Blitz-Schaltfläche der Sitzung bleibt deaktiviert.
Fusion für einen Arbeitsbereich konfigurieren
Fusion wird im Bereich Fusion des Fensters Arbeitsbereich bearbeiten konfiguriert (das gelbe Blitzsymbol in der Seitenleiste, mit BETA gekennzeichnet). Die feldweise Referenz finden Sie unter Fusion-Einstellungen; dieser Abschnitt führt durch den Arbeitsablauf.
Im obigen Screenshot sind noch keine Agent-Zugangsdaten konfiguriert, sodass jede Zeile unter Modelle zum Fusionieren ausgegraut ist und der orangefarbene Hilfetext erklärt, was fehlt. Sobald der Agenten-Tab Zugangsdaten enthält, werden die Zeilen auswählbar.
- Öffnen Sie den Arbeitsbereich im Arbeitsbereich-Browser und klicken Sie auf Arbeitsbereich bearbeiten, wählen Sie dann den Bereich Fusion.
- Setzen Sie unter Modelle zum Fusionieren ein Häkchen bei den Providern, deren Antworten Sie im Panel wünschen. Claude Code (Anthropic) — Ihre Sitzung ist immer ein Bein; fügen Sie Codex (OpenAI), Grok (xAI) und/oder Lokales Modell hinzu. Die Zeile „Lokales Modell" enthält eine Auswahl der installierten lokalen Modelle.
- Wählen Sie unter Judge den Provider und das Modell, die die Entwürfe abwägen und die endgültige Antwort verfassen. Die Provider-Liste bietet jeden Cloud-Provider mit nutzbaren Zugangsdaten sowie Lokal, wenn mindestens ein lokales Modell installiert ist. Cloud-Modelllisten werden live vom
/v1/models-Endpunkt des Providers abgerufen und enthalten einen (Standard)-Eintrag; schlägt der Abruf fehl, wird stattdessen eine kleine integrierte Liste angeboten. Ein lokaler Judge wählt aus den installierten Katalogmodellen. - Klicken Sie auf Sichern.
| Einstellung | Standard | Hinweise |
|---|---|---|
| Modelle zum Fusionieren | Keine ausgewählt | Claude Code ist immer ein Bein; andere benötigen Zugangsdaten (Cloud) oder ein installiertes Modell (lokal). |
| Judge → Provider | Erster nutzbarer Provider | Lokal erscheint, sobald ein lokales Modell installiert ist. |
| Judge → Modell | (Standard) → claude-opus-4-8 | Cloud-Listen werden live von /v1/models abgerufen. |
Ist das Modell eines Beins nicht ausdrücklich festgelegt, gelten diese Standards: Claude → claude-opus-4-8; Codex → gpt-5.5 bei einem Abonnement oder gpt-5.5-2026-04-23 mit einem API-Schlüssel; Grok → grok-build.
Tipp: Ein lokales Modell ist ein leistungsfähiges Zusatzbein ohne Grenzkosten — und der Judge selbst kann lokal laufen, sodass die gesamte Analyse- und Synthesestufe auf Ihrem Mac verbleibt. Siehe Lokale & hybride Inferenz.
Fusion in einer Sitzung aktivieren
Das Konfigurieren des Bereichs macht Fusion nur verfügbar. Jede Sitzung entscheidet über die Blitz-Schaltfläche (⚡) in der Titelleiste des Sitzungsfensters, ob sie Fusion nutzt:
| Erscheinungsbild des Blitzes | Status | Tooltip |
|---|---|---|
| Hohl, deaktiviert | Nicht verfügbar — weniger als zwei nutzbare Modelle | „Um Fusion zu aktivieren, benötigen Sie mindestens zwei aktivierte Modelle." |
| Gefüllt, dunkelgrau | Verfügbar, deaktiviert | „Fusion verfügbar — deaktiviert. Klicken Sie, um die Multi-Modell-Synthese zu aktivieren." |
| Gefüllt, gelb | Aktiviert | „Fusion aktiviert — Antworten werden über Ihre ausgewählten Modelle synthetisiert. Klicken Sie, um zu deaktivieren." |
Klicken Sie auf den Blitz, um umzuschalten. Neue Sitzungen starten immer deaktiviert — Fusion ist eine ausdrückliche Wahl pro Sitzung, niemals eine stille Voreinstellung.
Über die Befehlszeile
Während die App läuft, können Sie Fusion auf einer laufenden VM umschalten, ohne das Fenster zu berühren:
bromure-cli vm fusion enable <vm>
bromure-cli vm fusion disable <vm>
<vm> ist eine VM-ID oder ein Arbeitsbereichsname, und on/off/engage/disengage werden als Aliase akzeptiert. Die Statusausgabe von bromure-cli vm enthält eine Fusion-Zeile mit engaged oder available (off). Diese Befehle sprechen mit der Steuerungs-API der App und erfordern daher, dass die App (oder ihr Agent) läuft; siehe Automatisierung & CLI.
Was Fusion kostet
Fusion vervielfacht die Modellnutzung, und Sie sollten sie in Kenntnis der Rechnung aktivieren. Für jeden Zug, in dem Claude eine reine Textantwort zurückgibt:
- Jedes weitere ausgewählte Bein macht einen vollständigen Modellaufruf und erhält dasselbe abgeflachte Transkript als Kontext — lange Unterhaltungen kosten daher auf jedem Bein und in jedem fusionierten Zug proportional.
- Der Judge macht zwei weitere Aufrufe: einen zur Erstellung der JSON-Analyse, einen zum Verfassen der Synthese. Beide sind auf 4.096 Ausgabe-Token begrenzt.
Sind alle vier Beine ausgewählt, kostet eine einzelne fusionierte Antwort daher bis zu fünf Modellaufrufe zusätzlich zum Claude-Aufruf, den Sie ohnehin gemacht hätten. Tool-Aufruf-Züge fächern zu null zusätzlichen Aufrufen auf, was agentische Sitzungen in der Praxis weit günstiger hält als im schlimmsten Fall — die meisten Züge in einer Coding-Schleife sind Tool-Aufrufe.
Wie jedes Bein abgerechnet wird, richtet sich nach seinen Zugangsdaten: API-Schlüssel-Beine rechnen pro Token ab, Abonnement-Beine zehren am Kontingent des Abonnements, und ein lokales Bein kostet nur Rechenleistung auf dem Gerät (und Akku, auf einem Laptop). Jedes Bein hat standardmäßig eine Upstream-Zeitüberschreitung von 600 Sekunden.
Fusion im Trace
Fusion ist für den Agenten bewusst unsichtbar, für Sie jedoch vollständig sichtbar. Jeder Upstream-Nebenaufruf — jedes Bein, die Judge-Analyse und die Synthese — wird wie jeder andere KI-Austausch von der Trace-Pipeline erfasst, je nach dem Trace-Level des Arbeitsbereichs (siehe Tracing).
Praktische Konsequenzen:
- Der Trace-Inspektor (Menü „Fenster" → Trace-Inspektor…) listet die zusätzlichen Austausche neben dem normalen Datenverkehr der Sitzung auf und stellt erfasste Anfragen und Antworten als geparste Unterhaltungen dar — Sie können genau lesen, was jedes Bein geantwortet und was der Judge geschlossen hat.
bromure-cli trace hostnameszeigt, dass Hosts wieapi.openai.comvon einer Sitzung kontaktiert wurden, die Sie vielleicht für rein Anthropic gehalten haben. Wenn Ihre Organisation den ausgehenden Datenverkehr prüft, rechnen Sie damit, dass fusionierte Sitzungen die Endpunkte jedes ausgewählten Providers zeigen.- Fusion protokolliert außerdem ausführlich in den stderr der App mit dem Präfix
[fusion]— nützlich bei der Diagnose, warum ein Bein entfernt wurde.
Hinweis: Wenn die Datenverarbeitungsregeln Ihres Arbeitsbereichs einschränken, welche Provider Ihren Code sehen dürfen, denken Sie daran, dass jedes ausgewählte Bein das vollständige abgeflachte Transkript der Unterhaltung erhält. Wählen Sie die Beine entsprechend aus.
Umgebungsüberschreibungen
Einige Standards lassen sich beim Start der App mit Umgebungsvariablen überschreiben — nützlich zum Experimentieren, nicht als tägliche Konfiguration gedacht:
| Variable | Standard | Wirkung |
|---|---|---|
BROMURE_FUSION_TIMEOUT | 600 | Upstream-Zeitüberschreitung pro Bein, in Sekunden. |
BROMURE_FUSION_OPENAI_MAX_TOKENS | 128000 (GPT-5/o-Serie), 16384 (gpt-4o und früher) | Obergrenze für Completion-Token des OpenAI-Beins. |
Beta-Einschränkungen
Fusion ist eine Beta-Funktion mit scharfen Kanten, die man kennen sollte:
- Nur Claude-Code-Sitzungen. Fusion fängt Anthropic-
/v1/messages-POST-Anfragen ab. Sitzungen, die Codex oder Grok als primären Agenten ausführen, werden nicht fusioniert — der Datenverkehr dieser Agenten wird normal durchgereicht. - Nicht-Claude-Beine antworten ohne Tools. Für die Beine Codex, Grok und das lokale Bein werden Tool-Definitionen verworfen; sie antworten als Fließtext über ein abgeflachtes Transkript. Ihre Entwürfe fließen in die Synthese ein, können aber selbst keine Aktionen ausführen.
- Bestmögliche Abonnement-Backends. Das Codex-Abonnementbein läuft über das ChatGPT-Backend per WebSocket, und das Grok-Abonnementbein nutzt
cli-chat-proxy.grok.com— beide undokumentierte Schnittstellen. Bei einem Fehler wird das Bein entfernt, statt die Fusion scheitern zu lassen. - Stille Verschlechterung. Entfernte Beine und Judge-Fehler fallen ohne Warnung an den Agenten auf Claudes eigene Antwort (oder einen Rohentwurf) zurück. Der Trace und das
[fusion]-stderr-Log sind die einzigen Stellen, an denen Sie sehen, dass es passiert ist. - Latenz. Ein fusionierter Text-Zug wartet auf das langsamste überlebende Bein und dann auf zwei Judge-Aufrufe. Rechnen Sie mit merklich langsameren Antwortzügen als bei einer einfachen Sitzung; Tool-Züge sind nicht betroffen.