5 điểm bởi GN⁺ 2025-08-22 | 1 bình luận | Chia sẻ qua WhatsApp
  • Trong thảo luận PR của dự án mã nguồn mở Ghostty, đã có ý kiến cho rằng cần công khai một cách rõ ràng việc có sử dụng công cụ AI hay không
  • Người đề xuất chỉ ra rằng AI hiện vẫn thường tạo ra mã chất lượng thấp, đặc biệt khi người dùng thiếu kinh nghiệm gửi lên mà không qua rà soát thì vấn đề càng nghiêm trọng
  • Mục đích của việc công khai là để người bảo trì có thể đánh giá độ tin cậy của PR, đồng thời đưa ra phản hồi mang tính học tập cho người đóng góp là con người nhưng giảm bớt công sức không cần thiết với những sản phẩm chỉ do AI tạo ra
  • Một người tham gia khác đề xuất có thể thêm checklist bao gồm việc có dùng AI hay không thông qua mẫu PR
  • Trong khi đó, cũng có ý tưởng rằng nếu các công cụ AI tự động chuẩn hóa một byline đặc biệt để được ghi vào commit message trên GitHub, thì vừa có thể bảo đảm tính minh bạch vừa giúp nhận diện công cụ

Sự cần thiết của việc công khai sử dụng AI

  • Mitchellh cho biết anh thích sử dụng công cụ AI và bản thân cũng dùng, nhưng hiện tại đánh giá rằng chúng chưa thể bảo đảm chất lượng ngang bằng hoặc tốt hơn
    • Đặc biệt khi người mới thiếu khả năng rà soát đưa nguyên mã do AI tạo vào PR, chất lượng thường rất thấp
    • Ông chỉ trích rằng trong tình huống như vậy, việc người bảo trì phải tốn thời gian cho các khâu rà soát và phản hồi không cần thiết là “một hành vi đánh lừa”
  • Vì vậy, nếu công khai rõ việc có dùng AI hay không thì người bảo trì có thể đánh giá cần rà soát cẩn trọng đến mức nào

Đề xuất áp dụng mẫu PR

  • Yawaramin đề xuất tận dụng tính năng mẫu PR của GitHub để đưa việc có sử dụng AI vào
    • Đồng thời cũng có thể thêm checklist như Developer Certificate of Origin(DCO)
    Quảng cáo
  • Qua đó, mọi người đóng góp có thể thông báo nhất quán về việc đã sử dụng AI

Ý tưởng chuẩn hóa ở cấp GitHub

  • Tobi đề xuất GitHub nên tạo ra một chuẩn byline dành riêng cho AI
    • Mỗi khi công cụ AI được sử dụng, thông tin sẽ được ghi vào tệp staging .git và tự động thêm vào commit message
    • GitHub có thể lập danh sách và cung cấp liên kết tới công cụ → người bảo trì có thể kiểm tra nguồn gốc
    • Đồng thời, các công cụ AI cũng không cần tiếp tục lạm dụng co-authors như spam như hiện nay
  • Cách làm này được đánh giá là phương án đáp ứng đồng thời bảo đảm tính minh bạch, quảng bá công cụ và hiệu quả bảo trì

