Ngọc Yến✔
Writer
Dự án Rust vừa chính thức đưa ra một bộ hướng dẫn mới về việc sử dụng mô hình ngôn ngữ lớn (LLM) trong quá trình đóng góp mã nguồn, đánh dấu một cách tiếp cận khá khác với xu hướng "AI viết code" đang lan rộng trong ngành phần mềm.
Nguyên tắc cốt lõi rất đơn giản: LLM có thể được dùng để trả lời câu hỏi, phân tích, kiểm tra, cải thiện, tìm lỗi, đưa ra đề xuất và hỗ trợ đánh giá, nhưng không được trở thành người trực tiếp tạo ra nội dung đóng góp.
Hướng dẫn được năm nhóm của dự án Rust phê duyệt, gồm trình biên dịch, thư viện chuẩn, hệ thống kiểu, rustdoc và bootstrap. Hiện quy định chủ yếu áp dụng cho kho mã nguồn <span>rust-lang/rust</span> và những nhóm đã thông qua chính sách, chưa phải lệnh cấm AI trên toàn bộ hệ sinh thái Rust.
Điểm đáng chú ý là Rust không chọn cách cấm LLM hoàn toàn. Lập trình viên vẫn có thể sử dụng AI riêng tư để hỏi về mã nguồn, tóm tắt thảo luận, kiểm tra mã của chính mình hoặc hỗ trợ tìm lỗi. Nếu kết quả chỉ phục vụ cho cá nhân và không được đưa vào nội dung mà các thành viên khác phải đọc hoặc đánh giá, việc sử dụng không nhất thiết phải công khai.
Một số hình thức sử dụng khác được phép nhưng phải minh bạch, chẳng hạn dịch máy, sửa lỗi nhỏ, tìm lỗi bằng LLM hoặc sử dụng bot AI để review mã. Các bot này phải dùng tài khoản GitHub riêng và được gắn nhãn rõ ràng để những người không muốn xem nội dung do AI tạo ra có thể bỏ qua.
Ngược lại, Rust cấm đưa trực tiếp nội dung do LLM tạo ra vào bình luận, tài liệu hoặc thông tin chẩn đoán của trình biên dịch. Một quy trình cũng không được phụ thuộc vào LLM để hoạt động, và quyết định hợp nhất hay từ chối một thay đổi không thể chỉ dựa trên kết luận của AI.
Nói cách khác, Rust muốn AI đứng ở phía hỗ trợ tư duy, chứ không đứng ở vị trí thay thế người đóng góp.
Đáng chú ý hơn, Rust vẫn cho phép thử nghiệm việc sử dụng LLM để tạo mã trong một phạm vi rất hẹp. Những thay đổi có sự tham gia của AI phải được công khai, thông báo trước cho người đánh giá và được con người kiểm tra đầy đủ. Với người mới tham gia dự án, yêu cầu còn chặt chẽ hơn: họ phải tìm được người đánh giá sẵn sàng xem xét mã do LLM hỗ trợ. Nếu phần mã được sửa đổi chưa có bộ kiểm thử, người đóng góp phải tự bổ sung kiểm thử.
Rust thậm chí thiết kế một cơ chế "ngắt mạch". Nếu trong bất kỳ chu kỳ sáu tuần nào, hơn một nửa số pull request được hợp nhất có sự tham gia của LLM, việc hợp nhất các pull request dạng này sẽ bị tạm dừng. Chỉ khi tỷ lệ giảm xuống dưới 50% và trải qua ít nhất 10 ngày chờ, quá trình mới được tiếp tục.
Lý do Rust phải đặt ra những giới hạn này không đơn thuần là vấn đề quan điểm về AI. Nó liên quan trực tiếp đến cách các dự án mã nguồn mở đánh giá chất lượng và duy trì niềm tin.
Trước đây, một pull request được viết tốt, có cấu trúc rõ ràng và đầy đủ kiểm thử thường cho thấy tác giả đã dành thời gian tìm hiểu vấn đề và hiểu mã nguồn. Nhưng LLM đang làm thay đổi tín hiệu đó. Một người có thể tạo ra một pull request rất đẹp mà không thực sự hiểu sâu về những gì mình vừa gửi.
Trong khi đó, AI có thể khiến lượng mã được tạo ra tăng nhanh, nhưng không làm tăng tương ứng số người có khả năng đánh giá mã. Với một dự án lớn, thứ khan hiếm không phải là mã nguồn mà là thời gian và năng lực của những người review.
Rust cũng muốn ngăn một kiểu giao tiếp mới đang xuất hiện: người đóng góp lấy nhận xét của reviewer đưa vào LLM, sau đó sao chép câu trả lời của AI trở lại GitHub. Theo dự án, cách làm này làm lãng phí thời gian và phá vỡ một giả định quan trọng của quá trình review, rằng người viết mã thực sự hiểu vấn đề và đang trực tiếp trao đổi với reviewer.
Cách tiếp cận của Rust cũng khác với Zig, một dự án mã nguồn mở khác có chính sách AI nghiêm ngặt hơn. Zig hạn chế cả việc sử dụng AI để viết lại, dịch thuật, chỉnh sửa, động não hay tìm lỗi. Rust linh hoạt hơn, chấp nhận việc lập trình viên sử dụng AI, miễn là AI không biến thành người chịu trách nhiệm thay họ.

