GitHub تعيد كتابة Copilot بلغة Rust: 800 ألف سطر في 14 أسبوعاً بوكلاء الذكاء الاصطناعي
أعادت GitHub كتابة بيئة تشغيل Copilot بلغة Rust في 14.5 أسبوعاً بمساعدة وكلاء الذكاء الاصطناعي. كيف نُفّذ الترحيل، وما الدروس لفريقك؟

أعلنت GitHub أنها أعادت كتابة بيئة التشغيل (Runtime) التي تقف خلف أداة Copilot CLI وتطبيق Copilot وحزمة Copilot SDK، فانتقلت من TypeScript وNode.js إلى لغة Rust. المثير في الخبر ليس اللغة وحدها، بل الطريقة: أكثر من 800 ألف سطر من الكود الإنتاجي أُعيدت كتابتها بمساعدة وكلاء الذكاء الاصطناعي خلال نحو 14.5 أسبوعاً، مع استمرار إصدار المنتج للمستخدمين طوال المدة.
هذه إحدى أوضح الحالات المنشورة حتى الآن لإعادة كتابة ضخمة في بيئة إنتاج حقيقية، وفيها دروس عملية لأي فريق يفكر في الترحيل بين اللغات.
ماذا حدث بالضبط؟

وفق تقرير InfoQ المنشور في 9 أكتوبر 2026، استُبدلت بيئة التشغيل القديمة المعتمدة على Node.js وV8 بنسخة Rust. كانت النسخة القديمة تتواصل مع التطبيقات المضيفة عبر حدود عمليات منفصلة، وقدّرت GitHub أن ذلك كلّف قرابة 100 ميغابايت من الذاكرة العاملة لكل عميل.
| المقياس | القيمة المعلنة |
|---|---|
| حجم الكود المُستبدَل | أكثر من 800 ألف سطر |
| مدة الترحيل | نحو 14.5 أسبوعاً |
| طلبات الدمج | 128 طلباً |
| الإصدارات خلال الترحيل | 135 إصداراً (35 مستقراً و100 تجريبي) |
| سيناريو البدء وإنشاء الجلسة وجولة واحدة | من 5.25 ثانية إلى 292 مللي ثانية |
كيف نُفّذ الترحيل دون إيقاف المنتج؟
الاستبدال التدريجي لا الكتابة من الصفر
لم تختر الفرقة إيقاف التطوير وإعادة البناء في معزل. استبدلت المكونات واحداً بعد الآخر، مستخدمة طبقة تشغيل بينية مؤقتة (N-API) بلغت ذروتها عند 2019 دالة مصدَّرة و3356 موضع استدعاء. الفائدة أن اختبارات النهاية إلى النهاية الموجودة أصلاً ظلت تتحقق من الكود الجديد وهو يحل محل القديم قطعة قطعة.
الوكلاء يكتبون والبشر يقررون
كتبت وكلاء الذكاء الاصطناعي معظم الكود، لكن المشروع لم يكن آلياً بالكامل. بقيت القرارات المعمارية وتصميم الاختبارات والمراجعة وأعمال التشغيل البيني والتغليف وإدارة الإصدارات والتحقق في بيئة الإنتاج مهام بشرية.
من العملية المنفصلة إلى التضمين المباشر
صارت بيئة Rust قابلة للتضمين مباشرة في التطبيقات المضيفة عبر واجهة C ABI، مع بقاء وضع العملية المنفصلة متاحاً عند الحاجة. وهذا ما يفسر القفزة في زمن البدء، إذ اختفت كلفة تشغيل Node.js والتواصل عبر الحدود.
إعادة الكتابة الناجحة لا تقاس بعدد الأسطر التي كُتبت، بل بقدرة الاختبارات القديمة على إثبات أن السلوك لم يتغير.
ما الذي يمكن أن يتعلمه فريقك؟
ابدأ بشبكة أمان من الاختبارات
لولا مجموعة اختبارات النهاية إلى النهاية، لما أمكن الاستبدال التدريجي بثقة. إن كان مشروعك يفتقر إلى اختبارات سلوكية، فاستثمر فيها قبل أن تفكر في أي ترحيل، سواء بيد بشرية أو بوكلاء.
قسّم العمل على حدود واضحة
الترحيل التدريجي يحتاج إلى حدود يمكن عندها تبديل المكون القديم بالجديد. حدّد هذه الحدود مبكراً، وقلّل عدد نقاط التماس قدر المستطاع، فكل نقطة إضافية هي كلفة تشغيل بيني تدفعها لاحقاً.
لا تثق بالمترجم وحده
تساءل بعض المعلقين في المجتمع عما إذا كانت العقود السلوكية عند حدود النظام، مثل الإلغاء وإعادة المحاولة والضغط العكسي، قد تم التحقق منها بما يتجاوز نجاح عملية البناء. هذا سؤال وجيه: Rust تضمن سلامة الذاكرة، لكنها لا تضمن أن المنطق الجديد يطابق القديم في الحالات الحدية.
احسب الكلفة الكاملة
ذكرت مصادر ثانوية أرقاماً عن كلفة الاستدلال (Inference) لهذا المشروع، لكنها لم تؤكَّد من المصدر الرسمي، فالأفضل التعامل معها بحذر وعدم بناء ميزانيتك عليها. الأهم أن تقيس كلفة فريقك الفعلية: وقت المراجعة البشرية والاختبار غالباً ما يفوق كلفة توليد الكود.
هل يعني هذا أن كل مشروع يجب أن ينتقل إلى Rust؟
لا. المكاسب هنا ارتبطت بسياق محدد: أداة تُشغَّل على أجهزة المستخدمين، وتتأثر بزمن البدء وحجم الذاكرة، وتحتاج إلى تضمين داخل تطبيقات أخرى. أما خدمة ويب عادية تعمل على خادم قوي، فقد لا ينعكس الترحيل فيها بنفس الأثر، وقد تكون كلفة الترحيل أعلى من فائدته.
أسئلة شائعة
هل كتب الذكاء الاصطناعي كل شيء بلا تدخل بشري؟
لا. كتبت الوكلاء معظم الكود، لكن القرارات المعمارية وتصميم الاختبارات والمراجعة والتغليف وإدارة الإصدارات والتحقق في الإنتاج بقيت بيد المهندسين.
ما أكبر مكسب أُعلن عنه؟
انخفاض زمن سيناريو يشمل بدء العميل وإنشاء الجلسة وجولة واحدة من 5.25 ثانية إلى 292 مللي ثانية، مع التخلص من نحو 100 ميغابايت من الذاكرة العاملة لكل عميل.
هل أستطيع تطبيق الأسلوب نفسه على مشروعي؟
يمكنك تطبيق المبادئ: الاستبدال التدريجي، والاعتماد على اختبارات موجودة، وإبقاء البشر في موقع القرار. أما النتائج الرقمية فتخص مشروع GitHub، ولا ينبغي افتراض تكرارها كما هي.
الخلاصة
ترحيل GitHub لبيئة Copilot إلى Rust يبيّن أن إعادة الكتابة الكبيرة صارت ممكنة في أسابيع لا سنوات حين تجتمع ثلاثة عناصر: وكلاء يكتبون، واختبارات تحمي السلوك، وبشر يملكون القرارات الحاسمة. الدرس لفريقك ليس «انتقل إلى Rust»، بل «ابنِ شبكة اختبارات أولاً، ثم قسّم الترحيل إلى خطوات صغيرة قابلة للتحقق».
المصادر: InfoQ، Rustify، explainx.ai