Các nhà phát triển Kernel tranh luận về mối lo chất lượng code LLM khi các bản vá do AI tạo ra tăng lên

Nhóm Cộng đồng BigGo
Các nhà phát triển Kernel tranh luận về mối lo chất lượng code LLM khi các bản vá do AI tạo ra tăng lên

Cộng đồng phát triển kernel Linux đang vật lộn với một thách thức ngày càng gia tăng: làm thế nào để xử lý việc sử dụng ngày càng nhiều các Mô hình Ngôn ngữ Lớn ( LLMs ) trong việc đóng góp code mà không làm tổn hại đến chất lượng và bảo mật của một trong những dự án phần mềm quan trọng nhất thế giới. Khi các công cụ AI trở nên phổ biến hơn trong phát triển phần mềm, các maintainer kernel thấy mình bị kẹt giữa việc chấp nhận những lợi ích về năng suất và bảo vệ chống lại các rủi ro tiềm ẩn.

Cuộc thảo luận đã trở nên gay gắt hơn khi các nhà phát triển chia sẻ những trải nghiệm trái chiều với việc lập trình có hỗ trợ AI. Một số báo cáo về những lợi ích thực sự, đặc biệt trong các tác vụ review code và debug, trong khi những người khác cảnh báo về những cạm bẫy tinh vi nhưng nguy hiểm có thể ảnh hưởng đến hàng triệu hệ thống trên toàn thế giới.

Thách thức về Tin cậy và Danh tiếng

Một mối quan tâm chính nổi lên từ cộng đồng tập trung vào việc sử dụng LLM ảnh hưởng như thế nào đến danh tiếng của nhà phát triển và sự tin tưởng của dự án. Bối cảnh hiện tại dường như đang hướng tới cái mà một số người mô tả là chính sách đừng hỏi, đừng nói, nơi các nhà phát triển có thể che giấu việc sử dụng các công cụ AI thay vì đối mặt với sự giám sát tiềm ẩn.

Cách tiếp cận này tạo ra vấn đề cho cả những người mới và những contributor đã có kinh nghiệm. Các nhà phát triển mới cố gắng submit những patch đầu tiên của họ giờ đây phải đối mặt với thách thức bổ sung là phải nổi bật trong cái mà nhiều người lo sợ có thể trở thành một biển spam chất lượng thấp được tạo ra bởi các công cụ AI. Trong khi đó, các nhà phát triển có kinh nghiệm lo lắng về tính minh bạch và trách nhiệm giải trình khi sự hỗ trợ của AI không được tiết lộ.

Cộng đồng đang khám phá các giải pháp dựa trên danh tiếng tập trung vào chất lượng của những đóng góp thay vì các công cụ được sử dụng để tạo ra chúng. Cách tiếp cận này sẽ phản ánh các thực tiễn trong các ngành công nghiệp khác nơi các chuyên gia có thể sử dụng bất kỳ công cụ nào họ chọn, nhưng vẫn chịu trách nhiệm cá nhân về kết quả.

Bản quyền và Những bất định pháp lý

Ngoài chất lượng code, các mối quan tâm pháp lý đang tạo ra sự lo lắng đáng kể trong cộng đồng kernel. Tình trạng bản quyền của code được tạo ra bởi LLM vẫn còn mơ hồ, với các nhà phát triển lo lắng về các vụ kiện tiềm ẩn trong tương lai tương tự như vụ kiện tụng SCO khét tiếng đã làm phiền Linux nhiều năm trước.

Vấn đề xuất phát từ việc các LLM được huấn luyện trên lượng lớn code, có khả năng bao gồm tài liệu có bản quyền dưới các giấy phép khác nhau. Khi các mô hình này tái tạo các đoạn code, thậm chí một phần, nó đặt ra câu hỏi về việc liệu đầu ra có vi phạm bản quyền hiện có hay không. Điều này đặc biệt đáng lo ngại đối với code có giấy phép GPL, nơi vi phạm giấy phép có thể có tác động lan tỏa.

Không có lý do gì tôi không thể kiện mọi nhà phát triển từng sử dụng LLM và publish và/hoặc phân phối code đó vì vi phạm AGPLv3. Họ không thể chứng minh trước tòa án rằng mô hình của họ đã không sử dụng code AGPLv3, vì họ không tạo ra mô hình đó.

Sự bất định pháp lý đã khiến nhiều bộ phận pháp lý của các công ty hạn chế hoặc cấm hoàn toàn việc sử dụng LLM, tạo ra một mảng vá các chính sách khắp cộng đồng phát triển.

