ظننتُ أن Fable 5 معطّل… لكن إعداداتي هي التي كانت تكذب عليّ

بدّلتُ إلى Fable 5 يوم إطلاقه، ومنذ أول لحظة تقريبًا بدأ Claude Code يُخرجني منه دون أن ألاحظ. أفتح جلسة جديدة، وأكتب أي شيء، ولو كلمة hey فقط، فتظهر لي هذه الرسالة:
Switched to Opus 4.6 (1M context) because Fable 5 returned an error that could not be retried
لا رمز خطأ، ولا أي تفصيلة أستطيع التصرّف بناءً عليها. فذهب تفكيري مباشرةً إلى أسوأ الاحتمالات: إمّا أن حسابي قد وُضعت عليه علامة، أو أن Fable 5 متوقّف، أو أن شيئًا في رسائلي يُفعّل فلتر أمان. وأضعتُ وقتًا لا بأس به في مطاردة هذه الاحتمالات الثلاثة، ثم تبيّن أن لا واحد منها كان السبب.
الجزء الذي خدعني
أول ما فعلتُه هو التأكّد من أن Fable 5 يعمل أصلًا. وكان يعمل تمامًا؛ فأي استدعاء سريع من الطرفية كان يمرّ بلا مشكلة:
claude -p "say hi" --model claude-fable-5 # يعمل
claude -p "say hi" --model "claude-fable-5[1m]" # يعمل أيضًا
إذن الموديل ليس محظورًا وليس متوقّفًا. هو فقط يتعطّل داخل الجلسة التفاعلية الكاملة. هذا ضيّق دائرة البحث، لكنه في الوقت نفسه زاد الأمر غموضًا.
ما أبقاني تائهًا كل هذه المدّة هو النموذج الاحتياطي. يتيح لك Claude Code ضبط fallbackModel؛ فإذا أعاد موديلك الأساسي خطأً غير قابل لإعادة المحاولة، يحوّلك إلى موديل آخر كي تُكمل عملك بدل أن تتسمّر أمام جلسة ميتة. كان موديلي الاحتياطي هو Opus 4.6، وكان يعمل على أكمل وجه. وهذا تحديدًا هو سبب المشكلة: كان النموذج الاحتياطي يلتقط الخطأ الحقيقي، فيبتلعه، ويمنحني رسالةً أنيقة الشكل تقول "تعذّرت إعادة المحاولة". أمّا ما كنتُ بحاجة فعلية لقراءته، فلم يكن يصل إلى الشاشة من الأساس.
إزالة شبكة الأمان
فلجأتُ إلى الحلّ المباشر: حذفتُ fallbackModel من الإعدادات بالكامل. لا خطة بديلة، ولا مكان يختبئ فيه الخطأ. وفي الجلسة التالية، ظهر الخطأ الحقيقي أخيرًا:
API Error: 400 tools.10.model: 'claude-opus-4-8' cannot be used as an advisor when the request model is 'claude-fable-5'.
وها هو السبب، ولا علاقة له إطلاقًا بأن Fable 5 معطّل.
ما الذي كان يحدث فعلًا
كنتُ قد ضبطتُ advisorModel على Opus. وميزة المستشار تُرافق كل طلب بوصفها أداة، مرتبطةً بالموديل الذي اخترته، وهو في حالتي claude-opus-4-8. والواجهة البرمجية لا تسمح بجمع مستشار Opus مع طلب من Fable 5؛ إذ يجب أن يكونا متوافقين. لذا كان كل طلب يموت على خطأ 400 قبل أن يبدأ أصلًا، والنموذج الاحتياطي يغطّي عليه بإخلاص.
وأسرع تأكيد: شغّلتُ /advisor لإيقاف المستشار، فعمل Fable 5 على الفور. بلا تحويل، ولا خطأ، ولا شيء.
ما خرجتُ به
الدرس المزعج هنا لا يخصّ النماذج في حقيقته. بل إن نموذجًا احتياطيًا يعمل قد يُخفي العطل أفضل من غياب الاحتياطي تمامًا. فما دامت الخطة البديلة تُبقي الجلسة حيّة، فلا سبب يدفعك للشكّ في أن الخطة الأساسية ميتة منذ اللحظة الأولى. وأنفع خطوة قمت بها أثناء البحث كانت إزالة شبكة الأمان كي أُجبر النظام على أن يقول لي الحقيقة.
أما الحلّ نفسه فمملّ: إن كنت تستخدم Fable 5 موديلًا أساسيًا، فإمّا أن توقف المستشار، أو تُزيل advisorModel الخاص بـ Opus حتى يصبح الاقتران سليمًا. كما فتحتُ تقريرًا (issue) على مستودع Claude Code أطلب فيه أمرين: أن يختار المستشار موديلًا متوافقًا من تلقاء نفسه، وأن يُعرَض خطأٌ مثل هذا الـ 400 أمامك بدلًا من دفنه تحت رسالة النموذج الاحتياطي. فإخفاء خطأ إعدادات خلف احتياطيٍّ يعمل هو أسرع طريقة لإقناع الناس بأن موديلهم معطّل، وهو ليس كذلك.
Mahmoud Abas
Software engineer and AI researcher — I build agent-enhanced systems that solve real-world problems. Former founder of Spider Tech | First place in Innovation 10 | Teaching assistant, Faculty of Computers and Information, Mansoura University. Here I write about engineering, artificial intelligence, and the lessons I've learned along the way.
Mahmoud Abas
Software engineer and AI researcher — I build agent-enhanced systems that solve real-world problems. Former founder of Spider Tech | First place in Innovation 10 | Teaching assistant, Faculty of Computers and Information, Mansoura University. Here I write about engineering, artificial intelligence, and the lessons I've learned along the way.
Comments (0)
No comments yet. Be the first to share your thoughts!


