تجربة منشورة على موقع Martin Fowler: الـ Refactoring خفّض استهلاك وكلاء AI للـ tokens بنحو 83%
كانت كلفة الكود المتضخم تُدفع من وقت المطورين فيسهل تأجيلها، ومع وكلاء AI صارت تظهر أرقامًا في فاتورة شهرية.
نشر Giles Edwards-Alexander، المدير التقني لأوروبا والشرق الأوسط والهند في Thoughtworks، مقالًا على موقع Martin Fowler في 30 يوليو 2026، يعرض تجربة مضبوطة على سؤال قديم: هل للـ Refactoring قيمة اقتصادية قابلة للقياس.
بنى الكاتب تطبيقًا من 150,000 سطر بالكامل باستخدام وكلاء AI. ووصل ملف واحد فيه، وهو طبقة الوصول إلى البيانات المكتوبة بلغة Rust، إلى 17,155 سطرًا.
وكانت طريقة القياس بسيطة: ينفذ خطوة refactoring، ثم يعطي وكيلًا جديدًا المطلوب نفسه بالضبط، ويقيس عدد input tokens المستهلكة. وكرر ذلك عبر 15 قياسًا.
قبل البدء، احتاج تعديل تمثيلي واحد إلى 159,564 توكن. وبعد 14 خطوة انخفض الرقم إلى 27,360 توكن. أي توفير 132,204 توكن، نحو 83%، أو قرابة 0.40 دولار في التعديل الواحد بسعر Sonnet 5.
ولم تتضمن الخطوات شيئًا جديدًا، بل هي خطوات كتاب Fowler نفسه: استخراج class، وتفكيك دوال الترميز، وتقسيم الملف الكبير إلى وحدات (modules)، ووضع الاختبارات بجوار الكود الذي تختبره.
ويكمن معنى الرقم في تفسيره. فالوكيل يقرأ ليفهم قبل أن يكتب. والملف الضخم يعني أن عليه تحميل 17 ألف سطر في الـ context لتغيير سطر واحد، أما الملف المقسم فيعني أنه يقرأ الجزء المعني وحده. وبذلك لا يكون الـ Refactoring هنا تحسينًا شكليًا، بل تقليلًا لمساحة القراءة، والقراءة هي ما يُحاسب عليه.
وقد كانت كلفة الكود المتضخم تُدفع سابقًا من وقت المطورين، وهي كلفة يصعب قياسها ويسهل تأجيلها. أما الآن فتظهر في فاتورة شهرية بأرقام محددة.
ويبقى أن هذه تجربة واحدة على مشروع واحد، وهو ما يقرّ به الكاتب نفسه، داعيًا إلى تجارب أوسع.
المصادر
من عدد الجمعة 17 صفر - 31 يوليو