GitHub và Bun dùng tác tử AI viết lại Rust

GitHub chuyển môi trường thực thi Copilot sang Rust theo từng đợt, còn Anthropic và Bun dùng nhiều tác tử Claude Code để xử lý các phần mã song song.

Lập trình viên làm việc trên dự án chuyển đổi mã nguồn sang Rust
Tác tử AI đang tham gia các đợt viết lại phần mềm quy mô lớn.

GitHub và Bun đều dùng tác tử AI để viết lại phần mềm quy mô lớn bằng Rust, nhưng chọn hai cách tổ chức khác nhau. Phía GitHub chia quá trình chuyển đổi thành 128 yêu cầu hợp nhất và phát hành từng phần. Nhà sáng lập Bun Jarred Sumner điều phối nhiều tác tử Claude Code làm việc song song, sau đó hợp nhất và tiếp tục rà soát kết quả.

Theo bài tổng hợp của The New Stack, GitHub đã viết lại toàn bộ môi trường thực thi GitHub Copilot bằng Rust. Hệ thống cũ được xây dựng bằng TypeScript trên Node.js và V8, còn hệ thống mới có hơn 800.000 dòng Rust dùng trong môi trường sản xuất. Phần lớn mã được tạo bởi các tác tử Copilot.

Hai dự án cho thấy phạm vi của tác tử AI viết mã đang mở rộng từ sửa lỗi hoặc hoàn thành từng hàm sang chuyển đổi cả hệ thống. Tuy nhiên, các số liệu thời gian không phải là phép so sánh trực tiếp giữa Claude và Copilot. Mã nguồn ban đầu, cách chia công việc và điều kiện phát hành của hai dự án đều khác nhau.

GitHub chuyển đổi từng phần qua 128 yêu cầu hợp nhất

Nội dung chuyển đổi và cách chia công việc

Copilot tạo phần lớn mã cho quá trình chuyển đổi. Dự án được chia thành 128 yêu cầu hợp nhất, giúp nhóm đưa mã Rust vào hệ thống theo từng đợt. Nhóm cũng có thể xử lý lỗi hồi quy trong khi sản phẩm tiếp tục phát triển.

Trong bài công bố của GitHub, kỹ sư Microsoft Stephen Toub cho biết nhóm sử dụng ứng dụng GitHub Copilot và Copilot CLI trong quá trình viết lại. Mỗi yêu cầu hợp nhất tạo thành một điểm kiểm tra riêng trước khi mã được đưa vào sử dụng.

Thời gian và vai trò của kỹ sư

Toub cho biết tác tử AI viết phần lớn mã. Ông ước tính một dự án tương tự trước đây cần cả một nhóm phát triển làm việc trong một hoặc hai năm. Với tác tử, một lập trình viên hoàn thành phần việc chính trong vài tháng. Những thành viên còn lại tiếp tục mở rộng khả năng và phạm vi của môi trường thực thi.

The New Stack cho biết toàn bộ quá trình của GitHub kéo dài khoảng 14 tuần rưỡi, trong khi Bun đạt mốc vượt bộ kiểm thử sau 11 ngày. Hai mốc này không cho biết cách tổ chức nào nhanh hơn vì các dự án khác nhau về ngôn ngữ đầu vào, phạm vi, mức độ song song và điều kiện phát hành. GitHub không tách việc chuyển đổi khỏi hoạt động phát triển thường ngày mà đưa từng phần Rust vào hệ thống khi chúng hoàn tất.

Tác tử đảm nhiệm phần lớn khối lượng viết mã, còn nhóm triển khai chia công việc qua 128 yêu cầu hợp nhất, phát hành tăng dần và sửa lỗi hồi quy trong quá trình chuyển đổi. Cách phân công này đáng chú ý trong bối cảnh AI đang làm thay đổi hoạt động rà soát mã và buộc các nhóm kỹ thuật xác định rõ nơi cần sự phê duyệt của con người.

Bun chuyển đổi nhiều phần song song

Bun chọn một quy trình có mức độ song song cao. Nhiều tác tử Claude Code cùng dịch và kiểm tra các phần khác nhau của mã nguồn, còn nhà sáng lập Jarred Sumner theo dõi tiến độ và can thiệp khi cần. Sau 11 ngày, phiên bản Rust vượt qua bộ kiểm thử hiện có trên sáu nền tảng được hỗ trợ.

