حيلة الكناري: التقط Claude (أو أي وكيل ذكاء اصطناعي) قبل أن يبدأ بالهلوسة
حيلة من سطر واحد لتعرف متى يبدأ وكيل البرمجة بالذكاء الاصطناعي بالتدهور: اجعله يبدأ كل رد باسم. حين يختفي الاسم يكون الكناري قد مات، وحان وقت جلسة جديدة. تعمل مع Claude وCodex وAntigravity CLI وMistral Vibe وكل نماذج اللغة الكبيرة.
نادرًا ما تنهار الجلسة الطويلة مع وكيل برمجة بالذكاء الاصطناعي دفعة واحدة. لا يقفز Claude من الحدّة إلى الهراء في دور واحد. أولًا يتخطى تعليمة صغيرة بصمت. وبعد دور أو دورين يبدأ بالاختلاق: ملف غير موجود، واجهة برمجة لم تكن هناك قط، قرار سبق أن استبعدته صراحةً. وحين تلاحظ مسارًا مُهلوَسًا تكون قد فقدت الثقة في الردود الأخيرة، وصرت تنقّح الوكيل بدل شيفرتك.
ثمة طريقة مجانية، بسيطة إلى حدّ يكاد يكون محرجًا، للحصول على إنذار مبكر. تُسمى الكناري، وتُضبط في سطر واحد.
لماذا تخرج الوكلاء عن المسار: تعفّن السياق (context rot)
في كل دور يعيد الوكيل قراءة المحادثة كاملةً، من أول رسالة إلى آخرها، ويعيد بناء فهمه من الصفر. ومع امتلاء نافذة السياق، يكون أول ما يتزعزع هو الالتزام بالتعليمات. لا يزال النموذج يبدو واثقًا، لكنه بدأ يتخلى عن أقل القيود أهميةً لكي يواكب. يسمّي الباحثون ذلك «context rot»، إلى جانب أثر «lost in the middle» المرتبط به: كلما طال السياق، قلّت موثوقية التزام النموذج بأي تعليمة مدفونة داخله.
هذه هي الفكرة المحورية. التدهور لا يبدأ بالهلوسة، بل يبدأ بتجاهل النموذج تعليمةً صغيرةً بصمت. لذا إن زرعت تعليمة ضئيلة وظيفتها الوحيدة أن يُلاحَظ غيابها، حصلت على سلك تعثّر يُطلَق قبل وقوع الضرر الحقيقي.
ما هي حيلة الكناري
كان عمال المناجم قديمًا ينزلون ومعهم كناري. كان الطائر أكثر حساسيةً للغازات السامة من البشر: فإذا توقف عن الغناء، عرف العمال أن عليهم الخروج قبل أن يشعروا هم بأي شيء بوقت طويل.
كناري الموجِّه هو الفكرة نفسها. تضيف تعليمة تافهة إلى الملف الذي يقرؤه وكيلك في كل دور: ابدأ كل رد باسم تختاره. هذا الاسم هو كنّاريك. وما دام يظهر في مستهل كل رد، فالنموذج لا يزال يقرأ تعليماتك ويحترمها. أول ردّ ينسى الاسم هو إشارتك إلى أن الجلسة تتدهور، عادةً قبل دور أو دورين من ظهور الهلوسات الحقيقية. شاع هذا الأسلوب في مجتمع البرمجة بالوكلاء على يد مطوّرين مثل Peter Steinberger، مبتكر OpenClaw، الذين يعتمدون على إشارات الكناري الصغيرة لالتقاط جلسة تنحرف مبكرًا.
يختفي الكناري قبل أن تبدأ الهلوسات. تلك الفجوة هي نافذتك للتصرّف.
اضبطها في سطر واحد
ضع التعليمة في الملف الذي يحمّله وكيلك في كل دور:
- يقرأ Claude Code ملف
CLAUDE.md. - يقرأ Codex وAntigravity CLI وMistral Vibe ومعظم واجهات الأوامر الأخرى ملف
AGENTS.md.
## الكناري
ابدأ كل رد بالاسم "Felix".
اختر اسمًا قصيرًا ومميزًا: قطّك، لون، أي شيء تلاحظه فورًا في مستهل الرد. أبقِه في غاية البساطة. التعليمة المعقّدة تناقض الهدف، لأنك تريد أسهل شيء يمكن للنموذج أن يتخلى عنه. فإذا سقط حتى هذا، فكل ما هو أدقّ في سياقك صار بالفعل في خطر.
ماذا تفعل حين يموت الكناري
لم يكن الاسم قطّ هو الجوهر، بل التوقيت. حين يختفي الكناري، لا تُلِحّ على المسار الحالي:
- توقّف عن الوثوق بآخر ردّين أو ثلاثة، وأعد قراءتها بعين الشك.
- شغّل
/clearأو ابدأ جلسة جديدة. - أعد حقن السياق المهم فقط: الملف الذي تحرّره، والهدف، والقرارات المتخذة فعلًا.
نافذة نظيفة بموجز مُحكَم تتفوّق في كل مرة على نافذة متخمة. أنت لا تخسر تقدّمك، بل تتخلص من الثقل الميّت الذي كان يجرّ النموذج إلى الأسفل.
الكناري يتكامل جيدًا مع عادتين أخريين من نصائح Claude Code لدينا: /compact مع تعليمة حول ما يجب الاحتفاظ به، وEsc Esc للرجوع عن منعطف خاطئ بدل الجدال معه.
تتلخص العادة كلها في حلقة واحدة: نظرة إلى الكلمة الأولى، ثم قرار، فإكمال أو إعادة ضبط.
تنجح مع كل نموذج، لا مع Claude وحده
هذه الحيلة محايدة تجاه المزوِّد بحكم تصميمها. يتشارك Claude وCodex وAntigravity CLI وMistral Vibe وGrok وAider الحدود نفسها للسياق، وكلها تقرأ ملف سياق، وكلها قادرة على حمل كناري. نركّز على Claude أولًا لأنه وكيل البرمجة الأكثر استخدامًا اليوم، لكن لا شيء هنا خاص بـ Claude. أي نموذج لغوي كبير يملأ سياقه سيبدأ بالتخلي عن أصغر تعليماتك، فالكناري نفسه يحمي كلّ واحد منها. وإن كنت تحتفظ بـ ملف سياق AGENTS.md، فالكناري مجرد سطر إضافي فيه.
مراقبة الكناري عبر أسطول كامل
قراءة كل ردّ بحثًا عن اسم مفقود سهلة مع وكيل واحد. لكنها لا تتوسّع حين تشغّل عدة وكلاء معًا، وهو بالضبط حيث يجري معظم العمل الجادّ اليوم.
هذا هو الجزء الذي يجعله AgentsRoom سهلًا. إنه قمرة قيادة متعددة الوكلاء: لكل وكيل دور، ونقطة حالة حيّة، ولونه الخاص، وتشرف على الأسطول كله من نافذة واحدة. ضع الكناري مرة واحدة في ملف CLAUDE.md أو AGENTS.md المشترك، فيرثه كل وكيل. وحين يبدأ وكيل بإسقاط الاسم، تلتقطه بنظرة، وتعيد ضبط ذلك المسار وحده بدل المشروع كله. ويمنع العزل الاختياري عبر git worktree الوكلاء المتوازين من التعثر ببعضهم أثناء ذلك.
في الواقع، يأتي AgentsRoom بهذه الحيلة مدمجة، فلا حاجة حتى لأن تراقب الردود بنفسك. كل وكيل يطلقه يكتب أصلًا حالة من سطر واحد في نهاية كل دور، ويتعامل AgentsRoom معها كـ canary: حين يتوقّف وكيل عن تحديثها دورين متتاليين، يظهر تحذير فوق طرفية ذلك الوكيل، مع إعادة تشغيل بنقرة واحدة على سياق نظيف وتذكير بالتلخيص. تحصل على الإنذار المبكر تلقائيًا، على كل وكيل، عبر الأسطول كله. اقرأ كيف يعمل على صفحة كشف انجراف السياق.
سبعة مزوّدين، وقمرة واحدة، وكناري يحرس كلًّا منهم. نزّل AgentsRoom، واطّلع على مصفوفة توافق المزوّدين لترى ما يدعمه كل وكيل، واقرأ المزيد عن دعم تعدد المزوّدين وكيف يحافظ التبديل في منتصف المحادثة على سياقك سليمًا.
تحميل AgentsRoom
شغّل كل وكلاء الذكاء الاصطناعي لديك، في كل مشاريعك، من نافذة واحدة.
التطبيق المرافق: تابع وكلاءك أينما كنت
استخدم Claude أو Codex أو Antigravity CLI أو أي مزود AI آخر.
أرسل الأخطاء والطلبات مباشرة إلى قائمة المهام العامة.
تابع القراءة
وكيل المراجعة يجب ألا يكون قادرًا على الكتابة. هكذا نفرض ذلك، CLI تلو الآخر.
في تشغيلة من 17 عقدة، عدّل وكيل الإصدار اختبارًا ليحوّل حزمة حمراء إلى خضراء، ثم كتب وكيلا مراجعة الإصلاح نفسه وتصادما. البرومبت كان يقول: مراجعة فقط. لم يصمد. إليك الحادثة، ولماذا لا تستطيع تعليمة مكتوبة أن تحمل هذه القاعدة، والخيارات الدقيقة التي تجعل Claude Code وCodex وGrok وAntigravity وOpenCode ترفض الكتابة.
اقرأ المقالعشرة وكلاء شغّلوا نفس فحص الأنواع في اللحظة نفسها. الحل كان مجلدًا.
سبعة عشر وكيل برمجة في نفس النسخة من المستودع، عشر عمليات tsc في وقت واحد، load average عند 37 و87 ميغابايت من الذاكرة الحرة. فحص أنواع مدته تسعون ثانية استغرق 7 دقائق و36 ثانية. إليك القياس، وسبب أن الآلة لم تكن تحسب، والقفل المشترك الصغير الذي حل المشكلة. قابل للنسخ إلى أي مستودع.
اقرأ المقالAGENTS.md: ملف سياق واحد لكل وكيل برمجة (Codex وAntigravity وClaude)
AGENTS.md هو ملف التعليمات المحمول الذي تقرأه وكلاء البرمجة لديك قبل أن تلمس شيفرتك. ما الذي تضعه فيه، وكيف يختلف عن CLAUDE.md، وكيف تحافظ على سياق واحد عبر Codex وAntigravity وClaude.
اقرأ المقال