HyperAIHyperAI
منذ 3 أشهر

SOEN-101: إنشاء الشفرة من خلال محاكاة نماذج عملية البرمجيات باستخدام وكلاء نماذج اللغة الكبيرة

Feng Lin, Dong Jae Kim, Tse-Husn
SOEN-101: إنشاء الشفرة من خلال محاكاة نماذج عملية البرمجيات باستخدام وكلاء نماذج اللغة الكبيرة
الملخص

تُعد نماذج عمليات البرمجيات ضرورية لتسهيل التعاون والاتصال بين فرق تطوير البرمجيات لحل المهام المعقدة في التطوير. مستوحاة من ممارسات هندسة البرمجيات، نقدّم "FlowGen" – إطارًا لكتابة الشفرة يُحاكي نماذج عمليات البرمجيات باستخدام عدد من الوكلاء القائمين على نماذج اللغة الكبيرة (LLM). قمنا بمحاكاة ثلاث نماذج عملية: FlowGenWaterfall وFlowGenTDD وFlowGenScrum، من خلال تعيين وكلاء LLM لتمثيل أدوار محددة (مثل مهندس المتطلبات، المعماري، المطوّر، المُختبر، ورئيس الفريق السكروم)، والتي تتماشى مع الأنشطة اليومية في التطوير، وتنظيم أنماط تواصلهم. يعمل هذه الوكلاء بشكل تعاوني باستخدام تفكير سلسلة الأفكار (chain-of-thought) وتكوين الأوامر (prompt composition) مع تحسين ذاتي مستمر، بهدف تحسين جودة الشفرة المولّدة. استخدمنا GPT3.5 كنموذج لغة كبير أساسي، بالإضافة إلى عدة معايير مقارنة (RawGPT وCodeT وReflexion)، لاختبار أداء كتابة الشفرة على أربع مجموعات بيانات معيارية: HumanEval وHumanEval-ET وMBPP وMBPP-ET. أظهرت نتائجنا أن FlowGenScrum يتفوق على النماذج الأخرى، حيث حقق معدل نجاح Pass@1 بلغ 75.2 و65.5 و82.5 و56.7 على التوالي في HumanEval وHumanEval-ET وMBPP وMBPP-ET (بمتوسط تحسن بنسبة 15% مقارنة بـ RawGPT). مقارنةً بتقنيات حديثة أخرى، حقق FlowGenScrum معدل Pass@1 أعلى من CodeT في MBPP، مع تفوق كلا النموذجين على Reflexion. ومن الملاحظ أن دمج CodeT داخل FlowGenScrum أدى إلى تحسينات إحصائية ذات دلالة، حيث حقق أعلى معدلات Pass@1. كما كشف التحليل أن الأنشطة التطويرية أثرت على "رائحة الشفرة" (code smell) ومعالجة الاستثناءات بشكل مختلف، حيث أضافت عمليات التصميم ومراجعة الشفرة المزيد من معالجة الاستثناءات وتقليل رائحة الشفرة. وأخيرًا، تُبقي نماذج FlowGen على مستويات مستقرة من معدل Pass@1 عبر مختلف إصدارات GPT3.5 وقيم درجة الحرارة، مما يبرز فعالية نماذج عمليات البرمجيات في تعزيز جودة وثبات الشفرة المولّدة بواسطة نماذج اللغة الكبيرة.