Ảnh minh họa được đăng trong bài gốc của The New Stack
Ảnh minh họa từ bài viết gốc.

Bun, môi trường thực thi JavaScript được Anthropic mua lại vào tháng 12, công bố vào tháng 7 rằng dự án đang viết lại hơn nửa triệu dòng Zig bằng Rust. Theo bài công bố của Bun, Sumner đã dùng một mô hình Claude chưa phát hành để thực hiện phần lớn công việc.

Độ ổn định thúc đẩy quá trình chuyển đổi

Động lực chính của Bun là độ ổn định. Sumner bắt đầu dự án vào năm 2021, trước giai đoạn mô hình ngôn ngữ lớn trở nên phổ biến. Theo số liệu Bun cung cấp và The New Stack dẫn lại, CLI của dự án hiện có hơn 22 triệu lượt tải mỗi tháng. Khi phạm vi sử dụng tăng, Bun gặp nhiều lỗi quản lý bộ nhớ, gồm rò rỉ và sự cố dừng chương trình.

Sumner không cho rằng bản thân Zig là nguyên nhân. Theo ông, khó khăn nằm ở việc Bun phải quản lý bộ nhớ giữa mã Zig và bộ máy JavaScript được nhúng bên trong. Rust cung cấp cơ chế bảo vệ mạnh hơn trước nhiều lỗi thuộc nhóm này, nhưng quy mô chuyển đổi vẫn là trở ngại lớn.

Theo số liệu Sumner công bố, Bun có 535.496 dòng Zig. Ông ước tính cách viết lại thông thường sẽ cần một nhóm kỹ sư nhỏ làm việc khoảng một năm. Trong thời gian đó, dự án có thể phải ngừng sửa lỗi, xử lý vấn đề bảo mật hoặc phát triển tính năng, khiến phương án này khó thực hiện.

Cách Bun điều phối và kiểm tra mã

Thay vì chuyển đổi tuần tự, Sumner điều phối nhiều tác tử Claude Code cùng dịch và kiểm tra các phần khác nhau của Bun. Ông theo dõi tiến độ và can thiệp khi quá trình đi sai hướng. Sau 11 ngày, phiên bản Rust đã vượt qua bộ kiểm thử hiện có của Bun trên cả sáu nền tảng được hỗ trợ, theo báo cáo của Sumner. Mã sau đó được hợp nhất, nhưng vẫn tiếp tục được rà soát và làm sạch trước khi phát hành.

GitHub và Bun khác nhau như thế nào?

GitHub ưu tiên chuyển đổi tăng dần trong khi Bun ưu tiên xử lý song song. GitHub mất khoảng 14 tuần rưỡi để đưa từng phần mã vào sản xuất qua 128 yêu cầu hợp nhất. Bun đạt mốc vượt qua bộ kiểm thử trên sáu nền tảng sau 11 ngày, nhưng mã vẫn cần được rà soát trước khi phát hành.

Tiêu chíGitHub CopilotBun và Claude Code
Mã nguồn ban đầuTypeScript, Node.js và V8Zig
Quy mô được công bốHơn 800.000 dòng Rust535.496 dòng Zig cần chuyển đổi
Cách tổ chức128 yêu cầu hợp nhấtNhiều tác tử chạy song song
Mốc thời gianKhoảng 14 tuần rưỡi11 ngày để vượt kiểm thử
Kiểm soátHợp nhất và phát hành từng đợtHợp nhất rồi tiếp tục rà soát

Không thể dùng thời gian để so sánh trực tiếp

Các số liệu trên do GitHub và Bun công bố, sau đó được The New Stack tổng hợp. Khoảng cách giữa 11 ngày và 14 tuần rưỡi không phản ánh trực tiếp năng lực của Claude so với Copilot. Bun chuyển từ Zig sang Rust, tức giữa hai ngôn ngữ hệ thống, và tổ chức công việc theo hướng song song cao. GitHub chuyển một môi trường thực thi TypeScript, Node.js và V8 sang Rust trong khi vẫn tiếp tục phát hành sản phẩm.

