Nó đã được đưa tin khắp nơi và nếu bạn chưa nghe về nó cho đến bây giờ thì đã đến lúc kiểm tra ChatGPT từ OpenAI. Đây là một công cụ cực kỳ mạnh mẽ chạy trên Trí Tuệ Nhân Tạo. Ý tưởng là bạn có thể hỏi nó hầu như bất cứ điều gì hoặc giao cho nó bất kỳ nhiệm vụ nào và nó sẽ, giả định, trả lời với câu trả lời chính xác hoặc hoàn thành nhiệm vụ cho bạn. Ví dụ, mọi người sử dụng nó để viết bài phát biểu, soạn email, nghiên cứu chủ đề, hoặc thậm chí viết mã. Mặc dù mô hình không hoàn hảo nhưng vẫn rất ấn tượng và chứa đựng nhiều thông tin hữu ích. Chính Mark Harris của chúng tôi gần đây đã thể hiện khả năng này với tôi thông qua một đoạn mã đơn giản điều khiển một thiết bị cho việc kiểm tra tự động. Tôi quyết định đi sâu vào hố thỏ này và thử nghiệm với ChatGPT và kiểm tra tự động. Trong bài viết này, chúng ta sẽ đi qua cách để truy cập vào ChatGPT, học cách hỏi nó các câu hỏi, và quan trọng nhất, hiểu những câu hỏi đúng cần thiết để đạt được kết quả bạn đang tìm kiếm.
Trước khi bắt đầu, bạn sẽ muốn làm quen với ChatGPT và những gì nó có thể cung cấp. Đầu tiên, hãy truy cập vào chat.openai.com và đăng ký hoặc đăng nhập bằng một tài khoản. Tại thời điểm viết bài này, công cụ đang được cung cấp miễn phí nên bạn nên có thể tham gia ngay lập tức. Bắt đầu với những câu hỏi cơ bản như “1 + 1 bằng bao nhiêu?” hoặc “bầu trời có màu gì?” Sau đó, bạn có thể bắt đầu giao cho nó những nhiệm vụ như soạn một bài luận, soạn thảo một email, hoặc viết một hàm đơn giản trong phần mềm. Giao diện rất gọn gàng và đơn giản, chỉ cần gõ vào hộp tin nhắn ở phía dưới như bạn sẽ gửi bất kỳ tin nhắn nào và nhấn vào gửi (hoặc nhấn enter).
Khi bạn đã thoải mái với việc trò chuyện cùng ChatGPT, bạn có thể bắt đầu thử nghiệm việc yêu cầu nó tạo ra mã lệnh cho bạn. Những yêu cầu cơ bản như “viết một hàm trong C để cộng hai số” là một nhiệm vụ đơn giản mà nó có thể dễ dàng xử lý. Mọi thứ bắt đầu trở nên phức tạp hơn khi bạn thêm nhiều chi tiết vào yêu cầu. Tôi thích có tất cả mã lệnh của mình được gói gọn trong những lớp nhỏ ngăn nắp, vì vậy tôi rõ ràng yêu cầu ChatGPT tạo ra một lớp thực hiện một công việc nào đó cho tôi. Dưới đây là một ví dụ:
Bạn cũng sẽ nhận thấy tôi đã yêu cầu nó tạo ra các bài kiểm tra cho tôi sử dụng Pytest. Nó cũng xử lý yêu cầu này tốt nhưng, không may, mã lệnh có một số lỗi khá khó khắc phục. Dù sao, đó vẫn là một quá trình tuyệt vời để xem nó cấu trúc mã lệnh và các bài kiểm tra đơn vị như thế nào. Tôi, chắc chắn, đã học được một vài điều bằng cách quan sát nó tạo mã lệnh theo cách mà tôi sẽ không tự làm.
Một phương pháp được mô tả ở trên là để AI cung cấp cho bạn công cụ (tức là thư viện phần mềm) để bạn có thể tự xây dựng sản phẩm (tức là kịch bản kiểm tra). Một phương pháp khác là cung cấp cho ChatGPT các thông số kiểm tra cụ thể và yêu cầu nó tạo mã cho bạn. Điều này rất tốt cho việc tạo ra các kịch bản kiểm tra nhanh và dễ dàng để bạn bắt đầu trước khi cần điều chỉnh cài đặt và trường hợp kiểm tra của mình. Hãy xem xét một ví dụ.
Tôi đã cung cấp cho ChatGPT bộ hướng dẫn rất đơn giản sau đây để kiểm tra một bộ chuyển đổi nguồn điện:
Viết cho tôi một kịch bản bằng Python sử dụng Pytest để thực hiện các công việc sau:
1. Bật nguồn Rigol DP832 và đặt nó ở 5V và 2A trên kênh 1
2. Bật tải điện tử Rigol DL3021 và đặt tải ở 1.5A dòng điện không đổi trong 3 phút
3. Tắt DP832 và DL3021
Tôi thậm chí chưa tích hợp bất kỳ bài kiểm tra cụ thể nào trong trường hợp này. Tất cả những gì tôi muốn làm là quan sát xem bộ chuyển đổi DC-DC của mình có thể xử lý tải 1.5A trong 3 phút hay không. Mã được tạo ra khá ổn nhưng đôi khi tôi vẫn gặp lỗi khiến việc sửa chữa trở nên hơi khó khăn. Bạn cũng có thể yêu cầu ChatGPT tích hợp các phát biểu cụ thể hoặc kiểm tra các lỗi cụ thể nhưng tôi chỉ quan tâm đến việc kiểm tra những điều cơ bản với ứng dụng AI. Ngoài ra, bạn thậm chí có thể yêu cầu nó viết cho bạn một lớp kiểm tra (có hoặc không có mocks) để xác thực mã. Một lần nữa, không phải mọi thứ đều được sắp xếp hoàn hảo. Tôi phải điều chỉnh cả mã lẫn lớp kiểm tra để nó hoạt động hoàn hảo.
Tóm lại, việc thử nghiệm với ChatGPT là một trải nghiệm tốt. Thật tuyệt khi có một “trình tổng hợp” để kết hợp một số khái niệm lại với nhau trong mã mà không cần phải làm việc thủ công hoặc tìm kiếm trên web các ví dụ. Mặc dù nó không hoàn hảo nhưng vẫn hữu ích và thú vị khi thử nghiệm. Sau khi đọc bài viết này, bạn nên có một hiểu biết đủ tốt về cách thức:
Tôi rất khuyến khích bạn thử nghiệm và chạy các ví dụ mà tôi đã cung cấp trong bài viết này hoặc thử một số ví dụ của riêng bạn. Hãy nhớ rằng ChatGPT vẫn, về mặt kỹ thuật, đang ở giai đoạn beta nên đừng đặt kỳ vọng quá cao. Hãy kiên nhẫn và chắc chắn thông báo cho nó khi nó mắc lỗi để nó có thể "học" từ những sai lầm của mình. Chúc bạn lập trình vui vẻ!