Logo Zephyrnet

Trợ lý lập trình AI có nghĩa là phải suy nghĩ lại về giáo dục khoa học máy tính

Ngày:

nghiên cứu Trong khi các tác động pháp lý và đạo đức của các mô hình AI hỗ trợ như Copilot của Github tiếp tục được phân loại, các nhà khoa học máy tính vẫn tiếp tục tìm ra cách sử dụng cho các mô hình ngôn ngữ lớn và thúc giục các nhà giáo dục thích ứng.

Brett A. Becker, trợ lý giáo sư tại University College Dublin ở Ireland, cung cấp Đăng ký với các bản sao trước khi xuất bản của hai bài báo nghiên cứu khám phá những rủi ro và cơ hội giáo dục của các công cụ AI để tạo mã lập trình.

Các bài báo đã được chấp nhận tại Hội nghị chuyên đề kỹ thuật SIGCSE về Giáo dục Khoa học Máy tính năm 2023, sẽ được tổ chức từ ngày 15 đến ngày 18 tháng XNUMX tại Toronto, Canada.

Vào tháng XNUMX, GitHub Copilot, một công cụ học máy tự động đề xuất mã lập trình để đáp ứng các lời nhắc theo ngữ cảnh, xuất hiện từ bản xem trước kỹ thuật kéo dài một năm, cũng giống như những lo ngại về cách mô hình OpenAI Codex của nó được đào tạo và tác động của các mô hình AI đối với xã hội trở thành đối lập tập trung.

Ngoài các vấn đề về bản quyền và cấp phép phần mềm chưa được giải quyết, các nhà khoa học máy tính khác, chẳng hạn như giáo sư khoa học máy tính Emery Berger của Đại học Massachusetts Amherst, có nâng lên báo động về sự cần thiết phải đánh giá lại phương pháp sư phạm khoa học máy tính dựa trên sự gia tăng và cải tiến dự kiến ​​của các công cụ trợ giúp tự động.

Trong "Lập trình rất khó - Hoặc ít nhất là: Cơ hội giáo dục và thách thức của việc tạo mã AI”[PDF], Becker và các đồng tác giả Paul Denny (Đại học Auckland, Úc), James Finnie-Ansley (Đại học Auckland), Andrew Luxton-Reilly (Đại học Auckland), James Prather (Đại học Abilene Christian, Hoa Kỳ), và Eddie Antonio Santos (University College Dublin) cho rằng cộng đồng giáo dục cần phải đối phó với những cơ hội và thách thức trước mắt do các công cụ tạo mã điều khiển bởi AI.

Họ nói rằng thật an toàn khi cho rằng sinh viên khoa học máy tính đã sử dụng những công cụ này để hoàn thành các bài tập lập trình. Do đó, các chính sách và thực tiễn phản ánh thực tế mới phải được loại bỏ sớm hơn là muộn hơn.

“Quan điểm của chúng tôi là những công cụ này có thể thay đổi cách dạy và học lập trình - có khả năng đáng kể - trong thời gian tới, và chúng đưa ra nhiều cơ hội và thách thức cần được thảo luận ngay lập tức khi chúng tôi thích ứng với việc sử dụng các công cụ này ngày càng tăng,” các nhà nghiên cứu nêu trong bài báo của họ.

Những công cụ này có thể thay đổi cách dạy và học lập trình - có khả năng đáng kể - trong thời gian ngắn hạn

Bài báo xem xét một số mô hình lập trình hỗ trợ hiện có sẵn, bao gồm GitHub Copilot, DeepMind AlphaCode và Amazon CodeWhisperer, cũng như các công cụ ít được công khai như Kite, Tabnine, Code4Me và FauxPilot.

Quan sát thấy rằng các công cụ này có tính cạnh tranh vừa phải với các lập trình viên con người - ví dụ: AlphaCode được xếp hạng trong số 54 phần trăm hàng đầu trong số 5,000 nhà phát triển tham gia cuộc thi lập trình Codeforces - các nhà nghiên cứu cho biết các công cụ AI có thể giúp sinh viên theo nhiều cách khác nhau. Điều này bao gồm việc tạo ra các giải pháp mẫu để giúp sinh viên kiểm tra bài làm của họ, tạo ra các biến thể giải pháp để mở rộng cách sinh viên hiểu vấn đề, đồng thời cải thiện chất lượng và phong cách mã sinh viên.

Các tác giả cũng nhận thấy lợi thế cho các nhà giáo dục, những người có thể sử dụng các công cụ hỗ trợ để tạo ra các bài tập tốt hơn cho học sinh, tạo ra các giải thích về mã và cung cấp cho học sinh nhiều ví dụ minh họa hơn về các cấu trúc lập trình.

Bên cạnh những cơ hội tiềm tàng, có những thách thức mà các nhà giáo dục cần giải quyết. Những công cụ giải mã, giải quyết vấn đề này có thể giúp học sinh gian lận dễ dàng hơn trong các bài tập; bản chất riêng tư của việc sử dụng công cụ AI làm giảm một số rủi ro khi nhờ bên thứ ba làm bài tập về nhà.

Các nhà nghiên cứu cũng nhận thấy rằng cách chúng ta nghĩ về ghi công - trung tâm của định nghĩa về đạo văn - có thể cần phải được sửa đổi vì các tùy chọn hỗ trợ có thể cung cấp các mức độ trợ giúp khác nhau, gây khó khăn cho việc tách biệt được phép khỏi hỗ trợ quá mức.

