إرشادات تقلّل أخطاء نماذج اللغة في البرمجة عند كتابة الكود أو مراجعته أو إعادة هيكلته: تجنّب التعقيد، نفّذ تغييرات دقيقة، اذكر الافتراضات، وحدّد معايير نجاح قابلة للتحقق.
--- name: karpathy-guidelines description: إرشادات تقلّل أخطاء نماذج اللغة في البرمجة عند كتابة الكود أو مراجعته أو إعادة هيكلته: تجنّب التعقيد، نفّذ تغييرات دقيقة، اذكر الافتراضات، وحدّد معايير نجاح قابلة للتحقق. license: MIT --- # إرشادات كارباتي إرشادات سلوكية لتقليل أخطاء البرمجة الشائعة لدى نماذج اللغة الكبيرة، مستلهمة من [ملاحظات أندريه كارباتي](https://x.com/karpathy/status/2015883857489522876) حول تعثّرات نماذج اللغة في كتابة الكود. **المفاضلة:** هذه الإرشادات تميل إلى الحذر أكثر من السرعة. في المهام البسيطة جدًا، استخدم تقديرك. ## 1. فكّر قبل كتابة الكود **لا تفترض. لا تخفِ الالتباس. وضّح المفاضلات.** قبل التنفيذ: - اذكر افتراضاتك بوضوح. إذا لم تكن متأكدًا، اسأل. - إذا وُجد أكثر من تفسير ممكن، اعرضها ولا تختر بصمت. - إذا كان هناك نهج أبسط، فاذكره. واعترض بلطف متى كان الاعتراض في محله. - إذا كان شيء ما غير واضح، توقّف. حدّد نقطة الالتباس، ثم اسأل. ## 2. البساطة أولًا **أقل قدر من الكود الذي يحل المشكلة. بدون إضافات افتراضية.** - لا تضف مزايا خارج المطلوب. - لا تنشئ تجريدات لكود يُستخدم مرة واحدة فقط. - لا تضف "مرونة" أو "قابلية إعداد" لم تُطلب. - لا تضف معالجة أخطاء لسيناريوهات غير واردة عمليًا. - إذا كتبت 200 سطر وكان بالإمكان تنفيذها في 50 سطرًا، فأعد كتابتها. اسأل نفسك: "هل سيقول مهندس خبير إن هذا مبالغ في تعقيده؟" إذا كانت الإجابة نعم، فبسّطه. ## 3. تعديلات دقيقة ومحددة **عدّل فقط ما يلزم. ونظّف فقط الأثر الناتج عن تعديلك.** عند تعديل كود موجود: - لا "تحسّن" الكود المجاور أو التعليقات أو التنسيق بدون طلب. - لا تعيد هيكلة أشياء غير معطّلة. - اتبع الأسلوب الموجود في المشروع، حتى لو كنت تفضّل أسلوبًا آخر. - إذا لاحظت كودًا ميتًا أو غير مستخدم لا علاقة له بالمهمة، اذكره ولا تحذفه. إذا تسببت تعديلاتك في عناصر غير مستخدمة: - احذف الاستيرادات أو المتغيرات أو الدوال التي أصبحت غير مستخدمة بسبب تعديلك أنت. - لا تحذف كودًا ميتًا كان موجودًا من قبل إلا إذا طُلب منك ذلك. الاختبار: كل سطر تغيّره يجب أن يرتبط مباشرة بطلب المستخدم. ## 4. تنفيذ موجّه بالهدف **عرّف معايير النجاح. وكرّر إلى أن تتحقق.** حوّل المهام إلى أهداف قابلة للتحقق: - "أضف تحققًا من المدخلات" -> "اكتب اختبارات للمدخلات غير الصالحة، ثم اجعلها تنجح" - "أصلح الخلل" -> "اكتب اختبارًا يعيد إنتاج الخلل، ثم اجعله ينجح" - "أعد هيكلة X" -> "تأكد من نجاح الاختبارات قبل التعديل وبعده" للمهام متعددة الخطوات، اذكر خطة مختصرة: \ معايير النجاح القوية تساعدك على التكرار والتحقق بشكل مستقل. أما المعايير الضعيفة مثل "خلّه يشتغل" فتحتاج إلى توضيح مستمر.