Những ngày gần đây, giới công nghệ xôn xao: Andrew Kelley, người sáng lập ngôn ngữ lập trình Zig, đang nổi giận.

Nguyên nhân là do Bun, dự án từng đặt cược toàn bộ vào ngôn ngữ Zig, đã được người sáng lập của nó, Jarred Sumner, viết lại bằng ngôn ngữ Rust.

Andrew Kelley đã bày tỏ cơn giận của mình một cách thẳng thừng, không nói những lời xã giao trong sự kiện công nghệ gây chấn động này, mà trực tiếp chỉ trích thói quen kỹ thuật cá nhân, năng lực quản lý của Jarred Sumner, cùng logic thương mại đằng sau sự kiện.
Bun là một runtime JavaScript/TypeScript hiệu năng cao, nhằm mục tiêu trở thành sự thay thế trực tiếp, nhanh hơn và hiện đại hơn cho Node.js, những năm gần đây đã trở thành ứng cử viên nặng ký thách thức vị thế thống trị của Node.js trong thế giới front-end.
Ưu điểm cốt lõi của Bun là tốc độ cực nhanh: dù là thời gian khởi động, cài đặt phụ thuộc hay chạy kiểm thử, đều vượt xa đối thủ, một phần nguyên nhân là vì nó được viết bằng ngôn ngữ Zig.
Tháng 12 năm ngoái, Anthropic thông báo đã mua lại Bun, sử dụng nó làm cơ sở hạ tầng để vận hành công cụ lập trình AI Claude Code và Claude Agent SDK của họ. Jarred Sumner và các thành viên khác trong đội ngũ Bun hiện đang làm việc tại Anthropic.
Khi được ứng dụng ở quy mô lớn, đặc biệt là làm nền tảng cho Claude Code, đội ngũ Bun cho rằng họ gặp phải những vấn đề về độ ổn định khó có thể giải quyết triệt để.
Cụ thể, phiên bản Bun viết bằng Zig tồn tại rất nhiều lỗi bảo mật bộ nhớ – use-after-free, double-free, quên giải phóng bộ nhớ trong các đường dẫn lỗi, v.v. Những vấn đề này trong Zig chỉ có thể được hạn chế bằng quy tắc mã hóa, còn trong Rust, thông qua bộ kiểm tra quyền sở hữu (borrow checker) và cơ chế Drop, chúng sẽ trực tiếp trở thành lỗi biên dịch.
Mặt khác, cộng đồng phát triển chính (upstream) của Zig áp dụng chính sách không khoan nhượng với mã được tạo bởi mô hình ngôn ngữ lớn (LLM), ngay cả các thay đổi tối ưu hóa không liên quan đến AI cũng không thể được hợp nhất vào nhánh chính. Đội ngũ Bun phụ thuộc nhiều vào AI hỗ trợ phát triển, việc tiếp tục sử dụng Zig đồng nghĩa với việc phải duy trì nhánh trình biên dịch riêng của họ trong thời gian dài, chi phí rất cao.
Vì vậy, vào tháng 5 năm nay, chúng ta đã chứng kiến một dự án kỹ thuật lớn trong giới công nghệ: Jarred Sumner, người sáng lập Bun, thông báo đã viết lại triệu dòng mã của Bun bằng Rust chỉ trong 11 ngày, họ sử dụng Claude Fable 5 (mô hình cấp Mythos) khi đó chưa được Anthropic công bố công khai và khả năng workflow động của Claude Code.