“Trong các ngữ cảnh khác, chúng tôi sử dụng công cụ kiểm tra chính tả, công cụ kiểm tra ngữ pháp đề xuất ghi lại, văn bản tiên đoán và đề xuất trả lời tự động qua email - tất cả đều do máy tạo ra,” bài báo nhắc nhở chúng tôi. “Trong bối cảnh lập trình, hầu hết các môi trường phát triển đều hỗ trợ hoàn thành mã đề xuất mã do máy tạo ra.

Chúng tôi sử dụng trình kiểm tra chính tả, công cụ kiểm tra ngữ pháp đề xuất ghi lại…

“Việc phân biệt giữa các dạng gợi ý máy khác nhau có thể là thách thức đối với giới học thuật và không rõ liệu chúng ta có thể mong đợi một cách hợp lý các sinh viên lập trình nhập môn chưa quen với hỗ trợ công cụ để phân biệt giữa các dạng đề xuất mã do máy tạo khác nhau hay không.”

Các tác giả cho biết điều này đặt ra một vấn đề triết học quan trọng: "Có thể tạo ra bao nhiêu nội dung do máy móc tạo ra trong khi vẫn phân bổ quyền sở hữu trí tuệ cho con người?"

Họ cũng nhấn mạnh cách các mô hình AI không đáp ứng được các yêu cầu phân bổ được nêu trong giấy phép phần mềm và không giải đáp được những lo ngại về đạo đức và môi trường về năng lượng được sử dụng để tạo ra chúng.

Các nhà nghiên cứu kết luận rằng lợi ích và tác hại của các công cụ AI trong giáo dục cần được giải quyết, nếu không các nhà giáo dục sẽ mất cơ hội tác động đến sự phát triển của công nghệ này.

Và họ có chút nghi ngờ rằng nó ở đây để ở lại. Bài báo thứ hai, “Sử dụng các mô hình ngôn ngữ lớn để cải thiện thông báo lỗi lập trình, ”[PDF] đưa ra một ví dụ về giá trị tiềm năng của các mô hình ngôn ngữ lớn như Open AI's Codex, nền tảng của Copilot.

Các tác giả Juho Leinonen (Đại học Aalto), Arto Hellas (Đại học Aalto), Sami Sarsa (Đại học Aalto), Brent Reeves (Đại học Abilene Christian), Paul Denny (Đại học Auckland), James Prather (Đại học Abilene Christian) và Becker đã đăng ký Codex thường đưa ra các thông báo lỗi máy tính khó hiểu và nhận thấy rằng mô hình AI có thể làm cho lỗi dễ hiểu hơn, bằng cách đưa ra mô tả tiếng Anh đơn giản - điều này có lợi cho cả giáo viên và học sinh.

“Các mô hình ngôn ngữ lớn có thể được sử dụng để tạo ra các cải tiến hữu ích và thân thiện với người mới sử dụng đối với các thông báo lỗi lập trình đôi khi vượt qua các thông báo lỗi lập trình ban đầu về khả năng diễn giải và khả năng hoạt động,” boffins nêu rõ trong bài báo của họ.

Ví dụ: Python có thể phát ra thông báo lỗi: “SyntaxError: EOF không mong muốn khi phân tích cú pháp.” Codex, với bối cảnh của mã liên quan và lỗi, sẽ đề xuất mô tả này để giúp nhà phát triển: “Lỗi được gây ra bởi vì khối mã đang mong đợi một dòng mã khác sau dấu hai chấm. Để khắc phục sự cố, tôi sẽ thêm một dòng mã khác sau dấu hai chấm ”.

Tuy nhiên, những phát hiện của nghiên cứu này nói nhiều về lời hứa hơn là tiện ích hiện tại. Các nhà nghiên cứu đã đưa mã Python bị hỏng và các thông báo lỗi tương ứng vào mô hình Codex để giải thích các vấn đề và đánh giá các mô tả đó về: tính dễ hiểu; nội dung không cần thiết; có lời giải thích; có một lời giải thích chính xác; có một sửa chữa; tính đúng đắn của việc sửa chữa; và giá trị gia tăng từ mã gốc.

Các kết quả khác nhau đáng kể trên các danh mục này. Hầu hết đều có thể hiểu được và chứa một lời giải thích, nhưng mô hình đưa ra lời giải thích chính xác cho một số lỗi nhất định thành công hơn nhiều so với các mô hình khác. Ví dụ: lỗi “không thể chỉ định lệnh gọi hàm” được giải thích chính xác 83 phần trăm thời gian trong khi “EOF không mong muốn] trong khi phân tích cú pháp” chỉ được giải thích đúng 11 phần trăm thời gian. Và việc sửa thông báo lỗi tổng thể trung bình chỉ đúng 33 phần trăm thời gian.

“Nhìn chung, các nhà đánh giá cho rằng nội dung do Codex tạo, tức là phần giải thích về thông báo lỗi và bản sửa lỗi được đề xuất, là một cải tiến so với thông báo lỗi ban đầu trong hơn một nửa số trường hợp (54%),” tờ báo viết.

Các nhà nghiên cứu kết luận rằng trong khi các giải thích thông báo lỗi lập trình và các bản sửa lỗi được đề xuất được tạo ra bởi các mô hình ngôn ngữ lớn vẫn chưa sẵn sàng để sử dụng trong sản xuất và có thể đánh lừa sinh viên, họ tin rằng các mô hình AI có thể trở nên thành thạo trong việc giải quyết các lỗi mã với công việc tiếp theo.

Hy vọng rằng công việc đó sẽ chiếm lĩnh ngành công nghệ, học viện, chính phủ và các bên quan tâm khác trong nhiều năm tới. ®

tại chỗ_img

Tin tức mới nhất

tại chỗ_img