ملخص
1 مقدمة
2 جمع البيانات
3 سؤال البحث 1: ما أنواع استفسارات هندسة البرمجيات التي يقدمها المطورون إلى ChatGPT في المطالبة الأولية؟
4 سؤال البحث 2: كيف يقدم المطورون استفساراتهم إلى ChatGPT في المحادثات متعددة الجولات؟
5 سؤال البحث 3: ما هي خصائص سلوك المشاركة؟
6 مناقشات
7 تهديدات للصلاحية
8 الأعمال ذات الصلة
9 الخاتمة والعمل المستقبلي
المراجع
\
==الدافع:== تكشف النتائج المعروضة في الشكل 3 والشكل 4 أن جزءًا كبيرًا في DevGPT-PRs (33.2٪) و DevGPT-Issues (26.9٪) يشمل محادثات متعددة الجولات. في المحادثات أحادية الجولة، يطرح المطورون استفسارًا متعلقًا بهندسة البرمجيات في المطالبة الأولية ويتلقون ردًا واحدًا من ChatGPT، مما يوفر تبادلًا واضحًا ومباشرًا. ومع ذلك، فإن ديناميكيات المحادثات متعددة الجولات تدخل التعقيد. تمتد هذه التفاعلات إلى ما هو أبعد من الاستعلام والاستجابة البسيطة، وتتضمن سلسلة من التبادلات التي يمكن أن تصقل أو توسع أو توضح الاستفسار الأولي.
\ يثير هذا التواصل المتعدد الطبقات سؤالاً حول استراتيجيات المطورين لصياغة استفساراتهم عبر جولات متعددة. لذلك، نقدم سؤال البحث 2، الذي يدرس طبيعة مطالبات المطورين في المحادثات متعددة الجولات. لتسهيل التحليل الشامل، نقدم أيضًا سؤالين فرعيين:
– سؤال البحث 2.1: ما هي أدوار مطالبات المطور في المحادثات متعددة الجولات؟ يهدف هذا السؤال إلى تصنيف الدور الهيكلي لكل مطالبة في المحادثة متعددة الجولات المقابلة.
– سؤال البحث 2.2: ما هي أنماط التدفق في المحادثات متعددة الجولات؟ بناءً على التصنيف المقترح كإجابة على سؤال البحث 2.1، يستكشف هذا السؤال نمط الانتقال المتكرر لتلك الأدوار المحددة للمطالبات في المحادثات متعددة الجولات. ستوفر الإجابات على الأسئلة الفرعية المذكورة أعلاه رؤى للباحثين حول ديناميكيات وممارسات المطورين في استخدام ChatGPT عبر جولات متعددة من التفاعلات.
\ 4.1 النهج
في سؤال البحث 2.1، نأخذ في الاعتبار المطالبات في جميع المحادثات متعددة الجولات البالغ عددها 189، أي 64 محادثة من DevGPT-PRs و 125 من DevGPT-Issues. باتباع طريقة مماثلة لسؤال البحث 1، استخدمنا الترميز المفتوح لتصنيف 645 مطالبة يدويًا (236 مطالبة من DevGPT-PRs و 409 مطالبات من DevGPT-Issues) في محادثات متعددة الجولات على مدار ثلاث جولات:
– في الجولة الأولى، قام خمسة مؤلفين مشاركين بشكل مستقل بتصنيف 20 محادثة مختارة عشوائيًا من مجموعتي بيانات DevGPT-PRs و DevGPT-Issues متعددة الجولات، شاملة 40 محادثة و 123 مطالبة. بعد المناقشة، طورنا كتاب ترميز يتكون من سبعة تصنيفات متميزة.
– في الجولة الثانية، استنادًا إلى كتاب الترميز الحالي، قام مصنفان مستقلان بتصنيف مجموعة أخرى من 20 محادثة من كل من مجموعات بيانات DevGPT-PRs و DevGPT-Issues متعددة الجولات، بإجمالي 144 مطالبة. حقق المصنفان درجة اتفاق بين المقيمين بلغت 0.89، كما تم قياسها بواسطة معامل كوهين كابا، مما يمثل اتفاقًا شبه مثالي (لانديس وكوخ، 1977). ثم ناقش المصنفان وصقلا كتاب الترميز.
\ – أخيرًا، قام كل من المصنفين من الجولة الثانية بشكل مستقل بتصنيف البيانات المتبقية. في سؤال البحث 2.2، نستخدم نموذج ماركوف (Gagniuc، 2017) لتحليل أنماط تدفق المحادثة من خلال رسم رسم بياني انتقالي لماركوف. رسم ماركوف الانتقالي هو رسم بياني موجه يوضح الانتقالات الاحتمالية
بين مختلف الحالات أو العقد. في حالتنا، تمثل كل عقدة في الرسم البياني فئة محددة تم تطويرها في سؤال البحث 2.1، وتشير الحواف الموجهة بين العقد إلى احتمالية الانتقال من تصنيف إلى آخر بناءً على المحادثات متعددة الجولات التي جمعناها. لاستخراج رؤى ذات مغزى من الرسم البياني الانتقالي لماركوف، نقترح خطوات المعالجة اللاحقة التالية:
قمنا بتقليم الرسم البياني عن طريق إزالة الانتقالات ذات الاحتمالات الأقل من 0.05، مما يضمن التركيز على العلاقات ذات الدلالة الإحصائية.
قمنا بتنقيح بنية الرسم البياني عن طريق إزالة العقد بدون حواف واردة وصادرة، باستثناء عقد البداية والنهاية. تضمن هذه الخطوة التبسيط حيث نحتفظ فقط بالمكونات الأساسية.
قمنا بإعادة تنظيم الرسم البياني الانتقالي لماركوف بشكل منهجي إلى مخطط تدفق لتعزيز قابلية تفسيره، مما يوفر تمثيلاً أسهل للفهم لأنماط التدفق.
\ 4.2 النتائج
4.2.1 سؤال البحث 2.1 ما هي أدوار مطالبات المطور في المحادثات متعددة الجولات؟ يقدم الجدول 4 التصنيف المقترح لتصنيف المطالبات ضمن المحادثات متعددة الجولات. يكشف تحليلنا أنه في كل من طلبات السحب والمشكلات، تحتوي المحادثات متعددة الجولات على ثلاثة أنواع رئيسية من المطالبات: تلك التي تطرح أسئلة متابعة (M1)، وتلك التي تقدم المهمة الأولية (M2)، وتلك التي تم تنقيحها من مطالبة سابقة (M3). تم تصنيف مطالبة واحدة من DevGPT-PRs وست مطالبات من DevGPT-Issues تحت "الآخرين" بسبب طبيعتها كونها إما محادثة عادية أو تفتقر إلى تفاصيل كافية لتحديد أدوارها.
\ فيما يلي، نصف كل فئة بمزيد من التفصيل.
==(M1) المتابعة التكرارية:== في 33٪ و 40٪ من المطالبات في DevGPT-PRs و DevGPT-Issues متعددة الجولات، ينشر المطورون استعلامات تبنى مباشرة على ردود ChatGPT السابقة أو السياق الجاري، مثل تصحيح الأخطاء وإصلاح الحل بعد إنشاء الكود بواسطة ChatGPT. عادة ما تظهر مثل هذه المتابعات التكرارية عندما تقدم المهمة الأولية تحديًا معقدًا قد لا يتمكن ChatGPT من حله بالكامل في تفاعل واحد. ونتيجة لذلك، ينخرط المطورون في مطالبة تحدد طلب متابعة، مما يمكّن ChatGPT من دمج التعليقات البشرية وتحسين الحل المقترح بشكل تكراري.
\ ==(M2) الكشف عن المهمة الأولية:== نجد أن نسبة مماثلة، أي 26٪ في DevGPT-PRs متعددة الجولات و 29٪ في DevGPT-Issues متعددة الجولات، من المطالبات تخدم لتقديم المهمة الأولية إلى ChatGPT. يسلط هذا التوزيع الضوء على أنه في المحادثات متعددة الجولات، على عكس المحادثات أحادية الجولة، حيث تكون المطالبة الوحيدة مخصصة لتحديد المهمة الأساسية، هناك كمية كبيرة من المطالبات التي تخدم أغراضًا أخرى.
\ ==(M3) تنقيح المطالبة:== بالإضافة إلى المتابعة التكرارية (M1)، يميل المطورون أيضًا إلى تحسين الحل المقترح من قبل ChatGPT من خلال تقديم مطالبة طلب منقحة مع سياق أو قيود إضافية. الهدف هو تعزيز جودة الاستجابة لنفس الاستعلام المنشور في المطالبة السابقة. تمثل المطالبات المنقحة 17٪ من المطالبات في DevGPT-PRs متعددة الجولات و 14٪ في DevGPT-Issues.
\ ==(M4) تقديم المعلومات:== في 8٪ و 6٪ من المطالبات في DevGPT-PRs و DevGPT-Issues متعددة الجولات، لا ينشر المطورون أي طلب لـ ChatGPT، بل يشاركون المعرفة أو السياق مع ChatGPT.
\ ==(M5) الكشف عن مهمة جديدة== نلاحظ أن 7٪ و 4٪ من المطالبات في DevGPT-PRs و DevGPT-Issues متعددة الجولات تنشر مهمة جديدة إلى ChatGPT، وهي مختلفة عن المهمة (المهام)


