اختبار Skill في شات جي بي تي وتحسينها

6 دقائق تقريبًا

كتابة Skill مش نهاية الشغل، الحقيقة إن أول نسخة غالبًا تكون فرضية عن طريقة العمل، والاختبار هو اللي يكشف هل القواعد فعلًا مفيدة ولا أنت فقط كتبت Manual شكله مرتب.

أفضل Skills بتتطور من الاستخدام الحقيقي، لأن الأخطاء اللي تظهر في المهام تكشف لك هل المشكلة في التعليمات، الوصف، المصدر، المثال، ولا العملية نفسها.

اختبرها على مهام حقيقية

متختبرش Skill بسؤال مصمم علشان تنجح فيه. استخدم حالات قريبة من الشغل الحقيقي، فيها اختلاف في المدخلات، نقص طبيعي، وحالات حدودية.

لو Skill لمراجعة تقارير، اختبر تقرير ممتاز، تقرير ضعيف، تقرير ناقص، وتقرير طويل جدًا. لو كل الاختبارات نسخة من نفس الشكل، أنت ما اختبرتش المرونة.

لما تفشل، متعدلش أول حاجة تقابلك

أول خطوة هي تصنيف الفشل.

هل الـSkill ما اتفعلتش أصلًا؟ ممكن المشكلة في Description.

هل اتفعلت لكن قرأت مصدر غلط؟ المشكلة ممكن تكون Routing للمراجع.

هل فهمت المصدر لكن طبقت خطوات بترتيب سيئ؟ المشكلة في Workflow.

هل الناتج شكله غلط فقط؟ المشكلة في Output Pattern أو Example.

هل فيه معلومة قديمة؟ المشكلة في Source مش Skill.

التصنيف ده يمنعك من حل كل مشكلة بإضافة سطر جديد في SKILL.md.

التصحيح الواحد مش قاعدة دائمًا

لو نتيجة واحدة طلعت سيئة، متسرعش وتعمل Rule عامة.

اسأل: هل ده خطأ متكرر؟ هل السبب قابل للتعميم؟ هل القاعدة الجديدة هتحسن أغلب الحالات ولا هتبوظ حالات أخرى؟

دي نفس فكرة Correction Loop اللي هنشرحها بتوسع بعدين، لكن هنا مهمة جدًا لأن Skill نفسها هتطبق القاعدة على استخدامات مستقبلية.

حول النمط إلى قاعدة، مش الجملة

لو ChatGPT كتب مقدمة تسويقية غير مناسبة وقلت له: "احذف الجملة دي"، ده تصحيح محلي.

لكن لو لاحظت إن الـSkill كل مرة تبدأ بمقدمة عامة قبل الدخول في النتيجة، القاعدة الأفضل: "ابدأ بالنتيجة المطلوبة مباشرة، ولا تضف مقدمة عامة إلا إذا كانت لازمة لفهم السياق."

أنت كده أصلحت سببًا متكررًا، مش مثالًا واحدًا.

متى تعدل المصدر بدل Skill؟

لو الـSkill تنفذ صح بناء على مرجع خطأ، تعديل التعليمات مش الحل.

مثال: Reference فيها جدول قديم للمصطلحات. ChatGPT استخدم الجدول كما طلبت، لكن النتيجة قديمة. هنا لازم تحدث الـReference.

فصل Source عن Workflow يخلي التشخيص أسهل.

متى تعدل الـScript؟

لو الفشل في خطوة حتمية تنفذها Script، أصلح الكود واختبره، متحاولش تعوضه بتعليمات لغوية فوقه.

الـModel مش المفروض يتعامل كل مرة مع Bug معروف في أداة أنت تقدر تصلحه من الأصل.

اختبر Trigger نفسه

Skill ممتازة لا تعمل لو الوصف لا يجعلها تظهر في المواقف الصحيحة. اعمل اختبارات لطلبات صريحة وأخرى طبيعية.

مثلًا المستخدم قد لا يقول اسم الـSkill، لكنه يقول "راجع التقرير حسب قواعدنا". هل Description تكفي علشان ChatGPT يفهم إنها مناسبة؟

وفي الجهة الثانية، تأكد إنها ما تتفعلش على مهام لا تخصها.

أكثر من Skill في نفس المهمة

في بعض الـWorkflows، ChatGPT ممكن يحتاج أكثر من Skill، واحدة للبحث وواحدة لتنسيق التقرير مثلًا. هنا مهم إن كل Skill حدودها واضحة وما تحاولش واحدة تعمل وظيفة الثانية.

التداخل الكبير بين Skills علامة إن التصميم محتاج مراجعة.

Versioning للSkill

كل ما تطورها، احتفظ بنسخة واضحة، خصوصًا لو الفريق يستخدمها. التغيير الصغير في Rule ممكن يغير مخرجات كثيرة.

مش لازم نظام معقد، لكن لازم تعرف إيه النسخة الحالية، وإيه اللي اتغير، وهل الاختبارات القديمة لسه ناجحة.

الطريقة الغلط: Skill تنمو بكل تصحيح

لو كل مرة المستخدم يعترض على حاجة تضيف Rule جديدة، بعد فترة هتبقى Skill فيها مئات الاستثناءات المتضاربة.

الطريقة الأفضل: حل السبب بأقل تعديل

حلل الخطأ، اعرف هل هو Trigger أو Workflow أو Reference أو Script أو Example، وبعدها عدل الطبقة المناسبة فقط.

تمرين الدرس

تخيل Skill تلخص مقابلات مستخدمين، وفشلت بثلاث طرق: مرة لم تتفعل، مرة خلطت رأي الباحث بكلام المستخدم، ومرة استخدمت تصنيفًا قديمًا من ملف مرجعي.

حدد لكل مشكلة أي جزء تعدله، Description أم SKILL.md أم Reference.

الخلاصة

Skill المحترفة تتطور من الاختبار، مش من كثرة التعليمات. صنف الفشل قبل التعديل، أصلح الطبقة المسؤولة، وحوّل الأنماط المتكررة فقط إلى قواعد عامة. الهدف إن الـSkill تبقى أبسط وأكثر ثباتًا مع الوقت، مش أكبر وأثقل.

مصادر التحقق الرسمية

أحسنت، وصلت إلى نهاية الدرس.