1 bình luận

 
GN⁺ 2025-08-22
Ý kiến trên Hacker News
  • Chỉ ra rằng ngay cả khi dùng "AI" thì vấn đề ô nhiễm sở hữu trí tuệ cũng vẫn xảy ra, nhưng chúng ta đang làm ngơ trước sự thật này; nếu có ai đó thuộc lòng toàn bộ mã của các dự án mã nguồn mở và cứ đến lúc cần là chép lại nguyên xi thì rõ ràng công ty chúng ta phải cấm người đó, nhưng với AI thì lại phủ nhận thực tế ấy bằng đủ kiểu hợp lý hóa và ngụy biện, trên thực tế nó đang "giặt" lỏng lẻo nhiều loại mã bao gồm cả GPL, và điều này hàm chứa rủi ro chết người với các công ty dựa trên IP
    • Các tòa án Mỹ đã từng phán quyết rằng việc sử dụng dữ liệu huấn luyện là mục đích mang tính biến đổi (transformation), vẫn còn nhiều chi tiết cần tinh chỉnh nhưng rốt cuộc đây là thay đổi không thể đảo ngược, nếu muốn việc tạo ra IP tiếp tục là một hoạt động bền vững về mặt kinh tế thì cũng phải thay đổi hệ thống pháp luật liên quan
    • Nếu theo logic này thì StackOverflow hay gần như mọi giáo trình trong mọi lĩnh vực cũng phải bị cấm, thực tế là các lập trình viên kiểu gì cũng sẽ nhìn thấy code của người khác
    • Thực ra ngoài những người có liên quan về mặt tài chính thì hầu như chẳng ai xem các vấn đề pháp lý liên quan đến AI là nghiêm trọng, may là trong đa số trường hợp người ta đang phớt lờ vấn đề này, và hệ thống pháp luật cũng đang vận hành khá tốt mà không cản trở tiến bộ
  • Rất ấn tượng với ý của mitchellh về việc "hỗ trợ các contributor mới đến cùng để PR được merge", việc đưa feedback để một lập trình viên mới trưởng thành lên thực sự rất đáng giá, nhưng nếu người gửi PR chỉ ném ngay đống feedback đó cho AI và bản thân không học được gì thì đó chỉ là lãng phí thời gian
    • Từ nay các lập trình viên mới sẽ không còn môi trường làm việc nào mà không có AI nữa
  • Hôm nay thấy trang đầu HN đầy những nội dung hay dựa trên trải nghiệm thực tế nên rất vui, có nhiều câu chuyện thẳng thắn không có kiểu hù dọa hay cường điệu vô ích; trên máy cá nhân thì tắt AI assist, ở công ty cũng chỉ dùng rất hạn chế khi thực sự cần, AI assist rất mạnh với các việc nhỏ lẻ (atomic work) nhưng rất tệ với các việc phức hợp (compound work), kết luận là AI cuối cùng vẫn phụ thuộc vào cách con người sử dụng nó, trí tuệ con người mới là cốt lõi
    • Càng ngày càng đồng ý với câu "AI chỉ thông minh đến mức con người điều khiển nó", trước đây không hiểu tại sao cùng một AI mà kết quả lại khác nhau hoàn toàn, nhưng giờ thực sự cảm nhận được rằng AI không phải phép màu, nghĩ lại mới thấy mình đã naïve khi từng kỳ vọng những người thậm chí không giải thích nổi cho đồng đội lại có thể khai thác được giá trị từ AI, ngược lại có vẻ AI chỉ làm khoảng cách giữa kỹ sư bình thường và kỹ sư giỏi nới rộng thêm, cảm xúc vẫn còn phức tạp nhưng giờ đã hiểu vì sao có người thấy AI vô dụng
    • Trích dẫn kết luận trong “No Silver Bullets, Refired” của Frederik P. Brooks rằng phát triển phần mềm vốn dĩ phức tạp, và thay vì chỉ ngồi chờ một lời giải mang tính cách mạng thì nên theo đuổi các cải thiện năng suất theo hướng tiệm tiến; góc nhìn này tạo cảm giác thực tế và có hy vọng
    • Thấy câu "AI chỉ thông minh đến mức con người điều khiển nó" rất thú vị, rốt cuộc những người đăng bài kiểu "tôi làm ra thư viện ngầu bằng AI chỉ trong một ngày" vốn ngay từ đầu đã là các lập trình viên giỏi
    • Bản thân cũng đồng cảm, công ty đang có tuần lễ hack và thử nghiệm AI tool trên toàn công ty, các kết quả tốt trong ứng dụng thực tế chủ yếu đến từ analytical approach, guardrail, grounded generation, gần đây có cảm giác cơn sốt chatbot vô nghĩa đã qua đi và paradigm đang được reset về bản chất của machine learning
    • Nghĩ rằng con người đưa ra quyết định cốt lõi, rồi sau đó AI nối phần còn lại; cái gì là quyết định cốt lõi, cái gì chỉ là công việc đơn thuần nối các điểm thì khác nhau theo từng domain, nhưng trên thực tế phần lớn code (khoảng 80~90%) là các công việc lặp lại/ghép nối đơn giản, chỉ cần giữ tốt ranh giới này thì năng suất tăng lên rất lớn, ngược lại nếu giao quyết định cốt lõi cho AI thì thiệt hại còn lớn hơn, thà bỏ đi làm lại còn hơn; ví dụ về quyết định cốt lõi gồm thiết kế cơ sở dữ liệu, định nghĩa type, dependency, thiết kế hệ thống/hạ tầng/màn hình, chọn hạng mục test, cấu trúc tổ chức code, còn các việc AI có thể làm tốt là CRUD, API handler, biến đổi cấu trúc dữ liệu đơn giản, script triển khai, hiện thực test, code UI component, styling, dọn dữ liệu tạm thời; AI cũng hữu ích cho research, khám phá ý tưởng và tìm phương án thay thế, nhưng kết luận và triển khai thực tế thì con người vẫn phải tự đảm nhiệm
  • Bản thân không phải kiểu người cực kỳ yêu thích AI, chỉ xem nó như một công cụ trong nhiều công cụ; người khác chuẩn bị PR thế nào thì không quan tâm miễn là kết quả ổn, tuy vậy nếu maintainer có yêu cầu gì trước khi gửi PR thì việc làm theo là phép lịch sự tối thiểu
    • PR đến từ đâu, được tạo ra như thế nào là điều quan trọng, reviewer cũng mắc sai lầm và có giới hạn nên niềm tin trở nên quan trọng, không có niềm tin thì ngay từ đầu không nên đưa vào quy trình review, việc nhóm kernel Linux chặn Đại học Minnesota vì thí nghiệm cũng là vì lý do này
    • Có vẻ vẫn chưa trả lời đúng vào luận điểm cốt lõi của bài viết, tức là "mục tiêu là giúp contributor mới có thể trưởng thành, nhưng nếu đối tượng là AI thì chỉ là lãng phí thời gian"
    • Có thể tạo ra 1.000 PR mỗi ngày bằng AI, dường như chỉ đang nghĩ đến các PR tốt được làm bằng AI, nhưng trong thực tế cũng có thể khiến maintainer của dự án kiệt sức bằng AI
    • Theo Văn phòng Bản quyền Mỹ, sản phẩm do AI tạo ra không thuộc đối tượng được bảo hộ bản quyền, vì vậy ngay cả vì mục đích cấp phép cũng cần công khai việc đã dùng AI, nếu vi phạm có thể mất bản quyền đối với toàn bộ tác phẩm; xem chi tiết ở báo cáotrang chính
    • Nếu dùng AI và bị hỏi về việc đó thì lúc nào cũng sẽ công khai, nhưng nếu không bị hỏi cụ thể thì sẽ không chủ động nói trước như một kiểu 'phép lịch sự theo thông lệ', nghĩ rằng đa số mọi người coi việc dùng AI là đương nhiên hoặc chẳng quan tâm, thậm chí còn thấy đó là một ký hiệu vụn vặt gây phân tán chú ý, giống như dependabot có gửi thông báo đến thì cũng không thực sự khiến ai quan tâm
  • Câu hỏi kiểu "thế còn autocomplete của tôi thì sao" đã xuất hiện vài lần, nhưng trong tài liệu chính sách có ghi rõ ngoại lệ rằng nếu chỉ là keyword hay cụm ngắn theo kiểu tab autocomplete đơn giản thì không cần công khai, khuyên nên đọc kỹ tài liệu (hoặc PR)
  • Chính sách lần này có thêm phần giải thích ngữ cảnh nên thấy thuyết phục, nhiều chính sách liên quan AI từng thấy trước đây gần giống tuyên ngôn ý thức hệ, còn ở đây họ đưa ra lý do của yêu cầu và định hướng sắp tới nên thực tế hơn nhiều, mong sẽ có thêm nhiều cách làm như vậy
  • Có lo ngại rằng chính sách này rốt cuộc sẽ chỉ làm những người trung thực khó dùng AI hơn, chẳng phải cứ khai là đã dùng AI thì PR sẽ ít được chú ý hơn và vì thế ai cũng sẽ muốn giấu đi sao?
    • Tôi nghĩ không đơn giản như vậy, chính người đưa ra chính sách này (mitchellh) cũng dùng LLM, nên nếu có thể giải thích rằng mình đã dùng AI như một công cụ tiện lợi trong khi vẫn hiểu đầy đủ phần việc mình làm thì sẽ không đánh mất quá nhiều niềm tin
    • Lo ngại đó có thể trở thành hiện thực, vì AI tạo ra rất nhiều đoạn code "trông có vẻ đại khái đúng nhưng thực ra rất tệ", nên nếu sự ngờ vực với code AI tích tụ thì đó là vấn đề của AI chứ không phải của con người, cần những AI coding tool tốt hơn
    • Chỉ cần nói "đã dùng chat-gpt" là lập tức bị chìm nghỉm, còn im lặng và giả vờ mình hiểu biết thì lại được khen, mọi thứ đã và đang đi theo hướng ai cũng giấu việc dùng AI
    • Tôi nghĩ bản thân việc coi đây là một vấn đề cũng không có nhiều ý nghĩa
    • Ý không phải là "đừng dùng AI", mà là nếu đã dùng thì hãy thành thật ghi rõ trong PR
  • Thắc mắc vì sao lại yêu cầu cả những công khai chi tiết như "tôi nhờ ChatGPT giúp hiểu codebase, còn việc coding thực tế thì tự làm"
    • Nếu để lại mô tả như vậy thì từ góc độ reviewer có thể tập trung vào điểm review là liệu phần "hiểu codebase" có dẫn đến hiểu nhầm/sai sót nào không
    • Bản thân không phải developer, nhưng nhờ các AI assistant kiểu này mà thời gian tìm hiểu code giảm đi rõ rệt, cá nhân thấy AI thực sự đã giúp ích rất nhiều
  • Nghĩ rằng cách làm bao gồm từng prompt đã dùng để tạo PR là một pattern hay, LLM không phải công cụ hoàn toàn deterministic nhưng việc để lại ngữ cảnh về các bước/prompt đã đi qua để ra được kết quả vẫn có ý nghĩa
    • Trên thực tế điều này rất thiếu thực tế, vì để tạo ra một PR bằng AI cũng đã pha trộn 10~20 prompt, test, điều chỉnh ngữ cảnh thủ công, coding thủ công và nhiều bước khác; nghĩ rằng quay màn hình còn hợp lý hơn
    • Bản thân dùng tổ hợp plugin vscode (specsytory) và cursor để lưu toàn bộ log tương tác với LLM dưới dạng md rồi nộp kèm Pull Request, dùng làm tài liệu tham khảo khi code review
  • Trong dự án cá nhân còn đặt quy tắc phải công khai cả việc có dùng autocomplete của editor hay không
    • Cách truyền đạt ý định thì thú vị, nhưng AI hiện tại hoàn toàn khác với autocomplete truyền thống, có thể dùng theo kiểu autocomplete nhưng những gì AI làm được đa dạng và sâu hơn rất nhiều, coi AI chỉ như tự động hoàn thành đơn thuần chỉ là góc nhìn cá nhân, nhiều người không dùng như vậy
    • Tab autocomplete đã được chính sách công nhận rõ là ngoại lệ
    • Autocomplete phần lớn chỉ là công cụ cú pháp, còn AI thì cố gắng dẫn dắt cả ý nghĩa và cấu trúc của code