
التحقق المتقاطع
التحقق المتقاطع هو طريقة إحصائية تُستخدم لتقييم ومقارنة نماذج تعلم الآلة من خلال تقسيم البيانات إلى مجموعات تدريب وتحقق عدة مرات، مما يضمن تعميم النماذج بشكل جي...
تعرّف على أفضل الممارسات لدمج TDD مع وكلاء البرمجة بالذكاء الاصطناعي مثل Windsurf وClaude 3.5 Sonnet لأتمتة وتبسيط عملية تطوير البرمجيات لديك.
في جوهره، يدور TDD حول عملية دورية تُعرف باسم أحمر-أخضر-إعادة هيكلة (Red-Green-Refactor). تبدأ الدورة بمرحلة “الأحمر”، حيث يكتب المطور اختبارًا تلقائيًا يحدد ميزة أو سلوكًا مرغوبًا فيه. يُكتب هذا الاختبار بحيث يفشل في البداية لأن الكود المقابل لم يتم إنشاؤه بعد. هذا الفشل الأولي مهم جدًا، فهو يضمن أن الاختبار يختبر الوظيفة المقصودة فعلاً ويمكنه اكتشاف الأخطاء بعد تنفيذ الكود.
تشمل مرحلة “الأخضر” التالية كتابة الحد الأدنى من الكود اللازم لجعل الاختبار الفاشل ينجح. يشجع هذا المبدأ المطورين على التركيز على المتطلبات الفورية التي يحددها الاختبار، والحفاظ على قاعدة كود نظيفة، وتجنب المبالغة في التعقيد.
أخيرًا، تركز مرحلة “إعادة الهيكلة” على تحسين بنية الكود وقابليته للقراءة والصيانة، سواء كان كود الاختبار أو كود الإنتاج، مع التأكد في الوقت نفسه من أن جميع الاختبارات لا تزال ناجحة. تضمن إعادة الهيكلة أن تبقى قاعدة الكود صحية وقابلة للتكيف مع التغييرات المستقبلية دون إدخال أخطاء جديدة، حيث تعمل مجموعة الاختبارات الحالية كشبكة أمان أثناء هذه المرحلة.
هناك العديد من العوامل التي تؤثر في أداء وكلاء الذكاء الاصطناعي أثناء البرمجة، من نموذج اللغة الكبير إلى كيفية تنظيم الكود وخط تطويرك. لقد وجدنا أن TDD فعال مع Windsurf مع Claude 3.5 Sonnet. فيما يلي مثال لمهمة تم تنفيذها باستخدام TDD.
قبل أن نبدأ في البرمجة، نحتاج إلى ما يلي:
تأكد من أن لديك بالفعل اختبارات وفقًا لـ TDD، وأنها تغطي معظم نطاق مشكلتك الذي تعتقد أنه منطقي ومفيد لوكيل الذكاء الاصطناعي. لست بحاجة إلى تغيير أو تخصيص أي شيء من أجل وكيل الذكاء الاصطناعي. إذا كانت اختباراتك ونمط تسميتها مبنية على معيار معين فسيكون ذلك أفضل. كخطوة أولى، سيشاهد وكيل الذكاء الاصطناعي هذه الاختبارات لبدء التنفيذ.
إليك مثال على اختبار لديّ يختبر ما إذا تم إدراج مستند بشكل صحيح في MongoDB:
الواجهة في جافا (أو أي لغة برمجة أخرى) هي بنية تحدد كيف يجب أن تبدو الكلاسات وما هي الدوال التي يجب أن تنفذها. لتوجيه وكيل الذكاء الاصطناعي بشكل أفضل، من المفيد إنشاء واجهة لمخزن البيانات (repository) الخاص بك لإدراج المستندات:
أخيرًا، نحتاج إلى وصف محدد للمهمة. عادةً، يمكنك استخدام JIRA أو قضايا GitHub لتعريف المهمة. هذا هو وصفنا:
Vibe Coding تعني أنك تصف ما تحتاجه باللغة الإنجليزية البسيطة (أو حتى أوامر صوتية)، ويقوم الذكاء الاصطناعي بإنشاء الكود لك في الوقت الفعلي. نتعمق أكثر في Vibe Coding في هذه المدونة. هذا هو الـ prompt الذي استخدمته في Windsurf لتنفيذ المهمة من أجلي:
نفذ الاستعلام التالي كمجموعة من استعلامات مسماة وكود جافا.
ابحث عن جميع السائقين الذين أكملوا ما لا يقل عن X رحلة بتقييم أعلى من 5 في نطاق تاريخ معين ولم يتلقوا مطلقًا تقييمًا أقل من 3 نجوم.
ملاحظة:
لست بحاجة للعثور على استعلام واحد لحل هذه المهمة (يمكنك استخدام مجموعة من كود جافا واستعلامات مسماة)، ولكن عليك مراعاة أداء ORM، أي تأكد أن الحل الخاص بك سريع بما فيه الكفاية إذا كان لديك العديد من الكيانات. أثناء جلسة النقاش يجب أن تكون قادرًا على شرح أنواع المشكلات التي قد تظهر مع الاستعلامات السيئة.
@Ass1_2_2Test.java#L35-60
هذه هي الاختبارات المقابلة. تم تنفيذها في@DriverDAO.java#L34-63
ذكر الملفات هو أهم جانب عند استخدام vibe coding. الآن اجلس وشاهد وكيل الذكاء الاصطناعي يؤدي سحره. لقد أنشأ الفئة، وشغّل الاختبارات، وكرر العملية حتى نجحت جميع الاختبارات:
تطوير البرمجيات المدفوع بالاختبار (TDD) هو نهج لتطوير البرمجيات يتم فيه كتابة اختبارات تلقائية قبل الكود الفعلي. تتبع العملية دورة Red-Green-Refactor: كتابة اختبار يفشل (أحمر)، ثم كتابة كود ينجح في الاختبار (أخضر)، وأخيرًا إعادة هيكلة الكود مع الحفاظ على نجاح جميع الاختبارات.
يمكن لوكلاء الذكاء الاصطناعي مثل Windsurf، خاصة عند دمجهم مع نماذج مثل Claude 3.5 Sonnet، أتمتة توليد الكود، وتشغيل الاختبارات، وإجراء التحسينات التكرارية، مما يجعل عملية TDD أسرع وأكثر كفاءة.
لأتمتة TDD باستخدام وكلاء الذكاء الاصطناعي، تحتاج إلى مجموعة شاملة من الاختبارات، وواجهات معرفة بوضوح، وأوصاف مهام محددة. تساعد تسمية الاختبارات بطريقة قياسية وتوثيق واضح في توجيه وكيل الذكاء الاصطناعي لتحقيق أفضل النتائج.
Vibe Coding هو نهج مدعوم بالذكاء الاصطناعي يصف فيه المطورون المتطلبات باللغة الإنجليزية البسيطة (أو بالصوت)، ويقوم الذكاء الاصطناعي بإنشاء الكود في الوقت الفعلي، ويكرر العملية حتى تنجح جميع الاختبارات ويحقق الحل المتطلبات.
ياشا مطور برمجيات موهوب متخصص في بايثون وجافا وتعلم الآلة. يكتب ياشا مقالات تقنية عن الذكاء الاصطناعي، وهندسة البرومبت، وتطوير روبوتات الدردشة.
اكتشف كيف يمكن لمهندسي التدفق ووكلاء البرمجة بالذكاء الاصطناعي في FlowHunt أتمتة عملية التطوير لديك لتحقيق أقصى كفاءة وابتكار.
التحقق المتقاطع هو طريقة إحصائية تُستخدم لتقييم ومقارنة نماذج تعلم الآلة من خلال تقسيم البيانات إلى مجموعات تدريب وتحقق عدة مرات، مما يضمن تعميم النماذج بشكل جي...
التعزيز التدرجي هو تقنية تجميع قوية في تعلم الآلة تُستخدم للانحدار والتصنيف. يبني النماذج بشكل متسلسل، عادةً باستخدام أشجار القرار، من أجل تحسين التنبؤات، وزياد...
استكشِف القدرات المتقدمة لوكيل الذكاء الاصطناعي DeepSeek R1. يكشف هذا التحليل العميق كيف يتجاوز توليد النصوص، ويستعرض مهاراته في الاستدلال وحل المشكلات والإبداع...