تخطَّ إلى المحتوى

أوامر للبرمجة: الذكاء الاصطناعي كمساعد مبرمج

الدرس 4 من 7 · هندسة الأوامر

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

ضعيف
اشرح هذا الكود.
قوي
أنا مبتدئ في Python وأتعلم منذ شهر، وأعرف المتغيرات والحلقات والدوال.
اشرح لي هذا الكود سطراً سطراً بلغة بسيطة،
ثم أخبرني ما الذي سيطبعه إذا كانت القائمة [3, 1, 2].
```python
def mystery(nums):
result = []
for n in nums:
if n % 2 == 1:
result.append(n * 10)
return result
```

لاحظ أننا أخبرناه بما نعرفه، فلن يشرح أساسيات نفهمها، ولن يستخدم مفاهيم لم ندرسها. وطلبنا مثالاً بقيم محددة، وهذا يرسّخ الفهم أكثر من الشرح النظري.

هذا أكثر استخدام شائع، وأكثر مكان تُكتب فيه أوامر ضعيفة:

ضعيف
الكود مش شغال، صلحه.

الأداة لا ترى شاشتك! تحتاج أربعة أشياء:

قوي
أكتب برنامج Python يحسب متوسط درجات.
عندما أشغّله تظهر رسالة الخطأ التالية:
TypeError: unsupported operand type(s) for +: 'int' and 'str'
هذا هو الكود:
```python
scores = ["90", "85", "70"]
total = 0
for s in scores:
total = total + s
print(total / len(scores))
```
كنت أتوقع أن يطبع 81.66.
لا تعطني الحل مباشرة: اشرح لي سبب الخطأ، وأعطني تلميحاً لأصلحه بنفسي.

العناصر الأربعة لأي طلب إصلاح:

  1. ماذا تحاول أن تفعل؟ (حساب المتوسط).
  2. رسالة الخطأ كاملة كما هي، بنسخها لا بإعادة كتابتها من ذاكرتك.
  3. الكود المتعلق بالخطأ.
  4. ماذا توقعت أن يحدث، وماذا حدث فعلاً.

والجملة الأخيرة اختيارية لكنها ذهبية للتعلّم: طلبنا تلميحاً لا حلاً جاهزاً. (السبب هنا أن الدرجات نصوص وليست أرقاماً، والحل تحويلها بـ int(). لكن اكتشاف ذلك بنفسك أنفع لك من قراءته.)

3. كتابة كود بمواصفات واضحة

Section titled “3. كتابة كود بمواصفات واضحة”
ضعيف
اكتب لعبة.
قوي
اكتب برنامج Python بسيطاً لمبتدئ: لعبة تخمين رقم.
المواصفات:
- البرنامج يختار رقماً عشوائياً من 1 إلى 50.
- يطلب من اللاعب التخمين، ويقول له "أكبر" أو "أصغر".
- اللاعب له 7 محاولات فقط.
- إذا كتب اللاعب شيئاً ليس رقماً، يطلب منه إعادة الإدخال دون أن يتوقف البرنامج.
القيود:
- استخدم فقط: المتغيرات، و while، و if، و input، و random.
- أضف تعليقات قصيرة بالعربية تشرح كل جزء.

المواصفات الواضحة مثل مخطط البيت الذي تعطيه للمهندس: كلما كان أدق، جاء البيت كما تريد. والقيد «استخدم فقط ما درسته» يضمن أن الكود الذي تحصل عليه تستطيع فهمه وتعديله.

بعد أن تكتب كوداً يعمل، اطلب مراجعته لتتعلم كيف يكتبه المحترفون:

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

طلبنا تحسيناً أو اثنين فقط، لأن عشرين ملاحظة دفعة واحدة تربك المبتدئ ولا يتذكر منها شيئاً.

5. التعلّم بالأمثلة والتمارين

Section titled “5. التعلّم بالأمثلة والتمارين”
الأمر
تعلمت اليوم القواميس (Dictionaries) في Python.
أعطني 3 تمارين متدرجة الصعوبة لأتدرب عليها، بدون حلول.
عندما أرسل لك حلي، صححه واشرح أخطائي.

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

الكود الذي تكتبه أدوات الذكاء الاصطناعي يبدو صحيحاً دائماً، لكنه ليس كذلك دائماً:

  • قد لا يعمل أصلاً: قد يستخدم دالة غير موجودة، أو صيغة من إصدار قديم من المكتبة.
  • قد يعمل بشكل خاطئ: يعطي نتيجة في الحالات العادية، ويفشل في الحالات الحدية مثل القائمة الفارغة.
  • قد يكون غير آمن: خاصة في برامج المواقع وقواعد البيانات وكلمات المرور.
  1. خذ أي برنامج كتبته في كورس سابق في هذا الموقع، واطلب مراجعته بالأمر في القسم 4.
  2. اكتب برنامجاً فيه خطأ عن قصد، ثم اطلب المساعدة بالعناصر الأربعة، واطلب تلميحاً فقط. هل استطعت الإصلاح بنفسك؟
  3. اطلب 3 تمارين على آخر موضوع تعلمته، وحلها، وأرسل حلولك للتصحيح.
  • إرسال «صلحه» بدون رسالة الخطأ والكود: الأداة ستخمّن، والتخمين غالباً خاطئ.
  • نسخ الحل دون فهم: ستحتاج نفس المهارة غداً، ولن تجدها.
  • الثقة العمياء في الكود المولّد: جرّبه دائماً، فقد يعمل اليوم ويفشل مع أول حالة غير متوقعة.

سؤال

ما أهم شيء يجب إرساله مع الكود عند طلب المساعدة في خطأ؟

سؤال

أدخلت أداة ذكاء اصطناعي كوداً طويلاً لا تفهمه لكنه يعمل. ما التصرف الأفضل؟

  • اشرح مستواك وما تعرفه عند طلب شرح الكود، واطلب مثالاً بقيم محددة.
  • طلب الإصلاح يحتاج: الهدف، ورسالة الخطأ كاملة، والكود، والنتيجة المتوقعة.
  • اكتب مواصفات وقيوداً واضحة عند طلب كود جديد، مثل «استخدم ما درسته فقط».
  • استخدم الأداة للمراجعة والتمارين والتلميحات لتتعلم، لا لتنسخ.
  • لا تستخدم كوداً لا تفهمه، وجرّبه دائماً، ولا تشارك أسراراً أو بيانات حساسة.