جدول المحتويات
تسأل Claude Code: «هل قرأت CLAUDE.md؟»، فيُجيبك بمرح: «نعم، قرأتُه». بعد عدة جولات من الحوار، تكتشف أن أيًّا من القواعد المكتوبة في ذلك الملف لم يُتَّبع فعليًّا — أوامر المشروع المخصّصة، اصطلاحات رسائل الكوميت، خطوات النشر. كل ذلك تبخّر بصمت.
هذه ليست مشكلة تخص Claude Code وحده. الانحراف نفسه يظهر في .cursor/rules الخاص بـ Cursor، وفي .github/copilot-instructions.md الخاص بـ GitHub Copilot، وفي AGENTS.md الخاص بـ Codex CLI، بعد فترة استخدام كافية.
يستعرض هذا المقال الأسباب الجذرية الخمسة التي تجعل وكلاء الذكاء الاصطناعي يتجاهلون ملفات قواعدك بصيغة .md، ثم يشرح تقنيات إعادة الكتابة السريعة، والأتمتة طويلة الأمد عبر Hooks والوكلاء الفرعيين، مع أمثلة ملموسة.
لماذا يتم تجاهل قواعدك
— وكيف تُؤتمت الحلّ
1. لماذا يتجاهل الذكاء الاصطناعي قواعدك — 5 أسباب جذرية
1. القيود البنيوية لنافذة السياق
لا يولي نموذج اللغة اهتمامًا متساويًا لكل توكِن في مدخلاته. التعليمات المدفونة في منتصف وثيقة طويلة تضيع — وهي ظاهرة «التيه في الوسط» الموثّقة جيدًا. بمجرد أن يتجاوز ملف CLAUDE.md نحو 200 سطر، يتلاشى عمليًا كل ما في وسطه.
2. الضغط التلقائي في الجلسات الطويلة
يمتلك Claude Code ميزة /compact التي تضغط سجلّ المحادثة. عندما تنطلق تلقائيًا، تنجو تعليمات مستوى prompt-النظام، لكن تفاصيل التشغيل من CLAUDE.md تُختصر بعيدًا أو تُحذف بالكامل. ولهذا تتراكم انتهاكات القواعد في النصف الأخير من الجلسات الطويلة.
3. تعليمات المستخدم المباشرة لها الأولوية
بالنسبة للذكاء الاصطناعي، فإن «ما قاله المستخدم للتوّ» يفوق وزنه «قاعدة قرأها قبل 300 جولة». في اللحظة التي يقول فيها المستخدم «نفّذ فقط» أو «امضِ في الكوميت»، تُداس قاعدتك «أكِّد دومًا قبل الكوميت» في CLAUDE.md.
4. قواعد غامضة أو متناقضة
التوجيهات الذاتية مثل «اكتب الأشياء بأدب» أو «تعامل مع هذا بشكل ملائم» تترك للذكاء الاصطناعي أن يُفسِّر بنفسه، وهو ما نادرًا ما يطابق ما أردتَه. أعد صياغتها كقيود قابلة للتحقق: «اجعل الردود تحت 3 أسطر»، «استخدم chat.postMessage لـ Slack API»، وهكذا.
5. ملفات قواعد منتفخة ومُبعثرة
CLAUDE.md زائد SPEC.md زائد README.md زائد كومة من ملفات .md الأخرى — حين تنتشر وتطول كل واحدة على حدة، لا يقرؤها الذكاء الاصطناعي بوزن متساوٍ. وعندما تظهر القاعدة نفسها في عدة ملفات بفروقات دقيقة، يميل الذكاء الاصطناعي إلى انتقاء النسخة التي تبدو الأكثر أمانًا.
2. كيف تُشخِّص ما إذا كانت قواعدك مُطبَّقة فعلاً
ابدأ بالتحقق من الحالة الراهنة. ألقِ الأسئلة التالية على الذكاء الاصطناعي وراقب الردّ:
| السؤال | ما الذي تبحث عنه |
|---|---|
| «اذكر كل قاعدة في CLAUDE.md على شكل نقاط.» | أيّ شيء مفقود هو شيء لا يدركه الذكاء الاصطناعي |
| «قبل أن تكتب الجزء التالي من الكود، صرِّح بأي قواعد CLAUDE.md ستتّبعها.» | القواعد التي لا يُصرِّح بها لن تُطبَّق |
| «في الجولات الخمس الأخيرة، اذكر أي شيء قد تكون فعلتَه ينتهك CLAUDE.md.» | إدراك الذكاء الاصطناعي لانتهاكاته الذاتية يُغيّر استراتيجيتك |
قول الذكاء الاصطناعي «قرأتُه» أو «فهمتُ» لا يعني شيئًا. تطبيقه الفعلي للقواعد سؤال منفصل — احكم بالسلوك بعد التنفيذ، لا بما يدّعيه.
3. حلول سريعة يمكنك تطبيقها في 5 دقائق
1. اضغط ملف القواعد إلى أقل من 150 سطرًا
عمليًّا، يلتزم Claude Code بشكل موثوق بملف CLAUDE.md من نحو 100 إلى 150 سطرًا. وما زاد على ذلك، فقسِّمه:
- القواعد غير القابلة للتفاوض (10 إلى 20 سطرًا) — أعلى CLAUDE.md
- المواصفات الخاصة بالخدمة — افصلها في SPEC-xxx.md
- التاريخ والخلفية — انقلها إلى مجلد docs/
أبقِ CLAUDE.md على «الأشياء التي يكون نسيانها كارثيًا». التفاصيل يمكن أن تعيش في الملفات المرتبطة.
2. أضف علامات أولوية صريحة
استخدم كلمات مفتاحية صاخبة للأولوية لإجبار الذكاء الاصطناعي على الانتباه:
- CRITICAL — انتهاكها يسبّب حادثة في الإنتاج
- MUST — اتّبعها دائمًا
- SHOULD — اتّبعها افتراضيًّا
- NICE TO HAVE — فقط إن وُجد متّسع
سطر مثل «CRITICAL: استعلامات الإتلاف على قاعدة بيانات الإنتاج تتطلّب موافقة صريحة» يصعب تجاوزه كثيرًا، حتى لو كان مدفونًا في ملف طويل.
3. أعد التأكيد داخل المحادثة نفسها
في بداية الجلسة، أدرج جملة واحدة مثل «قبل أن تبدأ، صرِّح بأهم ثلاث قواعد من CLAUDE.md». ذلك يسحب تلك القواعد إلى السياق الحديث ويجعلها ثابتة لبقية الجلسة.
4. سجِّل العمليات الخطرة في TodoWrite
استخدم أداة TodoWrite الخاصة بـ وكيل الذكاء الاصطناعي (أو ميزة تتبّع المهام المكافئة في أداتك) لتُدرج «فحص القواعد» كخطوة صريحة. الوضوح يجعل «نسيتُ» نادرًا للغاية.
4. الأتمتة طويلة الأمد — Hooks والوكلاء الفرعيون وأوامر السلاش
ثمة حدّ أقصى لما يمكن أن تدفعه القواعد النصية. التحوّل من «اطلب من الذكاء الاصطناعي اتّباع القواعد» إلى «اجعل البيئة تفرضها» أبعد بكثير في الموثوقية.
1. الفرض الميكانيكي عبر Claude Code Hooks
تتيح لك ميزة Hooks في Claude Code تشغيل سكريبتات اعتباطية قبل أو بعد استدعاءات أدوات بعينها. يمكنك بناء إعداد حيث يُوقف النظام الذكاء الاصطناعي حتى لو نسي هو نفسه القاعدة.
على سبيل المثال، عبر hook من نوع PreToolUse:
- اكتشف الأوامر الخطرة (
rm -rf،git push --force) قبل تشغيلBashواحجبها - تحقّق من أذونات الملف أو حالة القفل قبل أن يلمس
Editملفًا مستهدفًا - شغِّل اختبارات خاصة بالمشروع قبل الكوميت وأجهضه عند الفشل
الطلب اللطيف بصياغة نصية لا يقارن بالفرض الميكانيكي عبر Hooks.
2. افصل الاهتمامات بالوكلاء الفرعيين
استخدم قدرات الوكلاء الفرعيين في Claude Agent SDK أو في Cursor لبناء «وكيل تدقيق قواعد» مخصّص. تدفق على مرحلتين، يكتب فيه الوكيل الرئيسي الكود ويراجعه وكيل التدقيق، يكتشف انتهاكات القواعد حتى عندما ينساها الوكيل الرئيسي.
الوكيل الفرعي يحتاج فقط إلى prompt قصير مُركَّز على التدقيق، لذا تظلّ نسبة إدراكه للقواعد عالية. هذا هو المفتاح.
3. حوِّل الروتين إلى أوامر سلاش مخصّصة
التدفقات المتكرّرة مثل «شغِّل هذه الفحوصات الثلاثة قبل كل كوميت» تناسب تمامًا أمر سلاش (/precommit، إلخ). حين يكتب المستخدم /precommit، يُنفّذ الذكاء الاصطناعي تسلسلاً ثابتًا. لا حاجة لإعادة قراءة ملف القواعد في كل مرة.
4. اكتشف الانتهاكات بسكريبتات آلية
شغِّل اكتشافًا قائمًا على grep لأنماط محظورة في CI أو كـ pre-commit hook. أمثلة:
- عبارات
console.logشاردة في كود الإنتاج - مفاتيح API مكتوبة بشكل صريح في الكود
- عناوين حقوق نشر مفقودة
لا تعتمد على الذكاء الاصطناعي — دع الآلات تكتشف ذلك. هذا خط دفاعك الأخير.
5. أفضل الممارسات حسب الأداة
نصائح تصميم القواعد لأبرز وكلاء الذكاء الاصطناعي
القاعدة الكونية هي «قصير ومحدّد ومُرتَّب الأولوية». أسماء الملفات ومواقعها تختلف بحسب الأداة، لكن مبادئ الكتابة واحدة.
6. ثلاثة أنماط مضادة في تصميم القواعد
1. «اتَّبع أفضل الممارسات من فضلك.»
أفضل ممارسات مَن؟ يعتمد الذكاء الاصطناعي افتراضيًّا على متوسط بيانات تدريبه، ما يعني أنك تحصل على القاسم المشترك الأدنى. خصائص المشروع المميّزة لا تدخل في الحسبان أبدًا. اكتب بدلاً من ذلك ما يجب وما لا يجب فعله بشكل ملموس.
2. القاعدة نفسها مُكرَّرة في عدة ملفات
إذا كانت «اصطلاحات الكوميت» موجودة في CLAUDE.md وSPEC.md وREADME.md، فإن النسخ الثلاث ستنحرف بهدوء عن بعضها وتُربك الذكاء الاصطناعي. اختر مصدر حقيقة واحدًا، وارتبط به من بقية الأماكن.
3. ختم «إلزامي مطلق» على كل شيء
إذا كان كل شيء «مطلقًا»، يفقد الذكاء الاصطناعي القدرة على ترتيب الأولويات. احفظ «CRITICAL» للكارثي حقًّا؛ ودع البقية في نصّ عادي. التأكيد يعاني من التضخّم — أبقِه نادرًا.
الخلاصة
عندما يتجاهل وكلاء الذكاء الاصطناعي قواعدك بصيغة .md، فالسبب في الغالب الأعم هو قيود بنيوية ومشكلات في تصميم القواعد، لا تكاسل من جانب الذكاء الاصطناعي. تُحلّ معظم الحالات بحلول سريعة — اضغط الملف إلى أقل من 150 سطرًا، أضف علامات أولوية، أعد التأكيد في المحادثة. وللقواعد الحرجة فعلاً المتبقية، انتقل إلى الفرض الميكانيكي: Hooks، الوكلاء الفرعيون، أوامر السلاش، وسكريبتات الاكتشاف الآلية.
«إن لم تُتَّبع القواعد، فابنِ نظامًا يفرضها» — هذا هو الفهم العام الجديد لتشغيل وكلاء الذكاء الاصطناعي.
الأسئلة الشائعة
س1. ما الطول المثالي لـ CLAUDE.md؟
عمليًّا، 100 إلى 150 سطرًا. بعد الـ 200، قسِّم إلى SPEC-xxx.md أو ما شابه. وضع ملخّص «أهم 5 قواعد حرجة» في الأعلى تمامًا تأمين جيد ضد النسيان.
س2. هل ينبغي استخدام .cursorrules أم .cursor/rules/*.mdc في Cursor؟
للإعدادات الجديدة، .cursor/rules/*.mdc. قاعدة واحدة لكل ملف، مع أنماط glob لتحديد النطاق الذي تنطبق فيه كل قاعدة. أما .cursorrules القديم بملفه الواحد فيميل إلى الانتفاخ مع الوقت.
س3. هل القواعد الأطول تجعل الذكاء الاصطناعي أكثر صرامة؟
العكس صحيح. كلما طال الملف، تخفّفت الأجزاء الوسطى أكثر. القواعد القصيرة الأساسية الموضوعة بشكل بارز (في الأعلى) تُتَّبع بمعدلات أعلى.
س4. ماذا لو استخدمتُ عدة أدوات ذكاء اصطناعي (Claude Code + Cursor) على المشروع نفسه؟
الإجابة العملية هي وضع الملخّص نفسه في ملف إعداد كل أداة، ومركزة التفاصيل في SPEC.md مشترك. لا يوجد بعدُ حلّ موحَّد بالكامل (حتى مايو 2026).
س5. حين يقول الذكاء الاصطناعي «قرأتُه»، هل لا يقرؤه فعلاً؟
الادّعاء «قرأتُه» وسلوك التشغيل الفعلي شيئان مختلفان. استخدم طرق التشخيص في القسم 2 للتحقق من الإدراك على مستوى التنفيذ.