دمج النماذج في الإنتاج: داخل OrcaRouter Fusion و Routing DSL

دمج النماذج في الإنتاج: داخل OrcaRouter Fusion و Routing DSL

تاريخ النشر

العودة إلى جميع المقالات

ثلاثة نماذج رائدة بالتوازي، إجابة واحدة في المقابل. استدعها في سطر واحد — أو ألّف ما يناسبك.

الخلاصة. تم إلغاء إدراج Claude Fable 5. الإجابة ليست نموذجًا أكبر — بل هي لوحة: تشغيل عدة نماذج متطورة بالتوازي وترك حكم يعيد أقوى إجابة. يوفر OrcaRouter هذا بطريقتين: موجهات مدمجة orcarouter/fusion تستدعيه مثل أي نموذج، و Routing DSL لإنشاء الخاصة بك. هذا هو الدليل الميداني لكليهما — مع وصفات نسخ ولصق، والمحكمين الخمسة (بما في ذلك synthesize، و Mixture-of-Agents fuse)، وكيفية نشره دون المخاطرة بـ SLA.


الجزء 1 — قم باستدعائه في سطر واحد: أجهزة التوجيه المدمجة في Fusion

تم إيقاف Fable 5 وتقييده، لذا لم يعد بالإمكان الاتصال به بشكل واسع. تقوم Fusion بإعادة بناء ذلك المستوى من النماذج التي أنت تستطيع لا تزال تتصل — أداة توجيه متوافقة مع OpenAI قابلة للاستبدال المباشر، تعمل على تشغيل لوحة من النماذج الحدودية بالتوازي وتعيد أقوى إجابة. يتم شحن ثلاث فئات مختارة في كل مساحة عمل:

مستويات Fusion الثلاثة (تكوين اللوحة × نافذة السياق)


orcarouter/fusion

Claude Opus 4.8 وGPT-5.5 وGemini 3.1 Pro

نافذة السياق: 1,000,000

الأفضل لـ: Fable-5 مستوى Max intelligence


orcarouter/fusion-mini

Claude Opus 4.8 + GPT-5.5

نافذة السياق: 1,000,000

الأفضل لـ: استدلال متوازن على مستوى Fable-5


orcarouter/fusion-flash

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 يدير قاضي LLM (هنا، Opus 4.8 مع قالب best_answer_v1) الذي يختار أقوى مرشح فردي ويقدمه كما هو — ليس أبدًا دمجًا مخففًا. المخرجات هي دائمًا إجابة نموذج حقيقي.


الجزء 2 — الاختيار مقابل الدمج: best_of_n و المحكّم synthesize

الموجهات Fusion تختار. لكن OrcaRouter توفر أيضًا دمج استراتيجية — توليف، ال Mixture-of-Agents نمط المضاف في محرك التوجيه (service/dispatch_parallel/synthesize.go). الفرق هو اللعبة بأكملها:

الملحق 2 — التحديد مقابل الدمج

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 (ما زالت الأجزاء مفوترة).

يجب أن يكون المُجمّع في مجموعة المرشحين المُصرّح بها للموجّه، وإلا فإنه يتدهور.

متى تستخدم أيًا منها: best_of_n عندما يكون من المحتمل أن تكون إجابة النموذج تمامًا صحيح (كود، أسئلة وأجوبة واقعية) — تريد إجابة نظيفة وحقيقية. 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 هو قائم على التنفيذ — يخدم المرشح الذي يجتاز اختبارك، لا حاجة إلى LLM كحكم.

2 — توقف عن دفع مبالغ زائدة مقابل المطالبات السهلة → بوابة الصعوبة (نمط Fusion، نماذجك):

- 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 → الظل (التقييم مع حركة المرور الحية، تسجيل ما سيختاره + فرق التكلفة، تقديم الاختيار الحي) → canary % (dsl_canary_pct 5 → 25 → 100, عشوائي تشفيري لكل طلب). الترحيل عند التباين المقاس، التراجع الفوري.


ورقة الغش: خمسة حكّام

الاقتصاد والصدق

التوزيع المُقيد بالصعوبة يُبقي الفاتورة ثابتة (توضيحي؛ التكلفة = حساب سعر الرمز الحقيقي) — التكلفة المزجية = easy_share × cheap + hard_share × panel:

عبء عمل سهل بنسبة 70% يقوم بتشغيل اللوحة الكاملة مقابل ثلث فاتورة جميع اللوحات.