Kodokon kodokon.com

تصحيح الأخطاء بمساعدة الذكاء الاصطناعي: افهم قبل أن تُصلح

استعمل الذكاء الاصطناعي لتفكيك رسالة الخطأ وبناء منهج تشخيصي، بدل التوسل إليه ليصلح لك ما لن تفهمه.

8 دقيقة · 3 أسئلة

افتح هذا الدرس في Kodokon

حين تصطدم بخطأ برمجي، يكون رد الفعل الغالب هو لصق أثر الاستدعاء (stack trace) في محادثة مع طلب "أصلح هذا". وغالبا ما ينجح ذلك، وهنا بالضبط تكمن المشكلة. فأنت تخرج بإصلاح لم تفهمه قط، وصنف الخطأ الذي ينتمي إليه سيعود بصورة أخرى الشهر المقبل. الخطأ فرصة تعلم نادرة: فهو يكشف فجوة بين نموذجك الذهني وبين السلوك الفعلي للنظام. وطلب الإصلاح يهدر هذه المعلومة. المقاربة الصحيحة: اطلب من الذكاء الاصطناعي أن يشرح رسالة الخطأ وأن يعرض منهجا تشخيصيا، ثم أجرِ التحقيق بنفسك.

PROMPT
أنت مطور خبير تساعدني على التحسن في تصحيح الأخطاء. مهمتك أن تشرح، لا أن تصلح الأمور بدلا مني.

السياق: [اللغة + الإصدار، إطار العمل، ما يُفترض أن يقوم به الكود].
رسالة الخطأ كاملة، بما فيها مكدس الاستدعاءات:
[الصق رسالة الخطأ]
مقتطف الكود ذو الصلة (من 10 إلى 30 سطرا):
[الصق الكود]

مهمتك:
1. اشرح رسالة الخطأ جزءا جزءا: ماذا تقول بالضبط، وماذا لا تقول؟
2. اذكر السببين أو الأسباب الثلاثة الأكثر احتمالا في سياقي أنا، من الأرجح إلى الأقل رجحانا.
3. لكل سبب، اقترح فحصا ملموسا أستطيع إجراءه بنفسي (سجل موجَّه، نقطة توقف، اختبار معزول).

قيد صارم: لا تعطني الإصلاح. إن حددت السبب بيقين، فاكتف بأن تدلني على الموضع الذي يجب أن أنظر فيه.
موجّه: احصل على شرح للخطأ وعلى خطة تشخيصية

لهذا الموجِّه ثلاث خصائص تصنع كل الفرق. أولا، سياق موجز لكنه كامل: الإصدارات، غرض الكود، رسالة الخطأ كاملة، فالذكاء الاصطناعي الذي يخمّن سياقك يهلوس الأسباب. ثانيا، طلب الأسباب مرتبة حسب رجحانها: تتعلم أن تفكر عبر الفرضيات لا اليقينيات. ثالثا، المنع الصريح للإصلاح: من دونه، ينزلق النموذج دائما تقريبا نحو الحل، لأنه دُرِّب على أن يكون مفيدا. وعليك أنت أن تحكم الإطار.

PROMPT
أنت مدرّبي في تصحيح الأخطاء. منهج سقراطي صارم: لا تقدم الجواب أبدا، بل تطرح الأسئلة.

خطئي البرمجي: [العَرَض المُلاحَظ] بينما أتوقع [السلوك المنتظر].
ما تحققت منه بالفعل: [قائمة].

كيفية العمل:
- اطرح عليّ سؤالا واحدا في كل مرة لتساعدني على عزل السبب.
- كل سؤال يجب إما أن يستبعد فرضية أو أن يعزز أخرى.
- حين أجيب، اشرح أي مسار يستبعده جوابي قبل أن تطرح السؤال التالي.
- إن طرحت فرضية، ساعدني على تصميم أسرع اختبار لتأكيدها أو دحضها.

المنع: لا تسمِّ السبب مباشرة أبدا، ولو بدا بديهيا لك.
موجّه: المدرّب السقراطي، للأخطاء التي لا رسالة خطأ واضحة لها

يغطي هذا الموجّه الثاني الحالة الأصعب: الخطأ الصامت، بلا استثناء، حيث يفعل البرنامج ببساطة شيئا غير المتوقع. والمنهج الذي ينبغي أن يجعلك الذكاء الاصطناعي تتمرن عليه هو ذاته الذي يستعمله كل مصحح أخطاء متمرس: أعِد إنتاجه بشكل موثوق، اعزله بتضييق النطاق (تنصيف الكود أو البيانات)، صُغ فرضية قابلة للتفنيد، اختبر تلك الفرضية بأرخص فحص ممكن. هنا يؤدي الذكاء الاصطناعي دور البطة المطاطية التي ترد الكلام، بطة تمنعك من تخطي الخطوات.

اختبار المعرفة

تأكّد من أنك تذكّرت النقاط الأساسية في هذا الدرس.

  1. أمام رسالة خطأ، أي طلب يعظّم تعلمك؟
    • "أصلح هذا الخطأ وأعد لي الكود كاملا"
    • "اشرح هذه الرسالة، رتّب الأسباب المرجحة واقترح فحوصا - بلا إصلاح"
    • "أعد كتابة هذه الوحدة لتكون أكثر متانة"
  2. لماذا يجب أن تمنع الإصلاح صراحة في الموجّه؟
    • لأن الذكاء الاصطناعي يتقاضى أكثر مقابل الإصلاحات
    • لأن النموذج، المدرَّب على أن يكون مفيدا، ينزلق تلقائيا نحو الحل
    • لأن الذكاء الاصطناعي عاجز عن كتابة إصلاح صحيح
    • لأن الإصلاحات المولَّدة خاطئة دائما
  3. يقترح الذكاء الاصطناعي سببا مرجحا لخطئك. ماذا تفعل؟
    • تطبّق التغيير المقترح مباشرة
    • تطلب سببا ثانيا لتقارن
    • تتحقق من الفرضية بنفسك بسجل أو نقطة توقف أو اختبار معزول