وكلاء البرمجة بالذكاء الاصطناعي يحتاجون إلى الاختبارات أكثر من حاجتهم إلى الأوامر (Prompts)
لقد كتبت البرمجيات لمدة 25 عامًا. لقد تغير سير عملي في الأشهر الثمانية الماضية أكثر مما تغير طوال مسيرتي المهنية بأكملها.
كانت أدوات البرمجة بالذكاء الاصطناعي تُستخدم للمهام الصغيرة مثل إعادة هيكلة الكود (refactoring) أو شرح الأخطاء. كان بناء ميزات كبيرة باستخدام الذكاء الاصطناعي يبدو أمرًا مرهقًا.
الآن، الوضع مختلف. تتبع الوكلاء الحديثة حلقة محددة:
- قراءة الكود.
- تغيير الكود.
- تشغيل أمر.
- رؤية ما فشل.
- إصلاحه.
- التكرار.
هذه الحلقة قوية، لكن الوكلاء يعانون مع الواجهات المرئية. لا يمكنهم النقر عبر واجهة المستخدم (UI) بشكل موثوق للتأكد مما إذا كان الزر يعمل أم لا.
لقد غيرت نهجي. أقوم ببناء ميزات جديدة بحيث تعمل من سطر الأوامر (command line) أولاً.
بدلاً من أن أطلب من الوكيل "النظر إلى هذه الشاشة"، أعطيه أمرًا:
npm run test:feature-xnode scripts/run-new-feature-client.js
الوكلاء يحبون الأوامر. فهي تمنحهم حلقة تغذية راجعة قابلة للتنفيذ.
يبدو سير عملي الحالي كما يلي:
- التخطيط للميزة في ملف Markdown.
- إنشاء عميل اختبار (test client) أو اختبار وحدة (unit test).
- تحديد حالات اختبار واضحة.
- ترك الوكيل لتنفيذ الميزة.
- ترك الوكيل لتشغيل الاختبارات بشكل متكرر.
- مراجعة النتائج.
تحذير: إذا قلت للوكيل "اجعل جميع الاختبارات تنجح"، فسيقوم بذلك. قد يرتكب "جرائم" في هندسة البرمجيات لتحقيق ذلك. قد يكتب اختبارات ضعيفة أو يستخدم كتل try/catch لإخفاء الأخطاء لمجرد إيقاف رسالة الفشل.
لهذا السبب يعد تحديد الاختبار أهم مهمة يدوية أقوم بها. يجب أن تسأل:
- هل يمثل هذا الاختبار حالة استخدام حقيقية؟
- هل سيكتشف تراجعًا (regression) حقيقيًا؟
- هل هو ضيق للغاية؟
في عصر الذكاء الاصطناعي، لا يعد التطوير القائم على الاختبار (TDD) مجرد شبكة أمان، بل هو عجلة القيادة. بدون الاختبارات، ينتج الوكيل كودًا يبدو منطقيًا. ومع الاختبارات الجيدة، يكون لدى الوكيل هدف قابل للقياس.
نصيحة أخرى: استخدم ملفات منظمة لمخرجات الاختبار. بدلاً من إلقاء سجلات (logs) ضخمة في الدردشة، اجعل برامجك النصية تكتب إلى ملفات JSON أو Markdown في مجلد.
هذا يساعد لأن:
- الوكيل ينتقل مباشرة إلى البيانات ذات الصلة.
- يظل السياق صغيرًا.
- ينخفض استهلاك الرموز (tokens).
- يوفر المال.
وكلاء الذكاء الاصطناعي لا يحلون محل المطورين، بل يغيرون تركيزنا. نحن نقضي وقتًا أقل في كتابة الكود ووقتًا أطول في:
- وصف المشكلات بوضوح.
- إنشاء حلقات التغذية الراجعة.
- تحديد اختبارات عالية الجودة.
- مراجعة البنية التحتية (architecture).
مستقبل تطوير الذكاء الاصطناعي لا ينتمي إلى الشخص الذي يكتب أفضل الأوامر (prompts)، بل ينتمي إلى الشخص الذي يبني أفضل حلقات التغذية الراجعة.
المصدر: https://dev.to/stoefln6/ai-coding-agents-need-tests-more-than-prompts-11pm
مجتمع تعليمي اختياري: https://t.me/GyaanSetuAi
