البرمجة بالفيب
ما هي البرمجة بالفيب؟
البرمجة بالفيب هي طريقة برمجة مدعومة بالذكاء الاصطناعي قدمها أندريه كارباتي في 2024/2025. مع البرمجة بالفيب، تصف ما تريد بلغة طبيعية في مطالبات وغالبًا ما تقوم نماذج اللغة الكبيرة (LLMs) بتوليد معظم، وغالبًا كل، الشيفرة العاملة من أجلك. إذا كان لديك الوقت، اطلع على فن البرمجة بالفيب الذي تكيفه ريك روبين لتتعلم المزيد عن طريقة البرمجة بالفيب.
ميزة كبيرة مع هذه الطريقة الجديدة هي إمكانية الوصول لأن الأشخاص الذين ليس لديهم خبرة في الترميز يمكنهم بناء مشاريع، بينما يمكن للمطورين ذوي الخبرة إنشاء نماذج أولية للأفكار بسرعة قبل الالتزام الكامل بها. هذا مفيد بشكل خاص للشركات الناشئة. العيب هو أن المطورين على الأرجح لن يفهموا تمامًا كيفية عمل الشيفرة المولدة. بالنسبة لمشاريع جانبية صغيرة، هذا مقبول، لكن بالنسبة لبرمجيات على مستوى الإنتاج قد يؤدي إلى مشكلات على المدى الطويل ودين تقني.
هناك الكثير من الأدوات التي تجعل البرمجة بالفيب أكثر سلاسة. تتيح لك Cursor IDE، وClaude Code CLI، وGitHub Copilot، وLoveable، وReplit، وv0، وغيرها العمل مع الذكاء الاصطناعي مباشرة في بيئتك أو توفر واجهات مخصصة للبرمجة بالفيب. شخصيًا، اعتمدت في الغالب على Cursor IDE وClaude Code CLI لهذه المشاريع.
إليك النقطة هنا. هذه الأدوات والنماذج تكلف أموالًا. مع الترميز التقليدي، أنت تدفع غالبًا بوقتك. مع البرمجة بالفيب، أنت تدفع بمحفظتك. وإذا لم تكن تعرف ما تفعله، فأنت تدفع بكل من محفظتك ووقتك. كل مشروع من المشاريع في هذه الصفحة يكلف حوالي $10 إلى $20 لبنائه. هذا يتراكم إذا كنت تجرب كثيرًا. أعتقد أنه مع تحسّن هذه النماذج وزيادة كفاءتها، سينخفض التكلفة في النهاية. في الوقت الحالي، هذا أمر يستحق النظر عند اتخاذ قرار ما إذا كانت البرمجة بالفيب منطقية لمشروعك.
بدافع الفضول لما هو ممكن، جربت البرمجة بالفيب بنفسي وصنعت هذه الصفحة لاستكشاف المبدأ نفسه من خلال مشاريع فعلية. أنا لا أبني منتجات فقط، بل أختبر وأعرض ما تستطيع البرمجة بالفيب فعلاً. هذا لأجل المتعة فقط، لكنه يقدّم لمحة عن كيف قد تبدو البرمجة في المستقبل مع استمرار تحسّن هذه النماذج.
نظرية القرد اللامتناهي
هل سمعت من قبل عن نظرية القرد اللامتناهي؟ إنها تجربة فكرية فلسفية تقول إنه إذا أعطيت قرودًا لانهائية آلات كاتبة لانهائية ووقتًا لانهائيًا، فسوف ينتج في نهاية المطاف أحدهم الأعمال الكاملة لـويليام شكسبير فقط بضرب المفاتيح عشوائيًا.
يبدو هذا سخيفًا، أليس كذلك؟ لكن هنا الجزء المدهش. البرمجة بالفيب تشبه ذلك نوعًا ما، باستثناء أننا بدلًا من القرود لدينا نماذج ذكاء اصطناعي، وبدلًا من الآلات الكاتبة لدينا لغات البرمجة، وبدلًا من شكسبير نحصل على برمجيات عاملة.
فكر في الأمر. تم تدريب نماذج اللغة الكبيرة على مليارات الأسطر من الشيفرات والنماذج والأمثلة. عندما تمنح نموذجًا نصيًا مطالبة، فهو في الواقع لا “يفكر” في مشكلتك خطوة بخطوة كما سيفعل مطور بشري. بدلًا من ذلك، يتنبأ بالرمز التالي الأكثر احتمالًا بناءً على الأنماط التي تعلّمها أثناء التدريب. إنه في الأساس يقوم بتخمينات واعية بتوليد شيفرة بناءً على ما يبدو إحصائيًا صحيحًا.
وبطريقة ما، في كثير من الأحيان، ينجح ذلك. يخرج النموذج شيفرة يمكنها فعلاً التجميع والتشغيل وحل مشكلتك. ليس من خلال الفهم، بل من خلال مطابقة الأنماط الاحتمالية على نطاق هائل للغاية. إنه مثل أكثر مولد نصوص عشوائي تطورًا في الكون الذي وجد “الإجابة الصحيحة”. لكن هنا الفرق هو السرعة. تلك القرود ستحتاج حرفيًا إلى اللامتناهية. ذكاءك الاصطناعي؟ يصل في ثوانٍ أو دقائق.
لذلك، بطريقة ما، عندما تستخدم البرمجة بالفيب، فإنك تستغل ملايين أسطر الشيفرة ونماذجها، المجمعة في نموذج، لتوليد حلول. ليست عملية حل مشكلات واعية، بل سحر إحصائي. وهذا بالضبط سبب قوتها، ومع الاعتراف، سبب أهمية أن تفهم ما تفعله الشيفرة بالفعل.
السؤال أهم من الإجابة
إليك أمر مهم غالبًا ما يُغفل. البرمجة بالفيب ليست الحصول على أي إجابة، بل هي عن طرح السؤال الصحيح. فكر في حاسوب ديب ثوت الخارق من مرشد المسافر إلى المجرة. أمضى ملايين السنين في حساب الإجابة على السؤال المطلق عن الحياة والكون وكل شيء، ليعطيك الرقم 42 فقط. كانت الإجابة صحيحة من الناحية الفنية، لكنها عديمة الفائدة لأن المشكلة الحقيقية كانت في معرفة السؤال الذي يجب طرحه من البداية.
تعمل البرمجة بالفيب بنفس الطريقة. مطالبتك هي كل شيء، لكن كذلك إدارة السياق. مطالبة غامضة ستعطيك شيفرة غامضة، وإذا لم تقدم الملفات أو الوثائق أو الأمثلة الصحيحة كسياق، فلن يفهم النموذج ما تحتاجه بالفعل. إذا كنت شخصًا يفهم الترميز والهندسة وتصميم الأنظمة، فيمكنك صياغة مطالب مفصلة وتنقيح السياق الصحيح لتوجيه نموذج اللغة الكبيرة نحو حلول ممتازة. لكن إذا لم تكن تعرف ماذا تطلب أو ما السياق الذي تقدمه، فلن يعرف الذكاء الاصطناعي أيضًا.
وهذا في الواقع سبب قوة البرمجة بالفيب للمطورين ذوي الخبرة. نحن نعرف كيف تبدو الشيفرة الجيدة، نفهم المزالق، ويمكننا كتابة مطالب توجه النموذج بعيدًا عنها. بالنسبة للمبتدئين الذين ليس لديهم خلفية تقنية، يصبح هذا قيدًا حقيقيًا. قد تحصل على شيفرة عاملة، لكن بدون فهم ما الذي حدث خطأ أو ما الذي تطلبه بعد ذلك، ستبقى عالقًا.
متى لا تكفي البرمجة بالفيب
أحدث نماذج الذكاء الاصطناعي مثيرة للإعجاب، لكنها ليست حلاً سحريًا. يمكن أن تعمل البرمجة بالفيب في بيئة الإنتاج، ولكن فقط إذا كنت جادًا بشأنها. تحتاج إلى اختبارات وحدات قوية. تحتاج إلى مصادر حقائق واضحة لما يجب أن يفعله نظامك. تحتاج إلى اكتشاف عندما تنكسر الأشياء أو تنحرف. وتحتاج إلى عقلية الهاكر. فكر خارج الصندوق وحاول كسر مشروعك المبرمج بالفيب بطرق غير متوقعة. ما الحالات الحافة التي لم تفكر بها؟ ما الثغرات الأمنية التي قد يستغلها شخص ما؟ هذا ما يميز الشيفرة التي تعمل فقط عن الشيفرة المتينة فعلاً.
إليك النقطة هنا. الذكاء الاصطناعي لا يملكك. أنت تملك الذكاء الاصطناعي. لا تقبل فقط ما يولده. راجعه. اختبره. اكسره. وبصراحة، لأجزاء معينة من قاعدة الشيفرة الخاصة بك، ستحتاج إلى العودة إلى الترميز بالطريقة القديمة. ركز، فكر بعمق، اكتبها بنفسك. البرمجة بالفيب تسرّع الأمور، لكنها ليست بديلاً عن البرمجة الحقيقية عندما يكون الأمر مهمًا.
هناك شيء آخر تعلمته. أحيانًا تحتاج فقط إلى إنهاء جلسة مع الذكاء الاصطناعي وبدء جلسة جديدة. مع اتساع سجل محادثتك، تتدهور أداء النموذج. يرتكب أخطاء أكثر، يولد شيفرة أقل اتساقًا، ويبدأ في الهلاوس بوتيرة أعلى. إذا لم تلتقط هذا وتتوقف، تتراكم هذه الأخطاء فوق بعضها البعض، مما يجعل الأمور أسوأ تدريجيًا. إنه كقراءة مستند تم نسخه ضوئيًا مرارًا وتكرارًا. البدء من جديد يحافظ على الأشياء نظيفة وحادة.
مشاريع مبرمجة بالفيب
فيما يلي مشروعان، سلالم (المستودع) ومتسامٍ (المستودع)، قمت ببنائهما باستخدام منهجية البرمجة بالفيب. تم توليدها في الغالب من المطالب، مع عمل يدوي محدود على تقديم السياق وتصحيح الأخطاء والنشر إلى صفحات GitHub. إنها تجارب مواقع ثابتة ممتعة تعرض ما هو ممكن عندما تجمع الأفكار الإبداعية مع الشيفرة عبر البرمجة بالفيب. كلاهما مستضافان على GitHub.