لديّ مجلد مقبرة. واحد وأربعون دليل مشروع، كل منها نتاج عطلة نهاية أسبوع من vibe coding أنتجت عرضاً توضيحياً جميلاً وصفر دولار. ثم غيّرت طريقة عملي وشحنت ثلاثة أشياء في شهرين يدفع الناس مقابلها فعلاً. الفرق بين المقبرة والإيرادات لم يكن موهبة أو حظاً. كان سير عمل.
لنتحدث عن vibe coding مقابل الشحن الحقيقي، لأن الفجوة بينهما هي المكان الذي يغرق فيه معظم مطوري الذكاء الاصطناعي المنفردين بصمت. غرقت هناك لمدة عام.
ما هو vibe coding في الحقيقة
Vibe coding هو عندما تصف ما تريد، تدع الذكاء الاصطناعي يُولّده، تلقي نظرة على النتيجة، وتستمر بالإحساس. إنه رائع لبناء الزخم. تنتقل من مجلد فارغ إلى نموذج أولي يعمل في فترة بعد الظهر ويبدو الأمر كقوة خارقة.
وهو كذلك. للسبعين بالمئة الأولى.
المشكلة في الثلاثين بالمئة الأخيرة، الجزء الذي يحوّل شيئاً ما إلى منتج بدلاً من عرض توضيحي: مصادقة لا تتسرب، الحالة الحدية عندما يكون الإدخال فارغاً، رسالة الخطأ التي لا تقول "undefined"، الشيء الذي ينجو من مستخدم حقيقي لا يعرف ما قصدته. يتجاوز vibe coding كل ذلك، لأن كل شيء يبدو مكتملاً. أن يبدو مكتملاً وأن يكون مكتملاً حالتان مختلفتان جداً، والكود المُولَّد بالذكاء الاصطناعي بارع في أن يبدو مكتملاً.
لحظة العضّة
ذاكرتي الأوضح من المقبرة: أداة جدولة قمت بـ vibe-code لها في نهاية أسبوع. رائعة. عرضتها على صديق. نقر على تاريخ في الماضي وانفجر كل شيء بـ stack trace. لم أنقر قط على تاريخ في الماضي. لم يفكر الذكاء الاصطناعي في ذلك. لماذا يفكر؟ لم أخبره بذلك قط.
هذا هو الفخ. Vibe coding تُحسَّن للمسار السعيد لأنك تقود بالإحساس، وإحساسك يغطي فقط المسار الذي تخيلته. المستخدمون الحقيقيون يعيشون في المسارات غير السعيدة.
كيف أشحن فعلاً الآن
ما زلت أقوم بـ vibe-code في المرور الأول. لن أتخلى عن السرعة. لكنني أضفت مرحلة ثانية، وهذه المرحلة هي المكان الذي تولد فيه المنتجات.
المرحلة الأولى، أتبع الإحساس. سريع، فضفاض، أجعل الهيكل يقف. أترك Claude Code يبني التدفق كاملاً ولا أقلق من الجودة بعد.
المرحلة الثانية، أحوّل عمل العميل من "البناء" إلى "الكسر". حرفياً. أقول له:
أنت الآن مهندس QA معادٍ. أدرج كل طريقة يمكن للمستخدم من خلالها كسر
هذه الميزة. إدخالات فارغة، تواريخ سابقة، إدخالات ضخمة، نقرات مزدوجة،
لا شبكة. لكل منها، أخبرني بالسلوك الحالي. لا تُصلح بعد.
هذا التغيير الوحيد في الطلب يستخرج الثلاثين بالمئة التي يخفيها vibe coding. العميل الذي بنى الشيء للتو بارع في مهاجمته بمجرد أن تمنحه الإذن. أحصل على قائمة. ثم أصلح القائمة، واحدة تلو الأخرى. مرور QA المعادي هو الفرق الكامل بين مجلد مقبرتي ولوحة Stripe.
اكتب ما يعنيه "الإنجاز" قبل أن تبدأ
الشيء الآخر الذي نقلني من العروض التوضيحية إلى المنتجات: أكتب تعريفاً صغيراً للإنجاز قبل أن أدع العميل يبني أي شيء. ليس مواصفة. خمس نقاط في ملف.
لأداة الجدولة تلك، المُعاد بناؤها، كانت: يرفض التواريخ الماضية، يتعامل مع تقويم فارغ، يعمل بدون شبكة، يُظهر خطأ حقيقياً لا stack trace، يُحمَّل في أقل من ثانيتين. خمسة أسطر. أثبّت هذا الملف في السياق ويبني العميل ضده بدلاً من بناء ضد إحساسي.
الإحساس طاقة انطلاق رائعة ومواصفة رديئة. لن يتضمن إحساسك أبداً "ماذا لو انقطعت الشبكة". سطر مكتوب سيفعل.
الحيلة التقييمية التي تبقيني صادقاً
لأي شيء يحتوي على ميزة ذكاء اصطناعي بداخله، لا أثق في الإحساس على الإطلاق، لأن إخراج LLM غير حتمي و"عمل حين جربته" لا يعني شيئاً. أكتب نحو عشرة أمثلة إدخال/إخراج لما يبدو عليه الجيد وأشغّلها في كل مرة أغير فيها طلباً. إنه مجموعة تقييم للرجل الفقير. ملف نصي وحلقة.
عندما أعدّل طلباً لإصلاح حالة واحدة، تلتقط التقييمات الحالات الثلاث التي كسرتها دون أن أنتبه. بدون ذلك، أنا ألعب whack-a-mole مغمض العينين، أصلح شكوى مستخدم واحد بينما أنشئ ثلاثة أشياء أخرى بصمت. عشرة أمثلة. هذا هو الحد. لا تحتاج إطاراً.
ما سأقوله لنفسي في زمن المقبرة
Vibe coding ليست العدو. إنها المحرك. لكن محرك بلا مكابح ودرع أمامي هو مجرد طريقة سريعة للاصطدام بجدار، وواحد وأربعون من مشاريعي اصطدمت بذلك الجدار بكامل السرعة.
المطورون الذين يشحنون منتجات حقيقية منفردين لا يكتبون طلبات أفضل منك. أعدك. إنهم يقومون بالمرحلة الثانية المملة التي تتخطاها: مرور QA المعادي، تعريف الإنجاز بخمسة أسطر، تقييم العشرة أمثلة. لا شيء من ذلك صعب. كل شيء ممل. هذا بالضبط لماذا لا يفعله معظم الناس، وبالضبط لماذا فعله ميزة.
هذا هو التقسيم الصادق. Vibe coding يوصلك إلى عرض توضيحي في فترة بعد الظهر، وهذا يستحق كل شيء لاختبار ما إذا كانت الفكرة لها قدمان. لكن القفزة من العرض التوضيحي إلى المنتج هي ترس مختلف، ويعمل على الأشياء الممملة. فترة بعد الظهر تجعلك تشعر أنك عبقري. الأمسية الممملة تجعلك تكسب المال.
مجلد مقبرتي يحتوي على واحد وأربعين عرضاً توضيحياً. لوحة Stripe الخاصة بي تحتوي على ثلاثة منتجات. الشيء الوحيد الذي يفصل بينهما كان الجزء الذي اعتدت تخطيه.
اذهب واكسر عرضك التوضيحي بنفسك قبل أن يفعلها مستخدم مجاناً.