Chi phí nhân lực và giới hạn của tác tử

Điểm chung nằm ở tính khả thi về nguồn lực. Toub ước tính cách làm truyền thống cần cả một nhóm phát triển trong một hoặc hai năm. Sumner cho rằng cách viết lại Bun thông thường sẽ cần một nhóm kỹ sư nhỏ làm việc khoảng một năm. Quá trình đó có thể làm gián đoạn việc sửa lỗi, xử lý vấn đề bảo mật hoặc phát triển tính năng.

Trong cả hai trường hợp, tác tử không loại bỏ vai trò của kỹ sư. Công nghệ này làm tăng lượng mã mà một người có thể điều phối. Tại GitHub, mã được hợp nhất và phát hành tăng dần để nhóm phát hiện, sửa lỗi hồi quy; tại Bun, Sumner theo dõi, can thiệp và tiếp tục rà soát mã trước khi phát hành.

Các tuyên bố cũng cần được đặt trong đúng bối cảnh. GitHub và Anthropic đều bán những công cụ được dùng trong các dự án này. Những trường hợp do chính nhà cung cấp báo cáo chưa đủ để kết luận rằng cùng một quy trình sẽ tạo ra kết quả tương tự cho mọi nhóm kỹ thuật.

Xu hướng viết lại phần mềm bằng Rust đang mở rộng

Các dự án tại Meta và OpenAI cho thấy tác tử AI cũng đang được dùng trong những đợt chuyển đổi khác sang Rust. Dù AI có thể tạo phần lớn mã, con người vẫn phụ trách kiến trúc, chiến lược kiểm thử, cách chia phạm vi và quyết định đưa hệ thống mới vào môi trường sản xuất.

Nội dung chuyển đổi tại Meta và vai trò của con người

Lập trình viên rà soát mã trong một dự án chuyển đổi sang Rust
Con người vẫn phụ trách kiến trúc và kiểm thử.

The New Stack ghi nhận rằng vào tháng 3, kỹ sư Meta Joe Savona dẫn dắt việc chuyển React Compiler từ TypeScript sang Rust và cho biết phần lớn mã được AI viết. Kiến trúc, chiến lược kiểm thử và kế hoạch chuyển đổi vẫn do con người chỉ đạo.

Meta và OpenAI mở rộng mô hình chuyển đổi

OpenAI cũng công bố hai kỹ sư đã làm việc cùng Codex và GPT-5.5 để viết lại Habitat từ Python sang Rust trong quý II năm 2026. Habitat là dịch vụ lưu trữ hỗ trợ các sản phẩm gồm ChatGPT. Theo số liệu OpenAI cung cấp và The New Stack dẫn lại, dịch vụ Rust mới đang xử lý 95% yêu cầu trong môi trường sản xuất. Phiên bản này dùng CPU ít hơn sáu lần và bộ nhớ ít hơn 15 lần so với phiên bản Python. OpenAI dự kiến ngừng phiên bản Python trong những tuần tiếp theo.

Những dự án này cho thấy tác tử có thể đảm nhiệm khối lượng mã lớn, nhưng phần việc khó vẫn gồm xác định kiến trúc, xây dựng kiểm thử, chia nhỏ phạm vi và quyết định thời điểm đưa mã vào sản xuất. Các nhóm vẫn cần kiểm thử và rà soát mã do công cụ tạo ra để phát hiện lỗi hồi quy, lỗi quản lý bộ nhớ và các vấn đề khác trước khi đưa mã vào sản xuất.

Rust vốn đã thu hút các dự án cần cải thiện an toàn bộ nhớ và hiệu năng. Tác tử AI có thể giảm chi phí ban đầu của những đợt chuyển đổi từng bị xem là quá dài, gây nhiều gián đoạn hoặc cần quá nhiều nhân lực. GitHub cho thấy cách triển khai thận trọng theo từng phần, còn Bun cho thấy tốc độ của một quy trình song song dưới sự điều phối trực tiếp của con người.

Hãy theo dõi Sine để tiếp tục quan sát cách các đội kỹ thuật đưa tác tử AI từ thử nghiệm viết mã vào những hệ thống đang vận hành thực tế.