برمجياتقراءة دقيقتين

GitHub تعيد كتابة runtime الخاص بـ Copilot من TypeScript إلى Rust في 14.5 أسبوعًا

المغزى

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

نشرت مدونة GitHub الهندسية في 16 سبتمبر 2026 مقالًا لـ Stephen Toub يشرح إعادة كتابة الـ runtime الخاص بـ Copilot agent من TypeScript وNode.js إلى Rust.

الأرقام كما وردت في المقال: نحو 430,000 سطر TypeScript إنتاجي مرّت بعملية النقل، وكان الناتج 832,378 سطر Rust إنتاجي و468,689 سطرًا من unit tests. واستغرق العمل نحو 14.5 أسبوعًا، من أوائل مايو حتى 21 أغسطس 2026. ويقول الكاتب إن وكلاء الذكاء الاصطناعي كتبوا معظم الكود، وإن العمل أنجزه أساسًا مطور واحد.

وخلال النقل أُزيلت نحو 60 مكتبة من npm، منها استبدال js-tiktoken بـ tiktoken-rs، وminimatch بـ globset، وsharp بـ image. ويقول المقال إن أداء الـ runtime تحسّن بمقادير كبيرة في وقت الإقلاع واستهلاك الذاكرة.

الرقم الأهم

قد تُقرأ القصة بوصفها إعلانًا عن قدرات الذكاء الاصطناعي، لكن الرقم الذي يفسر نجاحها هو 128 pull request. فلم يحدث انتقال واحد كبير في النهاية، بل دخلت كل دفعة إلى الفرع الرئيسي main وشُحنت إلى المستخدمين تدريجيًا.

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

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

المصادر

  1. المقال الأصلي على مدونة GitHub الهندسية
  2. مكتبة tiktoken-rs
  3. مكتبة globset
  4. مكتبة image

من عدد السبت 8 ربيع الآخر - 19 سبتمبر

أخبار ذات صلة

أخبار السبت 8 ربيع الآخر - 19 سبتمبر