إعداد ملف Claude.md الخاص بك يجعل البرمجة بالذكاء الاصطناعي أبطأ بنسبة 99%

AAI LABS
Computing/SoftwareManagementInternet Technology

Transcript

00:00:00ملف واحد فقط يقرر ما إذا كان المنتج الذي تحصل عليه
00:00:04هو التنفيذ الصحيح الذي تحتاجه.
00:00:05بالنسبة لمستخدمي "Claude Code" فهو ملف "claud.md"، بينما يمتلك الآخرون ملفاتهم الخاصة، لكن في أغلب الأحيان
00:00:10يستخدمون ملف "agents.md".
00:00:11ولكن بغض النظر عما تستخدمه، ما لم تقم بإعداده بشكل صحيح، ستستمر في الصراع مع
00:00:15وكيلك (Agent) في كل مهمة.
00:00:17وإذا كنت تعتقد أن تشغيل أمر تهيئة (init) بسيط يكفي، فأنت في الواقع
00:00:20مخطئ هنا.
00:00:21أنت بحاجة إلى اتباع نمط منظم مصمم خصيصاً للمشروع، مما يجعل أداء وكيلك
00:00:26أفضل.
00:00:27ولهذا السبب قمنا بتجميع أفضل الممارسات التي تحتاج إلى اتباعها من مصادر موثوقة أخرى،
00:00:31بالإضافة إلى خبرتنا التي استغرقت ساعات مع "Claude Code" حتى تتمكن من دمجها مباشرة في
00:00:35سير عملك.
00:00:36والنقطة الأخيرة مهمة لأنها تحدد كيفية اتباع وكيلك لتعليماتك
00:00:41وإذا لم يتم اتباعها، فلن تكون باقي التعليمات في ملفك مؤثرة.
00:00:45أول شيء تحتاج إلى إضافته في ملف "claud.md" الخاص بك هو شيء يأتي مباشرة
00:00:49من مستودع "أندريه كارباثي" الذي يحتوي على أفضل أنماط "claud.md" التي يتحدث عنها.
00:00:54تحتاج إلى إضافة تعليمات صريحة لـ "Claude" بالتفكير قبل البرمجة.
00:00:58وهذا يجعل "Claude" يوضح افتراضاته بشكل صريح.
00:01:01إذا كانت هناك تفسيرات متعددة، فيجب عليه تقديمها جميعاً حتى نتمكن من الاختيار من
00:01:05مجموعة التنفيذات.
00:01:07هذا يدفع "Claude" للتفكير من منظور مختلف قبل أن يغوص فعلياً في
00:01:11الحل.
00:01:12هذا يضمن أن الحل الذي ينفذه يتماشى مع ما كنت تريده.
00:01:15هذا السطر يقلل من مقدار كبير من تصحيح المسار في سير عملنا، ولهذا السبب وجدناه
00:01:20مفيداً جداً.
00:01:21مع إضافة هذه التعليمات، كلما طلبت من "Claude" تنفيذ ميزة، فإنه سيقوم أساساً
00:01:25بطرح مجموعة من الأسئلة المتعلقة بالمهمة التي أعطيته إياها حتى توجهك إجاباتك حول
00:01:29كيفية القيام بالمهمة فعلياً.
00:01:31هذا الجزء تحديداً سيكون مفيداً لأن "Claude" الآن لن يخمن التنفيذات
00:01:35ويغوص مباشرة بناءً على الأنماط التي حفظها من بيانات التدريب.
00:01:39سيفكر بدقة في ماهية التنفيذ الصحيح ويتأكد معك مما إذا كان هذا هو
00:01:43التنفيذ المقصود، ثم يعمل فعلياً على الميزة بدلاً من مجرد التخمين
00:01:48بشكل عشوائي، مما يضطرك لمقاطعة "Claude" لأنه لم يتبع التنفيذات الصحيحة
00:01:52التي كانت في ذهنك، وهو أمر يحدث كثيراً ويتطلب منك تصحيح المسار
00:01:56كثيراً.
00:01:57القاعدة التالية هي اختيار البساطة أولاً.
00:01:59إنه شيء بسيط جداً ولكنه لا يزال بحاجة إلى ذكره صراحة في "claud.md" حتى
00:02:04يتم تذكير الوكيل بهذا المبدأ بشكل صحيح.
00:02:07يميل "Claude" أو أي وكيل آخر إلى كتابة حلول كبيرة لمشكلات يمكن حلها بـ
00:02:11حلول بسيطة.
00:02:12لكن هذا لا يمثل مشكلة فقط لأنه يسبب تأخيرات.
00:02:15بل يجعل من الصعب أيضاً إعادة هيكلة الكود لاحقاً وحتى أصعب في إضافة ميزات لأن
00:02:19التنفيذ مطول جداً لدرجة أنه يستهلك الكثير من التوكنز (الرموز) لتنفيذ أشياء بسيطة.
00:02:24لذا فإن هذا السطر يدفع "Claude" حرفياً نحو التكرار لزيادة البساطة.
00:02:27نضيف هذا أيضاً في كل مشروع، خاصة عند العمل على تطبيقات واسعة النطاق، لأنه
00:02:32على هذا النطاق يصبح القيام بذلك أكثر أهمية.
00:02:35هذا يخبر "Claude" تحديداً بعدم إضافة أي ميزات تتجاوز ما هو مطلوب ولضمان
00:02:39معالجة الأخطاء بشكل صحيح للتنفيذ.
00:02:41إطار العمل المنضبط حوله هو أساساً حد أقصى صارم.
00:02:44إذا كان حل أي مشكلة تطلبها يمكن التعامل معه في 200 سطر ويمكن إعادة هيكلته
00:02:49إلى 50، فإن "Claude" يحتاج إلى إعادة كتابة الحل لأن نهجه خاطئ.
00:02:54هذا سيمنع "Claude" فعلياً من كتابة الكثير من الكود الإضافي غير المفيد مع أشياء
00:02:58لا يمكن تنفيذها حتى، ويعكس الاتجاه الخاطئ الذي اختاره "Claude".
00:03:03الجزء الثالث من "claud.md" هو تنفيذ تغييرات جراحية، أو بكلمات بسيطة، لمس
00:03:08تلك الأجزاء التي يجب على الوكيل لمسها فقط.
00:03:11هذا يعالج شيئاً نواجهه كثيراً عندما يقوم "Claude" بكتابة كمية كبيرة من الكود في
00:03:15وقت واحد، ويحتاج الإصلاح إلى ذكره صراحة في ملف "claud.md".
00:03:19يميل "Claude" أو الوكلاء بشكل عام عندما يُطلب منهم القيام بمهمة واحدة إلى محاولة تحسين الأشياء
00:03:24المحيطة بتلك المهمة أيضاً.
00:03:25قد تبدو هذه التحسينات كتغييرات كود مجاورة أو تنسيق لقاعدة الكود، وهو أمر
00:03:29لا نريده أن يركز عليه في الوقت الحالي.
00:03:32لكن هذا مزعج لأن انتباه "Claude" يتشتت عبر أشياء متعددة يحاول
00:03:36تنفيذها في وقت واحد.
00:03:37إعداد هذه الأنواع من التغييرات ليس جيداً لأن "Claude" يقوم أساساً بتضمين أشياء
00:03:41لم نرد منه القيام بها الآن.
00:03:43لذا نحتاج إلى ذكر التعليمات صراحة في "claud.md" بعدم القيام بذلك.
00:03:47إذا لاحظ الوكيل أي كود ميت غير ذي صلة، فيجب عليه ذكره بدلاً من إصلاحه بنفسه.
00:03:52في بعض الأحيان توجد هذه الأنواع من الأشياء لأسباب محددة يجب معالجتها لاحقاً،
00:03:56وليس في المرحلة التي يتواجد فيها التطبيق حالياً.
00:03:58الإطار العقلي الذي يسمح لـ "Claude" بتحديد كيفية التصرف بشكل صحيح هو التحقق من كل تغيير
00:04:03ومعرفة ما إذا كان يعود فعلياً إلى ما طلبه المستخدم.
00:04:06إذا كان الأمر كذلك، فيجب عليه إجراء هذا التغيير.
00:04:08إذا لم يكن كذلك، فلا يجب عليه لمس تلك الميزة.
00:04:10إذا تمت إضافة هذا السطر، فكلما واجه "Claude" أي مشكلة في التنفيذ، فسيقوم أساساً
00:04:14بتغيير الشيء الذي طلب منه المستخدم إصلاحه فقط.
00:04:17وبالتالي سيخبرك بجميع المشكلات الأخرى التي وجدها في نفس الملف ويمكنك اتخاذ القرار
00:04:21من هناك إذا كنت تريده فعلياً إصلاحها أم لا.
00:04:24النمط الأخير الذي تم استخلاصه من أندريه كارباثي هو التنفيذ القائم على الأهداف.
00:04:29لا يعرف الوكلاء كيف تبدو المخرجات الصحيحة، وهي المشكلة الأساسية.
00:04:33سيعملون بشكل أكثر فعالية إذا عرفوا، وهذا هو ما تصلحه هذه القاعدة.
00:04:36في ملف "claud.md"، نحتاج إلى توجيه "Claude" صراحة بتحديد معايير النجاح
00:04:41لكل مهمة نعطيها إياها.
00:04:43لذلك، بالنسبة لأي مهمة نسلمها، يحتاج "Claude" إلى تحويلها إلى هدف قابل للتحقق.
00:04:47على سبيل المثال، إذا أعطيته مهمة لإضافة التحقق (validation)، فسيقوم بكتابة اختبارات للمدخلات غير الصالحة
00:04:52والتأكد من أن حالات الاختبار هذه تجتاز فعلياً مع قيم الإرجاع الصحيحة للمدخلات الصحيحة.
00:04:57لذا فإن الفكرة برمتها هي أن يقوم الوكيل بتنفيذ حالات الاختبار ثم التكرار حتى تجتاز كل حالات
00:05:01الاختبار، وفي النهاية، يكون لدى المشروع نفس السلوك الذي نحتاجه منه فعلياً.
00:05:06إذا أعطيته أي برومبت (طلب) حول مهمة ما، فسيضع هدفاً قابلاً للتحقق ويخطط للتنفيذ.
00:05:11ثم سيتحقق من العمل نيابة عنك عن طريق إضافة جميع حالات الاختبار وإظهار كيفية تعامله
00:05:15مع التطبيق بالكامل في الجوهر.
00:05:17الآن قد ينجح هذا مع التفكير المنطقي، ولكن إذا كنت تريد من الوكيل التحقق من كيفية ظهور
00:05:21واجهة المستخدم الخاصة بك، فلا يمكن للوكيل كتابة حالات اختبار لذلك.
00:05:23لذا يمكنك إضافة إضافة "Claude Chrome" أو "Puppeteer MCP" حتى يتمكن من التحقق
00:05:28من كيفية ظهور واجهة المستخدم باستخدام تلك الأدوات.
00:05:30هذا يساعد لأن تغييرات واجهة المستخدم يصعب الحكم عليها من خلال النظر إلى الكود نفسه، وإعطاء
00:05:35الوكيل طريقة قابلة للتحقق لرؤية مرئيات التطبيق الحالية، وباستخدام ذلك يمكنه إصلاح
00:05:40المشكلات.
00:05:41لذلك، يمكنك إضافة سطر صراحة حتى يعرف أنه بعد تنفيذ واجهة المستخدم
00:05:45يحتاج أيضاً إلى التحقق من النتيجة من خلال "MCP".
00:05:48إذا قمت بإنشاء ملف "claud.md" باستخدام أمر التهيئة الخاص بـ "Claude Code"، فسترى أنه
00:05:53يضيف أوامر لتشغيل خادم التطوير (dev server) وخادم البناء (build server).
00:05:57لكن تلك موجودة بالفعل في بيانات التدريب الخاصة به ويعرف "Claude" هذه الأوامر بالفعل، و
00:06:01لا نحتاج إلى إضاعة أسطر صراحة في "claud.md" لإخباره بما يعرفه بالفعل.
00:06:05لذا في ملفك تحتاج فقط إلى ذكر الأدوات التي تريد من "Claude" استخدامها بدلاً من
00:06:09تلك التي يختارها افتراضياً.
00:06:11هناك أدوات "CLI" معينة تجعل سير العمل أسرع ولكنها ليست في بيانات التدريب الافتراضية لـ "Claude"
00:06:16أو الأنماط التي يعتمد عليها بالفعل.
00:06:18لذلك عليك إضافة تلك التعليمات صراحة حتى يعرف "Claude" أن تلك الأدوات مثبتة
00:06:22ولا يقع في الاعتماد على ما يستخدمه بمفرده طوال الوقت.
00:06:26على سبيل المثال، إذا قمت بتثبيت واجهة سطر أوامر "GitHub" (GitHub CLI) بدلاً من استخدام "git" للعمل، يمكنك
00:06:30إضافة تعليمات في "claud.md" لاستخدام واجهته البرمجية بدلاً من أوامر "git" الافتراضية لجميع
00:06:36العمليات.
00:06:37وبالمثل يمكنك إضافة المزيد من الأوامر التي ليست هي الافتراضية.
00:06:41تحتاج أيضاً إلى إضافة تعليمات التشغيل للمشروع في هذا الملف إذا كانت مختلفة
00:06:45عن المعتادة.
00:06:46على سبيل المثال، معظم المشاريع في الإعداد الافتراضي يتم تشغيلها بواسطة "npm"، وإذا كان مشروعك يعمل بـ
00:06:51"pnpm"، فأنت بحاجة إلى إضافة هذه المعلومات حتى يعرف الوكيل ما هي الأوامر التي يُقصد فعلياً
00:06:56تشغيلها.
00:06:57أي شيء آخر يتجاوز الأوامر التي يعرفها "Claude" بالفعل لا ينبغي تضمينه في ملف "claud.md"
00:07:01file.
00:07:02الذكر التالي في "claud.md" مستوحى من منشئ "Claude Code" وسير العمل
00:07:07الذي كشف عنه.
00:07:08تحدث عن كيف أن "claud.md" ليس ملفاً يُكتب مرة واحدة ويُستخدم إلى الأبد.
00:07:12إنه شيء يحتاج باستمرار إلى التغيير والتحديث والتحسين على مدار
00:07:16عملية البناء كعملية مستمرة تحتاج إلى التكرار مراراً وتكراراً.
00:07:20لذا تحتاج إلى إضافة تعليمات بأنه إذا اضطر "Claude" لأن يخبره المستخدم أن تنفيذه
00:07:25لم يكن صحيحاً، فيجب عليه أولاً تطبيق التصحيحات كما أشار المستخدم.
00:07:29بمجرد أن يطبق "Claude" تلك التصحيحات، يجب عليه أيضاً إضافة تلك الدروس إلى ملف
00:07:33مخصص حتى يتمكن "Claude" من بناء قاعدة معرفية تدريجياً عما لا ينبغي عليه فعله وما هو
00:07:38الطريقة الصحيحة للقيام بالأشياء، والتي يمكنه الرجوع إليها لاحقاً حسب الحاجة.
00:07:42ولكن قبل أن نمضي قدماً، دعونا نستمع إلى كلمة من الراعي.
00:07:45كلاوس، ربما سمعت عن وكلاء الذكاء الاصطناعي.
00:07:47ربما حاولت إعداد واحد بنفسك، وبعد 15 دقيقة تجد نفسك تحدق في واجهة الأوامر
00:07:51وتلصق مفاتيح واجهة برمجة التطبيقات (API keys) في ملفات التهيئة، متسائلاً عما إذا كنت قد سربت شيئاً مهماً.
00:07:56كلاوس يتخطى كل ذلك.
00:07:57كلاوس يشغل "OpenClaw"، وهو وكيل ذكاء اصطناعي مفتوح المصدر على السحابة.
00:08:00أنت تقوم بالتسجيل، وتحصل على 15 دولاراً من أرصدة "Open Router" وتبدأ في إعطاء الأوامر.
00:08:04لا حاجة لواجهة الأوامر، لا "Docker"، لا مطاردة مفاتيح واجهة برمجة التطبيقات.
00:08:07لقد اختبرته بطلب من "كلاوس" مسح دليل شركات ناشئة، وتنظيم النتائج في جدول
00:08:12وإرسالها لي عبر البريد الإلكتروني.
00:08:13أمر واحد في نافذة الدردشة، وتم الأمر.
00:08:15لا كود، لا إضافات متصفح.
00:08:17يأتي مع أدوات مدمجة مثل "Exa" و "Apollo" ويتصل بـ "Slack" و "WhatsApp"، وحتى
00:08:21iMessage.
00:08:22كل شيء يعمل على جهاز محمي بجدار ناري، معزول تماماً عن حساباتك الشخصية.
00:08:27إذا تعطل شيء ما، فإن وكيل الإصلاح التلقائي "Clawbert" يقوم بتصحيحه دون أن تلمس أي شيء.
00:08:31انقر على الرابط في التعليق المثبت وجرب "كلاوس" مجاناً.
00:08:35بما أن معظم مشاريع البرمجة تدار بواسطة "Git"، فأنت بحاجة إلى إضافة تعليمات صريحة
00:08:39في "claud.md" بأنه لا ينبغي لـ "Claude" تشغيل أوامر لا يمكن التراجع عنها دون تأكيد.
00:08:44وإذا كانت هناك حاجة لتشغيل مثل هذا الأمر، فيجب على الوكيل طلب الإذن أولاً.
00:08:48هذه الأوامر خطيرة لأنه بمجرد تنفيذها، تكون العواقب لا رجعة فيها
00:08:53ويمكن أن تسبب ضرراً للإنتاج.
00:08:55أشياء مثل "force pushing"، أو إعادة تعيين "head"، أو دمج الفروع أو تشغيل أوامر الإزالة مع القوة.
00:09:00commands.
00:09:01تحتاج أيضاً إلى إضافة تعليمات بأنه إذا كان "Claude" غير متأكد مما إذا كان الأمر مدمراً
00:09:04أم لا، فيجب عليه السؤال بدلاً من الافتراض.
00:09:07هذا سيوفر عليك الكثير من المتاعب.
00:09:08على سبيل المثال، إذا حاول "Claude" عن طريق الخطأ دمج فرع لا تريد دمجه،
00:09:12فإنه سيطلب الإذن قبل القيام بذلك ويمكنك حينها رفضه حتى يظل عملك
00:09:16آمناً.
00:09:17لا توجد حاجة لوضع جميع جوانب المعلومات في ملف "claud.md" واحد لأن ذلك سيؤدي
00:09:22فقط إلى تضخيمه دون داعٍ وتشتيت انتباه الوكيل عما يحتاج فعلياً للقيام به.
00:09:27لذا تحتاج إلى إنشاء ملفات قواعد ذات نطاق محدد (path scoped) تعلن عن نطاقها في السطر الأول
00:09:31وتحتوي على تعليمات مصممة خصيصاً لتلك الملفات بالضبط.
00:09:34تحتاج أيضاً إلى ذكر موقع هذه الملفات في "claud.md" حتى يعرف "Claude" أنها موجودة.
00:09:40على سبيل المثال، إذا كنت تريد من "Claude" اتباع تعليمات محددة معينة عند كتابة واجهات برمجة التطبيقات (APIs)،
00:09:44يمكنك إضافة تلك في ملف قواعد لها حتى يتمكن "Claude" عند العمل عليها من تحميل
00:09:48تلك التعليمات واستخدامها مباشرة.
00:09:50ولكن بنفس القدر من الأهمية، يضمن هذا أيضاً أن التعليمات المتعلقة بـ API لا تتداخل
00:09:55عندما لا يعمل "Claude" عليها.
00:09:56يمكنك الحصول على ملفات قواعد متعددة لأجزاء مختلفة من المشروع، يحتوي كل منها على تعليمات
00:10:00مصممة لتلك المنطقة المحددة.
00:10:02بهذه الطريقة، لا يقوم "Claude" بتحميل التعليمات ذات الصلة إلا عندما يعمل على ذلك الجزء.
00:10:06وبالتالي يمنع تضخم السياق ويحافظ على تركيز الوكيل على مهمته الحالية بدلاً
00:10:11من تشتت انتباهه بقواعد غير ذات صلة.
00:10:13معظم التطبيقات واسعة النطاق موجودة في "mono repo"، وهو مستودع كبير واحد حيث
00:10:18يتم الاحتفاظ بجميع المكونات المختلفة معاً مع عمل كل مجلد كجزء منفصل
00:10:22خاص به وإدارة كل جزء بشكل مستقل مع المساهمة في جانب مختلف من
00:10:27التطبيق الرئيسي.
00:10:28لذا إذا كنت تدير مشروعاً من "mono repo"، فأنت بحاجة إلى التأكد من أن كل مستودع فرعي
00:10:32يحتوي على ملف "claud.md" خاص به بحيث يحتوي فعلياً على تعليمات خاصة
00:10:37به ولا يضطر إلى الاعتماد فقط على التعليمات من "claud.md" العالمي.
00:10:42يجب أن يتكون الملف العالمي فقط من تعليمات قابلة للتطبيق على نطاق واسع على جميع أجزاء
00:10:47النظام.
00:10:48لكن ملفات "claud.md" ذات النطاق المحدود تعمل بشكل أفضل لأنها يمكن أن تحتوي على تعليمات خاصة
00:10:52ذلك التطبيق أو الوحدة المعينة.
00:10:54هذا يسمح للوكيل بالأداء بشكل أفضل لأن لديه توجيهاً أكثر تركيزاً.
00:10:58لذلك فإن وضع جميع تعليمات المشروع الكبير في الملف الرئيسي هو خطوة خاطئة.
00:11:02سيؤدي ذلك فعلياً إلى تضخيم الملف بالمعلومات وعندما يمر "Claude" عبر مناطق بها تعليمات
00:11:07لا تتعلق بالمهمة الحالية، فقد يتسبب ذلك في انحراف انتباهه عما يحتاج
00:11:11فعلياً للقيام به.
00:11:12أيضاً إذا كنت تستمتع بمحتوانا، فكر في الضغط على زر الإعجاب لأنه يساعدنا على
00:11:16إنشاء المزيد من المحتوى كهذا والوصول إلى المزيد من الأشخاص.
00:11:19تحتاج أيضاً إلى إضافة وصف المشروع في ملف "claud.md" الخاص بك والتأكد من وضع هذه
00:11:24التعليمات في بدايته جداً، وليس مدفونة في داخل بقية
00:11:29التعليمات.
00:11:30لأن الوكيل يحصل على جوهر ما يدور حوله التطبيق بالكامل من خلال قراءته أولاً.
00:11:33لذا فهو يفهم سياق كيفية هيكلة التطبيق، وما يفعله بشكل عام، وما هي
00:11:38الخدمات والتبعيات المختلفة وكيف يعمل التطبيق.
00:11:41بهذه الطريقة، يعرف من البداية، بدلاً من النظر إلى الكود لاستنتاج ما يفعله
00:11:45التطبيق.
00:11:46قسم آخر نحتاج إلى إضافته في ملف "claud.md" هو أن "Claude" يحتاج إلى التحقق
00:11:50ليس فقط من أن الميزة موجودة ولكن أيضاً أنها تعمل بشكل صحيح كما هو مقصود قبل الإبلاغ
00:11:55عن أي مهمة كمكتملة.
00:11:57يجب عليه استخدام جميع آليات التحقق المتاحة للتأكد من أن البناء والاختبارات تجتاز بشكل صحيح،
00:12:02ولكن الهدف من هذا القسم هو التأكد من اكتمال المهمة فعلياً باستخدام خطوات
00:12:07تحقق حقيقية، وليس فقط من خلال التحقق من وجود كود الميزة.
00:12:11لذلك تدفع هذه التعليمات "Claude" للإبلاغ بشكل أكثر إخلاصاً واستخدام أنواع متعددة
00:12:15من الفحوصات مثل اختبارات الوحدة، والتدقيق (linting)، وفحوصات النوع للتأكد من تنفيذ التطبيق
00:12:20بشكل صحيح ويعمل كما هو مقصود.
00:12:23أخيراً وليس آخراً، الطريقة التي ترتب بها تعليماتك في ملف "claud.md" مهمة أيضاً
00:12:27جداً لضمان أداء عالٍ للوكيل.
00:12:29عليك ترتيبها حسب الأولوية.
00:12:31يجب أن تكون التعليمات الأولى قواعد صارمة، بمعنى أنها غير قابلة للتفاوض دائماً، مع عدم وجود استثناءات
00:12:36على الإطلاق.
00:12:37يجب أن تأتي هذه القواعد الصارمة دائماً أولاً، قبل أي قواعد أخرى.
00:12:40ثم تأتي قواعد الأولوية المتوسطة التي ليست صارمة مثل السابقة.
00:12:44إنها قابلة للتفاوض إلى حد ما ولكنها لا تزال مهمة ولا ينبغي انتهاكها.
00:12:48بعد ذلك تأتي تعليمات الأولوية المنخفضة التي تتضمن بشكل أساسي مراجع وملاءمات،
00:12:52حتى لا يحتاج الوكيل إلى العودة واستخدام هذا القسم كمصدر قرار أساسي.
00:12:57شيء مهم آخر هو أنك بحاجة إلى التأكد من إبقاء ملف "claud.md" قصيراً.
00:13:01أفضل ممارسة هي إبقاؤه ضمن حد صارم يبلغ 300 سطر، والذي يعتبر الأمثل
00:13:06لأداء الوكيل.
00:13:07لكن بمجرد أن يصبح أطول من ذلك، يبدأ الأداء في التدهور.
00:13:10ملف "claud.md" الذي تم الحديث عنه هنا وجميع الموارد الأخرى المذكورة هنا متاحة
00:13:15في "AI Labs Pro" لهذا الفيديو ولجميع فيديوهاتنا السابقة حيث يمكنك تنزيلها
00:13:20واستخدامها لمشاريعك الخاصة.
00:13:21إذا وجدت قيمة فيما نقوم به وتريد دعم القناة، فهذه هي أفضل طريقة
00:13:25للقيام بذلك.
00:13:26الرابط موجود في الوصف.
00:13:27هذا يوصلنا إلى نهاية هذا الفيديو.
00:13:29إذا كنت ترغب في دعم القناة ومساعدتنا في الاستمرار في صنع فيديوهات كهذه، يمكنك القيام
00:13:33بذلك باستخدام زر "super thanks" في الأسفل.
00:13:35كالعادة، شكراً للمشاهدة وسأراكم في الفيديو القادم.

