يقول الكثيرون إن الذكاء الاصطناعي سيجعل تطوير البرمجيات أرخص بكثير؛ حيث يتخيلون نماذج تحل محل المهندسين وتنجز المهام في دقائق. هذه القصة مغرية، لكنها ليست حقيقية تماماً. لقد تغيرت اقتصاديات بناء البرمجيات، لكنها لم تتلاشَ. لم يتبخر الدين التقني (Technical debt) عند إطلاق أول مساعد برمجي، بل وجدنا ببساطة طريقة جديدة لتمويله.
الفاتورة القديمة: عدد الموظفين (Head Count)
لعقود من الزمن، خلقت الديون التقنية حلقة مفرغة من الهلاك. كانت قاعدة الكود تصبح هشة، والميزات التي كانت تستغرق أياماً بدأت تستغرق أسابيع. ومع تأخر المواعيد النهائية، كانت الإدارة تفتح طلبات توظيف جديدة. لكن الفرق الأكبر كانت تزيد الأمور بطئاً، حيث يتضخم عبء التنسيق، وتتعدد الاجتماعات اليومية (stand-ups)، ويفرض "قانون كونواي" (Conway’s Law) نفسه: تبدأ البرمجيات في عكس سوء التواصل بين الأشخاص الذين يبنونها. تزداد الأخطاء البرمجية، وكل رقعة إصلاح (patch) تضيف طبقات جديدة من التعقيد. كانت الشركات تدفع ثمن هذا التآكل بالعملة الوحيدة التي تعرفها: الرواتب البشرية. كانت التكلفة واضحة، وتظهر جلياً في كل مراجعة للميزانية الربع سنوية.
الفاتورة الجديدة: الرموز (Tokens) والسياق (Context)
لم يكسر الذكاء الاصطناعي التوليدي هذه الدورة، بل قدم ببساطة خطة دفع بديلة. فبدلاً من توظيف خمسة مهندسين للتغلب على العقبات، تقوم الشركة الآن باستخدام بطاقة الائتمان للحصول على المزيد من قدرات الحوسبة (compute). تبدو الأعراض مختلفة، لكن المرض الكامن هو نفسه.
عندما يبدأ النموذج في الفشل — مثل هلوسة واجهات برمجة التطبيقات (APIs) الداخلية، أو إغفال الحالات الحدية (edge cases) الحرجة، أو توليد اختبارات تنجح لأسباب خاطئة — نادراً ما يكون رد الفعل هو إعادة هيكلة الكود (refactor). بل يكون رد الفعل هو إنفاق المال على الاستدلال (inference). تشتري الفرق ترقيات لنافذة السياق (context-window)، أو تدمج حلقات إعادة المحاولة متعددة الوكلاء (multi-agent retry loops)، أو ترفع أعباء العمل إلى نماذج رائدة (frontier models) أكبر، أو تضغط على زر "إعادة التوليد" حتى يبدو الفرق (diff) مقبولاً. تحافظ هذه التكتيكات على سرعة ظاهرة لموسم أو اثنين، وتظل لوحة Jira باللون الأخضر. وفي الوقت نفسه، تظل البنية التحتية الفعلية دون مساس: نفس التبعيات المتشابكة، نفس الحالة العالمية المتغيرة، ونفس النظام المتجانس (monolith) الذي لا يفهمه أحد بشكل كامل في الفريق الحالي.
لماذا تكلف الأكواد غير النظيفة المزيد من الرموز (Tokens)
تعمل النماذج اللغوية الكبيرة بشكل أفضل مع التجريدات (abstractions) النظيفة. ومع ذلك، فإن معظم مستودعات الشركات هي بمثابة مواقع أثرية؛ فهي تحتوي على تبعيات حزم دائرية، وآثار جانبية مخفية مدفونة في سكربتات التهيئة، ومنطق أعمال موزّع عبر مشغلات قواعد البيانات (database triggers)، وطبقات البرمجيات الوسيطة (middleware)، ومكونات الواجهة الأمامية. في هذه البيئة، لا يبذل النموذج طاقته في كتابة منطق جديد، بل يستهلك الرموز (tokens) في عملية الاستيعاب.
يمكن استهلاك جزء كبير من نافذة سياق بسعة 128,000 رمز فقط في محاولة الحفاظ على شكل النظام في الذاكرة، وما يتبقى هو الفتات المخصص لحل المشكلات الفعلي. الأمر يشبه مطالبة مهندس إنشائي بتصميم طابق جديد مع إجباره على إعادة رسم المخططات الأصلية للمبنى القائم من ذاكرته قبل كل عملية حسابية. والنتيجة هي حلول سطحية؛ فالنموذج يعكس الفوضى التي يراها لأنه يفتقر إلى السلطة، أو السياق المعماري، لتنظيف الغرفة أولاً.
مخرجات أسرع، إطلاق أبطأ
سرعة التوليد الخام لا تترجم إلى سرعة في الإطلاق (shipping). إذا كانت بنيتك تفتقر إلى الوحدوية (modularity)، فإن كل تغيير يولده الذكاء الاصطناعي يتطلب مراجعة بشرية شاملة واختبارات تراجع (regression testing). يمكن للنموذج إنتاج عشرة طلبات سحب (pull requests) في فترة ما بعد الظهر، ولكن تلك الطلبات لا تزال بحاجة للمرور عبر بيئات التكامل، وفاحصات الأمان، وقوائم التحقق من الامتثال، وإصدارات الكناري (production canaries). بدون حدود واضحة للوحدات البرمجية، يقدم الذكاء الاصطناعي أخطاءً برمجية بسرعة الآلة. يمكنه تعديل أداة مساعدة مشتركة، وتحديث ثلاثة مواقع استدعاء بعيدة بافتراضات خاطئة بشكل طفيف، وإدخال حالات تسابق (race conditions) لا يكتشفها البشر إلا أثناء تنبيه طارئ في الثالثة صباحاً. ينتقل عنق الزجاجة من لوحة المفاتيح إلى مسار التحقق (validation pipeline)، وهذا المسار لم يُصمم للتعامل مع زيادة بمقدار عشرة أضعاف في حجم التغييرات.
السقف الخفي
في عصر ما قبل الذكاء الاصطناعي، كان الحد الأقصى هو ميزانية التوظيف، وكان من السهل على الأقل قراءتها في جدول بيانات. أما الآن، فإن القيد مدفون داخل بنود نادراً ما تتابعها فرق المالية: تكاليف الاستدلال (inference costs)، وتخزين التضمينات (embedding storage)، وتوسيع نافذة السياق (context-window expansions)، والجمود في الاختبارات المؤتمتة الذي يخنق مشغلات التكامل المستمر (CI runners). تتوهج لوحات قياس الإنتاجية باللون الأخضر، بينما تتراكم التكلفة الحقيقية لكل ميزة جديدة بهدوء.
الإنتروبيا المعمارية هي الشرير الحقيقي هنا. تعمل نماذج اللغات الكبيرة (LLMs) على توسيع نطاق إنتاج الكود ببراعة، لكنها لا تقلل من التعقيد. فهي لا تفك تشابك الخدمات المصغرة (microservices)، ولا تتخلص من الكود الميت (dead code)، ولا تبسط تسلسلات الوراثة الهرمية. وبمجرد أن يتجاوز النظام العتبة التي يجد فيها البشر صعوبة في فهم منطقه، فإن الذكاء الاصطناعي يعاني أيضًا. وعند نقطة التحول تلك، تتصاعد التكاليف سواء كنت