Những Mối Quan Ngại Chính Được Các Nhà Phát Triển Kernel Nêu Ra

  • Vi Phạm Bản Quyền: Các LLM được huấn luyện trên mã GPL có thể sao chép tài liệu có bản quyền
  • Chất Lượng Mã: Các phản hồi chung chung, giá trị thấp làm lãng phí thời gian của người đánh giá
  • Rủi Ro Bảo Mật: Các lỗi tinh vi trong các hệ thống con kernel quan trọng có thể ảnh hưởng đến hàng triệu hệ thống
  • Gánh Nặng Cho Người Duy Trì: Tăng tải cho các người duy trì dự án khi đánh giá các bản vá do AI tạo ra
  • Vấn Đề Tin Cậy: Các chính sách "đừng hỏi, đừng nói" làm giảm tính minh bạch
  • Bất Định Pháp Lý: Tình trạng bản quyền không rõ ràng của các đóng góp mã do AI tạo ra

Ứng dụng thực tế và Hạn chế

Bất chấp những lo ngại, một số nhà phát triển đang tìm thấy giá trị thực sự trong các ứng dụng LLM cụ thể. Hỗ trợ review code đã cho thấy triển vọng, với các báo cáo về các công cụ AI phát hiện ra bug mà các reviewer con người đã bỏ lỡ, bao gồm các vấn đề như biến chưa được khởi tạo mà compiler không thể đánh dấu.

Khả năng dịch thuật cũng đang chứng minh hữu ích cho hợp tác quốc tế, giúp các nhà phát triển theo dõi các cuộc thảo luận bằng ngoại ngữ. Tuy nhiên, điều này đi kèm với cảnh báo về độ chính xác và khả năng hiểu lầm trong bối cảnh kỹ thuật.

Sự đồng thuận dường như là các LLM hoạt động tốt nhất cho các tác vụ liên quan đến ngôn ngữ như tài liệu và commit message, trong khi gặp khó khăn với các thách thức lập trình phức tạp đòi hỏi hiểu biết sâu về ngữ cảnh. Các phản hồi chung chung có thể áp dụng cho bất kỳ thay đổi code nào cung cấp ít giá trị và thực sự có thể lãng phí thời gian của reviewer.

Ứng dụng LLM trong Phát triển Kernel - Đánh giá Cộng đồng

Trường hợp Sử dụng Hiệu quả Mức độ Rủi ro Đồng thuận Cộng đồng
Đánh giá Mã nguồn Trung bình-Cao Trung bình Tích cực một cách thận trọng
Tài liệu Trung bình Thấp-Trung bình Chấp nhận rộng rãi
Dịch thuật Trung bình Trung bình Hữu ích nhưng cần xác minh
Tạo Mã nguồn Thấp-Trung bình Cao Không khuyến khích mạnh mẽ
Hỗ trợ Gỡ lỗi Trung bình-Cao Trung bình Ứng dụng đầy hứa hẹn
Thông điệp Commit Cao Thấp Được chấp nhận rộng rãi

Tình huống khó xử của Cơ sở hạ tầng quan trọng

Mức độ quan trọng đặc biệt cao đối với phát triển kernel vì vai trò cơ bản của hệ điều hành trong cơ sở hạ tầng máy tính. Không giống như phần mềm ứng dụng, bug kernel có thể có hậu quả thảm khốc, ảnh hưởng đến mọi thứ từ máy tính cá nhân đến các hệ thống cơ sở hạ tầng quan trọng.

Một số nhà phát triển lập luận rằng tầm quan trọng của kernel khiến nó không phù hợp với bất kỳ code nào được tạo ra bởi AI, so sánh nó với các thư viện mật mã nơi các lỗi tinh vi có thể có tác động sâu rộng về bảo mật. Vị trí đặc quyền của kernel có nghĩa là nó có thể thực hiện hầu hết mọi thao tác trên máy tính, khiến tác động tiềm ẩn của các bug do AI tạo ra gần như không giới hạn.

Nhìn về phía trước

Khi công nghệ tiếp tục phát triển, cộng đồng kernel đối mặt với thách thức phát triển các chính sách khai thác lợi ích của AI trong khi bảo vệ chống lại các rủi ro của nó. Trọng tâm dường như đang chuyển sang các hướng dẫn sử dụng có trách nhiệm thay vì lệnh cấm hoàn toàn, với sự nhấn mạnh vào giám sát và trách nhiệm giải trình của con người.

Cuộc tranh luận phản ánh những câu hỏi rộng lớn hơn về vai trò của AI trong phát triển phần mềm quan trọng. Trong khi những lợi ích về năng suất rất hấp dẫn, cộng đồng nhận ra rằng duy trì chất lượng code và bảo mật phải vẫn là ưu tiên hàng đầu. Trách nhiệm cuối cùng, bất kể các công cụ được sử dụng, vẫn thuộc về các nhà phát triển con người submit và review các patch.

Cuộc thảo luận đang diễn ra cho thấy rằng việc tích hợp thành công các công cụ AI sẽ đòi hỏi sự cân bằng cẩn thận, các hướng dẫn rõ ràng và sự cảnh giác liên tục từ cộng đồng phát triển để đảm bảo rằng sự đổi mới không đến với cái giá của độ tin cậy và bảo mật.

Tham khảo: On the use of LLM assistants for kernel development