Fusi Model dalam Produksi: Di Dalam OrcaRouter Fusion dan Routing DSL
Tiga model frontier secara paralel, satu jawaban kembali. Panggil dalam satu baris — atau buat sendiri.
TL;DR. Claude Fable 5 telah dihapus. Jawabannya bukan model yang lebih besar — ini adalah sebuah panel: jalankan beberapa model frontier secara paralel dan biarkan seorang juri mengembalikan jawaban terkuat. OrcaRouter mengirimkan ini dengan dua cara: built-in orcarouter/fusion routers Anda panggil seperti model lainnya, dan sebuah Routing DSL untuk menyusun DSL Anda sendiri. Ini adalah panduan lapangan untuk keduanya — dengan resep copy-paste, lima arbiter (termasuk synthesize, fusi Mixture-of-Agents), dan cara meluncurkannya tanpa mempertaruhkan SLA Anda.
Bagian 1 — Panggil dalam satu baris: router Fusion bawaan
Fable 5 telah dihentikan dan dibatasi, sehingga tidak lagi dapat dipanggil secara luas. Fusion membangun kembali level tersebut dari model yang Anda dapat masih panggil — sebuah router drop-in yang kompatibel dengan OpenAI yang menjalankan panel model frontier secara paralel dan mengembalikan jawaban terkuat. Tiga tingkatan terkurasi dikirimkan di setiap ruang kerja:
Tiga tingkatan Fusion (komposisi panel × jendela konteks)
Claude Opus 4.8 + GPT-5.5 + Gemini 3.1 Pro
Jendela Konteks: 1,000,000
Terbaik untuk: kecerdasan level Max Fable-5
Claude Opus 4.8 + GPT-5.5
Jendela Konteks: 1,000,000
Terbaik untuk: inferensi seimbang level Fable-5
Gemini 3.5 Flash + MiniMax M2.7 + GLM 5.1
Jendela Konteks: 200,000
Terbaik untuk: inferensi cepat dan murah setingkat Fable-5
(Jendela konteks = anggota panel terkecil — kendala pengikat pada fan-out.)
Ini bukan umpan pemasaran; mereka adalah router DSL pra-kompilasi dikelola secara terpusat. Inilah sebenarnya program orcarouter/fusion, kata demi kata:
version: 1
rules:
- id: hard_panel
when: task_class == "code" || task_class == "agent" || code_keyword_density >= 0.3 || has_tools || difficulty >= 0.3
use:
parallel:
- { model: "anthropic/claude-opus-4.8" }
- { model: "openai/gpt-5.5" }
- { model: "google/gemini-3.1-pro-preview" }
arbiter:
strategy: best_of_n
model: "anthropic/claude-opus-4.8"
template: best_answer_v1
max_latency_ms: 120000
default:
delegate: balancedDua pilihan desain yang patut disebutkan:
Ini hanya menyebar pada pekerjaan nyata. Gerbang when: memicu panel untuk kode, agen, penggunaan alat, padat-kode, atau kesulitan tinggi (kesulitan >= 0.3) prompt; semua yang lain jatuh ke default seimbang ruang kerja. Anda membayar harga panel tepat di tempat yang membantu, bukan pada "hai."
Hakim memberikan jawaban nyata, kata demi kata. best_of_n menjalankan hakim LLM (di sini, Opus 4.8 dengan template best_answer_v1) yang memilih satu kandidat terkuat dan menyajikannya apa adanya — tidak pernah gabungan yang diencerkan. Output selalu berupa jawaban model nyata.
Bagian 2 — Pilih vs. Gabungkan: best_of_n dan arbiter sintesis
Para router Fusion memilih. Namun OrcaRouter juga menyertakan fuse strategi — synthesize, Mixture-of-Agents pola yang ditambahkan dalam mesin perutean (service/dispatch_parallel/synthesize.go). Perbedaannya adalah inti dari permainan:
Lampiran 2 — Pilih vs. Gabung
best_of_n (SELECT) synthesize (FUSE)
┌─ Opus 4.8 ─┐ ┌─ Opus 4.8 ─┐
├─ GPT-5.5 ─┼─► judge picks leg k ├─ GPT-5.5 ─┼─► aggregator LLM writes
└─ Gemini ─┘ └─► serve leg k verbatim └─ Gemini ─┘ ONE new fused answer
output = a real model's answer output = a new answer better than any legResep untuk fusi sejati:
use:
parallel:
- { model: "anthropic/claude-opus-4.8" }
- { model: "openai/gpt-5.5" }
- { model: "google/gemini-3.1-pro-preview" }
arbiter:
strategy: synthesize
model: "anthropic/claude-opus-4.8" # aggregator: fuses candidates into one new answer
template: synthesize_v1Peringatan jujur:
- Penagihan adalah N+1 — setiap leg ditagih, ditambah agregator sebagai panggilan tambahan.
- Format chat OpenAI hanya di V1 — agregator mengeluarkan completion chat OpenAI; Claude/Gemini native klien turun ke serve-first-successful (segmen masih ditagih).
Agregator harus berada dalam set kandidat yang diotorisasi router, atau akan menurun.
Kapan menggunakan yang mana: best_of_n ketika jawaban satu model kemungkinan besar sepenuhnya benar (kode, tanya jawab faktual) — Anda menginginkan jawaban yang bersih dan nyata. synthesize ketika jawaban bersifat saling melengkapi (riset, analisis, bentuk panjang) dan menggabungkan kekuatan mengalahkan setiap pendapat tunggal.
Bagian 3 — Buat sendiri: buku panduan Routing DSL
Tidak ingin panel yang dikurasi? Mulai dari "Claude Fable 5 Level" templates di editor Routing DSL (mereka tersedia di setiap ruang kerja dan mencerminkan router Fusion), lalu khususkan. Enam pola salin-tempel:
1 — Kirim kode yang benar-benar berjalan → sebarkan, biarkan pengujian pilih pemenangnya:
- id: hard_code
when: task_class == "code" && difficulty > 0.6
use:
parallel:
- { model: "anthropic/claude-opus-4.8", thinking_budget_tokens: 16000 }
- { model: "openai/gpt-5.5", reasoning_effort: high }
- { model: "google/gemini-3.1-pro-preview" }
arbiter: { strategy: tests_pass }tests_pass bersifat berdasarkan eksekusi — ia melayani kandidat yang lolos harness Anda, tidak perlu judge LLM.
2 — Berhenti membayar lebih untuk prompt yang mudah → gerbang kesulitan (pola Fusion, model Anda):
- id: easy
when: difficulty < 0.3
use: { delegate: cheapest }
- id: hard
when: difficulty >= 0.3
use:
parallel:
- { model: "anthropic/claude-opus-4.8" }
- { model: "openai/gpt-5.5" }
arbiter: { strategy: best_of_n, model: "anthropic/claude-opus-4.8", template: best_answer_v1 }3 — Menjaga agar agen yang berjalan lama tetap pada jalurnya → eskalasi hanya saat ia goyah:
- id: agent
when: task_class == "agent" && agent_state.consecutive_errors == 0
use: { model: "anthropic/claude-sonnet-4.6", affinity_ttl: "5m" }
on_low_confidence:
signals: [next_turn_test_failed, self_doubt]
use: { model: "anthropic/claude-opus-4.8", thinking_budget_tokens: 24000 }4 — Buat keluaran flaky menjadi deterministik → beri suara, eskalasi pada split:
- id: extract
when: task_class == "rag"
use:
parallel:
- { model: "anthropic/claude-opus-4.8" }
- { model: "openai/gpt-5.5" }
- { model: "google/gemini-3.1-pro-preview" }
arbiter: { strategy: majority }
on_disagreement: { model: "anthropic/claude-opus-4.8", thinking_budget_tokens: 32000 }5 — Kalahkan latensi ekor dan gangguan penyedia → berlomba, layani responden pertama:
- id: race
when: request.stream == true && difficulty < 0.5
use:
parallel:
- { model: "google/gemini-3.5-flash" }
- { model: "minimax/minimax-m2.7" }
- { model: "z-ai/glm-5.1" }
arbiter: { strategy: first }6 — Luncurkan tanpa mempertaruhkan SLA → shadow (evaluasi bersama lalu lintas langsung, catat apa yang akan pilih + selisih biaya, sajikan pilihan langsung) → canary % (dsl_canary_pct 5 → 25 → 100, crypto-random per permintaan). Migrasi berdasarkan perbedaan yang terukur, kembalikan secara instan.
Lembar contekan: lima arbiter

Ekonomi & kejujuran
Fan-out yang dibatasi tingkat kesulitan menjaga tagihan tetap datar (Ilustratif; biaya = perhitungan harga token sebenarnya) — biaya campuran = easy_share × murah + hard_share × panel:

Beban kerja dengan tingkat kemudahan 70% menjalankan panel penuh untuk sepertiga dari tagihan seluruh panel.
