تخيل أنك تريد بناء تطبيق جديد.
في الماضي، كنت تفتح محرر الأكواد، تختار الـframework، تبدأ بكتابة الملفات، ثم تدخل في ساعات من الـdebugging والتعديلات.
اليوم، يمكنك أن تبدأ بجملة واحدة:
أريد تطبيقًا لإدارة المصروفات، مع تسجيل دخول، لوحة تحكم، ورسوم توضح الإنفاق الشهري.
ثم تترك الذكاء الاصطناعي يبدأ العمل.
يكتب الكود.
ينشئ الملفات.
يشغل المشروع.
يكتشف الأخطاء.
ويعدل ما كتبه.
وأنت؟
بدلًا من كتابة كل سطر بنفسك، أصبحت تصف ما تريد وتراجع ما تم بناؤه.
هذا هو جوهر Vibe Coding.
لكن هنا يظهر السؤال الذي يستحق أن نتوقف عنده:
إذا كان الذكاء الاصطناعي يستطيع كتابة الكود... فما الذي أصبح دور المبرمج؟
📌 احفظ المقال من البداية، لأننا لن نتحدث فقط عن طريقة جديدة لكتابة الكود، بل عن التغيير الذي يحدث في طريقة بناء البرمجيات نفسها.
والسؤال الأهم في النهاية لن يكون: هل يستطيع AI كتابة الكود؟
بل:
هل تستطيع أنت معرفة ماذا يجب أن يبني، ولماذا، وهل ما بناه يستحق أن تثق به؟
ما هو Vibe Coding فعلًا؟
مصطلح Vibe Coding قد يبدو وكأنه طريقة جديدة للبرمجة، لكنه في الحقيقة يصف تغييرًا أكبر في طريقة بناء البرنامج نفسها.
في البرمجة التقليدية، أنت تفكر في الحل ثم تحوله إلى كود.
تقرر الـArchitecture.
تختار الـLibraries.
تكتب الـFunctions.
تتعامل مع الأخطاء.
وتختبر كل جزء.
أما في Vibe Coding، فأنت تبدأ من مكان مختلف:
تصف ما تريد أن تبنيه، ثم تجعل الذكاء الاصطناعي يتولى جزءًا كبيرًا من تحويل الوصف إلى كود.
قد تبدأ مثلًا بـ:
أريد صفحة تسجيل دخول بسيطة، متجاوبة مع الهاتف، وتستخدم البريد الإلكتروني وكلمة المرور.
ينشئ الذكاء الاصطناعي الكود.
تشغله.
تلاحظ أن التصميم لا يعجبك.
فتقول:
اجعل التصميم أبسط، وأضف رسالة واضحة عند إدخال بيانات خاطئة.
فيعدل الكود.
ثم تكتشف مشكلة أخرى.
فتطلب إصلاحها.
ثم تضيف Feature جديدة.
وهكذا تبدأ دورة مختلفة تمامًا عن الطريقة التي اعتاد عليها المبرمجون.
الفرق الحقيقي ليس أن AI يكتب الكود
وهنا توجد نقطة مهمة جدًا.
الذكاء الاصطناعي كان يستطيع كتابة الكود منذ فترة.
إذًا لماذا أصبح Vibe Coding موضوعًا مختلفًا؟
لأن الفكرة ليست:
"AI يساعدني في كتابة الكود."
بل:
"أنا أتعامل مع AI باعتباره الشخص الذي ينفذ معظم عملية البرمجة، وأنا أوجهه وأراجع النتيجة."
وهذا فرق جوهري.
في الحالة الأولى، أنت ما زلت المبرمج الأساسي، والذكاء الاصطناعي يساعدك.
في الحالة الثانية، أنت تتحول أكثر إلى الشخص الذي يحدد المطلوب، يختبر النتيجة، ويقرر ما يجب تغييره.
🤯
و Vibe Coding لا يسرّع كتابة الكود فقط... بل يغيّر ما يعنيه أن تكون مبرمجًا.
وهنا تبدأ الصورة الأكبر في الظهور.
لأنك عندما تقلل الوقت الذي تقضيه في كتابة الكود، ستجد أن وقتك ينتقل إلى أشياء أخرى:
التفكير في المنتج.
تحديد ما يجب بناؤه.
اختبار ما تم بناؤه.
اكتشاف ما هو خطأ.
وتحديد ما يجب تغييره.
وهذا هو السبب في أن Vibe Coding ليس مجرد طريقة أسرع لكتابة الـCode.
إنه محاولة لتغيير من يقوم بكل خطوة في عملية بناء البرمجيات.
والسؤال الآن ليس هل يستطيع الذكاء الاصطناعي كتابة تطبيق...
فهذا أصبح واضحًا.
السؤال الأصعب:
ماذا يحدث عندما يبدأ التطبيق في العمل، لكنك لا تعرف بالضبط كيف بُني؟
من كتابة الكود إلى وصف ما تريد
لفهم Vibe Coding بشكل أفضل، قارن بين الطريقة التي كان المبرمج يعمل بها والطريقة التي يمكن أن يعمل بها اليوم.
في البرمجة التقليدية، تبدأ بفكرة:
أريد نظامًا لإدارة المصروفات.
لكن هذه الفكرة وحدها لا تكفي.
عليك تحويلها إلى متطلبات، ثم اختيار التقنيات المناسبة، ثم تصميم قاعدة البيانات، ثم بناء الواجهة، ثم كتابة الـAPI، ثم ربط الأجزاء ببعضها، ثم اختبار النظام وإصلاح الأخطاء.
كل خطوة تحتاج إلى قرارات تقنية.
أما مع Vibe Coding، فيمكن أن تبدأ من نفس الفكرة، لكن بدلًا من تحويلها بنفسك إلى مئات التفاصيل البرمجية، تصف للذكاء الاصطناعي ما الذي تريد أن يفعله المنتج.
ثم يبدأ هو بتحويل هذا الوصف إلى implementation.
البرمجة التقليدية
الفكرة ← المتطلبات ← المعمارية ← كتابة الكود ← تصحيح الأخطاء ← اختبار النظام ← النشر

