Giải thích và trải nghiệm sử dụng Copilot
(medium.com)-
Copilot là dịch vụ thương mại hóa Codex, được xây dựng dựa trên GPT-3
-
Được huấn luyện bằng bộ dữ liệu 159GB trích xuất từ 54 triệu repo trên Github
-
Đã tạo ra 164 bộ dữ liệu benchmark, và Codex giải được 28,8% trong số đó
-
Giỏi giải các bài toán thuật toán như trên LeetCode
-> Có lẽ là vì trên Github có nhiều repo đăng lời giải các bài toán thuật toán và nó đã học từ đó
Trên GeekNews trước đây cũng đã có vài bài viết liên quan đến Copilot rồi.
-
GitHub CoPilot - AI pair programmer https://vi.news.hada.io/topic?id=4526
-
GitHub Copilot : ấn tượng đầu tiên https://vi.news.hada.io/topic?id=4639
Lần này có một người ở công ty viết bài về Copilot, mà chỉ mình tôi có tài khoản Copilot Preview nên tôi đã hỗ trợ một chút trên máy tính của mình.
Trong lúc thử nghiệm, điều khiến tôi ngạc nhiên là tôi đưa vào 3 bài toán lập trình thì nó đều cho ra đáp án qua được ngay.
Một trong các bài là bài trên Baekjoon, tôi còn dịch qua bằng máy rồi mới đưa vào mà nó vẫn ra đáp án đúng.
Tôi đã nghĩ rằng chắc cũng sẽ có người dùng nó để gian lận trong các bài test code online...
Kết luận của tôi sau khi gắn vào VSCode và dùng thử trong một tháng là
-
Rất hữu ích khi phát triển bằng một ngôn ngữ hay môi trường mà bạn chỉ biết tương đối.
-> Khi phát triển React, có chỗ tôi cần lấy
e.target.valueđể làm gì đó, nó gợi ý một đoạn khoảng 20 ký tự, tôi bấm Tab để tự động hoàn thành thì kết quả đúng như mong muốn.-> Tất nhiên vì vốn khá nghi ngờ nên tôi còn lên StackOverFlow kiểm tra lại, và gợi ý đó thực sự chính xác.
-
Nếu là ngôn ngữ hay môi trường bạn đã rất quen thuộc, gợi ý có thể không tối ưu nên đôi khi sẽ gây khó chịu.
-
Tôi cũng có lo rằng mã nguồn sẽ bị gửi đi để inference, nhưng rồi lại nghĩ chỉ với từng file riêng lẻ thì có thể làm được gì chứ, nên hiện vẫn cứ dùng.
12 bình luận
https://www.youtube.com/watch?v=a9349pRiCRk
Tôi cũng thấy có những ý kiến như thế này.
Xem xong cái này thì tôi tụt hứng khá nhiều.
Tôi không rành lắm về bản quyền mã nguồn, nhưng nếu chỉ đổi tên biến, đổi tên hàm hoặc chỉnh sửa nhẹ rồi dùng mã được bảo hộ bản quyền thì có bị xem là vi phạm giấy phép không?
Vâng. Đây là vi phạm.
Tôi nghĩ trong bản quyền mã nguồn, yếu tố quan trọng có lẽ không phải là mã có hoàn toàn giống nhau hay không... mà là mã đó xuất phát từ đâu?
Với giấy phép MIT hay Apache thì việc mang về, chỉnh sửa rồi sử dụng có lẽ sẽ không thành vấn đề lớn...
Nếu đoạn mã do Copilot gợi ý lại trùng với mã mang giấy phép GPL...
và giả sử lập trình viên sửa một phần của đoạn mã đó rồi đưa vào dự án đang phát triển...
thì xét theo giấy phép GPL, chẳng phải dự án đó sẽ phải công khai toàn bộ mã nguồn hay sao.
Theo tôi biết, nếu dùng mã có giấy phép GPL mà không công khai toàn bộ mã đã sử dụng nó thì sẽ bị xem là vi phạm giấy phép GPL.
Nếu viết thành một ví dụ cực đoan kiểu giả tưởng thì...
Một công ty đang phát triển giải pháp, lập trình viên dùng Copilot, và xui xẻo thay đoạn mã được gợi ý lại là mã từ một nơi dùng giấy phép GPL mà AI đã học rồi xuất ra nguyên xi...... thì chẳng phải sẽ phát sinh vấn đề hoặc là phải công khai toàn bộ mã của giải pháp của công ty hay sao.
Tôi thắc mắc là, nếu người dùng chỉ chỉnh sửa nhẹ đoạn mã mà Copilot tạo ra rồi dùng, thì có cách nào phát hiện được không? Dù cùng I/O và cùng chức năng thì vẫn có thể có nhiều phong cách mã khác nhau, nên tôi tò mò không biết người ta phát hiện kiểu đạo mã như vậy bằng cách nào (liệu có phương pháp so sánh đối chiếu với tài liệu tham chiếu giống như trong các vụ kiện đạo nhạc không?)
Chà, tôi cũng không rõ lắm về tiêu chí để xác minh mức độ tương đồng và quyết định đến đâu thì được xem là cùng một đoạn mã nữa haha
Bài viết liên quan cũng đã từng được đăng trên GeekNews
https://vi.news.hada.io/topic?id=4659
Trong video YouTube đó có nói về vấn đề bản quyền, nhưng nhìn việc ngay cả các tư liệu xuất hiện trong video (tin tức, hoạt hình, v.v.) cũng không hề ghi rõ nguồn hay bản quyền thì đúng là một việc rất khó thật TT
Bản quyền đối với tin tức/truyện tranh trong video mà bạn đã chỉ ra là ... về nguyên tắc chỉ là vấn đề mà chính người đã tạo/phát hành video đó phải chịu trách nhiệm thôi..
Nhưng vấn đề ở đây là, nếu khi dùng Copilot mà đoạn mã vi phạm bản quyền lại được đưa vào mã của tôi thì sao.
Tôi chỉ dùng một công cụ thôi, nhưng lại thành ra chương trình tôi phát triển có thể bị cuốn vào một vụ kiện bản quyền.
Tôi cũng muốn dùng thử, không biết đến bao giờ mới được cấp quyền nữa huhu
+1 tôi vẫn đang tiếp tục chờ đây
Theo tôi biết là dùng Github càng nhiều thì sẽ được cấp càng nhanh.
Không hiểu sao mà repo tôi làm gấp vào năm ngoái vì COVID lại nhận được hơn 100 star. Có lẽ vì vậy nên cả Copilot lẫn GitHub Codespaces, cứ hễ tôi đăng ký là khá dễ được chọn.