Key Takeaway

يعتمد نجاح وكلاء البرمجة بالذكاء الاصطناعي على هيكلة ملف claud.md بذكاء، من خلال إدراج تعليمات التفكير المسبق، وتحديد أهداف قابلة للتحقق، والالتزام بحد أقصى يبلغ 300 سطر لضمان أداء مستقر وعالي الجودة.

Highlights

  • تعد إضافة تعليمات التفكير المسبق في ملف claud.md خطوة تقلل بشكل كبير من الحاجة إلى تصحيح المسار أثناء عمل وكيل الذكاء الاصطناعي.

  • يؤدي الالتزام بحد أقصى قدره 300 سطر في ملف القواعد إلى الحفاظ على أداء الوكيل الأمثل ومنع التدهور في الأداء.

  • يجب إعطاء الأولوية في ترتيب التعليمات داخل الملف، حيث توضع القواعد الصارمة وغير القابلة للتفاوض في البداية.

  • تساهم إضافة اختبارات قابلة للتحقق لكل مهمة في توجيه الوكيل نحو النتائج الصحيحة بدلاً من التخمين العشوائي.

  • تمنع ملفات القواعد ذات النطاق المحدود (path-scoped) تضخم السياق وتسمح للوكيل بالتركيز على مهام محددة داخل أجزاء معينة من المشروع.