البرمجة التقليدية
الـ Vibe Coding
الفكرة ← وصف المطلوب ← AI يبني ← تشغيل وتجربة ← ملاحظات ← AI يعدّل ← اختبار ومراجعة

لاحظ الفرق.
في الطريقة الأولى، الكود هو الوسيط الأساسي بين فكرتك والمنتج.
في الثانية، يصبح الوصف والتجربة والمراجعة جزءًا أكبر من العملية، بينما يتولى الذكاء الاصطناعي جزءًا كبيرًا من تحويل الفكرة إلى كود.
وهنا تظهر إحدى أهم التحولات في Vibe Coding:
لم يعد عليك دائمًا أن تعرف كيف تكتب كل شيء... لكن عليك أن تعرف كيف تحدد ما يجب أن يكون موجودًا.
وهذا لا يعني أن المعرفة التقنية أصبحت بلا قيمة.
العكس تمامًا.
كلما أصبح إنتاج الكود أسهل، أصبحت القدرة على تقييمه وفهم تبعاته أكثر أهمية.
لأنك في النهاية لن تسأل فقط:
هل التطبيق يعمل؟
بل ستحتاج أن تسأل:
هل بُني بالطريقة الصحيحة؟
عندما يصبح الكود مجرد وسيلة
هناك شيء مهم يحدث هنا.
في البرمجة التقليدية، كثير من الوقت يذهب إلى تحويل الفكرة إلى تعليمات يفهمها الكمبيوتر.
أنت تعرف ما تريد بناءه، لكن عليك أن تترجم هذه الفكرة بنفسك إلى:
Functions، Components، APIs، Database Queries، State Management، وغيرها.
وهذا الجزء هو الذي يجعل تعلم البرمجة يستغرق وقتًا طويلًا.
لكن Vibe Coding يحاول تقليل هذه المسافة.
بدلًا من أن تكون مهمتك الأساسية:
كيف أكتب هذا الكود؟
تصبح:
ما الذي أريد أن يحدث؟
وهذا تغيير صغير في الكلمات، لكنه كبير جدًا في طريقة التفكير.
تخيل أنك تريد إضافة ميزة البحث إلى تطبيق.
المبرمج التقليدي قد يبدأ بالتفكير:
ما هي الـEndpoint؟
كيف سأتعامل مع الـState؟
هل أستخدم Debouncing؟
كيف سأكتب الـQuery؟
كيف سأتعامل مع Pagination؟
كيف سأعرض Loading State؟
كيف سأتعامل مع الأخطاء؟
أما في Vibe Coding، يمكن أن تبدأ من مستوى أعلى:
أضف بحثًا سريعًا للمنتجات، مع نتائج فورية، وحالة تحميل، ورسالة واضحة عندما لا توجد نتائج.
الذكاء الاصطناعي يحاول تحويل هذا الوصف إلى التفاصيل التقنية.
وهنا تصبح قيمة المبرمج مرتبطة بشكل أكبر بقدرته على معرفة التفاصيل التي يجب أن توجد أصلًا.
💡
عندما تصبح كتابة الكود أرخص، تصبح معرفة ما يجب أن تكتبه أهم من معرفة كيف تكتبه.
لكن هنا يوجد فخ كبير.
لأنك إذا لم تكن تعرف ما الذي تبحث عنه...
فلن تعرف أيضًا ما إذا كان الذكاء الاصطناعي اختار الحل الصحيح.
قد يعطيك كودًا يعمل.
وقد يبدو ممتازًا.
وقد لا يظهر أي خطأ عند تشغيل التطبيق.
ومع ذلك، قد يكون القرار الهندسي وراء هذا الكود سيئًا.
وهنا تبدأ المشكلة الحقيقية في Vibe Coding.
أن تجعل الذكاء الاصطناعي يكتب الكود أسهل بكثير من أن تعرف إن كان الكود الذي كتبه يستحق أن يبقى.
الكود يعمل... لكن هل هو جيد؟
هنا تبدأ المشكلة التي لا تظهر في أول تجربة.
قد تطلب من الذكاء الاصطناعي بناء نظام تسجيل دخول، فيكتب الكود، تشغّل التطبيق، وتجد أن كل شيء يعمل.
تسجل حسابًا.
تسجل الدخول.
تخرج.
وتعود مرة أخرى.
كل شيء يبدو مثاليًا.
فتقول لنفسك:
انتهينا.
لكن ماذا لو كان هناك خطأ أمني لم يظهر في تجربتك؟
ماذا لو كان الاستعلام إلى قاعدة البيانات غير محسّن؟
ماذا لو كانت هناك مشكلة ستظهر عندما يصبح عدد المستخدمين 100 ألف بدلًا من 100؟
ماذا لو استخدم الذكاء الاصطناعي مكتبة قديمة أو بنية ستجعل تطوير المشروع أصعب بعد عدة أشهر؟
هنا نصل إلى فرق جوهري:
أن تجعل الكود يعمل شيء... وأن تبني برنامجًا جيدًا شيء آخر.
تخيل أنك طلبت من AI:
أضف نظام دفع إلى التطبيق.
وبالفعل أنشأ لك صفحة الدفع وربطها بالـAPI، وكل شيء يعمل في الاختبار.
لكن هل تأكدت من:
- ماذا يحدث إذا انقطع الاتصال أثناء الدفع؟
- هل يمكن تنفيذ العملية مرتين بالخطأ؟
- هل يتم التحقق من المبلغ على الخادم؟
- هل البيانات الحساسة محمية؟
- ماذا يحدث إذا فشل الدفع بعد خصم المبلغ؟
- هل يمكن للمستخدم التلاعب بالطلب؟
هذه ليست أسئلة عن كتابة الكود.
هذه أسئلة عن هندسة البرمجيات.
وهنا تظهر قيمة الخبرة البشرية.
⚠️
أخطر كود يكتبه الذكاء الاصطناعي ليس الكود الذي يحتوي على Error... بل الكود الذي يعمل وأنت لا تعرف أنه خاطئ.
وهذا هو السبب في أن Vibe Coding لا يعني أن المبرمج لم يعد بحاجة إلى فهم البرمجة.
بل قد يعني العكس تمامًا.
كلما أصبح إنتاج الكود أسهل، أصبح اكتشاف الكود السيئ أكثر أهمية.
فالذكاء الاصطناعي يستطيع أن يعطيك أول نسخة خلال دقائق.
لكن السؤال الذي لا يستطيع الإجابة عنه وحده دائمًا هو:
هل هذه هي الطريقة الصحيحة لبناء هذا النظام؟
هل Vibe Coding يقتل البرمجة؟
هنا يبدأ الجدل الحقيقي.
لأن ظهور Vibe Coding جعل سؤالًا قديمًا يبدو أكثر إلحاحًا:
إذا كان الذكاء الاصطناعي يستطيع كتابة الكود، فلماذا أتعلم البرمجة أصلًا؟
الإجابة السريعة قد تكون:
لأن AI سيظل يحتاج إلى مبرمج.
لكن هذه الإجابة وحدها غير كافية.
لأن الحقيقة أن جزءًا من العمل الذي كان يقوم به المبرمج بدأ بالفعل ينتقل إلى الذكاء الاصطناعي.
كتابة الـBoilerplate؟
أصبحت أسهل.
إنشاء الـComponents؟
أصبح أسرع.
كتابة CRUD APIs؟
أصبحت أسرع.
تحويل التصميم إلى واجهة؟
أصبح أسهل.
كتابة الاختبارات الأولية؟
أصبحت أسرع.
إذن لا يمكننا القول إن شيئًا لم يتغير.
لقد تغير فعلًا.
لكن الخطأ هو أن نساوي بين البرمجة وكتابة الكود.
المبرمج لا يبيع للشركة عدد الأسطر التي يستطيع كتابتها.
الشركة لا تحتاج 10,000 سطر من الكود.
هي تحتاج نظامًا يحل مشكلة.
وهذا فرق ضخم.
إذا استطاع الذكاء الاصطناعي كتابة 10,000 سطر في ساعة، لكن النظام مليء بالأخطاء...
فلم نكسب شيئًا.
أما إذا استطاع مبرمج بناء النظام الصحيح باستخدام 1,000 سطر فقط، مع Architecture جيدة وأمان واختبارات...
فهذه هي القيمة الحقيقية.
⚔️ ماذا يحدث لدور المبرمج؟
يمكن تبسيط التحول هكذا:
البرمجة التقليدية
كان المبرمج مسؤولًا بشكل مباشر عن كتابة الكود، وتنفيذ التفاصيل التقنية، والبحث عن الـSyntax المناسب، ومعالجة الأخطاء يدويًا، وبناء أجزاء النظام من الصفر. وكان جزء كبير من وقته يذهب إلى تحويل الفكرة إلى تعليمات يفهمها الكمبيوتر.
مع Vibe Coding
أصبح المبرمج يركز أكثر على تحديد المطلوب، واتخاذ القرارات التقنية، وتحليل المشكلات وتوجيه الذكاء الاصطناعي، ثم مراجعة وتعديل ما يتم بناؤه. بدلًا من التركيز على تنفيذ كل التفاصيل بنفسه، ينتقل جزء أكبر من تركيزه إلى النتيجة النهائية وجودة النظام الذي يتم بناؤه.
هذا لا يعني أن المبرمج سيترك الكود تمامًا.
بل يعني أن الكود قد يتوقف عن كونه الجزء الأكبر من القيمة التي يقدمها.
🤯
Vibe Coding لا يلغي المبرمج... لكنه يقلل قيمة الجزء من عمله الذي كان يعتمد على كتابة الكود يدويًا.
وهنا يصبح السؤال أكثر دقة:
هل المبرمج الذي يعرف كيف يكتب الكود فقط سيظل كافيًا؟
على الأغلب...
لا.
لأن الشخص الذي يعرف الـSyntax فقط يمكن للذكاء الاصطناعي أن يساعده في استبدال جزء كبير من هذه المهارة.
أما الشخص الذي يفهم:
لماذا نبني هذا النظام؟
كيف يجب أن يعمل؟
ما المخاطر الموجودة؟
كيف نختبره؟
وماذا يحدث عندما يفشل؟
فما زالت هناك قيمة كبيرة جدًا لخبرته.
بل قد تصبح هذه المهارات أكثر أهمية عندما يصبح إنتاج الكود نفسه أسهل.
هل Vibe Coding مناسب للجميع؟
هنا يجب أن نفرق بين إمكانية استخدام Vibe Coding وبين القدرة على استخدامه بشكل جيد.
نعم، أصبح بإمكان شخص لا يملك خبرة كبيرة في البرمجة أن يبني تطبيقًا بسيطًا باستخدام الذكاء الاصطناعي.
وهذا شيء مهم جدًا.
لأن الحاجز أمام تجربة فكرة جديدة أصبح أقل بكثير.
شخص لديه فكرة لمشروع صغير لم يعد مضطرًا بالضرورة إلى تعلم كل تفاصيل البرمجة قبل أن يرى أول نسخة من فكرته.
يمكنه أن يبدأ، ويجرب، ويعدل، ويتعلم أثناء البناء.
لكن المشكلة تبدأ عندما ينتقل من:
أريد تجربة فكرة
إلى:
أريد بناء نظام حقيقي يعتمد عليه الناس.
هنا تختلف القصة تمامًا.
تخيل شخصًا بنى متجرًا إلكترونيًا كاملًا باستخدام Vibe Coding.
الواجهة تعمل.
المنتجات تظهر.
السلة تعمل.
وتسجيل الدخول يعمل.
قد يبدو المشروع ناجحًا.
لكن ماذا يحدث عندما يحتاج إلى تغيير طريقة حساب الأسعار؟
أو عندما يظهر Bug لا يستطيع إعادة إنتاجه؟
أو عندما تتعارض مكتبتان؟
أو عندما يكتشف أن تصميم قاعدة البيانات غير مناسب؟
هنا لن يكون كافيًا أن تقول للذكاء الاصطناعي:
Fix this
لأنك تحتاج أولًا إلى فهم المشكلة نفسها.
وهذا هو الفرق بين استخدام Vibe Coding كأداة تساعدك على البناء...
واستخدامه كبديل كامل عن فهم ما تبنيه.
💡
ال
Vibe Coding خفّض تكلفة البداية في البرمجة، لكنه لم يلغِ تكلفة الفهم.
بل ربما جعل الفهم أهم.
لأن الشخص الذي يفهم ما يحدث يستطيع استخدام الذكاء الاصطناعي كرافعة ضخمة.
أما الشخص الذي لا يفهم ما يحدث، فقد يستطيع بناء شيء بسرعة...
لكنه قد لا يعرف لماذا يعمل، ومتى سيتوقف عن العمل، وكيف يصلحه عندما يفشل.
متى يكون Vibe Coding فكرة ممتازة... ومتى يصبح مخاطرة؟
مع Vibe Coding ليس بديلًا مناسبًا لكل نوع من البرمجيات.
في بعض الحالات، يمكن أن يكون واحدًا من أسرع الطرق للوصول من فكرة إلى نموذج يعمل.
تريد بناء Prototype؟
ممتاز.
تريد تجربة فكرة قبل استثمار وقت ومال كبير؟
ممتاز.
تريد إنشاء Landing Page أو أداة داخلية بسيطة أو مشروع شخصي؟
هنا يمكن للسرعة التي يوفرها Vibe Coding أن تكون ميزة ضخمة.
بدل أن تقضي أيامًا في إعداد المشروع وكتابة الأجزاء المتكررة، يمكنك الوصول إلى نسخة أولية خلال وقت قصير، ثم تبدأ في اختبار الفكرة نفسها.
وهذه نقطة مهمة جدًا:
أحيانًا لا تحتاج إلى كود مثالي... تحتاج أولًا إلى معرفة ما إذا كانت الفكرة تستحق البناء.
لكن الصورة تتغير عندما يكون البرنامج مسؤولًا عن أشياء حساسة.
نظام يتعامل مع المدفوعات.
تطبيق يخزن بيانات شخصية.
نظام طبي.
منصة مالية.
نظام Authentication.
أو أي برنامج قد يؤدي خطأ صغير فيه إلى خسارة أموال أو تسريب بيانات أو تعطيل خدمة.
هنا لا يكفي أن تقول:
"التطبيق يعمل."
بل يجب أن تعرف كيف يعمل، ولماذا يعمل، وماذا يمكن أن يحدث عندما يحاول شخص استخدامه بطريقة لم تتوقعها.
⚔️ القاعدة البسيطة
كلما زادت تكلفة الخطأ، قلت قدرتك على الاعتماد على Vibe Coding دون مراجعة هندسية حقيقية.
فلو كنت تبني أداة صغيرة لنفسك، يمكن أن تكون السرعة أهم من الكمال.
أما إذا كنت تبني نظامًا سيعتمد عليه آلاف المستخدمين، فـArchitecture والأمان والاختبارات والمراجعة ليست أشياء يمكن تركها للصدفة.
وهنا تظهر أفضل طريقة للتعامل مع Vibe Coding:
لا تستخدمه بدلًا من هندسة البرمجيات.
استخدمه لتسريع هندسة البرمجيات.
وهذا فرق كبير.
كيف تستخدم Vibe Coding بطريقة صحيحة؟
الفرق بين شخص يستخدم Vibe Coding لبناء شيء حقيقي، وشخص يضغط على الذكاء الاصطناعي ويأخذ أول نتيجة، ليس في الأداة التي يستخدمها.
الفرق في طريقة العمل.
أكبر خطأ هو أن تعطي الذكاء الاصطناعي فكرة ضخمة وتطلب منه بناء المشروع بالكامل في مرة واحدة.
مثلًا:
"ابنِ لي متجرًا إلكترونيًا كاملًا مع تسجيل دخول، ودفع، ولوحة تحكم، وإشعارات، ونظام شحن."
قد تحصل فعلًا على مشروع يعمل.
لكن كلما زاد حجم المهمة، زادت صعوبة معرفة ما الذي حدث داخله، وأصبح اكتشاف الأخطاء وإصلاحها أكثر تعقيدًا.
الأفضل أن تتعامل مع المشروع على مراحل.
ابدأ بالهدف.
ثم اطلب من الذكاء الاصطناعي وضع خطة.
بعد ذلك ابنِ Feature واحدة.
شغّلها.
اختبرها.
راجع الكود.
ثم انتقل إلى الـFeature التالية.
بهذه الطريقة، لا تجعل الذكاء الاصطناعي يبني المشروع بدلًا منك...
بل تجعله يبنيه معك خطوة بخطوة.
📊 دورة عمل بسيطة لـ Vibe Coding
🎯 الهدف ← 📝 الخطة ← 🤖 AI يبني ← ▶️ تشغيل وتجربة ← 🔍 مراجعة ← 🐛 اكتشاف الأخطاء ← 🤖 AI يعدّل ← ✅ اختبار ← 🚀الانتقال للخطوة التالية

