Philosophical Dispositions as Behavioral Constraints for AI-Assisted Code Review: An Empirical Study
تقدم هذه الدراسة التجريبية نظاماً جديداً لمراجعة الكود بمساعدة الذكاء الاصطناعي يوظف توجهات فلسفية متميزة كقيود سلوكية لتوليد نتائج متنوعة ومركزة بنيوياً، مما أظهر تقارباً أعلى بكثير مع المراجعين البشريين ومعدلات اكتشاف مشكلات فريدة مقارنة بالتحفيز الخبير العام عبر لغات ومؤسسات متعددة.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل أنك تقوم بتوظيف فريق من المساعدين الذكيين لمراجعة الكود (التعليمات التي تخبر الحواسيب بما يجب فعله). عادةً، عندما نطلب من الذكاء الاصطناعي القيام بذلك، نقول له: "كن مراجعاً خبيراً جيداً". المشكلة هي أن الذكاء الاصطناعي يتصرف فقط كشخص عام ومهذب يتحقق من الأخطاء المطبعية الواضحة والفاصلة المنقوطة المفقودة. الأمر يشبه توظيف حارس أمن يكتفي فقط بالتحقق مما إذا كان الباب الأمامي مغلقاً، لكنه لا ينظر أبداً إلى النوافذ، أو القبو، أو مخرج الطوارئ.
تقترح هذه الورقة طريقة مختلفة لتدريب مراجعي الذكاء الاصطناعي هؤلاء. فبدلاً من إعطائهم وصفاً وظيفياً عاماً، يمنحهم المؤلف شخصية قائمة على تقاليد فلسفية قديمة. فكر في الأمر ليس كتوظيف "حارس أمن"، بل توظيف نوع محدد من الشخصيات ذات طريقة فريدة في رؤية العالم.
إليك التفصيل البسيط لكيفية عمل ذلك وما وجدوه:
1. الفكرة الجوهرية: منح الذكاء الاصطناعي "شخصية"
يجادل المؤلف بأنه إذا كنت تريد للذكاء الاصطناعي أن يكون متسقاً وذكياً، فلا ينبغي أن تكتفي بإعطائه قائمة من القواعد (التي تنهار عندما تصبح الأمور غريبة). بدلاً من ذلك، يجب أن تمنحه عدسة فلسفية.
يستخدم النظام أربع "شخصيات" محددة (تسمى الطبائع) للنظر إلى نفس الكود من أربع زوايا مختلفة:
- الكلبي (كاشف الفراغ): سُمي تيمناً بـ ديوجين. يسأل هذا الذكاء الاصطناعي: "هل هذا ضروري حقاً؟ هل يمكننا مجرد حذفه؟" إنه يبحث عن الكود المتضخم، أو المزيف، أو الذي لا يستحق وجوده.
- الشكاك (متحقق الثقة): سُمي تيمناً بالشكوكية البيرونية. يسأل هذا الذكاء الاصطناني: "كيف نعرف أن هذا يعمل؟ أين الدليل؟" إنه يبحث عن الافتراضات التي لم يتم اختبارها.
- مدقق المنطق (قاطع السلسلة): سُمي تيمناً بمدرسة "نيايا" (مدرسة هندية في المنطق). يسأل هذا الذكاء الاصطناعي: "إذا غيرت هذا الشيء الواحد، هل ستنهار سلسلة الاستنتاج بأكملها؟" إنه يتتبع السبب والنتيجة للعثور على الانكسارات الخفية.
- العلائقي (مدقق المسميات): سُمي تيمناً بالكونفوشيوسية. يسأل هذا الذكاء الاصطناسي: "هل تتطابق الأسماء مع الواقع؟ إذا سمينا هذا 'تفاحة'، فهل هو في الواقع 'برتقالة'؟" إنه يتحقق مما إذا كانت الملصقات التي نضعها على الأشياء تطابق ما تفعله حقاً.
2. كيف اختبروا ذلك
أخذ المؤلف 50 تحديثاً حقيقياً للكود (تسمى طلبات السحب - Pull Requests) من شركات مختلفة ومشاريع مفتوحة المصدر. وقام بتشغيل الكود عبر اختبارين:
- الاختبار العام: ذكاء اصطناعي طُلب منه أن "يكون مراجعاً خبيراً".
- الاختبار الفلسفي: نفس الذكاء الاصطناعي، ولكن مع إجباره على استخدام العدسات الفلسفية الأربع المذكورة أعلاه.
ثم قارنوا نتائج الذكاء الاصطناعي بما قاله المراجعون البشر فعلياً عند الموافقة على الكود.
3. النتائج: ماذا حدث؟
كانت النتائج مفاجئة وأظهرت أن نهج "الشخصية" يعمل بشكل مختلف عن الذكاء الاصطناعي القياسي:
- وجد أشياءً فات المراجعين البشر: وجد الذكاء الاصطناعي الفلسفي 75% من المشكلات التي لم يلاحظها أي مراجع بشري. لم تكن مجرد أخطاء مطبعية؛ بل كانت مشكلات هيكلية عميقة، مثل "إذا أعدنا تسمية هذا الخادم، فستنقطع الاتصالات القديمة" أو "هذا المنطق يعمل فقط إذا كان الإنترنت سريعاً".
- وجد أشياءً فات الذكاء الاصطناعي "العام": عند مقارنته بالذكاء الاصطناعي العام، وجد الذكاء الاصطناعي الفلسفي 51% أكثر من المشكلات الفريدة. كان الذكاء الاصطناعي العام عالقاً في البحث عن الأخطاء السطحية، بينما كان الذكاء الاصطناعي الفلسفي ينظر إلى المنطق والهيكل.
- لم يبتدع مشكلات من العدم: تحقق المؤلف من كل نتيجة ووجد صفر إنذارات كاذبة. لم يخترع الذكاء الاصطناعي مشكلات غير موجودة.
- يعمل كشبكة أمان: وجدت الدراسة أنه كلما كانت المراجعة البشرية أكثر دقة، قلّت القيمة "الفريدة" التي يضيفها الذكاء الاصطناعي. ولكن في الكود الذي مر عليه البشر مرور الكرام، كان الذكاء الاصطناعي منقذاً، حيث التقط مشكلات عميقة تخطاها البشر المشغولون.
4. خدعة "التصحيح الذاتي"
جزء ذكي من النظام هو أن لكل شخصية "نقطة ضعف" داخلية (تسمى هامارتيا أو الهفوة).
- على سبيل المثال، الكلبي بارع في حذف الأشياء، لكن نقطة ضعفه هي حذف الكثير جداً مما يؤدي لتعطل الكود.
- يخبر النظام الذكاء الاصطناعي: "إذا بدأت في إيجاد الكثير من المشكلات، فتوقف واسأل نفسك: 'هل أنا مفيد أم أنني أقوم بالتدمير فقط؟'".
- يعمل هذا كفحص ذاتي، مما يمنع الذكاء الاصطناعي من الجنون وتصنيف كل شيء على أنه مشكلة.
5. الخلاصة
خلصت الورقة إلى أن منح الذكاء الاصطناعي "شخصية" قائمة على الحكمة العميقة والقديمة أفضل من إعطائه مجرد مسمى وظيفي عام.
- الذكاء الاصطناعي العام = قائمة مراجعة. يتحقق من المربعات لكنه يفتقد الصورة الكبيرة.
- الذكاء الاصطناعي الفلسفي = فريق من المتخصصين. أحدهم يبحث عن الهدر، وآخر عن المنطق الضعيف، وثالث عن الادعاءات غير المثبتة، ورابع عن المسميات غير المتطابقة.
يقترح المؤلف أنه في المستقبل، لا ينبغي لنا فقط أن نطلب من الذكاء الاصطناعي "مراجعة الكود". بل يجب أن نطلب منه "مراجعة الكود ككلبي، وشكاك، ومدقق منطق"، لأن ذلك يجبر الذكاء الاصطناعي على النظر إلى المشكلة بطرق غالباً ما ينسى البشر القيام بها.
ملاحظة هاسية: يعترف المؤلف بأنه على الرغم من أن النتائج تبدو رائعة، إلا أنها تم التحقق منها من قبله هو في الغالب. هم بحاجة إلى المزيد من المراجعين المستقلين لتأكيد النتائج، لكن البيانات الأولية تشير إلى أن نهج "الشخصية" هذا هو أداة قوية جديدة لسلامة البرمجيات.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.