Timeline

أساسيات ملف claud.md

  • يعد ملف claud.md أو agents.md المحدد الأساسي لجودة تنفيذ الوكيل للمهام.
  • يجب إضافة تعليمات صريحة تلزم Claude بالتفكير قبل البرمجة لتوضيح الافتراضات.

لا يكفي تشغيل أمر التهيئة البسيط للحصول على أداء جيد. يتطلب الأمر نمطاً منظماً ومخصصاً للمشروع. يقلل إجبار الوكيل على التفكير بوضوح قبل التنفيذ من الحاجة إلى تصحيح الأخطاء لاحقاً ويضمن توافق المخرجات مع رغبة المستخدم.

مبادئ البساطة والتنفيذ الجراحي

  • يقلل توجيه الوكيل نحو البساطة من استهلاك التوكنز ويجعل الكود أسهل في إعادة الهيكلة.
  • يجب تقييد الوكيل لتنفيذ التغييرات في الأجزاء المطلوبة فقط دون محاولة تحسين الكود المحيط غير المرتبط بالمهمة.

يميل الوكلاء أحياناً إلى الإفراط في التعقيد أو تغيير أجزاء غير ضرورية من الكود. يساعد وضع قيود صارمة داخل ملف القواعد على إيقاف هذه السلوكيات، مما يحافظ على تركيز الوكيل على المهمة الأصلية المطلوبة منه فقط.

