Kết hợp mô hình trong sản xuất: Bên trong OrcaRouter Fusion và Routing DSL
Ba mô hình tiên tiến song song, một câu trả lời trở lại. Gọi nó trong một dòng — hoặc tự soạn.
Tóm tắt.Claude Fable 5 đã bị gỡ bỏ. Giải pháp không phải là một mô hình lớn hơn — mà là một hội đồng: chạy song song nhiều mô hình tiên tiến và để một người đánh giá trả về câu trả lời mạnh nhất. OrcaRouter cung cấp điều này theo hai cách: các bộ định tuyến orcarouter/fusion tích hợp sẵn mà bạn gọi giống như bất kỳ mô hình nào, và một Routing DSL để tạo bộ định tuyến của riêng bạn. Đây là hướng dẫn thực địa cho cả hai — với các công thức sao chép-dán, năm trọng tài (bao gồm synthesize, cơ chế kết hợp Mixture-of-Agents), và cách triển khai mà không đánh cược SLA của bạn.
Phần 1 — Gọi nó trong một dòng: các bộ định tuyến Fusion tích hợp
Fable 5 đã bị ngừng và hạn chế, vì vậy nó không còn có thể gọi rộng rãi nữa. Fusion xây dựng lại cấp độ đó từ các mô hình mà bạn có thể vẫn gọi — một bộ định tuyến thả vào, tương thích với OpenAI, chạy một bảng các mô hình tiên tiến song song và trả về câu trả lời mạnh nhất. Ba cấp được tuyển chọn có sẵn trong mọi không gian làm việc:
Ba cấp Fusion (bố cục bảng × cửa sổ ngữ cảnh)
Claude Opus 4.8 + GPT-5.5 + Gemini 3.1 Pro
Cửa sổ ngữ cảnh: 1.000.000
Phù hợp cho: Fable-5 cấp độ Max intelligence
Claude Opus 4.8 + GPT-5.5
Cửa sổ ngữ cảnh: 1.000.000
Phù hợp nhất cho: suy luận cân bằng cấp độ Fable-5
Gemini 3.5 Flash + MiniMax M2.7 + GLM 5.1
Cửa sổ ngữ cảnh: 200,000
Tốt nhất cho: suy luận nhanh và rẻ ở cấp độ Fable-5
Cửa sổ ngữ cảnh = thành viên panel nhỏ nhất — ràng buộc chính trên fan-out.
Đây không phải là những con sên tiếp thị; chúng là các bộ định tuyến DSL được biên dịch trước được quản lý tập trung. Đây là thực tế chương trình orcarouter/fusion, nguyên văn:
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: balancedHai lựa chọn thiết kế đáng chú ý:
Nó chỉ lan tỏa trên công việc thực sự. The when: gate kích hoạt panel cho các prompt về code, agent, tool-using, code-dense, hoặc high-difficulty (difficulty >= 0.3); mọi thứ khác rơi xuống mặc định cân bằng của workspace. Bạn trả giá panel chính xác nơi nó giúp ích, không phải cho "hi."
Thẩm phán đưa ra câu trả lời thực tế, nguyên văn. best_of_n chạy một trình đánh giá LLM (ở đây là Opus 4.8 với template best_answer_v1) mà chọn ra ứng viên mạnh nhất và trả về nguyên vẹn — không bao giờ là một sự pha trộn loãng. Đầu ra luôn là câu trả lời của một mô hình thực tế.
Phần 2 — Chọn so với Kết hợp: best_of_n và bộ điều khiển synthesize
Các bộ định tuyến Fusion chọn. Nhưng OrcaRouter cũng cung cấp một hợp nhất chiến lược — tổng hợp, Mixture-of-Agents mẫu được thêm vào trong công cụ định tuyến (service/dispatch_parallel/synthesize.go). Sự khác biệt là toàn bộ vấn đề:
Hình 2 — Chọn so với Hợp nhất
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 legCông thức cho sự kết hợp thực sự:
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_v1Lời cảnh báo trung thực:
- Thanh toán là N+1 — mỗi chặng đều tính phí, cộng thêm bộ tổng hợp như một cuộc gọi phụ.
- Định dạng chat OpenAI chỉ trong V1 — bộ tổng hợp phát ra một hoàn chỉnh chat OpenAI; Claude/Gemini gốc các ứng dụng khách hàng suy giảm để phục vụ-thành công-đầu tiên (các chặng vẫn được tính phí).
Bộ tổng hợp phải nằm trong tập hợp ứng viên được ủy quyền của bộ định tuyến, nếu không nó sẽ suy giảm.
Khi nào nên dùng cái nào: best_of_n khi câu trả lời của một mô hình có khả năng hoàn toàn đúng (code, Q&A thực tế) — bạn muốn một câu trả lời sạch sẽ, thực tế. synthesize khi các câu trả lời là bổ sung (nghiên cứu, phân tích, dạng dài) và kết hợp điểm mạnh vượt trội hơn bất kỳ một lựa chọn đơn lẻ nào.
Phần 3 — Tự xây dựng: sổ tay hướng dẫn Routing DSL
Không muốn bảng điều khiển được tuyển chọn? Bắt đầu từ "Claude Fable 5 Level" templates trong trình biên tập Routing DSL (chúng có sẵn trong mọi không gian làm việc và phản ánh các bộ định tuyến Fusion), sau đó tùy chỉnh. Sáu mẫu sao chép-dán:
1 — Mã đẩy thực sự chạy → phân tán ra, để các bài kiểm tra chọn người thắng cuộc:
- 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 được gắn với thực thi — nó phục vụ ứng viên vượt qua bài kiểm tra của bạn, không cần LLM đánh giá.
2 — Ngừng trả quá nhiều cho các prompt dễ → cổng khó khăn (mẫu Fusion, các mô hình của bạn):
- 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 — Giữ cho các lần chạy tác nhân dài luôn đi đúng hướng → chỉ leo thang khi nó chao đảo:
- 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 — Làm đầu ra không ổn định trở nên xác định → bỏ phiếu, leo thang khi có phân chia:
- 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 — Vượt qua độ trễ đuôi & sự cố nhà cung cấp → chạy đua, phục vụ người phản hồi đầu tiên:
- 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 — Triển khai mà không đánh cược vào SLA → shadow (đánh giá cùng với lưu lượng thực tế, ghi lại những gì nó sẽ chọn + chênh lệch chi phí, phục vụ lựa chọn thực tế) → canary % (dsl_canary_pct 5 → 25 → 100, crypto-random mỗi yêu cầu). Di chuyển dựa trên độ lệch đo được, quay lại ngay lập tức.
Bảng cheat: năm trọng tài

Kinh tế và trung thực
Phân nhánh theo độ khó giữ hóa đơn không đổi (Minh họa; chi phí = phép tính giá token thực tế) — chi phí hỗn hợp = easy_share × cheap + hard_share × panel:

Một khối lượng công việc dễ dàng 70% chạy toàn bộ bảng với một phần ba hóa đơn toàn bộ bảng.
