ليه بتلاقي نتايج محبطة وانت بتستخدم ال AI في شغلك؟ وازاي نصلح ده؟
النقاش حوالين الكود اللي بيكتبه الـAI بقى مستقطَب جدًا. ناس بتقول “٩٠٪ من الكود هيتكتب بالـAI خلال سنة” وناس تانية شايفاه مجرّد “مولِّد كلام” ما يعرفش يشتغل غير في حاجات بسيطة. الحقيقة إن السؤال “هو الـAI يقدر يكتب كود كويس؟” سؤال غلط أصلاً. المفروض نسأل: “أنهي نوع شغل الـAI شاطر فيه وأنهي نوع لازم نتجنّبه؟”. لو فهمنا ده هنقدر نعيد صياغة الشغل بحيث يلعب على نقاط قوّة الـAI ونكسب إنتاجية أعلى.
المساعد الألي الجديد بتاعك
لما الـLLM (Large Language Model) يتقمص دور مهندس برمجيات بيبقى عنده صفات غريبة شوية:
• بيكتب كود بجودة مهندس سينيور مضبوط.
• بس بياخد قرارات تصميم زي جونيور؛ ما بياخدش ويدي من ناحية المتطلبات ولا يقترح حلول بديلة.
• حافظ لغات وتكنولوجيات كتير أوي.
• لكن كأنه أول ساعة ليه في الفريق؛ ما يعرفش كودبيسك، قواعدك، البزنس، إلخ.
• متحمّس يرضيك؛ نادرًا ما يسأل أسئلة توضيحية، وغالبًا يعمل أكتر من المطلوب
• عايش في الحاضر؛ بيحل المشكلة اللي قدامه ومش هيحسّن التصميم من تلقاء نفسه.
مصفوفة القيود-والسياق (Constraint-Context Matrix)
بنقسّم أي تاسك على محورين:
١) مساحة الحل (مفتوحة ولا مقفولة)
٢) السياق المطلوب (ضمني ولا متوفّر).
المساحة المقفولة = حل واحد واضح (زي حذف Feature Flag).
المساحة المفتوحة = “على حسب” وفيها حلول كتير (زي إضافة رفع صور متعدّد).
السياق المتوفّر = الـLLM عنده كل المعلومات اللي محتاجها جوا الـprompt أو يقدر يجيبها بالأدوات.
السياق الضمني = فيه معلومات في دماغك إنت مش في دماغه (قواعد الفريق، مكتبات مفضّلة، إلخ).
كل ما التاسك يكون مقفول حلًّا + السياق موجود صريح، الـAI يبدع. كل ما يكون مفتوح ومبهم، النتيجة تبقى مخيّبة.
إزاي تنقُل الشغل لمنطقة الراحة بتاعة الـAI
١) قلّل مساحة الحل المفتوحة:
– كُن توجيهي أكتر في الـprompt (“عايزين نفصل الاسم الأول والتاني بقاعدة Expand/Contract من غير Downtime”).
– كسّر المشكلة لساب-تاسكات واعمل Chain-of-Vibes؛ إنت تسيطر على القرار العالي وهو يملأ التفاصيل.
٢) زوّد السياق الصريح:
– كبّر الـprompt بمعلومة زيادة (“إحنا بنستخدم Redis كـCache”).
– حُطّ قواعد دائمة في memory/rules بتاعت الأداة (Style Guide، Libs مفضّلة، خطوات CI).
– استخدم الأدوات (Tools) بتاعة الـAgent: بحث في الكود، قراءة docs، الوصول لـDB schema أو Jira tickets إلخ.
– إدّيه Links أو Paths يقرأ منها قبل ما يكتب الكود.
الملخص:
الجدال “الـAI هايسرق شغلنا” vs “الـAI فقاعة” غير مفيد؛ المهم نعرف إمتى وأزاي نستخدمه.
• صفات الـLLM: جودة كود عالية، تصميم ضعيف، ماعندوش سياق المشروع، وعايز يرضيك بسرعة.
• استخدم مصفوفة Constraint-Context لتصنيف أي تاسك:
– مساحة حل مقفولة + سياق صريح = منطقة ذهبية للـAI.
–مساحة حل مفتوحة + سياق ضمني = هيغلط كتير.
• لتحويل التاسك للمنطقة الذهبية:
1) اقفل مساحة الحل: Prompt موجَّه، خطوات تفصيلية
2) اعمل السياق صريح: معلومات أكتر في الـprompt، استعمل memory/rules، دلّه على الكود/الـDocs بالأدوات.
• وفّر Rules ثابتة عن Style, Libs, CI, Observability، عشان كل Session جديدة تبقى onboarded أوتوماتيك.
• خليك في الـLoop للتصميم وخلي الـAI ينفّذ التفاصيل والـBoilerplate. النتيجة: إنتاجية أعلى، أخطاء أقل، إحباط أقل.
المقال الاصلي: https://blog.thepete.net/blog/2025/05/22/why-your-ai-coding-assistant-keeps-doing-it-wrong-and-how-to-fix-it/