Điều đáng nói là Rust cũng thừa nhận cộng đồng chưa có sự đồng thuận về AI. Một số thành viên sử dụng LLM hàng ngày, trong khi những người khác phản đối việc sử dụng AI. Vì vậy, chính sách mới được thiết kế như một thử nghiệm có thể sửa đổi, thay vì một quy định bất biến.
Trong sáu tuần đầu tiên, Rust sẽ thu thập dữ liệu về các pull request có sự hỗ trợ của AI để xem chúng có thực sự tạo ra giá trị hay chỉ khiến đội ngũ review thêm quá tải. Dự án cũng đang cân nhắc thành lập một ủy ban chuyên trách về LLM để xây dựng chính sách rộng hơn trong tương lai.
Câu chuyện của Rust cho thấy tranh luận về AI trong lập trình đang chuyển sang một giai đoạn mới. Khi AI có thể tạo ra mã nhanh hơn bao giờ hết, vấn đề không còn là AI có viết được code hay không, mà là ai sẽ hiểu, kiểm tra và chịu trách nhiệm cho lượng code đó.
Rust dường như đã có câu trả lời của riêng mình: AI có thể giúp bạn nhìn thấy nhiều hơn, nhưng quyết định cuối cùng vẫn phải thuộc về con người.
Liên kết tham khảo:
https://blog.rust-lang.org/inside-rust/2026/08/05/rust-langrust-is-adopting-an-llm-policy/ #what -does-the-policy-say
Nguyên tắc cốt lõi rất đơn giản: LLM có thể được dùng để trả lời câu hỏi, phân tích, kiểm tra, cải thiện, tìm lỗi, đưa ra đề xuất và hỗ trợ đánh giá, nhưng không được trở thành người trực tiếp tạo ra nội dung đóng góp.
Hướng dẫn được năm nhóm của dự án Rust phê duyệt, gồm trình biên dịch, thư viện chuẩn, hệ thống kiểu, rustdoc và bootstrap. Hiện quy định chủ yếu áp dụng cho kho mã nguồn <span>rust-lang/rust</span> và những nhóm đã thông qua chính sách, chưa phải lệnh cấm AI trên toàn bộ hệ sinh thái Rust.
Điểm đáng chú ý là Rust không chọn cách cấm LLM hoàn toàn. Lập trình viên vẫn có thể sử dụng AI riêng tư để hỏi về mã nguồn, tóm tắt thảo luận, kiểm tra mã của chính mình hoặc hỗ trợ tìm lỗi. Nếu kết quả chỉ phục vụ cho cá nhân và không được đưa vào nội dung mà các thành viên khác phải đọc hoặc đánh giá, việc sử dụng không nhất thiết phải công khai.
Một số hình thức sử dụng khác được phép nhưng phải minh bạch, chẳng hạn dịch máy, sửa lỗi nhỏ, tìm lỗi bằng LLM hoặc sử dụng bot AI để review mã. Các bot này phải dùng tài khoản GitHub riêng và được gắn nhãn rõ ràng để những người không muốn xem nội dung do AI tạo ra có thể bỏ qua.
Ngược lại, Rust cấm đưa trực tiếp nội dung do LLM tạo ra vào bình luận, tài liệu hoặc thông tin chẩn đoán của trình biên dịch. Một quy trình cũng không được phụ thuộc vào LLM để hoạt động, và quyết định hợp nhất hay từ chối một thay đổi không thể chỉ dựa trên kết luận của AI.
Nói cách khác, Rust muốn AI đứng ở phía hỗ trợ tư duy, chứ không đứng ở vị trí thay thế người đóng góp.
Đáng chú ý hơn, Rust vẫn cho phép thử nghiệm việc sử dụng LLM để tạo mã trong một phạm vi rất hẹp. Những thay đổi có sự tham gia của AI phải được công khai, thông báo trước cho người đánh giá và được con người kiểm tra đầy đủ. Với người mới tham gia dự án, yêu cầu còn chặt chẽ hơn: họ phải tìm được người đánh giá sẵn sàng xem xét mã do LLM hỗ trợ. Nếu phần mã được sửa đổi chưa có bộ kiểm thử, người đóng góp phải tự bổ sung kiểm thử.
Rust thậm chí thiết kế một cơ chế "ngắt mạch". Nếu trong bất kỳ chu kỳ sáu tuần nào, hơn một nửa số pull request được hợp nhất có sự tham gia của LLM, việc hợp nhất các pull request dạng này sẽ bị tạm dừng. Chỉ khi tỷ lệ giảm xuống dưới 50% và trải qua ít nhất 10 ngày chờ, quá trình mới được tiếp tục.
Lý do Rust phải đặt ra những giới hạn này không đơn thuần là vấn đề quan điểm về AI. Nó liên quan trực tiếp đến cách các dự án mã nguồn mở đánh giá chất lượng và duy trì niềm tin.
Trước đây, một pull request được viết tốt, có cấu trúc rõ ràng và đầy đủ kiểm thử thường cho thấy tác giả đã dành thời gian tìm hiểu vấn đề và hiểu mã nguồn. Nhưng LLM đang làm thay đổi tín hiệu đó. Một người có thể tạo ra một pull request rất đẹp mà không thực sự hiểu sâu về những gì mình vừa gửi.
Trong khi đó, AI có thể khiến lượng mã được tạo ra tăng nhanh, nhưng không làm tăng tương ứng số người có khả năng đánh giá mã. Với một dự án lớn, thứ khan hiếm không phải là mã nguồn mà là thời gian và năng lực của những người review.
Rust cũng muốn ngăn một kiểu giao tiếp mới đang xuất hiện: người đóng góp lấy nhận xét của reviewer đưa vào LLM, sau đó sao chép câu trả lời của AI trở lại GitHub. Theo dự án, cách làm này làm lãng phí thời gian và phá vỡ một giả định quan trọng của quá trình review, rằng người viết mã thực sự hiểu vấn đề và đang trực tiếp trao đổi với reviewer.
Cách tiếp cận của Rust cũng khác với Zig, một dự án mã nguồn mở khác có chính sách AI nghiêm ngặt hơn. Zig hạn chế cả việc sử dụng AI để viết lại, dịch thuật, chỉnh sửa, động não hay tìm lỗi. Rust linh hoạt hơn, chấp nhận việc lập trình viên sử dụng AI, miễn là AI không biến thành người chịu trách nhiệm thay họ.

