ستأتي الأدوات وتذهب، لكنّ مبرمج الإحساس وحده من يبقى”.. بهذه العبارة العميقة، يلخص المنتج الموسيقي ريك روبن حقيقة تتجاوز الموسيقى وتمتد إلى كل حقل إبداعي، ومنها البرمجة. فالأدوات ليست سوى وسائط متغيرة، بينما تبقى القيمة الحقيقية في الشخص الذي يستخدمها ليُترجم إحساسه وفكرته إلى شيء ينبض بالحياة.
منذ أن وضع آلان تورينغ أسس ما يُعرف اليوم بنظرية الحوسبة، بدأت رحلة البرمجة كلغة للحوار مع الآلة، ثم جاءت أولى لغاتها مثل “فورتران” (Fortran) في خمسينيات القرن الماضي، لتمنح الإنسان القدرة على تحويل الأفكار المجردة إلى تعليمات قابلة للتنفيذ.
ومنذ ذلك الحين، تطورت البرمجة من كتابة يدوية معقدة إلى منظومات ذكية، لكنها ظلت في معظمها مرتبطة بمن يملكون خلفية تقنية متقدمة.
غير أن هذا الواقع يشهد اليوم تحولا جذريا، تقوده أدوات الذكاء الاصطناعي، التي تعيد تعريف البرمجة كفعل إبداعيّ مفتوح للجميع، حتى لمن لا يملكون خبرة تقنية. من بين هذه الأدوات، تبرز مقاربة جديدة تعرف باسم “فايب كودينغ” (Vibe Coding) أو “مبرمج الإحساس”، وهي طريقة تسمح بإنشاء تطبيقات وخدمات رقمية عبر تفاعل حدسي مع الذكاء الاصطناعي، بدلا من الأوامر البرمجية الصارمة.
ما هو “فايب كودينغ”؟ ومن أين أتى؟
مصطلح “فايب كودينغ” صاغه المهندس البارز أندريه كارباثي، الرئيس السابق للذكاء الاصطناعي في شركة “تسلا” وأحد المؤسسين التقنيين في “أوبن إيه آي”. في فبراير/شباط الماضي، نشر كارباثي تغريدة على منصة “إكس – تويتر سابقا” قال فيها: “هذا نوع جديد من البرمجة أسميه ‘فايب كودينغ’، هو عندما تستسلم تماما للإحساس، وتحتضن التسارع، وتنسى حتى أن الكود موجود.”
بهذا، تتحول البرمجة من نشاط تقني صارم إلى عملية أكثر قربا من الإبداع الفني، حيث يتفاعل المستخدم مع أدوات مثل “شات جي بي تي” أو “كوبايلوت” (Copilot) أو “كلود”، مستخدما أوصافا بلغة طبيعية، فتقوم النماذج الذكية بتوليد الكود تلقائيا.
وقد لاقت هذه الفكرة صدى كبيرا، خصوصا في أوساط المستخدمين غير المتخصصين، ممن وجدوا أنفسهم قادرين على بناء نماذج أولية وتطبيقات فعلية دون الحاجة إلى تعلم لغات برمجة تقليدية. كما أشار المطوّر سايمون ويلسون: “لقد عبر هذا عن لحظة لامست الكثير من الناس، لأن عددا كبيرا من المبرمجين بدؤوا فعليا في استخدام هذه الأدوات وحققوا نتائج مبهرة.”
هذا النهج الجديد لا يتطلب كتابة كل سطر برمجي يدويا، بل يكفي أن يوضح المستخدم فكرته العامة أو “الجو” الذي يريد أن يتمتع به التطبيق. ومن هنا، يتولى الذكاء الاصطناعي تحويل هذه الرؤية إلى كود جاهز للتنفيذ.
في البداية، بدأ مصطلح “فايب كودينغ” كمجرّد صيحة من وادي السيليكون، لكن سرعان ما أصبح اتجاها حقيقيا يعيد تشكيل طريقة تطوير البرمجيات. فبدلا من الالتزام الصارم بقواعد بناء الجملة والهيكلة الكلاسيكية، بات بإمكان المستخدم ببساطة أن يصف مشكلته أو فكرته بلغة انجليزية طبيعية، لتقوم الأداة الذكية بتحويلها إلى كود وظيفي.
كارباثي وصف ذلك بروح دعابة قائلا: “أحدث لغة برمجة هي اللغة الإنجليزية.” وهذا يلخص فكرة أن البرمجة لم تعتمد فقط على معرفة لغات البرمجة، بل على وضوح الرؤية والقدرة على التعبير عنها.
وقد شارك كارباثي تجربته قائلا: “إنها ليست برمجة حقا – أنا فقط أرى أشياء وأقول أشياء وأشغل أشياء وأنسخُ وألصق أشياء، وفي الغالب تنجح.” ما يكشف عن الفارق الجوهري بين النهج الحدسي الجديد والمنهج التقليدي المبني على التحكم الصارم بالكود.
كيف يغير الذكاء الاصطناعي شكل البرمجة؟
هذا التحول فتح المجال أمام جمهور أوسع لدخول عالم تطوير البرمجيات، حتى من لا يجيدون أي لغة برمجة. أصبح بالإمكان، لمن يمتلك فكرة واضحة أو تصورا لتجربة ما، أن يبني نموذجا أوليا أو حتى منتجا متكاملا بالتعاون مع الذكاء الاصطناعي.
وفي الوقت نفسه، لا يقصي هذا النمط المطورين المحترفين، بل يوفر لهم أدوات لتسريع العمل وأتمتة المهام المتكررة، مما يمنحهم مزيدا من التركيز على التصميم والرؤية. فالمهام الروتينية باتت تنجز بسرعة مذهلة، ما يقلص الفجوة الزمنية بين الفكرة والتنفيذ.
وبفضل هذه التطورات، يُتوقع أن يبدو مجال هندسة البرمجيات مختلفا تماما بحلول نهاية عام 2025، حيث تزداد قدرات الذكاء الاصطناعي على فهم الأوامر اللغوية وتحويلها مباشرة إلى تطبيقات قابلة للتنفيذ.
كيف يعمل “فايب كودينغ”؟
يعمل “فايب كودينغ” أو “مبرمج الإحساس” من خلال تفاعل وثيق بين التوجيه البشري وإنشاء المحتوى بالذكاء الاصطناعي، حيث يقدم المستخدم تعليمات أو أوصافا أو أهدافا بلغة يومية، فتقوم أدوات الذكاء الاصطناعي بترجمة ذلك إلى كود برمجي. وغالبا ما تكون هذه العملية تكرارية وتفاعلية، وتتبع المسار التالي:
أنت تصف ما تريد: على سبيل المثال، قد تقول: “أنشئ صفحة ويب بسيطة تعرض حالة الطقس الحالية لمدينة يدخلها المستخدم”.. هذا الوصف أو “الموجه” (Prompt) يُعطى لمساعد ترميز يعمل بالذكاء الاصطناعي. الذكاء الاصطناعي ينشئ الكود: استنادا إلى تدريبه على كميات ضخمة من البيانات البرمجية، يحاول الذكاء الاصطناعي إنشاء كود يفي بطلبك. قد يكتب “إتش تي إم إل” (HTML) و”سي إس إس” (CSS) و”جافا سكريبت” (JavaScript) تلقائيا. يمكن تشبيهه بالإكمال التلقائي المعزز، حيث يتنبأ بالكود الذي يتوافق مع وصفك. أنت تراجع وتوجه: بعد أن يقدم الذكاء الاصطناعي الكود، تقوم أنت بمراجعته. هل تعملُ الصفحة كما تصورتها؟ قد تحتوي المحاولة الأولى على بعض المشكلات. عندها، تقدم ملاحظات إضافية مثل: “اجعل التصميم أكثر ألوانا وأضف معالجة للأخطاء إذا لم يتم العثور على المدينة”، فيقوم الذكاء الاصطناعي بتعديل الكود وفقا لذلك. كرر حسب الحاجة: تتواصل هذه الدورة (وصف، توليد، مراجعة، تعديل) حتى تصل إلى نتيجة مُرضية. وبفضل السرعة الهائلة في توليد الأكواد، يمكن إجراء تكرارات عديدة خلال فترة زمنية قصيرة.
أدوات الذكاء الاصطناعي الحديثة تظهر قوة مذهلة في هذا السياق، إذ لا تكتب الكود فحسب، بل تساعد أيضا في تصحيحه وتحسينه. فإذا واجه الكود خطأً أثناء التنفيذ، يمكنك ببساطة لصق رسالة الخطأ في أداة الذكاء الاصطناعي وطلب المساعدة.
وقد لاحظ أندريه كارباثي أن هذه الطريقة غالبا ما تحلّ المشكلة على الفور، حيث يقرأ الذكاء الاصطناعي رسالة الخطأ ويشرحها، ثم يقترح التعديل المناسب.
من ناحية أخرى، مع البرمجة بأسلوب “فايب كودينغ”، لم يعد من الضروري حفظ الصيغ الدقيقة للأوامر البرمجية، مثل حلقات التكرار (for-loop) أو تفاصيل الدوال. يكفي أن تعبّر بلغة طبيعية عما تريد تحقيقه، وسيتولى الذكاء الاصطناعي كتابة الكود نيابة عنك، كما لو كنت تعمل مع “مساعد مبرمج شديد المعرفة”.
وقد أظهرت أدوات مثل “غيت هاب كوبايلوت” (GitHub Copilot) هذه القدرة بوضوح، فعند تقديم مسألة برمجية بلغة طبيعية، يستطيع “كوبايلوت” توليد كود للحل، بل ويمكنه تحويل التعليقات المكتوبة بالإنجليزية إلى كود قابل للتنفيذ، بل وإكمال دوالٍ بأكملها لك.
من جهة مماثلة، توسع البرمجة بأسلوب “فايب كودينغ” هذا المفهوم ليشمل مهام أكبر، مثل إنشاء وحدات برمجية كاملة أو تطبيقات بسيطة انطلاقا من وصف عالي المستوى.
لتوضيح ذلك أكثر، دعونا نقدم مثالا بسيطا:
لنفترض أنك تطوّر موقعا لبيع المنتجات وتحتاج إلى دالة (كود برمجي) لتحويل السعر من الدولار إلى اليورو. بالطريقة التقليدية، ستبحث عن سعر الصرف الحالي، ثم تختار مكتبة مناسبة للتعامل مع الشبكة، وتكتب الكود يدويا. أما بأسلوب “فايب كودينغ”، فيكفي أن تفتح أداة الذكاء الاصطناعي مثل “شات جي بي تي” وتكتب: “أنشئ دالّة بلغة بايثون لتحويل السعر من الدولار إلى اليورو”، وسيولد الذكاء الاصطناعي كودا بسيطا مثل هذا:
وإذا أضفت: “اجعل الدالة تجلب سعر الصرف من الإنترنت تلقائيا.” فسيقوم الذكاء الاصطناعي بتحديث الكود مباشرة إلى هذا:
بل وقد يضيف تعليقا يوضح وظيفة هذا الجزء من البرنامج. أنت بهذه الطريقة، لم تكتب سطر كود يدويا، ولم تبحث عن مكتبة “ريكويست” (requests) أو طريقة قراءة البيانات من الإنترنت، فقط وصفت ما تريده بلغتك الطبيعية، وتولّى الذكاء الاصطناعي الباقي.
حين تتحول الأفكار إلى كود.. أمثلة حيّة على “فايب كودينغ”
بالنسبة للمهام الأكثر تعقيدا، تتيح البرمجة بأسلوب “فايب كودينغ” توليد كتل كبيرة من الكود، بل وحتى إنشاء ملفات متعددة. فقد شارك أحد المدونين تجربته، موضحا كيف اكتفى بوصف تطبيق كامل، فاستجاب الذكاء الاصطناعي بإنشاء نموذج أولي يعمل وإن كان غير مكتمل، حيث طلب من الذكاء الاصطناعي: “أنشئ لي تطبيق رياكت (React) من الصفر يمكنه التقاط صورة لقائمة طعام في مطعم، وترجمتها، ثم عرض قائمة الأطعمة مع صور. يجب أن يكون تطبيق ويب تقدمي (PWA) ويحتوي على زر للكاميرا”. (يمكن الاطلاع على تفاصيل التجربة من هنا).
وقد استخدم في ذلك نموذج “كلود” (Claude) من خلال أداة تعرف باسم “كورسر” (Cursor)، فأنشأ الذكاء الاصطناعي هيكل مشروع “رياكت” كاملا متضمنا الكود المناسب. ورغم أن النتيجة الأولية لم تكن مثالية، إذ اتسم الهيكل ببعض الفوضى والمشكلات، فإنه عمل بعد تعديلات بسيطة.
وهذا يظهر قدرة “فايب كودينغ” على إنتاج أجزاء كبيرة من مشروع متكامل اعتمادا على وصف بشري فقط، إذ يمكن الحصول على كمّ كبير من الكود دفعة واحدة، ثم تحسينه تدريجيا عبر التوجيه المستمر.
وفي مثال واقعي آخر، استخدم أحد الهواة “فايب كودينغ” لإنشاء تطبيق ويب خاص بروبوت رسم من نوع “افعلها بنفسك” (DIY)، حيث وصف للذكاء الاصطناعي آلية عمل التطبيق المطلوب، والذي يستقبل صورة بصيغة “إس في جي” (SVG) ويحولها إلى أوامر تحكم بالمحركات لتوجيه آلة الرسم، فجاءت استجابة الذكاء الاصطناعي على هيئة موقع فعال يؤدي هذه المهمة فعلا، مما أتاح للمستخدم تنفيذ مشروع ظل يفكر فيه منذ عام كامل.
اللافت في هذه التجربة أنه أنجز ذلك قبل حتى أن يكتمل بناء العتاد (Hardware)، إذ كان البرنامج جاهزا بحلول الصباح، ومعظمه مكتوب باستخدام الذكاء الاصطناعي استنادا فقط إلى وصفه، وهو ما يعدّ مثالا حيّا على نجاح “فايب كودينغ” بامتياز.
وبما أن الذكاء الاصطناعي يتولى مهمة الصياغة البرمجية والتعامل مع التفاصيل التقنية المعقدة، فإن “فايب كودينغ” يمكن أن يقلص منحنى تعلم البرمجة بشكل ملحوظ. فالمهام التي كانت تتطلب إتقان لغة برمجة وإطار عمل معين، بات إنجازها ممكنا بمجرد وصف الهدف النهائي.
وقد أشار أحد الباحثين في جامعة كامبريدج إلى أنه “بالنسبة للمبتدئ تماما الذي بدأ لتوه استكشاف البرمجة، يمكن أن يكون من المرضي للغاية أن يبني شيئا يعمل خلال ساعة واحدة فقط”، باستخدام هذه الأساليب المدعومة بالذكاء الاصطناعي.
بمعنى آخر، أصبح بإمكان أي شخص، حتى دون أي خبرة سابقة في البرمجة، أن ينشئ تطبيقا بسيطا وفعالا بسرعة كبيرة، وهو أمر لم يكن واردا في السابق دون شهور من التعلم.
ومع ذلك، من الضروري الإشارة إلى أن البرمجة بأسلوب “فايب كودينغ” غالبا ما تكون عملية تكرارية. فالذكاء الاصطناعي لا ينتج النتيجة المثالية من المحاولة الأولى، بل يحتاج إلى توجيه يشبه ما يقدم للمبرمج المبتدئ خطوة بخطوة، ويظل دور الإنسان أساسيا في رسم ملامح المنتج النهائي، وتجزئة المشروع إلى مهام واضحة وقابلة للتنفيذ.
في المقابل، يتكفل الذكاء الاصطناعي بالأجزاء المملة، بل وقد يساعد أحيانا في كشف الأخطاء أثناء التنفيذ. هذا التعاون التفاعلي، حيث يضع الإنسان الرؤية، ويقوم الذكاء الاصطناعي بالتنفيذ والمقترحات، هو جوهر طريقة عمل “فايب كودينغ”.
بيئات “فايب كودينغ” الذكية التي تعيد تعريف البرمجة
تمّ تطوير مجموعة متنوعة من الأدوات والمنصات لدعم أسلوب “فايب كودينغ”، تتفاوت في وظائفها بين محررات كود مدعومة بالذكاء الاصطناعي ومساعدين برمجيين يعملون عبر الإنترنت.
فيما يلي نظرة عامة على أبرز هذه الأدوات وما توفره من إمكانيات لمساعدة المستخدمين على تحويل الأفكار إلى كود فعال بسهولة وسرعة:
“كورسر” هو محرر كود مدعوم بالذكاء الاصطناعي، مبني على “في إس كود” (VS Code-Visual-Studio – Code)، ويدمج قدرات الذكاء الاصطناعي مباشرة داخل بيئة التطوير الخاصة بك.
يتميز بشريط جانبي يعرف بـ “كومبوزر” (Composer)، حيث يمكنك التفاعل مع الذكاء الاصطناعي باستخدام اللغة الطبيعية لكتابة الكود أو تعديله ضمن ملفاتك مباشرة.
أبرز الميزات:
- استكشاف الكود، وتطوير ميزات جديدة، وتعديل الكود الحالي عبر تفاعل طبيعي داخل محادثة “كومبوزر”.
- وضعا التشغيل: الوضع العادي، حيث يتصرف كمساعد ذكي ينتظر أوامرك ويقترح تغييرات يمكنك مراجعتها. ووضع العميل (Agent)، حيث ينفذ أوامر عالية المستوى بشكل تلقائي وعلى مراحل، مثل تنفيذ التعليمات أو إدارة الملفات.
- تحكم كامل للمستخدم: بإمكانك تحديد الملفات أو أجزاء الكود التي يسمح للذكاء الاصطناعي بالوصول إليها. كما يعرض “كورسر” التغييرات (diffs) قبل تنفيذها، مما يمنحك حرية مراجعتها والموافقة أو الرفض.
ميزات إضافية سهلة الاستخدام:
- توفر الواجهة أزرارًا ذكية، مثل زر “فكس ويذ إيه آي” (Fix with AI) الذي يظهر عند وجود خطإٍ في الكود، ويفعّل اقتراحات إصلاح مدعومة بالذكاء الاصطناعي.
ونظرا لكونه مبنيا على محرر مألوف (VS Code)، فإنه يوفر تجربة استخدام مريحة للمطورين، ويتيح في الوقت ذاته لغير المطورين فهم ما يقوم به الذكاء الاصطناعي من خلال واجهة مرئية واضحة.
يعدّ “كورسر” من أبرز الأدوات في مجال “فايب كودينغ”، وغالبا ما يشار إليه كأحد أبرز الأمثلة على هذا التوجه الجديد.
“ربلت” هي منصة برمجة سحابية (في المتصفح IDE) تسهل عملية التطوير باستخدام الذكاء الاصطناعي، دون الحاجة إلى أي إعدادات أو تثبيت مسبق.
وق صرح المدير التنفيذي أمجد أسعد بأن: “البرمجة بأسلوب “فايب مودينغ” أصبحت واقعا”، إذ أن 75% من مستخدمي “ربلت” لا يكتبون أي كود يدويا. حيث يعتمد هؤلاء المستخدمون على مكتبات “ربلت”، والقوالب الجاهزة، بالإضافة إلى مساعد الذكاء الاصطناعي المدمج “غوست رايتر” (Ghostwriter).
وتشمل قدرات الذكاء الاصطناعي في المنصة ما يلي:
- توليد الكود تلقائيا.
- شرح الكود الحالي لتبسيط فهمه.
- نشر التطبيقات عبر أوامر وصفية بسيطة.
من أجل هذا، تعدّ “ربلت” مناسبة جدا للمبتدئين وغير المبرمجين، حيث يكفي أن تكتب ما تريده في محادثة الذكاء الاصطناعي، ليقوم تلقائيا بإنشاء ملفات “إتش تي إم إل” (HTML) و”سي إس إس” (CSS) و”جافا سكريبت” (JavaScript).
علاوة على ذلك، يمكنك مشاهدة التطبيق يعمل مباشرة من خلال نافذة معاينة حيّة، مما يتيح تجربة تفاعلية سلِسةً. ونظرا لأن كل شيء يتم عبر الإنترنت، يمكنك بدء مشروعك بنقرة واحدة فقط، دون الحاجة لأي إعدادات محلية.
بالتالي فإن “ربلت” تجعل الانتقال من الفكرة إلى التطبيق العملي سريعا وسلسا، وكل ذلك يتم من خلال بيئة سحابية متكاملة.
- “غيت هاب كوبايلوت” (GitHub Copilot)
“كوبايلوت” هو مبرمج مساعد مدعوم بالذكاء الاصطناعي، طُوّر بالتعاون بين “غيت هب” (GitHub) و”أوبن إيه آي”. يستخدم كإضافة ضمن محررات الكود مثل “في إس كود” (VS Code)، حيث يقوم بإكمال الكود تلقائيا أثناء الكتابة.
في بداياته، كان “كوبايلوت” يركز على اقتراح السطر أو الكتلة التالية من الكود فقط، لكنه تطور لاحقا ليشمل وضع الدردشة (Copilot Chat)، الذي يتيح لك طرح أسئلة برمجية باستخدام اللغة الطبيعية والتفاعل مع الذكاء الاصطناعي داخل بيئة التطوير.
ويعدّ “كوبايلوت” مفيدا جدا لأسلوب “فايب كودينغ”، إذ يمكنك مثلا كتابة تعليق داخل الكود مثل (// sort a list of strings alphabetically )، ليقوم تلقائيا بتوليد الكود المناسب أسفل هذا التعليق. كما يمكنه أيضا توليد حلول كاملة استنادا إلى وصف المشكلة بلغة طبيعية.
تتمثل قوة “كوبايلوت” في كونه رفيقا ذكيا أثناء الكتابة. فهو يقدم باستمرار اقتراحات متنوعة لتنفيذ ما تفكر فيه. ولهذا، يعدّ خيارا مثاليا للمستخدمين المتمرسين في التكنولوجيا، وإن لم يكونوا مبرمجين محترفين، إذ يمنحهم شعورا بأن الأداة تفهم نواياهم وتكمل عملهم.
ومع ذلك، فإنه يستخدم غالبا من قبل أشخاص لديهم خبرة مسبقة في كتابة الكود، نظرا لكونه مدمجا في محرّرات البرمجة وليس في واجهة دردشة مستقلة فقط. لذلك، يعد أداة رائعة لمن يرغب في البدء بتعلم البرمجة بشكل فعلي، مع الاستفادة من دعم الذكاء الاصطناعي أثناء رحلة التعلم.
- “شات جي بي تي” والمساعدون المعتمدون على نماذج اللغة الكبيرة (LLM)
يمكن استخدام “شات جي بي تي” من “أوبن إيه آي”، و”كلود” (Claude) من “أنثروبيك”، وغيرهما من روبوتات الدردشة المعتمدة على نماذج اللغة الكبيرة “إل إل إم” (LLM) في أسلوب “فايب كودينغ”، حتى وإن لم تكن هذه الأدوات بيئات تطوير متكاملة مخصصة للبرمجة.
في الواقع، يكتفي العديد من المستخدمين بفتحِ “شات جي بي تي” في متصفّحهم وكتابةِ وصفٍ للبرنامج الذي يرغبون في إنشائه. بدوره، يقوم “شات جي بي تي” بإنتاج كود ضمن كتل منسقة يمكن نسخها ولصقها بسهولة في بيئة التطوير الخاصة بك.
فعلى سبيل المثال، يمكنك أن تطلب: “أريد صفحة ‘إتش تي إم إل’ (HTML) بسيطة تحتوي على نموذج لإدخال رقم وزر يقوم بحساب مربع هذا الرقم باستخدام “جافا سكريبت” (JavaScript)”، و سينشئ “شات جي بي تي” كود “إتش تي إم إل ” (HTML) و”جي إس” (JS) المطلوب بكل سلاسة. كما يمكنه أيضا شرح الكود خطوة بخطوة في حال طلبت ذلك، مما يعزز من فهمك لما تم توليده.
ومع ذلك، هناك بعض القيود. إذ لا يمكن لـ “شات جي بي تي” تشغيل أو اختبار الكود بشكل مباشر، لذا يتوجب عليك تنفيذ هذه الخطوة بنفسك. لكن بالرغم من ذلك، فهو يعدّ أداة قوية جدا كمساعد برمجي.
إضافة إلى ذلك، هناك تحسينات وإضافات مثل بيئة تفسير الكود الخاصة بـ “شات جي بي تي” والإضافات المجتمعية، والتي يمكن أن تساعد في تنفيذ الكود أو إدارة الملفات، مما يجعل هذه الأدوات تقترب تدريجيا من أن تصبح بيئات “فايب كودينغ” متكاملة.
وبالمثل، يُعرف “كلود” من “أنثروبيك” بقدرته على معالجة أوامر طويلة ومعقدة، وهو ما يكون مفيدا بشكل خاص عند تقديم كميات كبيرة من الكود وطلبِ تعديلات عليها دفعة واحدة.
- “ويند سيرف إيه آي” (Windsurf AI)
يعدّ “ويند سيرف إيه آي” محرر كود وبيئة تطوير مدعومة بالذكاء الاصطناعي، وغالبا ما يقارن بأداة “كورسر” (Cursor). ومع ذلك، يتبع “ويند سيرف” فلسفة مختلفة قليلا، إذ يحتوي على وضع “وكيل افتراضي” يعمل بشكل أكثر تلقائية، مما يجعل تجربة الاستخدام أكثر سلاسة ومرونة.
فعلى سبيل المثال، يقوم “ويند سيرف” تلقائيا باستخلاص الأجزاء ذات الصلة من قاعدة الكود الخاصة بك، بل ويمكنه أيضا تشغيل الكود لعرض النتائج أثناء توليده للتغييرات.
الهدف من ذلك، هو إبقائك في تدفق العمل، إذ يكفي أن تصف ما تريده، ليتولى الذكاء الاصطناعي تنفيذ المطلوب وعرض النتيجة، مما يتيح لك التكرار بسرعة دون انقطاع.
في المقابل، يلزمك “كورسر” بمراجعة كل تغيير وقبوله بشكل صريح، مما يمنحك تحكما أكبر في تفاصيل الكود.
ولكن لكل نهج مزاياه، إذ يُفضل “ويند سيرف” لمن يبحث عن تجربة أكثر تلقائية وخالية من الخطوات اليدوية، وهو ما يجذب غير المبرمجين أو من يفضلون البساطة. أما “كورسر”، فيوفّر المزيد من نقاط التفتيش والمراجعة، وهو مناسب لمن يريد فحص كل خطوة بعناية.
وبالتالي، كلا الأداتين تخدمان أسلوب “فايب كودينغ” بكفاءة، ويعتمد الاختيار بينهما غالبا على تفضيلات المستخدم ودرجة تحكمه المطلوبة.
والخبر الجيد أن هذه الأدوات أصبحت اليوم أكثر سهولة في الاستخدام، إذ تهدف إلى تمكينك من البرمجة باستخدام اللغة الطبيعية، مع توفير ميزات إرشادية في حال لم تكن متأكدا من الخطوة التالية.
على سبيل المثال، تظهر واجهة “كورسر” اقتراحات ذكية، أو ما يعرف بـ “رسالة التزام إيه آي” (AI commit message) التي تلخص التغييرات المقترحة، مما يساعدك على التعلم وتتبع التعديلات.
وبالمثل، قد يعرض “ربلت” (Replit) خطوات تالية بعد تنفيذ كود معين، مثل اقتراح “هل تريد نشر هذا التطبيق على الويب؟” مما يجعل التجربة أكثر تكاملا وسلاسة.
تجربة عمليّة بسيطة بأسلوب “فايب كودينغ” باستخدام أداة “ربلت” (Replit)
قررت تجربة أسلوب “فايب كودينغ” من خلال استخدام أداة “ريبلت”. الهدف من هذه التجربة كان إنشاء تطبيق ويب بسيط لتحليل المشاعر في النصوص المكتوبة بواسطة المستخدم، باستخدام الذكاء الاصطناعي لتحليل الشعور وتغيير تأثيرات الصفحة بناء على النص. حيث قمت بوصف الفكرة لأداة “ربلت” على النحو التالي:
“أنشئ صفحة ويب تتضمن “تيكست أريا” (TextArea) لكتابة أي نص، وتستعمل نموذج ذكاء اصطناعي لتحليل الشعور في النص (فرح، حزن، غضب، قلق..). إذا كان النص سعيدا، غير خلفية الصفحة إلى أصفر وأضف إيموجي الشمس. إذا كان النص حزينا، اجعل الخلفية رمادية مع إيموجي غائم.. إلخ. أعطني الكود كاملا باستخدام ‘إتش تي إم إل’ (HTML) و ‘سي إس إس’ (CSS) و’جافا سكريبت’ (JavaScript).”
بعد وصف الفكرة، قام “ربلت” بتوليد الكود تلقائيا. بمجرد إضافة النص في “تكست أريا” (TextArea)، يقوم النموذج بتحليل المشاعر بناء على الكلمات المُدخلة، سواء كانت تعبر عن الفرح أو الحزن أو الغضب.
على سبيل المثال، عندما أضفت هذا النص الذي يعبر عن حالة من السعادة: “أشعر أنني في قمة العالم اليوم، كل شيء يسير على ما يرام، ولا أستطيع التوقف عن الابتسام”، تحولت الخلفية إلى اللون الأصفر مع إيموجي السعادة.
وحين جربت إدخال كلمة “حزين”، قدم لي هذا التحليل مع تغيير الخلفية إلى اللون الرمادي، مع إيموجي الحزن.
والجدير ذكره، أن الكود يظهر على يسار الشاشة، ويمكن للمستخدم تجربة التعديلات عليه مباشرة. في حال وجود خلل أو لزيادة دقة النتائج، يمكن للمستخدم تعديل الكود بسهولة ورؤية التغييرات على الفور.
هذه المرونة تمكن المستخدم من تعديل النصوص أو الكود، وتجربة مختلف الحالات حتى يتم الوصول إلى النتائج المطلوبة.
هل “فايب كودينغ” تطور واعد أم مجازفة غير محسوبة؟
الآراء حول “مبرمج الإحساس” متباينة بشكل واضح. فمن جهة، يرى البعض أن الحماس المحيط به مبالغ فيه.
يقول سايمون ويلسون، مطور برمجيات: “هناك الكثير من الناس على ‘لينكد إن’ و’إكس-تويتر سابقا’ يطلقون تصريحات مبالغ فيها بأن لا أحد يحتاج إلى تعلم البرمجة بعد الآن”، ويعتقد أن هذا النوع من الخطاب يضخم من قدرات “فايب كودينغ” ويمنحه أكثر مما يستحق في المرحلة الحالية.
من جهة أخرى، يرى نواه جيانزيراكوزا، من جامعة بنتلي في والثام، ماساتشوستس، أن الاتجاه يحمل وعودا كبيرة للمستقبل، إذ يقول: “أشعر أن هذا اتجاه واعِد وسيتطوّر كثيرا وسنراهُ بشكل أوسع في المستقبل القريب، لكنه في الوقت الحالي لا يزال محدودا ويعاني من بعض مشاكل الموثوقية.”
في الواقع، كثيرا ما يكون الكود الناتج من أدوات “فايب كودينغ” مليئا بالأخطاء، ومع افتقار المستخدمين غير المتخصصين للمعرفة التقنية اللازمة لتصحيح هذه الأخطاء، فإنهم يعتمدون بشكل مفرط على نفس أدوات الذكاء الاصطناعي التي ارتكبت الخطأ أصلا، مما قد يكرس دورة من الاعتمادية والنتائج غير المضمونة.
هل يهدد “فايب كودينغ” مستقبل مهندسي البرمجيات؟
من بين أبرز المزاعم المصاحبة لصعود الذكاء الاصطناعي هي قدرته المحتملة على الاستيلاء على الوظائف، بما في ذلك وظيفة مهندس البرمجيات. ومع ذلك، لا توجد دلائل قوية تشير إلى أن “فايب كودينغ” سيؤدي فعليا إلى استبدال المهندسين، رغم ما يروّج له أحيانا على وسائل التواصل الاجتماعي.
في هذا السياق يوضح مات وود، من جامعة نورثمبريا في المملكة المتحدة، الأمر بعبارة حاسمة: “لن يستبدل المبرمجين”. أما ويلسون، فيضيف منظورا عمليا: “أشعر أن وظيفة مهندس البرمجيات هي إنتاج برمجيات تعمل. وأحد الأسباب التي تجعلني لا أعتقد أننا سنُستبعد من وظائفنا بسبب هذه الأنظمة هو أن جزءا كبيرا من العمل الذي نقوم به كمُهندسي برمجيات لا علاقة له بكتابة الكود نفسه.”
بعبارة أخرى، لا يكمن جوهر عمل مهندس البرمجيات في كتابة الكود فحسب، بل في تصميم الحلول، وفهم المتطلبات، والتعاون مع الفرق، وضمان الجودة، وهي مهام لا يزال الذكاء الاصطناعي بعيدا عن إتقانها بالكامل.
بالنهاية، ربما لا يكون “فايب كودينغ” ثورة تقنية تقصي المبرمجين، على الاٌقل حتى الآن، لكنه بلا شك تذكير بأن البرمجة لم تعد حكرا على من يتقن كتابة الرموز البرمجية. إنه يفتح الباب لتصور جديد: أن الإبداع والنية قد يصبحان نقطة الانطلاق، وأن الكود قد يأتي لاحقا كترجمة ذكية.
ويبقى السؤال ليس إذا ما كانت الأدوات ستستبدل البشر، بل كيف سيعيد البشر تعريف دورهم بجانب هذه الأدوات؟