Đây là một bài kiểm tra quy mô lớn mang tính sử thi về luồng công việc trí tuệ nhân tạo (Agentic Workflow), sau này cũng được Anthropic sử dụng như một case study tiêu biểu cho Dynamic Workflows để tuyên truyền, nhưng cũng vì "phản bội niềm tin" mà gây ra tranh cãi.
Trong bài viết blog gần đây của mình, Andrew Kelley, người sáng lập Zig, chỉ ra rằng lý do cơ bản khiến Bun tràn ngập lỗi trước khi viết lại là do thói quen kỹ thuật tồi tệ của Jarred Sumner.
Đầu tiên, ngay cả trước khi AI trở nên thịnh hành, Jarred đã luôn viết mã rác. Kelley cho biết, đội ngũ Zig thường xuyên kiểm tra kho mã của người dùng, và họ cảm thấy "cực kỳ sợ hãi" với kho mã của Bun. Bên trong đó đầy rẫy những bản vá chồng vá kiểu hack (hacks on top of hacks), lạm dụng các lệnh khẳng định (assertion), và để nhanh chóng ra mắt tính năng mới, hầu như không bao giờ dành thời gian để loại bỏ lỗi và nợ kỹ thuật.
Và sau đó là triệu dòng mã do Claude tạo ra. Kelley đặt câu hỏi ngược lại: "Bun chính thức tuyên bố rằng 1 triệu dòng mã Rust chưa được con người xem xét (do AI viết) là an toàn vì có các trường hợp kiểm thử; vậy nếu các trường hợp kiểm thử thực sự đầy đủ như vậy, tại sao khi viết bằng Zig trước đây lại không thể phát hiện ra những lỗi khó chịu đó?"
Bây giờ, Kelley cảm thấy vô cùng thất vọng khi Jarred từ một nhà phát triển mã nguồn mở có nhiệt huyết của người mới bắt đầu (beginner energy) trở thành một người quản lý tồi (stinky manager).
Kelley thẳng thắn nói rằng khi biết tin Bun quyết định từ bỏ Zig, anh không chỉ không tức giận vì cảm thấy bị phản bội, mà ngược lại còn cảm thấy nhẹ nhõm. Anh sợ rằng Bun mang danh Zig sẽ khiến bên ngoài hiểu lầm, và càng sợ nó thu hút một nhóm người dùng chỉ biết sao chép-dán mã AI. Anh thậm chí châm biếm rằng, mình đang ôm một tách trà, mừng rằng "cuối cùng thì việc này cũng không còn liên quan đến tôi nữa".
Với những lời chỉ trích thẳng thừng như vậy, những người khác trong giới công nghệ cũng lần lượt tham gia cuộc chiến, đưa ra quan điểm.
Trước hết là một phép tính: Ai cũng nói token của Claude quá đắt, nhưng theo dữ liệu do Jarred Sumner và chính thức từ Bun công bố, dự án viết lại Bun bằng ngôn ngữ Rust ước tính tiêu tốn 16,5 vạn đô la Mỹ chi phí API. Trong mắt giới công nghệ và kỹ thuật, cái giá và thời gian này rẻ đến mức đáng sợ.
Chỉ nhìn trên sổ sách, AI đã nén chi phí phát triển xuống còn khoảng một phần mười so với ban đầu, thời gian cũng giảm từ khoảng một năm xuống còn chưa đầy hai tuần.

Tiếp theo là thái độ đối với sự va chạm giữa văn hóa cộng đồng mã nguồn mở và thời đại AI. Có người sau khi đọc bài blog của người sáng lập Zig, Andrew, cảm thấy vô cùng khó chịu, cho rằng việc anh công khai tấn công một người dùng và nhà tài trợ quan trọng trước đây (Bun từng tài trợ lâu dài cho Zig) thể hiện sự thiếu chuyên nghiệp, thậm chí có người cực đoan cho rằng "chưa bao giờ chủ động hy vọng một ngôn ngữ lập trình thất bại đến thế".
Nhưng cũng có những lập trình viên theo trường phái cũ đứng ra ủng hộ, cho rằng trong thời đại bị bong bóng vốn và AI cuốn theo này, Andrew chỉ đang bảo vệ chất lượng kỹ thuật thuần túy, thể hiện phong cách của Linus Torvalds ngày trước.

Tất nhiên, mọi người quan tâm hơn là sau khi dự án xáo trộn như vậy, nó có còn dễ dùng hay không.
Hiện tại, điểm gây tranh cãi lớn nhất là ở chỗ, 1 triệu dòng mã này do được AI dịch cơ học từ Zig sang, thiếu sự tái cấu trúc kiến trúc từ các kỹ sư con người. Trong kho mã mới vẫn còn sót lại tới 2,7 vạn dòng mã khối unsafe. Nhiều người lo ngại rằng trong tương lai, khi các nhà phát triển con người bảo trì, đọc và sửa đổi đống "sản phẩm sinh ra từ AI" khổng lồ này, chi phí nhận thức và chi phí tìm lỗi tiêu tốn cuối cùng có thể vượt quá chi phí phát triển ban đầu tiết kiệm được ngày hôm nay.
Dự án phá vỡ quy luật lịch sử kỹ thuật phần mềm này, cuối cùng sẽ là một cột mốc thay đổi mô hình lập trình của AI, hay sẽ hóa thành một ngọn núi lửa nợ kỹ thuật khó bảo trì trong tương lai? Có lẽ chỉ có thể giao cho thời gian kiểm chứng.
Tài liệu tham khảo:
https://bun.com/blog/bun-in-rust
https://andrewkelley.me/post/my-thoughts-bun-rust-rewrite.html
Bài viết này từ tài khoản WeChat công cộng "机器之心" (ID:almosthuman2014), tác giả: 关注AI的






