프로덕션에서의 모델 퓨전: OrcaRouter Fusion 및 Routing DSL 내부
세 개의 최첨단 모델을 병렬로 사용하여 하나의 답변을 받으세요. 한 줄로 호출하거나 직접 구성하세요.
TL;DR. Claude Fable 5가 목록에서 삭제되었습니다. 해결책은 더 큰 모델이 아닙니다. 바로 패널: 여러 프론티어 모델을 병렬로 실행하고 판정기가 가장 강력한 답변을 반환하도록 하는 것입니다. OrcaRouter는 이를 두 가지 방식으로 제공합니다: 내장 orcarouter/fusion 라우터 마치 일반 모델처럼 호출할 수 있으며, 또한 Routing DSL 로 자체 라우터를 구성할 수 있습니다. 이는 두 가지 모두를 위한 실전 가이드로, 복사-붙여넣기 레시피, 다섯 가지 중재자(synthesize, Mixture-of-Agents 퓨즈 포함), 그리고 SLA를 위협하지 않고 배포하는 방법을 다룹니다.
파트 1 — 한 줄로 호출하세요: 내장된 Fusion 라우터
Fable 5는 중단 및 제한되어 더 이상 광범위하게 호출할 수 없습니다. Fusion은 당신이 모델로부터 그 수준을 재구축합니다 수 있는여전히 호출할 — 드롭인 방식의 OpenAI 호환 라우터로, 최첨단 모델 패널을 병렬로 실행하고 가장 강력한 답변을 반환합니다. 작업 공간마다 세 가지 선별된 계층이 제공됩니다:
세 가지 Fusion 계층 (패널 구성 × 컨텍스트 창)
Claude Opus 4.8 + GPT-5.5 + Gemini 3.1 Pro
컨텍스트 창: 1,000,000
적합 대상: Fable-5 레벨 Max intelligence
Claude Opus 4.8 + GPT-5.5
컨텍스트 창: 1,000,000
최적 대상: Fable-5 수준 균형 추론
Gemini 3.5 Flash + MiniMax M2.7 + GLM 5.1
컨텍스트 윈도우: 200,000
최적 대상: Fable-5 수준의 빠르고 저렴한 추론
(컨텍스트 창 = 가장 작은 패널 멤버의 — 팬아웃에 대한 바인딩 제약.)
이것들은 마케팅 슬러그가 아닙니다; 그것들은 사전 컴파일된 DSL 라우터 중앙에서 관리됩니다. 여기 실제 orcarouter/fusion 프로그램이 그대로 있습니다:
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: balanced주목할 만한 두 가지 디자인 선택:
실제 작업에만 팬 아웃됩니다.when: 게이트는 코드, 에이전트, 도구 사용, 코드 밀집, 또는 높은 난이도(난이도 >= 0.3) 프롬프트에 대해 패널을 발동합니다. 그 외의 모든 것은 워크스페이스의 균형 기본값으로 넘어갑니다. 패널 비용은 도움이 되는 곳에만 정확히 지불하며, "hi"에는 지불하지 않습니다.
판사는 진정한 답변을 그대로 제공합니다. best_of_n은 (여기서는 best_answer_v1 템플릿을 사용하는 Opus 4.8) LLM 판사를 실행하는데, 그 판사는 가장 강력한 후보 하나를 선택하여 그대로 제공합니다 — 절대 희석된 병합이 아닙니다. 출력은 항상 실제 모델의 답변입니다.
파트 2 — Select vs. Fuse: best_of_n과 synthesize arbiter
Fusion 라우터들은 선택합니다. 하지만 OrcaRouter는 또한 퓨즈 전략 — 합성, Mixture-of-Agents 패턴이 라우팅 엔진에 추가되었습니다 (service/dispatch_parallel/synthesize.go). 차이점이 핵심입니다:
도표 2 — 선택 vs. 퓨즈
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 leg진정한 융합을 위한 레시피:
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_v1솔직한 주의사항:
- 청구는 N+1입니다 — 모든 구간이 청구되며, 애그리게이터는 추가 통화로 간주됩니다.
- OpenAI 채팅 형식은 V1에서만 가능 — 집계자는 OpenAI 채팅 완료를 방출합니다; Claude/Gemini 네이티브 클라이언트는 serve-first-successful로 저하됩니다 (legs는 여전히 청구됨).
애그리게이터는 라우터의 승인된 후보 집합에 속해야 하며, 그렇지 않으면 성능이 저하됩니다.
언제 어떤 것을 사용해야 할까: best_of_n은 한 모델의 답변이 정확할 가능성이 높은 경우에 완전히 맞을 (코드, 사실 기반 Q&A) — 깔끔하고 실제적인 답변을 원할 때 사용합니다. synthesize는 답변이 보완적인 (연구, 분석, 장문) 경우에는 각각의 강점을 결합하는 것이 단일 답변보다 더 좋습니다.
파트 3 — 나만의 만들기: 라우팅 DSL 플레이북
큐레이팅된 패널을 원하지 않으십니까? 다음에서 시작하세요: "Claude Fable 5 Level" 템플릿 (Routing DSL 편집기에 있음 - 모든 작업 공간에 포함되며 Fusion 라우터를 미러링함). 그런 다음 특화하세요. 여섯 가지 복사-붙여넣기 패턴:
1 — 실제로 실행되는 코드를 배포하라 → 분산시키고, 테스트 가 승자를 선택하게 하라:
- 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는 실행 기반입니다 — harness를 통과하는 후보에게 제공되며, judge LLM이 필요하지 않습니다.
2 — 간단한 프롬프트에 과도하게 지불하지 마십시오 → 난이도 게이트 (Fusion pattern, 당신의 모델):
- 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 — 긴 에이전트 실행을 궤도에 유지하세요 → 흔들릴 때만 에스컬레이션하세요:
- 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 — 불안정한 출력을 결정론적으로 만들기 → 투표, 분할 시 에스컬레이션:
- 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 — 테일 레이턴시 및 공급자 결함 극복 → 경쟁, 첫 응답자 서비스:
- 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 — SLA를 걸지 않고 롤아웃 → 섀도우 (실시간 트래픽과 함께 평가, 기록할 내용 할 선택 + 비용 차이, 실시간 선택 제공) → 카나리 % (dsl_canary_pct 5 → 25 → 100, crypto-random per request). 측정된 차이에 따라 마이그레이션, 즉시 롤백.
치트 시트: 다섯 명의 중재자

경제 & 정직
난이도 게이트 팬아웃이 요금을 일정하게 유지합니다 (예시; 비용 = 실제 토큰 가격 계산) — 혼합 비용 = 쉬운 작업 비율 × 저렴한 비용 + 어려운 작업 비율 × 패널:

70% 쉬운 작업량이 전체 패널을 실행하는 데 소요되는 비용은전체 패널 요금의 1/3.
