ChattyG tham gia kỳ thi lập trình C/C++ uni năm thứ nhất

ChattyG tham gia kỳ thi lập trình C/C++ uni năm thứ nhất

ChattyG tham gia kỳ thi lập trình C/C++ uni năm đầu tiên PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

ChatGPT đã được đưa vào thử nghiệm thông qua một loạt nhiệm vụ lập trình C/C++ buồn tẻ của sinh viên năm nhất và nó đã vượt qua – mặc dù không đạt được danh hiệu.

Theo một nhóm nghiên cứu ở Croatia, mặc dù sinh viên năm thứ nhất có thể gặp khó khăn với một số bài tập, kết quả [PDF] cho thấy ChatGPT đã đạt được mục tiêu về trình độ trong khoảng từ mức trung bình đến mức của các lập trình viên có kinh nghiệm. Và một cách tự nhiên, giống như tất cả các kỳ thi đại học, kết quả có thể được xác định bằng cách diễn đạt câu hỏi.

Nhóm của Đại học North đã thiết kế một bộ thử thách lập trình dành cho sinh viên năm nhất đại học, đầu tiên được viết bằng tiếng Anh và sau đó, để xem liệu các sắc thái đa ngôn ngữ có ảnh hưởng đến kết quả hay không, tiếng Croatia. Họ không chỉ muốn xem cách mã ChatGPT mà còn muốn biết liệu nó có thể thích ứng với các ngôn ngữ khác nhau hay không.

Bài kiểm tra đầu tiên tập trung vào một nhiệm vụ lập trình cơ bản: tính ước số chung lớn nhất (GCD) của hai số. Ngay từ đầu, bot đã bộc lộ một số hạn chế trong cách giải quyết vấn đề. Các nhà nghiên cứu cho rằng nó thiếu sự khéo léo như mong đợi từ một lập trình viên dày dạn kinh nghiệm. Nhưng giống như bất kỳ học sinh nào, nó học hỏi và qua những lần thử tiếp theo, đặc biệt là trong phiên bản tiếng Croatia, nó đã thể hiện một số cải tiến, cho thấy khả năng thích ứng đáng chú ý.

Ví dụ, trong một nhiệm vụ cụ thể, người ta đã thử thách lập trình một hàm thống kê cơ bản trong C++. Ban đầu, nó đã giám sát, sử dụng một hàm không tạo ra độ lệch chuẩn “đã hiệu chỉnh” theo yêu cầu. Tuy nhiên, khi nhiệm vụ tương tự được thực hiện bằng tiếng Croatia, chatbot không chỉ nhận ra lỗi trước đó mà còn tìm ra giải pháp tinh tế hơn.

Các nhà nghiên cứu lưu ý rằng khả năng thích ứng này phản ánh hành trình của sinh viên năm nhất: bắt đầu từ những sai lầm nhưng thể hiện khả năng học hỏi và nâng cao kỹ năng của mình bằng cách thực hành và phản hồi nhiều lần. Ôi.

Một nhiệm vụ khác liên quan đến một vấn đề phức tạp hơn: xác định các số trong một phạm vi dựa trên các quy tắc chia hết cụ thể. Đây chính là lúc gót chân Achilles của ChatGPT trở nên rõ ràng. Bất kể ngôn ngữ - tiếng Anh hay tiếng Croatia - ChattyG đều phải vật lộn với những con số âm. Mỗi nỗ lực của ChatGPT đều dẫn đến kết quả tương tự, chỉ ra một vấn đề nhất quán trong logic lập trình cho nhiệm vụ này.

