Bun เขียน 960K บรรทัดจาก Zig เป็น Rust ใน 6 วัน — AI ทำงานหนักแทน
เมื่อวันที่ 14 พฤษภาคม 2026 Jarred Sumner ผู้สร้าง Bun ได้ merge PR #30412 — branch ขนาดใหญ่ที่มี 6755 commits ที่เขียน core ของ Bun ใหม่จาก Zig เป็น Rust branch ชื่อ claude/phase-a-p... ถูกสร้างเกือบทั้งหมดโดย Claude AI agents ของ Anthropic
ตัวเลขนั้นน่าตกใจ:
| Metric | ค่า |
|---|---|
| Commits | 6,755 |
| Code ที่แปล | ~960K บรรทัด Zig → Rust |
| ระยะเวลา | 6 วัน |
| Test compatibility | 99.8% (Linux x64 glibc) |
| Source branch | claude/phase-a-p... |
เกิดอะไรขึ้นจริงๆ
Bun ถูกเขียนด้วย Zig ภาษา systems programming ที่ออกแบบโดย Andrew Kelley Zig ทำให้ Bun เร็ว — แต่มันก็จำกัดกลุ่มผู้มีส่วนร่วม Rust ตรงกันข้าม มี ecosystem ขนาดใหญ่, tooling ที่ mature, และการ integrate กับ LLVM ที่ลึก
หลัง Anthropic ซื้อ Bun ทีมทดลองใช้ Claude agents เพื่อแปล Zig codebase ทั้งหมดเป็น Rust การทดลองรัน 6 วันบน cluster ของ high-memory nodes ให้ผลลัพธ์ 6755 commits
ผลลัพธ์: Rust codebase ที่ผ่าน 99.8% ของ test suite เดิมของ Bun บน Linux x64 glibc
AI-Driven Migration ใน Scale
นี่คือหนึ่งในการสาธิต AI-driven codebase migration ครั้งใหญ่ที่สุดครั้งแรก วิธีการ:
- Source analysis: Claude วิเคราะห์รูปแบบโค้ด Zig, memory management idioms, และ public API surface
- Incremental translation: แต่ละ Zig file ถูกแปลเป็น Rust แบบ incremental รักษาพฤติกรรมผ่าน property-based testing
- Parallel execution: Claude agent instances หลายตัวทำงานแบบ parallel ทั่ว codebase
- CI validation: แต่ละโมดูลที่ถูกแปลตรวจสอบกับ test suite เดิมของ Bun
ความขัดแย้ง
การ merge ได้จุดประเดนถกเถียงอย่างดุเดือดทั่วชุมชน开发者:
ชุมชน Zig
Bun คือโปรเจกต์ flag ship ของ Zig — การ deploy จริงที่ใหญ่ที่สุดและชัดเจนที่สุดของภาษา Loris Cro สมาชิก Zig Software Foundation เคยอธิบาย LLM contributions ต่อ Zig ว่า “ส่วนใหญ่เป็นลบ” การย้ายครั้งนี้ถูกมองโดยบางคนว่าเป็นการทรยศต่อภาษาที่ทำให้ Bun เป็นไปได้
คำวิจารณ์ “Vibe Porting”
บน Lobste.rs开发者บัญญัติคำ “vibe porting” — AI-driven translation ที่ทำงานเชิงสถิติแต่ขาดความเข้าใจลึกซึ้ง นักวิจารณ์ argue ว่า Rust code ที่สร้างโดย AI ตามรูปแบบผิวเผินและพลาด idiomatic Rust
ท่าทีระวังของ Jarred
ใน HN comments ก่อนหน้านี้ Sumner เน้น: “เรายังไม่ commit ที่จะ rewrite มีโอกาสสูงมากที่โค้ดทั้งหมดนี้จะถูกโยนทิ้ง” แต่การ merge ไปยัง main บ่งบอกว่าการทดลองเกินความคาดหมาย — หรือว่ากลยุทธ์เปลี่ยนไป
นี่หมายถึงอะไร
สำหรับผู้ใช้ Bun
ระยะสั้น: ไม่มีอะไรเปลี่ยน Rust port รักษา API compatibility ระยะยาว: กลุ่มผู้มีส่วนร่วมใหญ่ขึ้น, integration กับ Rust ecosystem ดีขึ้น (crates อย่าง tokio, hyper, reqwest), และอาจ iteration เร็วขึ้น
สำหรับ Zig
Zig เสียโปรเจกต์ flag ship ของมัน แต่ภาษายังคงพัฒนา — และ Bun port อาจดึงดูดผู้ที่อยากทำงานบน Rust-based runtime
สำหรับ AI Code Migration
นี่คือ watershed moment ถ้า runtime ระดับ systems ขนาด 960K บรรทัดสามารถถูกพอร์ตใน 6 วันโดย AI เศรษฐศาสตร์ของ software rewrites เปลี่ยนไปโดยพื้นฐาน การบำรุงรักษา, legacy migration, และ language porting — ซึ่งเดิมแพงและเสี่ยง — กลายเป็นเรื่องที่ทำได้
ปฏิกิริยาจากชุมชน
| แหล่ง | ความรู้สึก |
|---|---|
| Hacker News | แบ่งครึ่ง — ประทับใจในความสามารถ AI, สงสัยใน code quality |
| Lobste.rs | วิพากษ์ — การถกเถียง “vibe porting”, กังวลเรื่อง idiomatic Rust |
| Stork.ai analysis | บทวิเคราะห์เชิงกลยุทธ์ของ Zig vs Rust dynamics |
| DevClass | รายงานเป็นกลาง, ชี้ว่าพอร์ตยัง “half-baked” |
| CosmicJS | รายงาน 99.8% test compatibility |
มองไปข้างหน้า
Bun Rust rewrite ยังไม่เสร็จ — 99.8% ไม่ใช่ 100% และผู้ review ชี้จุดที่ AI translation ยังไม่ถึง แต่ว่าการทดลองนี้ถึง main ได้เลย ส่งสัญญาณบทใหม่ไม่ใช่แค่สำหรับ Bun แต่สำหรับวิธีที่เราคิดเกี่ยวกับ software rewrites
ดังที่ commenter คนหนึ่งบน HN กล่าว: “คำถามเก่าคือ ‘เราควร rewrite เป็น Rust ไหม’ คำถามใหม่คือ ‘เราควรให้ AI rewrite เป็น Rust ให้เราไหม’”