في فيديو سابق، استخدمنا proxy لنرى ما يرسله Claude Code إلى النموذج. لنقرأ الـ system prompt الذي وجدناه. هذه تعليمات يضيفها الـ harness إلى جانب المهمة التي تعطونها له. سننظر في بعض أقسامه، ونربطها بسلوك رأيتموه من قبل أثناء العمل مع وكيل.
الـ prompt الذي التقطناه يحتوي على نحو ألف كلمة. أما طلبنا نحن فكان مجرد تحية قصيرة، لكن الـ harness أضاف تعليمات حول الطريقة التي ينبغي أن يعمل بها الوكيل. نرى هنا المستند كاملًا لنأخذ فكرة عن حجمه. سنقرأ بعض المقتطفات بحجم أكبر، بدل أن نحاول قراءة كل شيء على هذه الشاشة.
تعطينا العناوين صورة عامة مفيدة. هناك تعليمات حول العمل داخل الـ harness، وحفظ المعلومات في الذاكرة، وفهم البيئة، ومواصلة محادثة طويلة. وهناك أيضًا إرشادات خاصة بهذه الجلسة، ومكان للملفات المؤقتة. لنبدأ بالافتتاحية، ثم ننتقل إلى الأقسام التي تشرح جوانب مألوفة من سلوك الوكيل.
تخبر الافتتاحية النموذج بالتطبيق الذي يعمل فيه، وتعطيه دورًا: المساعدة في مهام هندسة البرمجيات. وتتضمن أيضًا إرشادات حول الطلبات التي يساعد فيها والطلبات التي يرفضها. رفض الطلبات المدمِّرة سلوك تعلّمه النموذج أيضًا أثناء التدريب، وهنا يظهر مرة أخرى في صورة قاعدة مكتوبة. هذه التعليمات جزء مما يتلقاه النموذج قبل أن يجيبنا. وقراءتها تكشف بوضوح بعض ما نتوقعه من سلوك الوكيل.
قسم Harness يعطي تعليمات عملية حول تنفيذ العمل. هنا يُطلب من النموذج تفضيل الأدوات المخصصة للملفات والبحث، عندما تناسب المهمة. إذا رأيتم الوكيل يختار أداة لقراءة الملفات بدلًا من تشغيل أمر shell، فهذه إحدى التعليمات التي تساعد على تفسير هذا الاختيار.
سطور أخرى تتعلق بجودة العمل وبطريقة الإبلاغ عنه. «طابِق أسلوب الكود المحيط.» «أبلِغ عن فشل الاختبارات أو تخطّي أي خطوة.» هذه تعليمات مكتوبة عادية، تشبه التعليمات التي قد تعطونها لزميل تعملون معه. يستطيع نموذج قوي أن يطبّقها في مهام كثيرة ومختلفة، دون قاعدة مبرمجة منفصلة لكل حالة.
قسم Memory يشرح كيف تُحفظ المعلومات المفيدة للجلسات القادمة. يطلب من النموذج أن يكتب ملاحظات، وأن يحدّث الملاحظات الموجودة بدل تكرارها، وأن يحذف المعلومات التي يتبيّن أنها خاطئة. يوفّر الـ harness أدوات للملفات وتخزينًا، وطريقة لتحميل المعلومات المحفوظة في جلسة لاحقة. والتعليمات توجّه النموذج في استخدام هذه الإمكانات. هذا مثال ملموس على ميزة في الـ harness بُنيت جزئيًا بإخبار النموذج كيف يتصرف.
ويخبر الـ prompt النموذج أيضًا أين يعمل. هنا يذكر مجلد العمل، ويقول إنه خارج أي مستودع Git، ويحدد المنصة والـ shell. بل إنه يذكر أن النموذج هو Haiku 4.5، وأن تاريخ انقطاع المعرفة المعلن له هو فبراير 2025. النموذج يتلقى هذه المعلومات من الـ harness. وهي تساعده على اختيار أوامر مناسبة وعلى فهم ظروف المهمة، دون أن يسألنا عن هذه المعلومات الأساسية في كل مرة.
قسم Context management يخبر النموذج بما عليه أن يتوقعه عندما تطول المحادثة. يمكن تلخيص ما سبق في المحادثة حتى يستمر العمل ضمن السياق المتاح. والتعليمات هنا أن يواصل العمل، لا أن ينهيه مبكرًا لأن المساحة توشك أن تنفد. تحدثنا من قبل عن ضغط المحادثة. اللافت هنا أن نرى الـ harness يشرح هذه العملية للنموذج بنص مكتوب.
تفسّر هذه الأمثلة لماذا قد يغيّر تحديثٌ في harness وكيل البرمجة سلوك الوكيل، حتى عندما يبقى النموذج نفسه دون تغيير. فجزء من التحديث قد يكون تغييرًا في هذه التعليمات. ومع النماذج القوية تصبح هذه طريقة قليلة الكلفة نسبيًا لإضافة سلوك أو تحسينه: نَصِف ما يجب أن يفعله النموذج، ونوفّر له الأدوات التي يحتاجها لذلك. وقد أعلنت Anthropic أيضًا أنها حذفت نحو 80% من الـ system prompt لنموذجَي Opus 5 وFable 5، دون تراجع يمكن قياسه في اختباراتها المعيارية للبرمجة.
قراءة الـ prompt تتيح لنا رؤية هذا الجزء من التصميم. أما ملف CLAUDE.md الخاص بكم فيُرسَل بشكل منفصل، وفي مثالنا المحفوظ الذي يتضمن هذا الملف، يصل داخل أول رسالة من المستخدم. وجدنا إرشادات حول كتابة الكود، والإبلاغ عن النتائج، وحفظ المعلومات في الذاكرة، وفهم البيئة، ومواصلة المهام الطويلة. عندما تفحصون الـ prompt الخاص بوكيلكم، ابحثوا عن تعليمات تفسّر سلوكًا تعرفونه. قد يختلف النص عمّا التقطناه هنا، لكنكم تعرفون الآن ما الذي ينبغي أن تبحثوا عنه. أسفل هذا الفيديو صفحة تعرض نسخة التقطناها لاحقًا. تضع الـ prompt الذي يرسله Claude Code إلى Haiku بجانب ما يرسله إلى Fable، مع تمييز الفروق كلمة بكلمة. Fable، الأكثر تقدمًا بين النموذجين، يحصل على system prompt أقصر بكثير، طوله أقل من نصف طول الآخر.
نتمنى لكم كتابة prompts موفّقة. نراكم في الفيديو التالي.