گیت‌هاب در ۱۶ سپتامبر ۲۰۲۶ در وبلاگ رسمی خود گزارش داد که ران‌تایم عامل GitHub Copilot از TypeScript روی Node.js و موتور V8 به بیش از ۸۰۰ هزار خط Rust تولیدی بازنویسی شده‌است. به نوشتهٔ استیون توب (Stephen Toub)، مهندس برجستهٔ مایکروسافت، بیشتر این کد را عامل‌های هوش مصنوعی نوشته‌اند و کار در قالب ۱۲۸ پول‌ریکوئست به‌صورت تدریجی روی شاخهٔ اصلی ادغام و منتشر شده‌است.

ران‌تایم یادشده پشت CLI، اپلیکیشن و SDK کوپایلوت قرار دارد و در محصولاتی مانند VS Code، Visual Studio، عامل ابری کوپایلوت، بازبینی کد، Copilot Studio و یکپارچه‌سازی با اکسل، اوت‌لوک، پاورپوینت و ورد نیز به‌کار می‌رود. پیش از انتقال، مصرف‌کنندگان SDK مجبور بودند برای هر کلاینت یک فرایند جدا با Node و V8 راه‌اندازی کنند که از نظر حافظه، زمان راه‌اندازی و پایداری هزینهٔ بالایی داشت.

چرا ران‌تایم Copilot به Rust منتقل شد

طبق توضیح رسمی، معماری اولیهٔ CLI که رابط ترمینال و حلقهٔ عامل را درهم تنیده بود، برای سرعت عرضه مناسب بود؛ اما وقتی SDK روی همان پشته سوار شد، هر فراخوانی از مرز فرایند و پروتکل JSON-RPC می‌گذشت. هدف اعلام‌شده، داشتن ران‌تایمی بدون وابستگی سنگین، قابل جاسازی درون‌فرایندی از طریق ABI زبان C، با سربار کم راه‌اندازی و مصرف حافظهٔ قابل پیش‌بینی بود. توب تأکید کرده‌است که این انتخاب به‌معنای توصیهٔ عمومی تبدیل همهٔ برنامه‌های TypeScript به Rust نیست و با الزامات تعبیه‌پذیری و عملکرد این محصول توجیه شده‌است.

استراتژی انتخاب‌شده «درجا» بود: هر قطعه از TypeScript با پیاده‌سازی Rust جایگزین می‌شد، تست‌های انتهابه‌انتها بلافاصله روی کد جدید اجرا می‌شدند و شاخهٔ اصلی همواره قابل انتشار می‌ماند. در بازهٔ حدود چهارده‌ونیم هفته، ۱۳۵ نسخه (شامل ۱۰۰ پیش‌انتشار و ۳۵ نسخهٔ پایدار) با میانگین حدود ۱٫۳ انتشار در روز منتشر شد. تا ۲۱ اوت، ران‌تایم به‌طور کامل Rust تولیدی شده بود: ۸۳۲٬۳۷۸ خط Rust تولیدی و ۴۶۸٬۶۸۹ خط تست واحد Rust، به‌همراه ۱۷۴٬۶۷۵ خط تست انتهابه‌انتهای TypeScript.

اگر تجربه یا سؤالی دربارهٔ مهاجرت کد با عامل‌های هوش مصنوعی دارید، می‌توانید در بخش نظرات همین مطلب بنویسید.

عملکرد، هزینه و نقش انسان در پروژهٔ Rust

بنچمارک‌های اعلام‌شده با SDK سی‌شارپ و سرور تکمیل چت محلی (بدون تأخیر مدل) نشان می‌دهد ایجاد کلاینت، نشست و یک نوبت گفت‌وگو از ۵٫۲۵ ثانیه در می به حدود ۲۹۲ میلی‌ثانیه در حالت درون‌فرایندی در ۲۱ اوت رسیده‌است (حدود ۱۸ برابر). در آزمون هزار چرخهٔ نشست تک‌نوبته، توان عملیاتی از حدود ۷٫۵۵ به ۱۲۰ چرخه در ثانیه در حالت درون‌فرایندی افزایش یافته و اوج حافظهٔ خصوصی اضافه‌شده در سناریوی ده‌کلاینته از حدود ۱٬۳۸۳ مگابایت به حدود ۱۲۶ مگابایت کاهش یافته‌است (حدود ۹۱ درصد کمتر).

هزینهٔ توکن‌های نسبت‌داده‌شده حدود ۱۲۰ هزار دلار اعلام شده‌است؛ حدود ۱۳۶٫۳ میلیارد توکن در مجموع، که بخش عمدهٔ آن خواندن کش بوده‌است. سهم تقریبی زمان توسعه‌دهنده حدود سه هفته برآورد شده؛ در حالی که به‌گفتهٔ نویسنده، پیش از عامل‌ها چنین بازنویسی احتمالاً به یک تیم و یک تا دو سال نیاز داشت. توب نقش خود را بیشتر «حلقهٔ کنترل» توصیف کرده‌است: تعیین مرز، قضاوت دربارهٔ تصمیم‌های فنی و اطمینان از مسیر کلی، نه نوشتن تک‌تک نحوها.

رگرسیون‌ها و درس‌های مهاجرت عامل‌محور

تا ۱۴ سپتامبر ۲۰۲۶ ده‌ها رگرسیون شناخته‌شده ردیابی و رفع شده‌اند. بسیاری از آن‌ها از تفاوت معنایی ضمنی TypeScript و Rust، رفتار محیطی Node، جفت‌عملیات ناقص، یا ازدست‌رفتن ویژگی در ریبیس ناشی شده‌اند. نویسنده یادآوری کرده‌است که «اگر کامپایل شود، درست است» برای این مقیاس کافی نیست و تست‌های انتهابه‌انتها و حفاظت از قرارداد رفتاری حیاتی‌اند. مدل‌هایی مانند GPT-5.6 Sol و Claude Opus 4.8 در برش‌های مختلف کار به‌کار رفته‌اند.

این گزارش از منظر مهندسی نرم‌افزار نشان می‌دهد عامل‌های کدنویسی چگونه می‌توانند مهاجرت بزرگ در سیستم زنده را از نظر اقتصادی ممکن کنند، بدون آنکه نیاز به نظارت انسانی روی معماری و کیفیت را حذف کنند. جزئیات کامل در پست رسمی گیت‌هاب با عنوان «Migrating the GitHub Copilot runtime to Rust, using Copilot» آمده‌است.

آیا تجربهٔ مشابهی در انتقال پشتهٔ نرم‌افزاری با کمک عامل‌های هوش مصنوعی داشته‌اید؟