هناك روايتان سائدتان عن البرمجة بالأجواء (vibe coding). الأولى هي أنه يمكنك كتابة جملة واحدة، وسيعطيك الذكاء الاصطناعي تطبيقًا بمليون دولار. الثانية هي أنه بما أن الذكاء الاصطناعي يكتب كل الكود، فالبشر لا يعرفون ما بداخله. لذلك، لا بد أن يفشل في النهاية ويسبب نهاية العالم على نطاق واسع.

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

عندما كنت مدير منتج شابًا، أُرسلت إلى لوس أنجلوس لدعم نائب رئيس المبيعات. قرر أن يأخذني إلى أحد مطاعمه المفضلة. هذا المطعم تخصص في المأكولات المدمجة (fusion)، مما يعني أن الشيف كان يخلط العديد من التأثيرات المختلفة في طعامه. كان له سمعة بسبب طبق الشيف الخاص، وهو ما يقرر الشيف إعداده لك في تلك الأمسية.

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

البرمجة بالوكلاء (agentic coding) تشبه إلى حد كبير الذهاب إلى ذلك المطعم. أنت تعرف أن سمعة الذكاء الاصطناعي الذي تستخدمه جيدة، لكنك حقًا لا تعرف ما الذي سيُقدم لك. لديك رؤية قليلة للكود الفعلي القادم من الذكاء الاصطناعي. أنت في الأساس ستضطر لأكله، بغض النظر عما قُدم لك.

عندما يكون لديك وكلاء يكتبون الكود، فالأمر يشبه وجود مجموعة من المقاولين أو المرؤوسين يكتبون الكود. حتى تختبره وتقيمه، ليس لديك فكرة عما ستحصل عليه.

كل شيء يعتمد على مطالبتك (prompt). القمامة داخلة، قمامة خارجة (garbage in, garbage out) لها معنى أعمق بكثير مما توحي به العبارة المبتذلة القديمة. إذا لم تكن مطالبتك واضحة بما فيه الكفاية، ولم تحافظ على المحادثة بوضوح وإشراف كافيين، فإن الكود الذي ستحصل عليه من الذكاء الاصطناعي سيكون صعب الهضم.

واجه مدراء الهندسة تحدي إدارة المقاولين تحت إشرافهم منذ أيام الأهرامات. تعيين العمل وتقييم ناتج العمل هو ما يفعله مدراء الهندسة. الحفاظ على الجودة والتحكم في تلك العملية هو جوهر هندسة البرمجيات.

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

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

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

كمطور منفرد، كنت أكتب الكود سطرًا سطرًا. كنت أتعرق على كل سطر. كنت أعرف كل شيء عن كودي. لكن عندما كنت مدير هندسة، كان علي الاعتماد على فرقي والمطورين الأفراد في فرقي.

بالتأكيد، كان لدينا مبرمجون (ما يعادل تقريبًا الوكلاء). لكن ما زلت بحاجة لبناء انضباط من الاختبار والتكامل في النظام، للتأكد من أن ما يقدمه أي من مبرمجينا أو مقاولينا يعمل مع كل شيء آخر.

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

لدي صديق أخشى مشاركة برمجياتي معه