البرمجة بالانطباع (Vibe Coding) ليست مجرد مستوى، بل هي محور.

عرّف Karpathy البرمجة بالانطباع (vibe coding) بأنها حلقة بسيطة: رؤية الأشياء، قول الأشياء، تشغيل الأشياء، والنسخ واللصق.

يعامل معظم الناس هذا الأمر كسلم من الاستقلالية؛ حيث يقيسون مقدار العمل الذي تمنحه للذكاء الاصطناعي.

تبدو المستويات كالتالي:

  • L0: بدون ذكاء اصطناعي
  • L1: الذكاء الاصطناعي كميزة الإكمال التلقائي
  • L2: مدفوع بالنية (أنت تحدد "ماذا"، والذكاء الاصطناعي يحدد "كيف")
  • L3: البرمجة الزوجية التعاونية
  • L4: شبه مستقل
  • L5: مستقل تماماً

هذا السلم مفيد ولكنه غير مكتمل، فهو يقيس شيئاً واحداً فقط: التفويض.

يمكن لمطورين أن يكونا في المستوى الرابع (Level 4) معاً؛ أحدهما يبني قاعدة أكواد نظيفة تزداد قوة، والآخر يبني فوضى تتدهور بمرور الوقت.

الفرق ليس في مهارتهما، بل في انضباط المشغل (operator discipline).

انضباط المشغل هو مقدار عملك الذي يظل في حالة قابلة للفحص (inspectable state).

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

لقد أصلحت ذلك بإنشاء مخزن بسيط للقرارات:

  • مقترح (Proposed)
  • مقبول (Accepted)
  • مغلق (Locked)

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

البرمجة بالانطباع (Vibe coding) هي خريطة ذات محورين: المحور الأول هو الاستقلالية (من L0 إلى L5). المحور الثاني هو انضباط المشغل (من المنخفض إلى العالي).

الحسبة الرياضية تسير كالتالي: L1 + انضباط عالٍ > L5 + انضباط منخفض على المدى الطويل.

الاستقلالية العالية مع انضباط منخفض تؤدي إلى أقصى سرعة وأقصى قدر من الفوضى؛ فأنت تتحرك بسرعة نحو جدار من الديون التقنية (technical debt).

للبناء بانضباط، أستخدم ثلاثة أشياء:

  • ملف الشخصية (persona file): الهوية والقواعد والتفضيلات الخاصة بالنموذج.
  • مخازن الإضافة فقط (Append-only stores): مكان للقرارات المغلقة والمحادثات النشطة.
  • عادة التدوين (capture habit): كتابة القرارات فور حدوثها.

لا تعتمد على الأوامر (prompts) وحدها، بل ابنِ آلة حالة (state machine).

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

ما الذي تدونه كحالة (state)؟ وما الذي تعيد بناءه من الصفر في كل جلسة؟

المصدر: https://dev.to/jugeni/vibe-coding-is-not-a-level-its-an-axis-12gb

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