Một câu hỏi thưởng yêu cầu độ chính xác. Cần có ChatGPT để tạo bộ lọc đầu vào, đặc biệt cho phạm vi số thập phân được xác định. Giải pháp ban đầu của AI, khi được trình bày bằng tiếng Anh, đã đúng, nhưng những nỗ lực tiếp theo, đặc biệt là khi nhiệm vụ được giao bằng tiếng Croatia, đã bộc lộ một số điểm mâu thuẫn và trong một số trường hợp, ChatGPT đã sử dụng các cấu trúc lập trình không cần thiết. Mặc dù những điều này không cản trở chức năng của chương trình nhưng nó cho thấy sự thiếu tối ưu hóa. Có vẻ như ChatGPT đôi khi đi theo con đường dài hơn để đến đích, ngay cả khi có sẵn lối tắt.

Mọi thứ trở nên phức tạp hơn với một nhiệm vụ liên quan đến mảng. Tại đây, ChatGPT được yêu cầu lưu trữ các số và sau đó tính toán một số thống kê nhất định như giá trị trung bình, độ lệch chuẩn và xác định giá trị tối thiểu và tối đa. Màn trình diễn của ChattyG trong thử thách này đặc biệt thú vị. Qua các thử nghiệm khác nhau, nó cho thấy các chiến lược khác nhau. Đôi khi, nó giải quyết vấn đề một cách khéo léo, đưa ra những giải pháp đơn giản. Trong những nỗ lực khác, nó nghiêng về các phương pháp phức tạp hơn, thậm chí gộp nhiều thao tác thành một hàm.

Tất cả những điều này đặt ra một câu hỏi quan trọng: ChatGPT có luôn chọn chiến lược tốt nhất hay đôi khi nó mặc định sử dụng các phương pháp đã học nhưng không hiệu quả?

Rào cản cuối cùng đối với ChatGPT liên quan đến việc xử lý văn bản cơ bản. Nó được giao nhiệm vụ loại bỏ khoảng trắng thừa khỏi đầu vào của người dùng. Trong bài kiểm tra tiếng Anh đầu tiên, giải pháp của ChatGPT đã được áp dụng. Tuy nhiên, bài kiểm tra của Croatia đã ném một đường cong. Thay vì tuân thủ giải pháp một đầu vào hiệu quả, vì lý do nào đó, AI đã chọn cách tiếp cận phức tạp hơn, yêu cầu nhiều đầu vào. Tuy nhiên, khi các nhà nghiên cứu xem lại thử thách này bằng tiếng Anh, ChatGPT dường như đã rút ra được bài học từ sai lầm trước đó và quay trở lại phương pháp đơn giản hơn.

Nhìn chung, các nhà nghiên cứu nhận thấy các câu trả lời có nhiều điểm chung với câu trả lời của sinh viên lập trình năm nhất. Các giải pháp của nó thường lặp lại chiến lược của các lập trình viên giàu kinh nghiệm nhưng giống như bất kỳ sinh viên nào, ChatGPT không phải là không thể sai lầm. Có những khoảnh khắc rực rỡ, nhưng cũng có những trường hợp dường như hoàn toàn không đạt được mục tiêu.

Điểm đáng chú ý thực sự ở đây là khả năng thích ứng giống như sinh viên năm nhất của con người: Vấn đề không chỉ là tìm ra giải pháp phù hợp; đó là về việc tinh chỉnh, học hỏi và lặp lại.

Vậy điểm cuối cùng của ChattyG là gì?

Từ các nhà nghiên cứu:

“ChatGPT vượt qua kỳ thi với số điểm rất cao, vượt trội so với hầu hết sinh viên của chúng tôi về chất lượng giải pháp. Hơn nữa, nó giải quyết từng nhiệm vụ trong vòng 20 đến 30 giây và cho thấy khả năng chung trong việc thích ứng hoặc thay đổi các giải pháp của mình theo nhu cầu bổ sung. Tuy nhiên, trong một số nhiệm vụ thường đơn giản, nó cho thấy không có khả năng hiểu được bản chất logic và toán học của vấn đề, ngay cả sau khi được nhắc về lỗi nhiều lần.” ®

Dấu thời gian:

Thêm từ Đăng ký