كيف أستخدم الذكاء الاصطناعي لإطلاق الكود

توقف عن محاولة كتابة مطالبات (prompts) ذكية. ابدأ بهندسة السياق.

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

الذكاء الاصطناعي بدون سياق هو مطور مبتدئ لم يقرأ قاعدة الكود (codebase) الخاصة بك قط. إنه ينسى كل شيء من الأمس. لن تعطي موظفًا جديدًا تذكرة (ticket) من سطر واحد وتتوقع كودًا مثاليًا، بل ستعطيه وثيقة تعريفية (onboarding document).

أستخدم ملف ذاكرة للمشروع في مستودعي (repo). يعمل هذا الملف كوثيقة تعريفية يقرأها الذكاء الاصطناعي في كل مرة. يحتوي الملف على قواعد خاصة بالمشروع لا يعرفها الغريب:

• أمور غير قابلة للتفاوض: كيف يجب أن تبدو الروابط (URLs) وكيف يجب أن تتطابق الروابط النصية (slugs) مع بيئة الإنتاج (production). • قواعد المنطق: اشتقاق القيم من الإعدادات (configs) بدلاً من كتابة الأرقام بشكل ثابت (hardcoding). • الحالات الاستثنائية (Edge cases): إعدادات CDN محددة أو مسارات ملفات تمنع حدوث أعطال صامتة.

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

يتبع سير عملي هذه الخطوات:

  • تهيئة السياق (Bootstrap): اطلب من الذكاء الاصطناعي مسودة لملف الذاكرة من الكود الخاص بك، ثم قم بتعديله.
  • إعادة صياغة المهمة: اطلب من الذكاء الاصطناعي تلخيص الهدف قبل كتابة الكود. هذا يساعد في اكتشاف الأخطاء مبكرًا.
  • تحسين المطالبة: اسأل الذكاء الاصطناعي عن الأمور الغامضة في طلبك.

استخدم الذكاء الاصطناعي لهذه المهام:

  • كتابة الكود النمطي (boilerplate) والهياكل الأساسية (scaffolding).
  • عمليات إعادة الهيكلة (refactors) التي تتبع أنماطًا معينة.
  • شرح الكود غير المألوف.
  • عمليات المسح الآلية عبر المستودع (repo).
  • كتابة الاختبارات والبيانات التجريبية (fixtures).

تجنب استخدام الذكاء الاصطناعي لهذه المهام:

  • اتخاذ قرارات معمارية (architecture) مبتكرة.
  • اتخاذ قرارات تتعلق بالذوق أو المنتج.
  • أي شيء يكون فيه الخطأ مكلفًا.
  • التصميمات الحساسة أمنيًا.
  • المراجعة النهائية قبل الإطلاق.

الانضباط بسيط:

  • حدد نطاق المهام بدقة. لا تقل "ابنِ هذه الميزة"، بل قل "قم بإجراء هذا التغيير المحدد".
  • قدم السياق مسبقًا.
  • تحقق من كل مخرج. قم بتشغيل عملية البناء (build) واقرأ الفرق (diff).
  • راجعه كما لو كان طلب سحب (PR) من مطور مبتدئ. لا تقم أبدًا باعتماد (commit) الكود دون أن يقرأه بشر.
  • أضف الدروس المستفادة إلى ملف السياق الخاص بك.

الميزة الحقيقية ليست في المطالبة (prompt)، بل في السياق الذي تحافظ عليه.

المصدر: https://dev.to/faizahmedfarooqui/how-i-actually-use-ai-to-ship-code-context-engineering-over-clever-prompts-il8

مجتمع تعليمي اختياري: https://t.me/GyaanSetuAi