دورة عمل بسيطة لـ Vibe Coding
والأهم من ذلك:
لا تقبل كودًا لا تفهم وظيفته في الأجزاء المهمة من النظام.
ليس مطلوبًا أن تحفظ كل سطر كتبه الذكاء الاصطناعي.
لكن يجب أن تعرف ما الذي يحدث في الـArchitecture، وكيف تنتقل البيانات، وأين توجد نقاط الضعف، وكيف تتعامل مع الأخطاء.
💡
استخدم الذكاء الاصطناعي لزيادة سرعتك، وليس لتستبدل فهمك.
عندما تتعامل مع Vibe Coding بهذه الطريقة، تصبح السرعة التي يمنحها لك الذكاء الاصطناعي ميزة حقيقية.
لأنك لا تتركه يقود المشروع...
أنت تقود، وهو ينفذ.
هل يجب أن تتعلم البرمجة إذا كنت تستخدم Vibe Coding؟
هنا تظهر واحدة من أكثر الأسئلة التي يطرحها Vibe Coding:
إذا كان الذكاء الاصطناعي يستطيع كتابة الكود، فلماذا أتعلم البرمجة أصلًا؟
الإجابة ليست أن كل شخص يجب أن يصبح مهندس برمجيات محترفًا.
لكن إذا كنت تريد الانتقال من مجرد تجربة فكرة إلى بناء برامج حقيقية والاعتماد عليها، ففهم البرمجة سيظل مهمًا جدًا.
ليس بالضرورة بالطريقة القديمة.
لا تحتاج أن تحفظ مئات الأسطر من الـSyntax قبل أن تبني أول مشروع.
ولا تحتاج أن تكتب كل الـBoilerplate بنفسك.
لكن يجب أن تفهم الأشياء التي تجعلك قادرًا على الحكم على ما ينتجه الذكاء الاصطناعي.
مثل:
- كيف تعمل الـAPIs.
- كيف تتعامل التطبيقات مع قواعد البيانات.
- كيف تنتقل البيانات بين أجزاء النظام.
- ما معنى Authentication وAuthorization.
- كيف تكتشف الـBugs.
- كيف تعمل الاختبارات.
- ما المقصود بالـArchitecture.
- أين يمكن أن تظهر المشاكل الأمنية.
لأنك عندما تعرف هذه الأساسيات، تستطيع أن تنظر إلى الكود الذي كتبه AI وتسأل الأسئلة الصحيحة.
أما إذا لم تكن تعرفها، فقد ترى مشروعًا جميلًا ويعمل أمامك...
وتفترض أنه جيد.
وهنا يمكن أن يتغير أسلوب تعلم البرمجة نفسه.
بدلًا من قضاء وقت طويل في محاولة حفظ كل شيء قبل بناء أي مشروع، يمكنك أن تتعلم وأنت تبني.
تريد معرفة كيف تعمل الـAPI؟
استخدم AI لبناء واحدة، ثم اطلب منه شرحها.
تريد فهم قواعد البيانات؟
ابنِ جدولًا، واكتب استعلامات، وشاهد كيف تنتقل البيانات.
تريد فهم Authentication؟
طبّقها، ثم حاول فهم كل خطوة تحدث خلف الكواليس.
بهذه الطريقة يصبح الذكاء الاصطناعي مدرسًا ومساعدًا ومسرّعًا في الوقت نفسه.
لكن هناك قاعدة يجب ألا تكسرها:
⚠️
لا تجعل الذكاء الاصطناعي يتعلم البرمجة نيابةً عنك. استخدمه لكي تتعلم البرمجة بشكل أسرع.
لأن الفرق بين الاثنين سيظهر لحظة حدوث أول مشكلة لا يستطيع الـPrompt حلها.
ماذا سيحدث للمبرمج؟
ربما هذا هو السؤال الذي يجعل Vibe Coding مختلفًا عن مجرد أداة جديدة.
لأننا لا نتحدث فقط عن برنامج يساعدك على كتابة الكود بشكل أسرع، بل عن احتمال تغير شكل وظيفة المبرمج نفسها.
في الماضي، كان جزء كبير من يوم المبرمج يذهب إلى تحويل المتطلبات إلى كود.
يقرأ المطلوب.
يبحث عن الحل.
يكتب الكود.
يختبره.
يصلح الأخطاء.
ثم يعيد الكرة مرة أخرى.
أما عندما يستطيع الذكاء الاصطناعي تولي جزء كبير من هذه المهام، فمن الطبيعي أن ينتقل تركيز المبرمج إلى أشياء أخرى.
سيصبح السؤال أقل ارتباطًا بـ:
كيف أكتب هذا؟
وأكثر ارتباطًا بـ:
ما أفضل طريقة لبناء هذا؟
وهذا فرق كبير.
تخيل مبرمجًا أمام مشروع جديد.
بدل أن يبدأ بكتابة أول ملف، قد يبدأ بتحديد المتطلبات، ثم يطلب من الذكاء الاصطناعي اقتراح Architecture، ومناقشة الخيارات، وإنشاء Prototype، وكتابة الاختبارات الأولية.
ثم يبدأ هو في مراجعة القرارات.
يكتشف مشكلة.
يغير التصميم.
يطلب تعديلًا.
يختبر النتيجة.
ويقرر في النهاية ما الذي يدخل إلى Production.
في هذه الحالة، المبرمج لم يختفِ.
لكن مركز عمله تحرك.
من كتابة كل التفاصيل...
إلى اتخاذ القرارات التي تحدد شكل المنتج.
وهذا قد يجعل بعض المهارات أقل أهمية نسبيًا، بينما ترتفع قيمة مهارات أخرى.
مهارات قد يقل الاعتماد اليدوي عليها
- كتابة الـBoilerplate.
- إنشاء المكونات المتكررة.
- كتابة CRUD التقليدي.
- تحويل التصميمات البسيطة إلى كود.
- البحث عن Syntax لكل مشكلة صغيرة.
مهارات تصبح أكثر أهمية
- System Design.
- Architecture.
- Debugging.
- Security.
- Testing.
- فهم الـBusiness Logic.
- Code Review.
- القدرة على تحديد المشكلة بدقة.
- القدرة على الحكم على جودة الحل.
💡
كلما أصبح إنتاج الكود أسهل، أصبحت القرارات التي تقف خلف الكود أكثر قيمة.
ولهذا، قد لا يكون مستقبل المبرمج هو أن يكتب كودًا أكثر.
بل أن يبني أنظمة أفضل باستخدام كود أقل، وأدوات أكثر، وقرارات أكثر دقة.
وهنا نصل إلى نقطة مهمة جدًا:
المبرمج الذي يتعامل مع Vibe Coding كطريقة للهروب من فهم البرمجة قد يجد نفسه في مشكلة.
أما المبرمج الذي يتعامل معه كوسيلة لرفع قدرته الإنتاجية...
فقد يصبح أقوى بكثير من المبرمج الذي يعمل بالطريقة التقليدية وحدها.
الخطر الذي لا يتحدث عنه أحد في Vibe Coding
هناك مشكلة أخرى قد تكون أخطر من أن يكتب الذكاء الاصطناعي كودًا سيئًا.
أن يكتب كودًا جيدًا بما يكفي... ليجعلك تتوقف عن التعلم.
وهذا فرق مهم.
قد تبدأ مشروعك الأول باستخدام Vibe Coding، وتكتشف أنك تستطيع بناء واجهة كاملة خلال ساعات بدلًا من أيام.
تتحمس.
ثم تبني مشروعًا ثانيًا.
وثالثًا.
وفي كل مرة، عندما تواجه مشكلة، تسأل الذكاء الاصطناعي.
هو يشرح.
وهو يصلح.
وهو يقترح.
وهو يكتب.
وبمرور الوقت، قد تجد نفسك قادرًا على بناء أشياء كثيرة دون أن تفهم بعمق كيف تعمل.
وهنا تظهر مفارقة غريبة:
أصبحت أسرع في بناء البرامج... لكنك لم تصبح بالضرورة أفضل في البرمجة.
تخيل أن لديك تطبيقًا يعمل بشكل ممتاز.
ثم حدثت مشكلة في Production.
الـAPI أصبح بطيئًا.
بعض المستخدمين يحصلون على بيانات خاطئة.
ولا تعرف السبب.
تطلب من الذكاء الاصطناعي:
Fix the issue.
فيقترح تعديلًا.
تجربه.
المشكلة ما زالت موجودة.
تطلب تعديلًا آخر.
ثم ثالثًا.
وفجأة تجد نفسك تدور في حلقة من المحاولات، لأنك لا تملك نموذجًا ذهنيًا واضحًا لما يحدث داخل النظام.
هنا لا تكون المشكلة أن الذكاء الاصطناعي ضعيف.
المشكلة أنك لا تعرف الأسئلة التي يجب أن تطرحها عليه.
⚠️
الاعتماد الكامل على Vibe Coding قد يجعلك جيدًا في إنتاج الكود... وضعيفًا في فهمه.
ولهذا، هناك فرق بين شخص يقول:
AI بنى لي التطبيق.
وشخص يقول:
استخدمت AI لبناء التطبيق، لكنني أفهم Architecture الخاصة به، وأعرف كيف أختبرها وأصلحها وأطورها.
الأول يمتلك منتجًا.
الثاني يمتلك قدرة.
وهذه القدرة هي التي ستظل معك حتى لو اختفت الأداة التي تستخدمها اليوم وظهرت أداة جديدة غدًا.
لذلك، أفضل طريقة للتعامل مع Vibe Coding ليست أن تجعل الذكاء الاصطناعي يفكر بدلًا منك.
بل أن تجعله يوسع قدرتك على التفكير والبناء.
لأن الهدف في النهاية ليس أن تصبح الشخص الذي يستطيع أن يجعل AI يكتب أكبر قدر من الكود.
الهدف أن تصبح الشخص الذي يعرف ماذا يجب أن يبني، وكيف يتأكد أن ما بُني يستحق أن يخرج إلى العالم.
خد بالك Vibe Coding لا يعني أن تبني كل شيء بالـAI
وهنا نحتاج إلى تصحيح فكرة شائعة جدًا.
عندما يسمع شخص مصطلح Vibe Coding، قد يتخيل أن الطريقة المثالية هي أن يفتح أداة ذكاء اصطناعي ويطلب منها بناء المشروع بالكامل، ثم ينتظر النتيجة.
لكن هذا غالبًا ليس أفضل استخدام للفكرة.
القوة الحقيقية تظهر عندما تعرف أي جزء من عملية البناء يستحق أن تسلمه للذكاء الاصطناعي، وأي جزء يجب أن تحتفظ به لنفسك.
مثلًا، يمكنك أن تجعل AI يتولى:
- إنشاء الـBoilerplate.
- بناء Components متكررة.
- كتابة الاختبارات الأولية.
- تحويل التصميم إلى كود.
- اقتراح حلول لمشكلة معينة.
- تحليل الأخطاء.
- تنفيذ Refactoring.
- توثيق أجزاء من المشروع.
وفي المقابل، تحتفظ أنت بالقرارات التي تحتاج إلى فهم للسياق:
- اختيار Architecture.
- تحديد الـBusiness Logic.
- القرارات الأمنية.
- تصميم الأنظمة الحساسة.
- مراجعة الكود المهم.
- تحديد ما يدخل إلى Production.
- تحديد ما إذا كان الحل المقترح مناسبًا أصلًا.
🤯 الفكرة الأهم
Vibe Coding ليس أن تجعل AI يعمل بدلًا منك.
بل أن تجعل AI يتولى الأجزاء التي لا تحتاج إلى أن تستهلك وقتك وخبرتك فيها، حتى تستطيع أنت التركيز على الأجزاء التي تحتاج فعلًا إلى خبرتك.
وهنا يصبح المبرمج أشبه بـقائد للعملية.
يعطي الاتجاه.
يحدد القيود.
يراجع النتائج.
ويتدخل عندما تكون هناك حاجة إلى قرار لا يمكن تركه للآلة.
أفضل Vibe Coding ليس الذي يجعل AI يكتب أكبر قدر من الكود... بل الذي يجعل المبرمج يركز على الأشياء التي تستحق أن يفكر فيها.
وهذا ربما يكون أهم فرق بين استخدام Vibe Coding كـاختصار للبرمجة...
واستخدامه كـطريقة جديدة لبناء البرمجيات.
ما الذي يجب أن يتعلمه المبرمج في عصر Vibe Coding؟
إذا كانت كتابة الكود أصبحت أسهل وأسرع، فهذا لا يعني أن المبرمج يحتاج إلى مهارات أقل.
بل يعني أن نوع المهارات التي يحتاجها بدأ يتغير.
لم يعد الهدف أن تكون أسرع شخص في كتابة الـSyntax.
فالذكاء الاصطناعي يستطيع مساعدتك في ذلك.
الأهم أن تكون الشخص الذي يستطيع النظر إلى المشكلة من أعلى، وفهم النظام، واكتشاف ما إذا كان الحل الذي اقترحه AI مناسبًا فعلًا.
ولهذا، هناك مجموعة من المهارات ستصبح أهم بشكل واضح.
1 - فهم أساسيات البرمجة
لا تحتاج إلى حفظ كل شيء.
لكن يجب أن تفهم كيف تعمل الأشياء:
Variables، Functions، APIs، Databases، Authentication، HTTP، Git.
لأنك بدون هذه الأساسيات ستجد صعوبة في معرفة ما يحدث عندما يخطئ الذكاء الاصطناعي.
2 - تصميم الأنظمة وبنيتها
كلما أصبح بناء المكونات أسهل، أصبحت طريقة ربط هذه المكونات ببعضها أهم.
هل قاعدة البيانات مصممة بشكل صحيح؟
هل الـAPI مناسبة؟
هل النظام قابل للتوسع؟
هل اختيار التقنية منطقي؟
هذه قرارات لا يمكن اختزالها في مجرد كتابة كود.
3 - اكتشاف الأخطاء وإصلاحها
من السهل أن تطلب من AI إصلاح الخطأ.
لكن المبرمج القوي هو الذي يستطيع فهم:
ما سبب المشكلة؟
أين حدثت؟
ولماذا حدثت؟
ثم يستخدم الذكاء الاصطناعي للوصول إلى الحل بشكل أسرع.
4 - اختبار البرمجيات
عندما تستطيع AI كتابة الكود بسرعة، يصبح اختبار هذا الكود أكثر أهمية.
لا يكفي أن تقول:
"اشتغل عندي."
يجب أن تسأل:
"هل سيظل يعمل عندما تتغير الظروف؟"
وهنا تأتي أهمية Unit Tests وIntegration Tests وEdge Cases.
5 - أمان البرمجيات
وهذه من أخطر النقاط.
الذكاء الاصطناعي يستطيع كتابة Authentication وPayments وAPIs خلال وقت قصير.
لكن وجود الكود لا يعني أنه آمن.
يجب أن تفهم على الأقل المبادئ الأساسية التي تسمح لك باكتشاف الثغرات والممارسات الخطرة.
💡
في عصر Vibe Coding، لن تكون قيمتك في قدرتك على كتابة كل سطر... بل في قدرتك على معرفة أي سطر يستحق أن يُكتب أصلًا.
وهذا لا يعني أن تعلم البرمجة أصبح أقل أهمية.
بل ربما أصبح أكثر أهمية لمن يريد أن يتجاوز مرحلة "أستطيع بناء شيء يعمل" إلى مرحلة "أستطيع بناء شيء يمكن الوثوق به."
هل سيصبح المبرمج أقل أهمية أم أكثر؟
ربما تكون هذه هي المفارقة الأكبر في عصر Vibe Coding.
للوهلة الأولى، يبدو أن الذكاء الاصطناعي يأخذ جزءًا كبيرًا من عمل المبرمج.
لكنه في الوقت نفسه يفتح الباب أمام المبرمج لإنجاز أشياء كانت تحتاج سابقًا إلى وقت وفريق أكبر.
المبرمج الذي كان يقضي ساعات في كتابة كود متكرر يمكنه الآن استخدام هذا الوقت لفهم المنتج.
والمبرمج الذي كان يتوقف عند مشكلة تقنية صغيرة يمكنه تجربة عدة حلول بسرعة.
والمبرمج الذي كان يحتاج أيامًا لبناء نموذج أولي يمكنه الوصول إلى نسخة قابلة للتجربة خلال وقت قصير.
إذن المشكلة ليست:
هل سيختفي المبرمج؟
السؤال الأفضل هو:
أي نوع من المبرمجين سيصبح أكثر قيمة؟
من المحتمل أن تقل قيمة الشخص الذي تكون ميزته الأساسية هي سرعة كتابة الكود فقط.
لأن هذه السرعة أصبحت شيئًا يستطيع الذكاء الاصطناعي مضاعفته بشكل كبير.
لكن قيمة المبرمج الذي يستطيع فهم المشكلة، وتصميم النظام، واكتشاف الأخطاء، واتخاذ القرارات الصحيحة، ومراجعة ما ينتجه الذكاء الاصطناعي...
قد ترتفع أكثر.
لأن الذكاء الاصطناعي يستطيع أن ينتج خيارات كثيرة بسرعة.
لكن شخصًا ما ما زال بحاجة إلى أن يقرر:
أي خيار هو الأفضل؟
🤯
كلما أصبح الذكاء الاصطناعي أفضل في كتابة الكود، أصبح المبرمج الجيد أقل اعتمادًا على كتابة الكود وأكثر اعتمادًا على فهمه.
وهنا قد يحدث تحول مهم في تعريف "المبرمج".
ربما لن يكون المبرمج في المستقبل مجرد الشخص الذي يجلس لساعات أمام محرر الأكواد.
بل الشخص الذي يستطيع أن يأخذ مشكلة حقيقية، ويحولها إلى نظام يعمل، ويستخدم الذكاء الاصطناعي كجزء من عملية البناء، ثم يتحمل مسؤولية النتيجة النهائية.
الكود سيظل موجودًا.
لكن طريقة الوصول إليه...
قد تتغير بشكل كبير.
أين تنتهي السرعة وتبدأ المسؤولية؟
هناك شيء يجعل Vibe Coding مختلفًا عن مجرد استخدام أداة جديدة.
السرعة أصبحت متاحة للجميع تقريبًا.
لكن السرعة وحدها لا تضمن نتيجة جيدة.
يمكن لشخصين استخدام الأداة نفسها، وطلب بناء التطبيق نفسه، والحصول على نتائج مختلفة تمامًا.
الأول يطلب:
ابنِ لي تطبيقًا لإدارة المخزون.
ثم يقبل النتيجة الأولى.
والثاني يبدأ بتحديد المتطلبات، ويقسم المشروع، ويختبر كل جزء، ويراجع القرارات المهمة، ويتأكد من الأمان والأداء قبل أن يعتبر المشروع جاهزًا.
الأداة واحدة.
لكن طريقة استخدامها مختلفة تمامًا.
وهنا تظهر مسؤولية المبرمج.
عندما تجعل الذكاء الاصطناعي يكتب جزءًا كبيرًا من الكود، فهذا لا يعني أنك تخلّيت عن مسؤولية هذا الكود.
إذا حدث خطأ في Production، لن تكون الإجابة:
الذكاء الاصطناعي هو الذي كتبه.
المستخدم لا يهتم من كتب الكود.
هو يهتم بأن المنتج يعمل.
والشركة لا تستطيع أن تقول للعميل:
المشكلة من AI.
لأن المسؤولية في النهاية تقع على الفريق الذي قرر استخدام هذا الكود وإطلاقه.
⚠️
كلما زادت قدرة الذكاء الاصطناعي على التنفيذ، زادت أهمية الإنسان الذي يقرر ماذا يجب أن يُنفذ.
وهذا يضع قاعدة مهمة جدًا لـVibe Coding:
لا تسلّم المسؤولية للذكاء الاصطناعي لمجرد أنك سلّمته التنفيذ.
يمكنك أن تجعله يكتب الكود.
يمكنك أن تجعله يقترح Architecture.
يمكنك أن تجعله يبحث عن الأخطاء.
يمكنك أن تجعله يكتب الاختبارات.
لكن في النهاية...
أنت من يقرر ما الذي يستحق أن يخرج إلى المستخدمين.
وهنا بالضبط يتحول Vibe Coding من مجرد طريقة سريعة لكتابة البرامج...
إلى اختبار حقيقي لقدرة المبرمج على التفكير، والمراجعة، واتخاذ القرار.
ماذا يبقى للمبرمج بعد Vibe Coding؟
في Vibe Coding لم يجعل البرمجة بلا قيمة، لكنه غيّر مكان القيمة.
الكود أصبح أسهل في الإنتاج، لكن فهم المشكلة، وتصميم الحل، ومراجعة النتيجة، واكتشاف الأخطاء، وتحمل مسؤولية المنتج أصبحت أهم.
المبرمج الذي سيستفيد من هذا التحول ليس الشخص الذي يحاول منافسة الذكاء الاصطناعي في كتابة الكود بسرعة.
بل الشخص الذي يعرف متى يستخدمه، ماذا يطلب منه، وكيف يراجع ما ينتجه.
💡
المستقبل ليس للمبرمج الذي يكتب الكود أسرع من الذكاء الاصطناعي... بل للمبرمج الذي يعرف ماذا يجب أن يبني ولماذا.
وفي النهاية، ربما لم يعد السؤال:
هل الذكاء الاصطناعي سيأخذ وظيفة المبرمج؟
بل أصبح:
هل المبرمج مستعد للعمل بطريقة جديدة؟
الخلاصة: المبرمج لم يختفي... لكنه يتغير
Vibe Coding لا يعني أن البرمجة انتهت.
ولا يعني أن كل شخص يستطيع وصف فكرة للذكاء الاصطناعي ثم يصبح مهندس برمجيات.
الذي تغير هو مكان الإنسان داخل عملية البناء.
الذكاء الاصطناعي أصبح قادرًا على كتابة أجزاء كبيرة من الكود، وإنشاء النماذج الأولية، وإصلاح الأخطاء، وتنفيذ المهام المتكررة.
لكن ما زالت هناك أسئلة لا يمكن تجاهلها:
ماذا نبني؟
لماذا نبنيه؟
هل هذه هي البنية الصحيحة؟
هل النظام آمن؟
هل يمكن الاعتماد عليه؟
وماذا يحدث عندما يفشل؟
وهنا تظهر قيمة المبرمج.
ليس باعتباره الشخص الذي يكتب كل سطر بنفسه...
بل باعتباره الشخص الذي يفهم المشكلة، ويقود عملية البناء، ويراجع ما ينتجه الذكاء الاصطناعي، ويتحمل مسؤولية النتيجة.
🔥
ربما لا يكون مستقبل البرمجة هو كتابة المزيد من الكود... بل بناء أشياء أفضل باستخدام كود أقل.
Vibe Coding لن يجعل كل شخص مبرمجًا.
لكنه سيجعل المبرمج الذي يعرف كيف يستخدمه بشكل صحيح أسرع وأكثر قدرة من قبل.
والسؤال الحقيقي لم يعد:
هل يستطيع الذكاء الاصطناعي كتابة الكود؟
لقد أثبت أنه يستطيع.
السؤال الآن:
هل تستطيع أنت أن تعرف ماذا يجب أن يبني؟
وهنا بالضبط يبدأ الفرق بين شخص يستخدم Vibe Coding...
وشخص يبني به فعلًا.
📌 قبل أن تغلق المقال... احتفظ بهذه القاعدة
إذا كنت ستستخدم Vibe Coding، فلا تتعامل معه على أنه طريقة للتخلص من البرمجة.
تعامل معه كطريقة لرفع قدرتك على البناء.
ابدأ بالفكرة، وضّح المطلوب، دع الذكاء الاصطناعي يساعدك في التنفيذ، ثم راجع واختبر كل ما هو مهم.
وتذكر دائمًا:
السرعة ليست جودة.
الكود الذي يعمل ليس بالضرورة كودًا جيدًا.
والذكاء الاصطناعي الذي يستطيع البناء ليس بالضرورة يعرف ما يجب أن يبني.
لذلك، كلما زادت قدرتك على استخدام AI، احرص في الوقت نفسه على زيادة قدرتك على الفهم والمراجعة واتخاذ القرار.
في Vibe Coding قد يقلل الوقت الذي تقضيه في كتابة الكود... لكن لا تدعه يقلل الوقت الذي تقضيه في التفكير.
📌 إذا وجدت أن هذا المقال غيّر طريقة تفكيرك، فاحفظه في المفضلة (Bookmark).
ليس لأنه يشرح أداة جديدة فقط...
بل لأنه يشرح تحولًا في طريقة بناء البرمجيات، وكيف يمكن أن يتغير دور المبرمج مع انتشار Vibe Coding.
وإذا كان لديك رأي مختلف، أو ترى أن Vibe Coding سيغيّر البرمجة بطريقة أخرى لم أتطرق إليها، فأخبرني في التعليقات. سأكون سعيدًا بقراءته ومناقشته.
إعداد وكتابة: عادل أحمد
💙 إذا استفدت من المقال، فلا تنسَ حفظه (Bookmark) ومشاركته مع أصدقائك المهتمين بالبرمجة والذكاء الاصطناعي، فقد يكون هذا المقال نقطة بداية لفهم كيف تتغير طريقة بناء البرمجيات، وليس فقط طريقة كتابة الكود.





