needhelp
← Back to blog

Bun ۹۶۰ هزار خط را از Zig به Rust در ۶ روز بازنویسی کرد — هوش مصنوعی کار سنگین را انجام داد

by needhelp
bun
rust
zig
ai-codegen
javascript-runtime

Bun Zig to Rust rewrite

در ۱۴ می ۲۰۲۶، خالق Bun یعنی Jarred Sumner PR #30412 را ادغام کرد—یک شاخه ۶۷۵۵-commit که هسته Bun را از Zig به Rust بازنویسی می‌کند. شاخه، claude/phase-a-p...، تقریباً به طور کامل توسط عامل‌های هوش مصنوعی Anthropic’s Claude تولید شد.

اعداد خیره‌کننده‌اند:

معیار مقدار
Commit ۶,۷۵۵
کد ترجمه‌شده ~۹۶۰ هزار خط Zig → Rust
زمان ۶ روز
سازگاری تست ۹۹.۸٪ (Linux x64 glibc)
شاخه منبع claude/phase-a-p...

واقعاً چه اتفاقی افتاد

Bun در اصل به زبان Zig نوشته شد، یک زبان برنامه‌نویسی سیستمی طراحی‌شده توسط Andrew Kelley. Zig به Bun سرعتش را داد—اما همچنین استخر مشارکت‌کنندگان را محدود کرد. Rust، در مقابل، اکوسیستم عظیم، ابزارهای بالغ و یکپارچگی عمیق LLVM دارد.

پس از خرید Bun توسط Anthropic، تیم آزمایش استفاده از عامل‌های Claude برای ترجمه کل codebase Zig به Rust را تجربه کرد. آزمایش به مدت ۶ روز روی یک کلاستر از نودهای حافظه بالا اجرا شد و ۶۷۵۵ commit تولید کرد.

نتیجه: یک codebase Rust که ۹۹.۸٪ از مجموعه تست موجود Bun را روی Linux x64 glibc پاس می‌کند.

مهاجرت مبتنی بر هوش مصنوعی در مقیاس

این یکی از اولین نمایش‌های مقیاس بزرگ مهاجرت codebase با هوش مصنوعی است. رویکرد:

۱. تحلیل منبع: Claude الگوهای کد Zig، اصطلاحات مدیریت حافظه و سطح API عمومی را تحلیل کرد ۲. ترجمه تدریجی: هر فایل Zig به تدریج به Rust ترجمه شد و رفتار از طریق تست مبتنی بر ویژگی حفظ شد ۳. اجرای موازی: چندین نمونه عامل Claude به صورت موازی روی codebase کار کردند ۴. اعتبارسنجی CI: هر ماژول ترجمه‌شده علیه مجموعه تست موجود Bun اعتبارسنجی شد

جنجال

ادغام بحث داغی را در سراسر جامعه توسعه‌دهندگان برانگیخته:

جامعه Zig

Bun پروژه پرچمدار Zig بود—بزرگ‌ترین و قابل‌رؤیت‌ترین استقرار تولیدی این زبان. Loris Cro، یکی از اعضای Zig Software Foundation، قبلاً مشارکت‌های LLM در Zig را «عمدتاً منفی» توصیف کرده. این مهاجرت توسط برخی به عنوان خیانت به زبانی که Bun را ممکن کرد دیده می‌شود.

نقدهای «Vibe Porting»

در Lobste.rs، توسعه‌دهندگان عبارت «vibe porting» را ابداع کردند—ترجمه مبتنی بر هوش مصنوعی که از نظر آماری کار می‌کند اما فاقد درک عمیق است. منتقدان استدلال می‌کنند کد Rust تولیدشده توسط هوش مصنوعی از الگوهای سطحی پیروی می‌کند و روش اصطلاحی Rust را از دست می‌دهد.

نظر محتاطانه Jarred

سامنر تأکید کرد: «ما متعهد به بازنویسی نشده‌ایم. احتمال بسیار بالایی وجود دارد که همه این کد کاملاً دور ریخته شود.» با این حال ادغام در main نشان می‌دهد آزمایش فراتر از انتظارات بود—یا استراتژی تغییر کرد.

این چه معنایی دارد

برای کاربران Bun

کوتاه‌مدت: هیچ چیز تغییر نمی‌کند. پورت Rust سازگاری API را حفظ می‌کند. بلندمدت: استخر مشارکت‌کنندگان بزرگ‌تر، یکپارچگی بهتر با اکوسیستم Rust و احتمالاً تکرار سریع‌تر.

برای Zig

Zig پروژه پرچمدار خود را از دست می‌دهد. اما زبان به تکامل ادامه می‌دهد—و پورت Bun ممکن است توسعه‌دهندگانی را جذب کند که می‌خواهند روی یک runtime مبتنی بر Rust کار کنند.

برای مهاجرت کد با هوش مصنوعی

این یک لحظه تعیین‌کننده است. اگر یک runtime سطح سیستم ۹۶۰ هزار خطی می‌تواند در ۶ روز توسط هوش مصنوعی پورت شود، اقتصاد بازنویسی نرم‌افزار اساساً تغییر می‌کند. نگهداری، مهاجرت legacy و انتقال زبان—که از نظر تاریخی گران و پرخطر بودند—شدنی می‌شوند.

References

Share this page