التنفيذ القائم على الأهداف والتحقق

  • يتحول أداء الوكيل إلى الأفضل عندما يعرف معايير النجاح المحددة لكل مهمة.
  • يمكن ربط أدوات خارجية مثل Puppeteer MCP لتمكين الوكيل من التحقق بصرياً من واجهة المستخدم.

بدلاً من كتابة كود فقط، يجب تكليف الوكيل بتحويل المهام إلى أهداف قابلة للتحقق عبر حالات اختبار. يساعد هذا النهج في التأكد من أن الكود المنتج لا يعمل فقط كبنية، بل يؤدي الوظيفة المطلوبة بدقة.

تحسين سير العمل وتحديث القواعد

  • يجب ذكر الأدوات الخاصة غير الافتراضية في الملف لضمان استخدامها بدلاً من أدوات النظام القياسية.
  • يحتاج ملف القواعد إلى تحديث مستمر بناءً على الدروس المستفادة من أخطاء التنفيذ السابقة.

يتطلب العمل المتطور تخصيص أوامر التشغيل إذا كانت تختلف عن الإعدادات الافتراضية (مثل استخدام pnpm بدلاً من npm). علاوة على ذلك، يعد تحديث ملف القواعد بعد كل تصحيح يطلبه المستخدم وسيلة لبناء قاعدة معرفية طويلة الأمد للوكيل.

إدارة المخاطر وهيكلة الملفات المتقدمة

  • يجب منع تشغيل أوامر مدمرة مثل force pushing دون طلب إذن صريح من المستخدم.
  • يفضل استخدام ملفات قواعد ذات نطاق محدد (path scoped) للمشاريع الكبيرة لتقليل تضخم السياق.

لحماية سلامة المشروع، يجب وضع قواعد صارمة تمنع الأوامر غير القابلة للتراجع دون تأكيد. في المشاريع الكبيرة (Mono repo)، ينبغي توزيع التعليمات على ملفات فرعية لضمان التركيز، مع ترتيب التعليمات في كل ملف حسب الأولوية وعدم تجاوز حد الـ 300 سطر.

Community Posts

View all posts