تعني البرمجة بالذكاء الاصطناعي (Vibe Coding) أن تبني البرمجيات بوصف ما تريده لأداة ذكاء اصطناعي بلغتك اليومية وتتركها تكتب الكود. تختبر النتيجة، وتقول ما يجب تغييره، وتعيد الكرّة. إنها طريقة سريعة لتحويل فكرة إلى تطبيق يعمل، ويشرح هذا الدليل كيف تتقنها: ما الذي تصلح له، وأين تقع الأخطاء، وطريقة عمل تتبعها وحدك أو ضمن فريق، وما يجب فحصه قبل أن يستخدم أشخاص حقيقيون تطبيقك.
ما هي البرمجة بالذكاء الاصطناعي (Vibe Coding)؟
يعود المصطلح إلى Andrej Karpathy، أحد الأعضاء المؤسسين في OpenAI والرئيس السابق لقسم الذكاء الاصطناعي في Tesla. ففي منشور على X في فبراير 2025 وصف "نوعاً جديداً من البرمجة أسمّيه vibe coding"، تستسلم فيه "تماماً للإحساس" و"تنسى أن الكود موجود أصلاً". كان يتحدّث إلى الذكاء الاصطناعي، ويقبل تعديلاته من دون أن يقرأها، ويلصق رسائل الخطأ من جديد حتى تعمل الأمور. وقال أيضاً إن هذا الأسلوب يناسب مشاريع عطلة نهاية الأسبوع التي تُرمى بعد ذلك. وانتشرت العبارة بسرعة، حتى اختار قاموس Collins عبارة "vibe coding" كلمةَ العام 2025.
واليوم يستخدم الناس المصطلح بمعنى أوسع، لأي تطبيق بُني في الغالب بإعطاء التعليمات (Prompts) لأداة ذكاء اصطناعي. وتتنوّع الأدوات من مساعدي المحادثة مثل ChatGPT وClaude، إلى محرّرات الكود المدمج فيها الذكاء الاصطناعي مثل Cursor، إلى منصّات بناء التطبيقات مثل Lovable وBolt وReplit التي تنشئ تطبيقاً كاملاً وتستضيفه انطلاقاً من وصف.
ومن المفيد التمييز بين أسلوبين. ففي البرمجة بالذكاء الاصطناعي بمعناها الأصلي لا تنظر إلى الكود أبداً. أما في التطوير بمساعدة الذكاء الاصطناعي (AI-assisted Development) فتترك الذكاء الاصطناعي يكتب معظم الكود، لكنك تقرؤه وتشغّله وتفهمه قبل أن تعتمده. الأسلوب الأول يكفي لتطبيق للتسلية، وأي تطبيق سيحتفظ ببيانات حقيقية يحتاج إلى الثاني.
ما الذي تصلح له البرمجة بالذكاء الاصطناعي
- النماذج الأولية (Prototypes). يمكنك أن تعرض على عميل أو مدير أو مستثمر نسخة قابلة للنقر من فكرتك خلال يوم بدلاً من شهر.
- الأدوات الداخلية. لوحة متابعة صغيرة، أو نموذج يغذّي جدول بيانات، أو سكربت ينظّف ملفاً كل أسبوع، يستخدمها بضعة أشخاص تعرفهم.
- التعلّم. أن تطلب من الذكاء الاصطناعي بناء شيء ثم شرح كل جزء منه طريقة جيدة لتعلّم لغة برمجة أو إطار عمل جديد، على أن تعيد أنت الشرح بكلماتك.
- اختبار فكرة بكلفة قليلة. فإن لم يرغب أحد في المنتج، تكون قد خسرت عطلة نهاية أسبوع بدلاً من ميزانية.
أين تقع الأخطاء
تبدأ المشكلة حين يتحوّل النموذج الأولي بهدوء إلى منتج. فالذكاء الاصطناعي يكتب كوداً يعمل في المسار الناجح الذي وصفته، ولا يعرف شيئاً عن الحالات التي لم تذكرها. وهذه مشكلات تتكرّر مرة بعد مرة في التطبيقات المبنية بالذكاء الاصطناعي:
- مفاتيح API وكلمات مرور مكتوبة مباشرة في الكود، وأحياناً في كود يعمل داخل متصفح الزائر.
- قواعد بيانات مفتوحة لأي شخص يعرف عنوانها، لأن قواعد الوصول لم تُفعَّل أصلاً.
- صفحات تتحقّق من أنك مسجّل الدخول، لكنها لا تتحقّق أبداً من أن السجل الذي تفتحه يخصّك.
- كود يتشابك حتى يصبح كل طلب جديد يكسر شيئاً كان يعمل.
- لا نسخ احتياطية، ولا اختبارات، ولا سجلّ لما تغيّر ومتى.
ونتناول الجانب الأمني بالتفصيل، مع أمثلة حقيقية، في مقال المخاطر الأمنية للكود المكتوب بالذكاء الاصطناعي: ما الذي يجب فحصه.
طريقة عمل عملية للبرمجة بالذكاء الاصطناعي
1. صِف التطبيق قبل أن تكتب التعليمات
اكتب صفحة قصيرة واحدة أولاً: من يستخدم التطبيق، وما الأمور الثلاثة أو الأربعة التي يحتاج إلى القيام بها، وما البيانات التي يحفظها، ومن يُسمح له برؤية أي بيانات؟ الصقها في أداة الذكاء الاصطناعي في البداية واحتفظ بها في المشروع، مثلاً في ملف README. فالوصف الواضح يوفّر عليك ساعات من إصلاح التخمينات.
2. ابنِ على خطوات صغيرة
اطلب ميزة واحدة في كل مرة: صفحة تسجيل الدخول، ثم قائمة الطلبات، ثم نموذج إضافة طلب. فالطلبات الصغيرة تعطي تغييرات أصغر تستطيع أن تتحقّق منها فعلاً، أما إذا طلبت التطبيق كله في طلب واحد، فستحصل على كمّ كبير من الكود لا تستطيع مراجعته.
3. اقرأ ما يكتبه الذكاء الاصطناعي وشغّله
شغّل التطبيق بعد كل تغيير وتنقّل فيه بنفسك. واقرأ الكود أيضاً ولو ببطء، وحين لا تفهم جزءاً منه، اطلب من الذكاء الاصطناعي أن يشرحه سطراً سطراً. وإن لم يستطع أن يعطي سبباً واضحاً لقطعة من الكود، فهي مرشّحة جيدة للحذف.
4. استخدم Git من الساعة الأولى
يتيح لك التحكم بالإصدارات (Git) أن تعود إلى الوراء حين يكسر طلبٌ تطبيقك، وأدوات الذكاء الاصطناعي ستكسره عاجلاً أو آجلاً. لذلك احفظ نسخة (Commit) كلما نجح شيء:
git init
git add .
git commit -m "Login page works"
# try a new feature on its own branch
git switch -c add-orders
# see exactly what the AI changed
git diff
# throw away changes you don't want
git restore .
ارفع المشروع إلى مستودع خاص على GitHub أو GitLab أو Bitbucket، فتكون لديك نسخة خارج حاسوبك.
5. أبقِ الأسرار خارج الكود
ضع مفاتيح API وكلمات مرور قواعد البيانات والرموز في متغيّرات البيئة (Environment Variables)، وعادةً ما يكون ذلك ملف .env على جهازك وإعدادات منصّة الاستضافة في بيئة الإنتاج. واطلب من Git ألّا يحفظ هذا الملف أبداً بإضافته إلى .gitignore قبل أول حفظ:
.env
.env.local
node_modules/
المفاتيح التي تخصّ خدمة مدفوعة أو تمنح صلاحية الكتابة يجب أن تبقى على الخادم، فكل ما يُرسَل إلى المتصفح يستطيع قراءته أي شخص يفتح الصفحة.
6. أضف بعض الاختبارات
الاختبار برنامج صغير يتحقّق من أن الكود الخاص بك ما زال يفعل ما يجب أن يفعله، ولا تحتاج إلى الكثير منها. ابدأ بالأجزاء التي يكلّف فيها الخطأ مالاً أو بيانات، مثل الأسعار والمجاميع ومن يرى ماذا. وهذا مثال كامل بأداة تشغيل الاختبارات المدمجة في Node.js:
// price.mjs
export function orderTotal(subtotal, vatRate) {
return Math.round(subtotal * (1 + vatRate) * 100) / 100;
}
// price.test.mjs
import { test } from "node:test";
import assert from "node:assert/strict";
import { orderTotal } from "./price.mjs";
test("adds VAT to the subtotal", () => {
assert.equal(orderTotal(100, 0.11), 111);
});
test("a free order stays free", () => {
assert.equal(orderTotal(0, 0.11), 0);
});
شغّل node --test في مجلد المشروع بعد كل تغيير. وحين يفشل اختبار بعد أحد الطلبات، تعرف فوراً أي تغيير سبّب العطل. ويمكنك أن تطلب من الذكاء الاصطناعي كتابة الاختبارات أيضاً، لكن اقرأها، فالاختبار الذي لا يفحص شيئاً سينجح دائماً.
7. تحقّق من المدخلات على الخادم
لا تثق أبداً بما يصل من نموذج أو من استدعاء API، حتى لو كانت الصفحة في المتصفح تتحقّق منه، لأن أي شخص يستطيع إرسال طلب من دون صفحتك. وهكذا يبدو فحص صغير على الخادم:
function readQuantity(value) {
const quantity = Number(value);
if (!Number.isInteger(quantity) || quantity < 1 || quantity > 100) {
throw new Error("Quantity must be a whole number from 1 to 100");
}
return quantity;
}
البرمجة بالذكاء الاصطناعي ضمن فريق
حين يعطي عدة أشخاص تعليماتهم لأدوات الذكاء الاصطناعي في المشروع نفسه، قد يتّجه الكود في اتجاهات مختلفة خلال أيام. وهذه عادات تحافظ على تماسكه:
- احتفظوا بمستودع مشترك واحد وخصّصوا لكل ميزة فرعاً (Branch) خاصاً بها. وادمجوا التغييرات عبر طلبات الدمج (Pull Requests)، واجعلوا زميلاً يقرأ كل طلب دمج قبل اعتماده.
- اكتبوا قواعد المشروع مرة واحدة: إطار العمل، وبنية المجلدات، وطريقة معالجة الأخطاء، والتسمية. فمعظم أدوات البرمجة بالذكاء الاصطناعي تستطيع قراءة ملف قواعد أو تعليمات في المستودع، فيتبع الذكاء الاصطناعي لدى كل زميل الأعراف نفسها.
- قسّموا العمل حسب المجالات، كي لا يطلب شخصان من أداتيهما إعادة كتابة الملفات نفسها في الوقت نفسه.
- اجعلوا طلبات الدمج صغيرة، فلا أحد يراجع تغييراً من 3,000 سطر كما يجب، أيّاً كان كاتبه.
- اجعلوا شخصاً واحداً مسؤولاً عن بنية قاعدة البيانات وقواعد الوصول، فهذه أصعب الأجزاء إصلاحاً لاحقاً.
- اعرضوا التطبيق وهو يعمل على الفريق كل بضعة أيام، فالعروض تكشف سوء الفهم أسرع من الرسائل.
قائمة فحص قبل أن يستخدم أشخاص حقيقيون تطبيقك
يمكن أن يكون النموذج الأولي ببيانات وهمية غير مصقول، لكن حين يحتفظ التطبيق ببيانات عملاء حقيقية، أو يتقاضى مدفوعات، أو يصبح متاحاً للعامة، راجع هذه القائمة:
- تسجيل الدخول وقواعد الوصول. كل صفحة وكل مسار API يتحقّق من هوية المستخدم ومن أن هذا السجل يخصّه. جرّب فتح سجل مستخدم آخر بتغيير المعرّف (ID) في شريط العنوان.
- الأسرار. لا مفاتيح ولا كلمات مرور في الكود أو في سجلّ Git. وإن حُفظ أحدها يوماً، فألغِه لدى المزوّد وأنشئ مفتاحاً جديداً.
- التحقّق من المدخلات (Input Validation). يتحقّق الخادم من كل قيمة يتلقّاها: النوع والطول والنطاق المسموح. وتستخدم استعلامات قاعدة البيانات المعاملات (Parameters) بدلاً من نصوص ملصقة ببعضها.
- قواعد قاعدة البيانات. إذا كنت تستخدم Supabase أو Firebase أو خدمة مشابهة، فيجب تفعيل أمان مستوى الصفوف (Row Level Security) أو قواعد الأمان لكل جدول، واختبارها بحساب مستخدم عادي.
- الاعتماديات (Dependencies). كل حزمة أضافها الذكاء الاصطناعي موجودة فعلاً وهي الحزمة التي قصدتها. شغّل
npm auditأو ما يقابله في لغتك وحدّث ما ينبّه إليه. - معالجة الأخطاء. يرى المستخدمون رسالة ودّية، وتبقى تفاصيل الأخطاء وتتبّعات المكدّس (Stack Traces) ورسائل قاعدة البيانات في سجلّاتك.
- النسخ الاحتياطية. نسخ احتياطية تلقائية لقاعدة البيانات محفوظة بعيداً عن النظام الرئيسي، وعملية استعادة تجريبية واحدة تثبت أنها تعمل.
- الكلفة. حدود إنفاق وتنبيهات على حسابات الاستضافة وواجهات API للذكاء الاصطناعي، وحدود لمعدّل الطلبات (Rate Limits) على كل ميزة تستدعي خدمة مدفوعة، كي لا يرفع روبوت فاتورتك في ليلة واحدة.
ولتتحقّق بنفسك وبسرعة من جاهزية نظامك، جرّب مجاناً فحص الجاهزية للإطلاق.
مشاريع للتدرّب للمتعلّمين
اختر شيئاً صغيراً يمكنك إنهاؤه، ثم اذهب به حتى نهاية قائمة الفحص أعلاه:
- متتبّع شخصي للمصاريف فيه تسجيل دخول وفئات ورسم بياني شهري. وهو تمرين جيد على قواعد الوصول، لأن كل مستخدم يجب أن يرى مصاريفه وحده.
- صفحة حجز لمتجر صغير فيها مواعيد متاحة وتأكيد بالبريد الإلكتروني، وستتعامل فيها مع التواريخ والمناطق الزمنية والحجوزات المزدوجة.
- لوحة مهام مشتركة لفريق من ثلاثة أشخاص، تبنونها كفريق، بالفروع وطلبات الدمج.
- تطبيق مخزون صغير يستورد المنتجات من ملف CSV، ويعلّمك التحقّق من المدخلات، لأن الملفات الحقيقية مليئة بالمفاجآت.
وحين يعمل التطبيق، اطلب من صديق أن يحاول كسره، ودوّن كل ما يجده. فإصلاح تلك القائمة يعلّمك أكثر مما علّمك بناء النسخة الأولى.
الأسئلة الشائعة
هل أحتاج إلى معرفة البرمجة لأمارس البرمجة بالذكاء الاصطناعي؟
يمكنك بناء نموذج أولي يعمل من دون خبرة في البرمجة. أما لإيصال التطبيق إلى مستخدمين حقيقيين بأمان، فيجب أن يكون في المشروع شخص يقرأ الكود ويفهمه، لذلك يستحقّ الأمر أن تتعلّم الأساسيات في أثناء العمل.
ما أفضل أداة للبرمجة بالذكاء الاصطناعي؟
منصّات بناء التطبيقات مثل Lovable وBolt وReplit هي أسرع طريق إلى نموذج أولي مستضاف. أما محرّرات الكود المزوّدة بالذكاء الاصطناعي مثل Cursor، أو المساعدون مثل Claude وChatGPT، فتمنحك تحكّماً أكبر بالكود. وطريقة العمل في هذا الدليل تصلح مع أيٍّ منها.
هل البرمجة بالذكاء الاصطناعي آمنة لتطبيق أعمال حقيقي؟
يمكن أن تكون كذلك إذا تعاملت مع كود الذكاء الاصطناعي ككود من مطوّر جديد، فتراجعه وتختبره وتطابقه مع القائمة أعلاه قبل الإطلاق. فالخطر يأتي من إطلاق كود لم يقرأه أحد.
هل ستحلّ البرمجة بالذكاء الاصطناعي محلّ المطوّرين؟
إنها تغيّر ما يقضي فيه المطوّرون وقتهم، فيذهب وقت أقل في كتابة الكود ووقت أكثر في وصف المشكلات بوضوح ومراجعة التغييرات وتصميم البيانات والحفاظ على أمان الأنظمة. وتزداد أهمية هذه المهارات حين يكتب الذكاء الاصطناعي المسوّدة الأولى.
كيف أتعلّم البرمجة بالذكاء الاصطناعي كما يجب؟
تعلّم أساسيات لغة برمجة واحدة وأساسيات Git، ثم ابنِ مشاريع التدرّب أعلاه بأداة ذكاء اصطناعي، واقرأ كل تغيير تجريه. والدورات التي يراجع فيها مهندس متمرّس عملك تسرّع ذلك كثيراً.
تعلّمها مع Winners Academy
Winners Academy هي برنامج التدريب العملي من NavyBits للطلاب والخرّيجين الجدد. دوراتها مبنية على مشاريع حقيقية، ويشرف مهندسو NavyBits على الطلاب ويراجعون عملهم في أثناء البناء. لا توجد دورات قائمة حالياً، ونتوقّع إطلاق دورات جديدة قريباً. راسلنا وسنخبرك حين تبدأ الدورة التالية.
وإن كانت شركتك تشغّل تطبيقاً مبنياً بالذكاء الاصطناعي، فإن خدمة تقييم الكود المكتوب بالذكاء الاصطناعي لدينا تفحص أمانه وجودة الكود وجاهزيته للتشغيل الفعلي، ابتداءً من $1,000. ولمناقشة الأمر، احجز مكالمة مجانية مدتها 30 دقيقة.