Quan điểm của Linus Torvalds về việc sử dụng LLM trong phát triển kernel
(lore.kernel.org)- Linux kernel không phải là một dự án chống AI; AI, giống như các công cụ khác, là một công cụ hữu ích
- Có những người có ác cảm với LLM, nhưng về vấn đề này ông giữ lập trường cứng rắn với tư cách maintainer cấp cao nhất
- Tính hữu ích của AI tự thân không còn là chủ đề tranh luận, và ông chỉ ra rằng những ai nghi ngờ là những người chưa thực sự dùng thử
- Giải pháp là làm cho các công cụ LLM trở nên hữu ích cho maintainer thay vì gây đau đầu; không ép buộc sử dụng, nhưng sẽ phớt lờ các lập luận nhằm ngăn người khác sử dụng
- Dự án kernel đưa ra quyết định dựa trên lợi ích kỹ thuật, đồng thời tái khẳng định đây là một dự án lấy kỹ thuật làm trung tâm, chứ không phải dựa trên nỗi sợ các công cụ mới
Bối cảnh tranh luận
- Trích dẫn lập luận trước đó của Roman Gushchin: lập trường chống LLM khiến mục tiêu của sashiko là hỗ trợ maintainer trở nên không thể đạt được
- Nếu ý chính là không nên sử dụng LLM nói chung, đề xuất là hãy thảo luận trực tiếp vấn đề đó, thay vì làm phức tạp từng trường hợp sử dụng
- Có nhắc rằng một lập trường cụ thể nhìn chung có vẻ rất chống LLM
- Về điều này, ông thừa nhận bằng câu trả lời "Yes" rằng lập trường đó là chống LLM, nhưng làm rõ rằng đó không phải là lập trường của Linux kernel
Lập trường về AI
- Linux không phải là một trong những dự án chống AI; ai có vấn đề với điều đó thì có thể fork theo cách của mã nguồn mở hoặc rời đi
- AI là một công cụ như những công cụ khác mà chúng ta sử dụng, và rõ ràng là hữu ích
- Một năm trước điều đó có thể chưa "rõ ràng" đến vậy, nhưng ngày nay thì không còn gì phải nghi ngờ
- Vẫn còn các câu hỏi khác, chẳng hạn tính kinh tế của AI cuối cùng sẽ ra sao, nhưng "nó có hữu ích không" không còn thuộc nhóm câu hỏi đó nữa
- Ai nghi ngờ điều này là người chưa thực sự dùng AI
Hai mặt của công cụ AI và giải pháp
- Ông thừa nhận AI có thể là một công cụ hơi gây đau đầu
- Về khía cạnh khối lượng công việc của maintainer
- Về khía cạnh "liên tục tìm ra các lỗi gây bối rối"
- Giải pháp không phải là vùi đầu xuống cát và hét "La La La, không nghe thấy gì"
- Giải pháp là làm cho các công cụ LLM hỗ trợ maintainer thay vì gây đau đầu
- Dù không ép buộc sử dụng, ông sẽ phớt lờ một cách rất công khai những người tranh luận nhằm ngăn người khác sử dụng
Góc nhìn về sự không hoàn hảo của AI
- Ông thừa nhận AI không hoàn hảo
- Tuy nhiên, người chỉ ra vấn đề của AI đồng thời cũng nên chỉ vào bản thân mình trong gương
- Trí tuệ tự nhiên (natural intelligence) cũng không phải lúc nào cũng xuất sắc
Bản chất cốt lõi của dự án kernel
- Dự án kernel trước đây cũng như sau này vẫn là dự án về công nghệ
- Khía cạnh xã hội của công việc mã nguồn mở là quan trọng và là phần tạo động lực, nhưng đó chỉ là lợi ích phụ, không phải mục đích của dự án
- Dự án này không phải là một dạng dự án "social warrior", trước đây chưa từng như vậy và sau này cũng sẽ không
- Lý do cộng đồng kernel làm mã nguồn mở không phải vì lý do tôn giáo, mà vì điều đó dẫn đến công nghệ tốt hơn
- Vì vậy, các quyết định được đưa ra dựa trên lợi ích kỹ thuật, chứ không phải nỗi sợ các công cụ mới
2 bình luận
Ý kiến trên Lobste.rs
Cộng đồng kernel nói rằng làm mã nguồn mở để có công nghệ tốt hơn, nhưng các công cụ AI này lại gần như đối lập với mã nguồn mở. Cũng khó mà biết liệu đăng ký Anthropic có thực sự nên được gọi là một “công cụ” hay không
Người ta chỉ trích tính “lây nhiễm” của GPL suốt hàng chục năm, vậy mà giờ lại chẳng ai chớp mắt khi AI tạo sinh đang chi phối toàn bộ ngành phần mềm
Ngay cả các lập trình viên muốn làm việc với kernel cũng đang bị buộc phải rời đi, fork, hoặc trở thành đối tượng thử nghiệm của OpenAI, Anthropic, Google, Meta, X và những bên khác
Thật thú vị khi lấy ví dụ này để phê phán FSF và thái độ dùng đạo đức như vũ khí. Vẫn chưa có kết luận cuối cùng, và ta hoàn toàn có thể đang sống trong một dòng thời gian nơi FSF kết luận rằng “có thể áp dụng và thực thi GPL với cả sản phẩm tạo sinh chất lượng thấp”, rồi GNU khuyến khích tín đồ của mình làm vibe coding. Bối cảnh liên quan cũng có trong email này
Điểm cốt lõi của Linus dường như không phải là ông khác FSF ở một vấn đề cụ thể, mà là ông nhìn chung không thuộc kiểu nhóm như FSF. Dù vậy, việc các maintainer FLOSS lại dễ dàng chấp nhận một hộp đen đến mức ngoài việc khẩn khoản bằng Markdown thì cũng không thể điều chỉnh, kiểm tra hay sửa đổi, vẫn là điều kỳ lạ. Điều này càng mỉa mai hơn khi đó là một người tự tay tạo ra kernel, hệ thống quản lý phiên bản và cả trình soạn thảo, nhưng có lẽ với cá nhân Linus thì chẳng có lý do gì để quá bận tâm
Ngay từ thông báo ban đầu về Git, ông đã nói rõ rằng dù tin mã nguồn mở là cách đúng đắn để tạo ra phần mềm, khi sử dụng phần mềm thì ông muốn công cụ phù hợp nhất cho công việc
Trí tuệ tự nhiên không thiêu đốt Trái Đất, và để dùng nó cũng không cần phải rót tiền cho các hệ thống bóc lột và đau khổ
Mỗi dự án mã nguồn mở có văn hóa rất khác nhau, và mức độ họ ưu tiên cộng đồng dường như dự đoán khá tốt thái độ của họ với việc dùng LLM. Cũng không có gì đáng ngạc nhiên khi những dự án coi trọng cộng đồng hơn nhiều lại tiêu cực hơn với AI
Nếu có lập luận nào nghiêng về phía con người thì chỉ là vì cái giá đó đã được trả rồi nên cứ tận dụng thôi; và rốt cuộc còn vì chúng ta vốn thích chính con người của mình nữa
Thay vì bùng nổ cảm xúc vì thế giới không vận hành theo ý mình, hợp lý hơn là chấp nhận lựa chọn của từng cá nhân. Không phải vì chủ nghĩa cá nhân là tuyệt vời, mà vì các phương án khác còn tệ hơn, nên tranh luận này từ trước tới nay vẫn luôn quay về chủ nghĩa cá nhân
Ghostty, Godot, Zig và curl đã xử lý cuộc tranh luận về “lựa chọn cá nhân” này hợp lý hơn nhiều, chỉ là không diễn ra trong bối cảnh mailing list
Sau Open Slopware vài tháng trước, rồi Lisp against the (LL)Machine hôm qua, và giờ là chuyện này, có vẻ như trong điện toán hằng ngày sẽ không thể tránh được mã do LLM tạo ra trừ khi cố ý sống mãi trong môi trường máy tính hoài cổ để đóng băng thời gian
Tháp Babel này sẽ sụp đổ một cách nhếch nhác, nhưng nếu muốn tham gia xã hội thì ta cũng không còn cách nào khác ngoài leo lên cùng nó. Điều có thể làm là không góp phần vào đó và bảo tồn các hệ thống cũ cho giai đoạn sau sụp đổ. Ngay cả việc fork Emacs đã khó, nên càng khó tưởng tượng chuyện fork Linux
Có lẽ giờ là lúc chuyển hẳn sang NetBSD
https://www.netbsd.org/developers/commit-guidelines.html
NetBSD xem mã do LLM tạo ra như GitHub/Microsoft Copilot, OpenAI ChatGPT, Facebook/Meta Code Llama là mã bị nhiễm bẩn, và không cho phép commit nếu chưa có phê duyệt trước bằng văn bản từ core team
Núi phần mềm tệ hại do con người viết vốn đã chất đống từ lâu rồi. Ít nhất thì giờ đây các kỹ sư có thiện chí và năng lực vững vàng còn có thể đi ngược dòng với sự trợ giúp của mô hình chạy cục bộ
Bảo có vấn đề thì cứ fork đi, nghe như thể fork là một việc rất nhỏ nhặt vậy
Ở đây thực ra gần như không có nhiều không gian cho thỏa hiệp có ý nghĩa
Maintainer của dự án cho rằng review code bằng agent là hữu ích, có giá trị độc lập và không tạo ra vấn đề đạo đức. Ngược lại, nếu ai đó tin rằng mình không nên đọc kết quả đó, thì tức là đang yêu cầu maintainer quyết định giữa việc chọn cách họ cho là tốt nhất cho dự án hay tuân theo một hệ đạo đức mà họ không chia sẻ
Nếu chỉ là công cụ dùng trên máy cá nhân thì hoàn toàn có thể cùng tồn tại. Điều này không có nghĩa là phải dùng LLM trong các dự án từ chối AI như Zig, nhưng trong các dự án cho phép AI thì người dùng và người không dùng vẫn có thể cùng tồn tại
Tuy nhiên, với hạ tầng dùng chung và review code thì cần có một mức đồng thuận nhất định. Nếu review bằng bot trong một dự án từ chối AI thì đó là phá vỡ chuẩn mực của dự án, nên khó được chào đón
Nếu số người phản đối đủ nhiều, maintainer có thể từ bỏ công cụ để không mất người, hoặc có thể thuyết phục họ về các lo ngại đạo đức. Nếu không thì những người phản đối либо phải nuốt bực ở lại, либо phải ra đi để giữ nguyên tắc
Theo thời gian, các dự án có lẽ sẽ tiếp tục tách thành bên loại trừ review code bằng AI và bên bắt buộc nó. Mức này hẳn là một nhận thức thực tế mà cả phe ủng hộ lẫn phản đối AI đều có thể chia sẻ
Việc bạn dùng vim hay Emacs không tác động trực tiếp tới đồng nghiệp, nên không thành lý do để rời dự án. Trong khi đó, việc dùng hay từ chối LLM thường ảnh hưởng đến toàn bộ thành viên
Ban đầu tôi thấy Linus có phần hơi rối, nhưng sau khi đọc cả bài của phía kia thì ngược lại tôi lại thấy phía Linus có vẻ tỉnh táo hơn
Nhưng Linus lại hiểu sai thành yêu cầu áp đặt đạo đức đó lên toàn cộng đồng, rồi đáp rằng việc không dùng AI chỉ là lựa chọn cá nhân, không nên ảnh hưởng tới người khác, và đạo đức thì nên để trong đời sống riêng
Sau đó ông còn ví Laurent như người muốn ép mọi người ăn chay, trong khi điều Laurent yêu cầu chỉ là đừng ép anh ấy phải ăn thịt
Đúng là rất Linus: vừa nêu ra những điểm tinh tế, vừa xúc phạm tất cả mọi người trong phạm vi có thể nghe thấy
Trí tuệ tự nhiên không thiêu rụi Trái Đất, cũng không cần phải tài trợ cho một hệ thống bóc lột và đau khổ để sử dụng nó
Có vẻ không phải vậy...