Điều đáng nói là Rust cũng thừa nhận cộng đồng chưa có sự đồng thuận về AI. Một số thành viên sử dụng LLM hàng ngày, trong khi những người khác phản đối việc sử dụng AI. Vì vậy, chính sách mới được thiết kế như một thử nghiệm có thể sửa đổi, thay vì một quy định bất biến.
Trong sáu tuần đầu tiên, Rust sẽ thu thập dữ liệu về các pull request có sự hỗ trợ của AI để xem chúng có thực sự tạo ra giá trị hay chỉ khiến đội ngũ review thêm quá tải. Dự án cũng đang cân nhắc thành lập một ủy ban chuyên trách về LLM để xây dựng chính sách rộng hơn trong tương lai.
Câu chuyện của Rust cho thấy tranh luận về AI trong lập trình đang chuyển sang một giai đoạn mới. Khi AI có thể tạo ra mã nhanh hơn bao giờ hết, vấn đề không còn là AI có viết được code hay không, mà là ai sẽ hiểu, kiểm tra và chịu trách nhiệm cho lượng code đó.
Rust dường như đã có câu trả lời của riêng mình: AI có thể giúp bạn nhìn thấy nhiều hơn, nhưng quyết định cuối cùng vẫn phải thuộc về con người.
Liên kết tham khảo:
https://blog.rust-lang.org/inside-rust/2026/08/05/rust-langrust-is-adopting-an-llm-policy/ #what -does-the-policy-say