الدرس 05 — نماذج متعددة والتبديل عند الفشل: استخدام الذكاء الاصطناعي باحترافية بميزانية محدودة
الهدف: إعداد عدة مزودي نماذج مع التبديل التلقائي عند الفشل، واستخدام النماذج الأرخص في الاستخدام اليومي مع الترقية التلقائي للمهام المعقدة.
لماذا نحتاج نماذج متعددة؟
| السيناريو | النموذج الموصى به |
|---|---|
| المحادثات والترجمة اليومية | MiniMax M2.1 (اقتصادي) |
| الاستدلال المعقد وتصميم الكود | Claude Opus أو MiniMax M2.5 (أغلى لكن أقوى) |
| النموذج الرئيسي يتوقف / تقييد الطلبات | التبديل التلقائي للنموذج الاحتياطي (دون انقطاع) |
السيناريو الأول: MiniMax أساسي + Claude احتياطي
عدّل ~/.openclaw/openclaw.json:
{
"gateway": { "mode": "local" },
"env": {
"MINIMAX_API_KEY": "${MINIMAX_API_KEY}",
"ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}"
},
"agents": {
"defaults": {
"model": {
"primary": "minimax/MiniMax-M2.1",
"fallbacks": ["anthropic/claude-sonnet-4-6"]
}
}
},
"models": {
"mode": "merge",
"providers": {
"minimax": {
"baseUrl": "https://api.minimax.io/anthropic",
"apiKey": "${MINIMAX_API_KEY}",
"api": "anthropic-messages",
"models": [
{
"id": "MiniMax-M2.1",
"name": "MiniMax M2.1",
"reasoning": false,
"input": ["text"],
"cost": { "input": 15, "output": 60, "cacheRead": 2, "cacheWrite": 10 },
"contextWindow": 200000,
"maxTokens": 8192
}
]
}
}
}
}عند إعادة MiniMax خطأً أو انتهاء المهلة، يتبدل تلقائياً إلى Claude Sonnet دون أن يشعر المستخدم بأي فرق.
السيناريو الثاني: نماذج مختلفة لمهام مختلفة
التبديل اليدوي للنماذج في المحادثة:
# التبديل إلى نموذج الاستدلال للمهام المعقدة
pnpm openclaw models set minimax/MiniMax-M2.5
# العودة للنموذج الاقتصادي بعد الانتهاء
pnpm openclaw models set minimax/MiniMax-M2.1أو التبديل عبر أوامر الشرطة المائلة في المحادثة (إذا كانت مهارة تبديل النموذج مفعّلة):
/نموذج M2.5
ساعدني في تصميم معمارية نظام cache موزع
السيناريو الثالث: Claude Opus أساسي + MiniMax احتياطي (وضع اقتصادي)
{
"agents": {
"defaults": {
"models": {
"anthropic/claude-opus-4-6": { "alias": "opus" },
"minimax/MiniMax-M2.1": { "alias": "minimax" }
},
"model": {
"primary": "anthropic/claude-opus-4-6",
"fallbacks": ["minimax/MiniMax-M2.1"]
}
}
}
}السيناريو الرابع: إعداد متعدد النماذج الكامل (حماية ثلاثية)
{
"env": {
"MINIMAX_API_KEY": "${MINIMAX_API_KEY}",
"ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}",
"OPENAI_API_KEY": "${OPENAI_API_KEY}"
},
"agents": {
"defaults": {
"model": {
"primary": "minimax/MiniMax-M2.1",
"fallbacks": [
"anthropic/claude-sonnet-4-6",
"openai/gpt-4o"
]
}
}
}
}إذا توقف أي منها، يتبدل تلقائياً للتالي، دون انقطاع.
عرض النموذج المستخدم حالياً
في المحادثة أرسل:
/status
سيُعيد شيئاً مثل:
النموذج: minimax/MiniMax-M2.1
السياق: 4,821 / 200,000 tokens
الجلسة: main
عرض استهلاك tokens والتكلفة
/usage
يُعيد استهلاك tokens للجلسة الحالية والتكلفة التقديرية، لمساعدتك على ضبط الإنفاق.
مستوى التفكير (Thinking Level)
يدعم MiniMax M2.5 وClaude Opus وضع "التفكير العميق" الذي يستهلك tokens أكثر لكنه يُعطي إجابات أدق:
/think high
ساعدني في تحليل تعقيد الوقت لهذا الكود وتقديم اقتراحات للتحسين:
[الصق الكود]
مستويات التفكير: off / minimal / low / medium / high / xhigh
استخدم off للمحادثات اليومية، وhigh للمهام المعقدة.
توصيات اختيار النموذج
| نوع المهمة | النموذج الموصى به | مستوى التفكير |
|---|---|---|
| المحادثات اليومية | MiniMax M2.1 | off |
| توليد الكود | MiniMax M2.1 Lightning | low |
| مراجعة الكود | MiniMax M2.5 | medium |
| تصميم الأنظمة | MiniMax M2.5 / Claude Opus | high |
| الاستدلال الرياضي | MiniMax M2.5 | xhigh |
الأسئلة الشائعة
ما هي شروط تفعيل fallback (التبديل عند الفشل)؟
يُفعَّل التلقائياً عند: أخطاء HTTP 5xx، أو انتهاء المهلة، أو تقييد الطلبات (429)، أو توقف خدمة النموذج. يجرّب OpenClaw النماذج بالترتيب في مصفوفة fallbacks، بشكل شفاف تماماً للمستخدم.
كيف أعرف النموذج الفعلي المستخدم حالياً؟
أرسل /status في المحادثة، وستظهر المعلومات مع معرّف النموذج الكامل (مثل minimax/MiniMax-M2.1). إذا حدث fallback، سيُسجَّل في السجلات: tail -f /tmp/openclaw/openclaw-$(date +%Y-%m-%d).log | grep fallback.
كيف تُحسب تكلفة tokens للنماذج المختلفة؟
تُحسب التكلفة وفق الأسعار الرسمية لكل مزود نماذج، وتُعدّ في حقل models[].cost بملف openclaw.json. شغّل /usage لعرض استهلاك tokens للجلسة الحالية والتكلفة التقديرية.
هل يمكنني التبديل اليدوي للنماذج داخل نفس المحادثة؟
نعم، استخدم الأمر pnpm openclaw models set <معرّف_النموذج> للتبديل الفوري دون إعادة تشغيل البوابة. أو اعدّ مهارة "تبديل النموذج" (SKILL.md) لجعل الذكاء الاصطناعي يفهم الأوامر الطبيعية مثل "انتقل إلى M2.5".
هل أحتاج لإعداد مفاتيح API لجميع المزودين؟
فقط للمزودين الذين تستخدمهم فعلاً. إذا أعددت MiniMax أساسياً + Claude احتياطياً، تحتاج فقط هذين المفتاحين. المزودون غير المُعدَّين لا يُستدعَون ولا يُعطون أخطاء.