منذ أول commit في مشروع Python الخاص بي، كانت هناك قاعدة واحدة أهم من أي قاعدة أخرى: يجب ألا يرى وكيل البرمجة معايير القبول أبدًا. لذلك بنيت وكيلين لا يتبادلان الملاحظات أبدًا. يكتب أحدهما الاختبارات انطلاقًا من المواصفات الكاملة، بينما يكتب وكيل برمجة منفصل الشيفرة من المواصفات نفسها بعد حذف المعايير منها. وفي معظم بيئات البرمجة يكتب الوكيل نفسه الاثنين، وهذا يُضعف صحة نتائج الاختبارات.
فرضت هذا الفصل في الكود عبر تجميع السياق، أي الخطوة التي تبني موجّه وكيل البرمجة، حيث تُحذف قسم المعايير من ملف المهمة قبل بناء الموجّه. ولفترة ظننت أن هذا الفصل محكم تمامًا. ثم اكتشفت أن سطر تعليق واحدًا كان يكسره: يتوقف الحذف عند ذلك السطر، وتصل كل معيار بعد التعليق إلى وكيل البرمجة. بعد أسبوع، تسبب معيار امتد إلى سطر ثانٍ في الخطأ نفسه. كان الخطآن من صنعي. هذه المرة، وبعد إصلاحهما، أضفت اختبارات تجعل أي بناء مستقبلي يفشل إذا لم يُطبق الحذف كما ينبغي.
غالبًا ما تُقارن Skills بخوادم MCP، لكن بالنسبة للقاعدة التي يعتمد عليها مشروعي تبيّن أن الجواب ليس أيًّا منهما. أردت أن يتمكن المستخدمون من الوصول إلى qikly، أداة سطر الأوامر الخاصة بي، من مساعد ذكاء اصطناعي مثل Claude Code أو Cursor. وهذا يعني وجود نموذجين لغويين، ولا ينبغي لأيٍّ منهما أن يرى معايير القبول. كان المساعد قادرًا بالفعل على تشغيل qikly، لكنه لم يكن يعرف متى يستخدمها، لذلك كتبت Skill، وهي مجلد من تعليمات Markdown يحمّله المساعد عندما يطابق طلب ما وصفها.
كتابة الـSkill فصلت بين مهمتين. مهمة الـSkill هي تقديم نصائح حول ما ينبغي أن يكون ضمن المتطلبات مقابل معايير القبول، وهذه يمكن تعليمها فقط لا ضمانها. أما مهمة تجميع السياق فهي حذف المعايير في كل مرة، سواء كانت Skill مثبتة أم لا. ومع ذلك تبقى النصائح مهمة، لأن المعيار الذي يُكتب أيضًا ضمن المتطلبات يصل إلى وكيل البرمجة على أي حال، لذلك أضفت فحصًا إلى qikly --validate يحذر من هذا التكرار.
سؤال شائع
س: لماذا لا نعتمد على نموذج أفضل أو على درجة حرارة صفر لمنع نموذج اللغة من رؤية المعايير؟
ج: النموذج الأفضل يتّبع التعليمات بشكل أكثر تكرارًا لكن ليس دائمًا، وضبط الحرارة على الصفر يجعل الإجابات أكثر قابلية للتكرار لا أكثر طاعة. القواعد التي يجب أن تُراعى دائمًا ينبغي فرضها في الكود، مثل تجميع السياق، بينما يمكن أن تعيش الإرشادات القائمة على التقدير داخل Skill.
المصدر: Towards Data Science · لخّصه HeadlinesBriefing