Cách dùng ChatGPT viết Python
Bùi Tấn Lực
- 106
- 03/10/2026
Python là một trong những ngôn ngữ lập trình được sử dụng rộng rãi nhờ cú pháp dễ đọc, hệ sinh thái thư viện phong phú và khả năng ứng dụng trong nhiều lĩnh vực. Tuy nhiên, việc tự viết một chương trình hoàn chỉnh vẫn có thể mất nhiều thời gian, đặc biệt khi phải tìm hiểu cú pháp, xử lý lỗi hoặc lựa chọn cách triển khai phù hợp.
ChatGPT có thể hỗ trợ đáng kể trong quá trình này. Thay vì chỉ yêu cầu tạo một đoạn mã rồi sao chép để chạy, người dùng có thể sử dụng ChatGPT như một trợ lý lập trình để phân tích yêu cầu, xây dựng cấu trúc chương trình, giải thích từng phần code, tìm nguyên nhân gây lỗi và đề xuất hướng cải thiện.
Điều quan trọng là kết quả phụ thuộc rất nhiều vào cách đặt yêu cầu. Một câu lệnh càng rõ về mục tiêu, dữ liệu đầu vào, kết quả mong muốn và môi trường chạy thì mã Python được tạo ra càng dễ sử dụng và kiểm tra.

ChatGPT có thể hỗ trợ viết Python như thế nào?
ChatGPT có thể tham gia vào nhiều bước trong quá trình phát triển một chương trình Python, từ lúc hình thành ý tưởng cho đến khi kiểm tra và cải thiện mã nguồn. Mức độ hỗ trợ không chỉ dừng ở việc sinh code.
Với một yêu cầu cụ thể, ChatGPT có thể giúp chuyển mô tả bằng ngôn ngữ tự nhiên thành thuật toán và sau đó triển khai thành mã Python. Chẳng hạn, thay vì tự xây dựng toàn bộ chương trình đọc một tệp CSV, lọc dữ liệu rồi tính tổng doanh thu, người dùng có thể mô tả rõ các bước cần thực hiện và yêu cầu tạo chương trình tương ứng.
Một số công việc phù hợp gồm:
- Viết một hàm Python thực hiện một nhiệm vụ cụ thể.
- Xây dựng chương trình từ yêu cầu được mô tả bằng ngôn ngữ tự nhiên.
- Giải thích cú pháp và cách hoạt động của đoạn code có sẵn.
- Tìm nguyên nhân của lỗi và đề xuất cách sửa.
- Chuyển một đoạn mã sang cách viết dễ đọc hoặc dễ bảo trì hơn.
- Tạo ví dụ để kiểm tra một hàm hoặc một chương trình.
- Xử lý tệp CSV, JSON và các dạng dữ liệu phổ biến.
- Hỗ trợ xây dựng chương trình tự động hóa các thao tác lặp lại.
- Gợi ý cách tổ chức thư mục và các thành phần trong một dự án.
- Giải thích thư viện Python và cách sử dụng chúng trong từng trường hợp.
Tuy nhiên, code do AI tạo ra không nên mặc định được xem là chính xác tuyệt đối. Người dùng vẫn cần chạy thử, kiểm tra dữ liệu đầu vào, đánh giá kết quả và xem xét các vấn đề về hiệu suất, bảo mật trước khi đưa chương trình vào sử dụng thực tế.
Vì sao cách đặt yêu cầu quyết định chất lượng code?
Một trong những sai lầm phổ biến khi dùng ChatGPT viết Python là chỉ đưa ra yêu cầu quá ngắn như “viết cho tôi code Python đọc file”. Yêu cầu này không cho biết file có định dạng gì, cấu trúc dữ liệu ra sao, muốn lấy thông tin nào và kết quả cần được xuất ở đâu.
Khi thiếu những thông tin quan trọng, chương trình được tạo ra có thể vẫn chạy nhưng không giải quyết đúng bài toán thực tế.
Thay vì mô tả chung chung, nên cung cấp cho ChatGPT ít nhất bốn nhóm thông tin: mục tiêu, dữ liệu đầu vào, kết quả mong muốn và các điều kiện cần tuân thủ.
Ví dụ, một yêu cầu cụ thể có thể mô tả rằng chương trình cần đọc một file CSV chứa các cột tên sản phẩm, số lượng và đơn giá; tính thành tiền cho từng dòng; sau đó tính tổng doanh thu và hiển thị những sản phẩm có doanh thu vượt một mức nhất định.
Với mô tả như vậy, ChatGPT có đủ thông tin để hiểu bài toán trước khi viết code thay vì phải tự đoán cấu trúc dữ liệu.
Công thức tạo prompt Python rõ ràng
Một prompt tốt không nhất thiết phải dài. Điều quan trọng là những thông tin cần thiết phải xuất hiện đúng chỗ và không gây hiểu nhầm.
Có thể xây dựng yêu cầu theo trình tự:
- Nêu mục tiêu của chương trình.
- Mô tả dữ liệu đầu vào.
- Nêu kết quả cần nhận được.
- Chỉ rõ môi trường hoặc phiên bản Python nếu có yêu cầu đặc biệt.
- Nêu các thư viện được phép hoặc không được phép sử dụng.
- Yêu cầu xử lý những trường hợp ngoại lệ quan trọng.
- Yêu cầu giải thích những phần code khó hiểu.
- Yêu cầu đưa ra ví dụ đầu vào và kết quả đầu ra để kiểm tra.
Cách mô tả này giúp giảm đáng kể số lần phải sửa lại câu trả lời. Đặc biệt với những chương trình lớn, việc chia bài toán thành từng phần thường hiệu quả hơn việc yêu cầu AI viết toàn bộ dự án chỉ bằng một câu lệnh.
Ví dụ về một yêu cầu chưa đủ thông tin
Viết Python để xử lý file CSV.
Yêu cầu trên không xác định chương trình phải xử lý dữ liệu như thế nào. ChatGPT buộc phải đưa ra giả định về tên file, tên cột, điều kiện lọc và kết quả đầu ra.
Ví dụ về yêu cầu cụ thể hơn
Viết chương trình Python đọc file sales.csv.
File có ba cột:
- product
- quantity
- price
Hãy tính doanh thu của từng sản phẩm bằng quantity * price,
sau đó tính tổng doanh thu của toàn bộ file.
Chương trình cần:
- xử lý trường hợp quantity hoặc price bị trống;
- thông báo nếu file không tồn tại;
- sử dụng thư viện chuẩn của Python nếu có thể;
- in kết quả rõ ràng trên màn hình;
- giải thích ngắn gọn cách hoạt động của code.
Ở yêu cầu thứ hai, phạm vi công việc đã rõ hơn. ChatGPT không chỉ biết phải viết chương trình gì mà còn biết dữ liệu có cấu trúc ra sao, những lỗi nào cần xử lý và giới hạn thư viện cần sử dụng.
Nên yêu cầu ChatGPT viết toàn bộ chương trình hay từng phần?
Với chương trình nhỏ, yêu cầu tạo toàn bộ code trong một lần có thể tiết kiệm thời gian. Nhưng khi bài toán có nhiều chức năng, cách làm này dễ tạo ra đoạn mã dài, khó kiểm tra và khó xác định nguyên nhân nếu chương trình hoạt động không đúng.
Đối với dự án lớn hơn, nên chia quá trình thành từng phần. Có thể bắt đầu bằng việc yêu cầu phân tích bài toán, sau đó xây dựng cấu trúc chương trình, tiếp tục viết từng chức năng và cuối cùng ghép các thành phần lại.
Ví dụ, nếu muốn tạo một chương trình quản lý sản phẩm, không nhất thiết phải yêu cầu ChatGPT viết ngay hàng trăm dòng code. Có thể bắt đầu bằng việc xác định dữ liệu cần lưu trữ, các chức năng chính và cách tổ chức chương trình.
Sau khi cấu trúc được thống nhất, từng phần như thêm sản phẩm, sửa sản phẩm, xóa sản phẩm, tìm kiếm và xuất dữ liệu có thể được triển khai riêng. Cách này giúp người dùng hiểu chương trình và dễ phát hiện vấn đề hơn.
Cách yêu cầu ChatGPT giải thích code Python
Việc hiểu code quan trọng không kém việc tạo ra code. Nếu chỉ sao chép chương trình mà không biết từng phần đang làm gì, người dùng sẽ gặp khó khăn khi cần sửa lỗi hoặc mở rộng chức năng.
Có thể đưa đoạn code vào cuộc trò chuyện và yêu cầu phân tích theo từng phần. Chẳng hạn, có thể yêu cầu giải thích biến, hàm, vòng lặp, điều kiện, cách dữ liệu đi qua chương trình và lý do lựa chọn một phương pháp cụ thể.
Đối với người mới học Python, nên yêu cầu giải thích bằng ngôn ngữ đơn giản thay vì chỉ yêu cầu mô tả theo thuật ngữ lập trình.
Hãy giải thích đoạn code Python dưới đây cho người mới học.
Yêu cầu:
- giải thích từng phần theo thứ tự chương trình thực thi;
- nói rõ vai trò của từng biến;
- giải thích các hàm được sử dụng;
- chỉ ra phần nào có thể gây lỗi;
- không viết lại toàn bộ code nếu không cần thiết.
Cách yêu cầu này giúp cuộc trao đổi tập trung vào việc hiểu chương trình thay vì liên tục tạo ra một phiên bản code mới.
Dùng ChatGPT để xây dựng code từ yêu cầu thực tế
Một cách sử dụng hiệu quả là bắt đầu bằng bài toán thay vì bắt đầu bằng cú pháp Python. Người dùng chỉ cần mô tả công việc cần tự động hóa, sau đó yêu cầu ChatGPT chuyển yêu cầu đó thành các bước xử lý.
Ví dụ, giả sử cần đổi tên hàng loạt file trong một thư mục. Thay vì ngay lập tức yêu cầu viết code, có thể yêu cầu phân tích trước: chương trình cần tìm file nào, quy tắc đổi tên là gì, xử lý file trùng tên ra sao và cần làm gì nếu không có quyền truy cập.
Sau khi các bước được xác định, mới yêu cầu triển khai bằng Python. Đây là cách làm có lợi khi bài toán chưa được định hình rõ, bởi vấn đề thường nằm ở logic chứ không phải cú pháp.
Quy trình có thể gồm:
- Mô tả công việc cần giải quyết.
- Yêu cầu phân tích thành các bước.
- Kiểm tra lại logic và bổ sung điều kiện còn thiếu.
- Yêu cầu chuyển từng bước thành code Python.
- Chạy thử với dữ liệu mẫu.
- Đưa lỗi hoặc kết quả không mong muốn trở lại cuộc trò chuyện để tiếp tục sửa.
Không nên xem code do AI tạo ra là code đã hoàn thiện
ChatGPT có thể tạo code nhanh nhưng việc chương trình có phù hợp với môi trường thực tế hay không vẫn cần được kiểm chứng. Một đoạn code có thể đúng về cú pháp nhưng chưa chắc đúng với dữ liệu thực tế.
Chẳng hạn, chương trình xử lý dữ liệu có thể hoạt động với một file mẫu sạch nhưng gặp lỗi khi dữ liệu thật chứa dòng trống, ký tự đặc biệt, giá trị sai định dạng hoặc cột bị thiếu.
Vì vậy, sau khi nhận được code, nên kiểm tra ít nhất các vấn đề sau:
- Code có chạy được trong môi trường Python đang sử dụng hay không.
- Các thư viện cần thiết đã được cài đặt chưa.
- Kết quả có đúng với yêu cầu ban đầu không.
- Chương trình phản ứng thế nào với dữ liệu trống hoặc sai.
- Có thông tin nhạy cảm nào bị ghi trực tiếp vào code không.
- Code có thực hiện những thao tác nguy hiểm ngoài yêu cầu hay không.
- Hiệu suất có phù hợp với kích thước dữ liệu thực tế không.
Đặc biệt, với code có khả năng đọc, ghi hoặc xóa dữ liệu trên máy tính, người dùng nên hiểu rõ chương trình trước khi chạy. Không nên chạy một đoạn mã chưa được kiểm tra chỉ vì nó được tạo ra từ một công cụ AI.
Quy trình kiểm tra code Python sau khi nhận được
Một quy trình đơn giản nhưng hiệu quả là không kiểm tra tất cả mọi thứ cùng lúc. Hãy kiểm tra từ mức cơ bản đến mức thực tế.
- Kiểm tra cú pháp để phát hiện lỗi viết code.
- Chạy chương trình với dữ liệu mẫu nhỏ.
- Kiểm tra kết quả với trường hợp bình thường.
- Thử các trường hợp dữ liệu trống, sai hoặc bất thường.
- Kiểm tra lỗi phát sinh và thông báo lỗi.
- Đánh giá tốc độ khi dữ liệu tăng lên.
- Kiểm tra bảo mật nếu chương trình nhận dữ liệu từ người dùng hoặc Internet.
Nếu chương trình phát sinh lỗi, không nên chỉ nói với ChatGPT rằng “code bị lỗi”. Hãy cung cấp thông báo lỗi, đoạn code liên quan và thao tác khiến lỗi xuất hiện. Thông tin càng cụ thể thì quá trình tìm nguyên nhân càng chính xác.
Đây là lỗi tôi nhận được khi chạy chương trình Python:
[đặt thông báo lỗi tại đây]
Đây là đoạn code gây lỗi:
[đặt đoạn code tại đây]
Thông tin môi trường:
- Python: [phiên bản]
- Hệ điều hành: [hệ điều hành]
- Thư viện liên quan: [tên và phiên bản nếu có]
Hãy:
1. xác định nguyên nhân;
2. giải thích vì sao lỗi xảy ra;
3. đưa ra cách sửa;
4. giữ nguyên các chức năng không liên quan đến lỗi.
Cách phản hồi theo thông tin thực tế như vậy thường hữu ích hơn việc yêu cầu AI viết lại toàn bộ chương trình từ đầu.
Những cách dùng ChatGPT viết Python trong thực tế
Sau khi biết cách mô tả yêu cầu và kiểm tra code, bước tiếp theo là áp dụng ChatGPT vào những công việc cụ thể. Python có hệ sinh thái rất rộng nên cùng một cách làm có thể được sử dụng cho xử lý dữ liệu, tự động hóa, làm việc với API hoặc xây dựng các công cụ nhỏ.
Điểm quan trọng là không nên xem ChatGPT chỉ như công cụ tạo ra một đoạn code hoàn chỉnh. Hiệu quả cao hơn khi sử dụng nó ở từng công đoạn: phân tích yêu cầu, lựa chọn phương án, viết hàm, kiểm thử, sửa lỗi và cải thiện chương trình.
Tạo chương trình xử lý file
Python đặc biệt phù hợp với các công việc xử lý file. Người dùng có thể nhờ ChatGPT tạo chương trình đọc, ghi, đổi tên, phân loại hoặc tổng hợp dữ liệu từ nhiều file.
Ví dụ, với một thư mục chứa hàng nghìn file có tên không thống nhất, có thể yêu cầu ChatGPT xây dựng chương trình tìm file theo phần mở rộng, áp dụng quy tắc đặt tên mới và xử lý trường hợp tên file đã tồn tại.
Đối với tác vụ liên quan đến file, nên mô tả rõ phạm vi thao tác. Nếu chương trình có khả năng đổi tên hoặc xóa dữ liệu, cần yêu cầu tạo chế độ xem trước kết quả trước khi thực hiện thao tác thật.
Xử lý dữ liệu với Python
ChatGPT có thể hỗ trợ viết code để lọc, sắp xếp, nhóm, tính toán và chuyển đổi dữ liệu. Đây là nhóm công việc mà Python thường được sử dụng để giảm những thao tác thủ công lặp đi lặp lại.
Ví dụ, một file chứa danh sách đơn hàng có thể cần lọc theo thời gian, tính tổng doanh thu, thống kê theo sản phẩm hoặc tìm những bản ghi có dữ liệu bất thường.
Khi yêu cầu xử lý dữ liệu, nên cung cấp tên cột và một vài dòng dữ liệu mẫu đã loại bỏ thông tin nhạy cảm. Nhờ đó, ChatGPT có thể hiểu kiểu dữ liệu và viết logic phù hợp hơn.
Làm việc với JSON và API
Python thường được sử dụng để giao tiếp với các API. ChatGPT có thể giúp xây dựng phần gửi request, nhận dữ liệu JSON, kiểm tra mã trạng thái và xử lý lỗi.
Tuy nhiên, với API thực tế, không nên đưa khóa API, mật khẩu, token hoặc thông tin xác thực thật vào cuộc trò chuyện hay ghi trực tiếp vào mã nguồn.
Có thể yêu cầu ChatGPT sử dụng biến môi trường hoặc một cơ chế lưu cấu hình riêng để giữ thông tin xác thực bên ngoài code.
Tự động hóa công việc lặp lại
Đây là một trong những trường hợp Python và ChatGPT có thể kết hợp rất hiệu quả. Những công việc được thực hiện theo một quy trình cố định có thể được chuyển thành chương trình tự động.
Chẳng hạn, một chương trình có thể đọc danh sách file, kiểm tra điều kiện, tạo thư mục, đổi tên file và ghi lại kết quả xử lý. Người dùng chỉ cần mô tả quy trình thủ công hiện tại, sau đó yêu cầu ChatGPT chuyển quy trình đó thành các bước lập trình.
Trước khi tự động hóa, nên xác định rõ hành động nào được phép thực hiện và hành động nào cần yêu cầu xác nhận. Điều này đặc biệt quan trọng với các chương trình có quyền xóa, di chuyển hoặc thay đổi dữ liệu.
Cách yêu cầu ChatGPT viết Python dễ bảo trì
Một chương trình chạy được chưa đồng nghĩa với một chương trình tốt. Khi dự án phát triển, code khó đọc hoặc có quá nhiều logic dồn vào một chỗ sẽ khiến việc sửa đổi trở nên phức tạp.
Ngay từ đầu, có thể yêu cầu ChatGPT tách chương trình thành các hàm có nhiệm vụ rõ ràng. Mỗi hàm nên xử lý một công việc chính thay vì gom toàn bộ chương trình vào một khối code lớn.
Ví dụ, một chương trình xử lý dữ liệu có thể được chia thành các phần riêng như đọc dữ liệu, kiểm tra dữ liệu, xử lý dữ liệu và xuất kết quả. Cách tổ chức này giúp từng phần dễ kiểm tra và thay đổi hơn.
Cũng nên yêu cầu đặt tên biến và tên hàm có ý nghĩa. Những tên như data, x hoặc temp có thể phù hợp trong phạm vi rất nhỏ nhưng sẽ gây khó hiểu khi chương trình trở nên dài.
Yêu cầu giải pháp đơn giản trước khi tối ưu
Khi chưa xác định rõ vấn đề, không nên yêu cầu ChatGPT tối ưu code ngay từ đầu. Một giải pháp đơn giản, dễ hiểu và có kết quả đúng thường là điểm xuất phát tốt hơn.
Sau khi chương trình hoạt động ổn định, có thể yêu cầu phân tích những phần đang chậm hoặc lặp lại, sau đó mới xem xét tối ưu. Nếu tối ưu quá sớm, code có thể trở nên khó hiểu trong khi hiệu quả thực tế không cải thiện đáng kể.
Cách dùng ChatGPT tìm và sửa lỗi Python
Debug là một trong những công việc mà ChatGPT có thể hỗ trợ đáng kể nếu được cung cấp đủ thông tin. Một thông báo lỗi thường chỉ là dấu hiệu cuối cùng của một vấn đề xảy ra trước đó.
Thay vì yêu cầu sửa toàn bộ code, nên yêu cầu xác định nguyên nhân trước. Điều này giúp người dùng hiểu lỗi và tránh tình trạng chương trình được sửa theo cách làm thay đổi những chức năng vốn đang hoạt động đúng.
Có thể yêu cầu ChatGPT phân tích theo ba bước: lỗi xuất hiện ở đâu, nguyên nhân là gì và thay đổi tối thiểu nào có thể khắc phục.
Phân biệt lỗi cú pháp và lỗi logic
Lỗi cú pháp thường khiến Python không thể thực thi chương trình. Trong khi đó, lỗi logic có thể không tạo ra thông báo lỗi nhưng kết quả lại sai.
Ví dụ, chương trình tính tổng có thể chạy bình thường nhưng sử dụng nhầm một biến khiến tổng doanh thu bị sai. Trong trường hợp này, chỉ nhìn vào thông báo lỗi sẽ không đủ vì chương trình không nhất thiết phát sinh exception.
Vì vậy, khi nhờ ChatGPT kiểm tra code, nên cung cấp cả kết quả thực tế và kết quả mong muốn. Sự khác biệt giữa hai kết quả thường là manh mối quan trọng để tìm lỗi logic.
Yêu cầu tạo dữ liệu kiểm thử
Nếu chưa biết phải kiểm tra chương trình như thế nào, có thể yêu cầu ChatGPT tạo các trường hợp kiểm thử. Đây là cách hữu ích để phát hiện những vấn đề mà dữ liệu thông thường không thể hiện.
Một chương trình xử lý dữ liệu nên được kiểm tra với ít nhất một trường hợp bình thường, một trường hợp rỗng, một trường hợp có dữ liệu không hợp lệ và một trường hợp có kích thước dữ liệu lớn hơn dự kiến.
Hãy tạo bộ dữ liệu kiểm thử cho hàm Python này.
Yêu cầu:
- trường hợp dữ liệu hợp lệ;
- dữ liệu rỗng;
- dữ liệu thiếu trường bắt buộc;
- dữ liệu có giá trị sai kiểu;
- dữ liệu có nhiều phần tử;
- nêu kết quả mong đợi của từng trường hợp.
Nhờ đó, quá trình kiểm tra không chỉ dựa vào một ví dụ duy nhất.
Dùng ChatGPT cải thiện code Python hiện có
ChatGPT không chỉ hữu ích khi bắt đầu một dự án mới. Một đoạn code đã tồn tại cũng có thể được đưa vào để phân tích và cải thiện.
Trước tiên, nên xác định mục tiêu muốn cải thiện. Có thể là tăng khả năng đọc hiểu, giảm code lặp, tách hàm, cải thiện hiệu suất hoặc xử lý lỗi tốt hơn.
Nếu chỉ yêu cầu “tối ưu code này”, kết quả có thể thay đổi nhiều phần cùng lúc. Điều đó khiến người dùng khó biết thay đổi nào thực sự cần thiết.
Thay vào đó, có thể đưa ra giới hạn cụ thể, chẳng hạn yêu cầu giữ nguyên đầu vào và đầu ra, không thay đổi thư viện đang sử dụng hoặc chỉ tập trung vào một hàm.
Hãy cải thiện đoạn code Python dưới đây.
Giữ nguyên:
- cách nhận dữ liệu đầu vào;
- kết quả đầu ra;
- các chức năng hiện tại.
Chỉ tập trung vào:
- giảm code lặp;
- làm code dễ đọc hơn;
- tách các phần có nhiệm vụ khác nhau thành hàm riêng.
Sau đó giải thích từng thay đổi quan trọng.
Cách yêu cầu này giúp quá trình cải thiện có phạm vi rõ ràng và giảm nguy cơ vô tình thay đổi hành vi của chương trình.
Cách yêu cầu ChatGPT viết code Python an toàn hơn
Khi chương trình chỉ chạy trên dữ liệu thử nghiệm, vấn đề bảo mật đôi khi chưa được chú ý. Nhưng khi chương trình nhận dữ liệu từ người dùng, đọc file bên ngoài hoặc kết nối Internet, yêu cầu an toàn trở nên quan trọng hơn.
Có thể yêu cầu ChatGPT kiểm tra riêng các vấn đề liên quan đến dữ liệu đầu vào, thông tin xác thực, quyền truy cập file, xử lý lỗi và những thao tác có khả năng gây ảnh hưởng đến hệ thống.
Không nên đưa mật khẩu, khóa bí mật hoặc token thật vào code. Thay vào đó, hãy yêu cầu sử dụng biến môi trường hoặc cơ chế cấu hình phù hợp.
Ví dụ, thay vì viết trực tiếp thông tin bí mật trong chương trình:
API_KEY = "YOUR_SECRET_KEY"
Có thể yêu cầu chương trình lấy giá trị từ biến môi trường:
import os
api_key = os.getenv("API_KEY")
if not api_key:
raise ValueError("API_KEY chưa được cấu hình")
Cách này giúp tách thông tin nhạy cảm khỏi mã nguồn và giảm nguy cơ vô tình đưa dữ liệu bí mật vào hệ thống quản lý phiên bản.
Cách dùng ChatGPT để học Python thay vì chỉ lấy code
Nếu mục tiêu là học lập trình, việc yêu cầu ChatGPT làm toàn bộ bài tập sẽ không mang lại nhiều giá trị bằng việc dùng nó để hiểu cách giải quyết vấn đề.
Có thể yêu cầu ChatGPT đưa ra gợi ý từng bước thay vì cung cấp ngay đáp án. Sau khi tự viết code, người học có thể đưa chương trình của mình vào để nhờ kiểm tra và giải thích điểm chưa hợp lý.
Ví dụ, với một bài toán về vòng lặp, người học có thể yêu cầu giải thích cách suy nghĩ và các trường hợp cần xử lý nhưng chưa yêu cầu code hoàn chỉnh. Sau khi tự triển khai, ChatGPT có thể đóng vai trò người kiểm tra.
Cách sử dụng này biến ChatGPT từ một công cụ tạo đáp án thành một trợ lý học lập trình. Người dùng vẫn phải tự suy luận, viết code và kiểm chứng kết quả.
Khi nào không nên giao toàn bộ việc viết Python cho ChatGPT?
Có những tình huống việc sao chép nguyên một chương trình do AI tạo ra có thể gây rủi ro. Đặc biệt là các hệ thống xử lý dữ liệu quan trọng, ứng dụng có yêu cầu bảo mật cao hoặc chương trình có quyền thực hiện những thao tác ảnh hưởng trực tiếp đến hệ thống.
Trong những trường hợp này, ChatGPT nên được sử dụng để hỗ trợ phân tích, giải thích và đề xuất phương án. Code cuối cùng vẫn cần được kiểm tra trong môi trường phù hợp và đánh giá theo yêu cầu kỹ thuật của dự án.
Ngay cả với những chương trình nhỏ, người dùng cũng nên đọc code trước khi chạy. Việc hiểu chương trình đang làm gì giúp phát hiện những thao tác không nằm trong yêu cầu ban đầu.
Đặc biệt, không nên chạy ngay những đoạn code yêu cầu quyền hệ thống cao, thao tác hàng loạt với file hoặc thực hiện các hành động không thể dễ dàng hoàn tác khi chưa kiểm tra kỹ.
Quy trình dùng ChatGPT viết một chương trình Python hoàn chỉnh
Để sử dụng ChatGPT hiệu quả trong một dự án Python, không nên bắt đầu bằng việc yêu cầu tạo ngay toàn bộ mã nguồn. Một quy trình có kiểm soát sẽ giúp giảm lỗi, dễ kiểm tra và quan trọng hơn là người viết vẫn hiểu được chương trình của mình.
Có thể áp dụng quy trình gồm các bước: xác định bài toán, phân tích yêu cầu, thiết kế cấu trúc, viết từng thành phần, kiểm thử, sửa lỗi và hoàn thiện. ChatGPT có thể tham gia ở hầu hết các bước nhưng quyết định cuối cùng vẫn cần dựa trên yêu cầu thực tế của dự án.
- Xác định mục tiêu: mô tả chương trình cần giải quyết vấn đề gì.
- Xác định đầu vào: dữ liệu đến từ file, người dùng, API hay nguồn khác.
- Xác định đầu ra: chương trình cần trả về, hiển thị hoặc lưu lại điều gì.
- Phân tích các trường hợp đặc biệt: dữ liệu trống, sai định dạng, file không tồn tại hoặc kết nối thất bại.
- Thiết kế cấu trúc: chia chương trình thành các chức năng có nhiệm vụ rõ ràng.
- Viết code: triển khai từng thành phần và kiểm tra sau mỗi phần.
- Kiểm thử: chạy chương trình với nhiều loại dữ liệu khác nhau.
- Cải thiện: xử lý các vấn đề về hiệu suất, khả năng đọc và bảo trì.
Quy trình này đặc biệt hữu ích khi chương trình có nhiều chức năng. Nếu xảy ra lỗi, người dùng có thể xác định lỗi nằm ở bước hoặc thành phần nào thay vì phải kiểm tra một khối code rất lớn.
Yêu cầu phân tích trước khi sinh code
Với bài toán phức tạp, có thể yêu cầu ChatGPT chưa viết code ngay mà chỉ phân tích hướng giải quyết. Đây là bước giúp phát hiện những yêu cầu còn thiếu trước khi chúng được biến thành mã nguồn.
Tôi muốn xây dựng một chương trình Python để quản lý danh sách sản phẩm.
Trước khi viết code:
- hãy phân tích yêu cầu;
- xác định các chức năng chính;
- đề xuất cấu trúc dữ liệu;
- chỉ ra các trường hợp ngoại lệ cần xử lý;
- đề xuất cách chia chương trình thành các hàm;
- chưa cần viết code hoàn chỉnh.
Sau khi xem phương án, người dùng có thể bổ sung hoặc thay đổi yêu cầu. Khi logic đã rõ, mới chuyển sang bước viết code.
Cách yêu cầu ChatGPT viết code theo từng phiên bản
Không phải lúc nào phiên bản đầu tiên cũng là phiên bản cuối cùng. Một cách làm thực tế là tạo chương trình cơ bản trước, sau đó bổ sung từng yêu cầu.
Ví dụ, phiên bản đầu tiên chỉ cần đọc dữ liệu và hiển thị kết quả. Phiên bản tiếp theo bổ sung kiểm tra dữ liệu. Sau đó mới thêm lưu file, tìm kiếm, lọc hoặc các chức năng nâng cao.
Cách phát triển từng bước có ưu điểm là mỗi thay đổi đều có thể được kiểm tra độc lập. Nếu một chức năng mới gây lỗi, phạm vi cần kiểm tra cũng nhỏ hơn.
Khi yêu cầu ChatGPT chỉnh sửa code, nên nói rõ những phần không được thay đổi. Điều này đặc biệt quan trọng với chương trình đã có nhiều chức năng.
Hãy bổ sung chức năng tìm kiếm sản phẩm vào code hiện tại.
Yêu cầu:
- giữ nguyên các chức năng đang có;
- không thay đổi cấu trúc dữ liệu hiện tại;
- tìm kiếm không phân biệt chữ hoa và chữ thường;
- nếu không tìm thấy kết quả thì hiển thị thông báo phù hợp;
- chỉ sửa những phần cần thiết;
- giải thích các đoạn code mới.
Cách xử lý khi ChatGPT viết code nhưng chạy không đúng
Không nên mặc định rằng nếu chương trình không chạy thì phải yêu cầu tạo lại toàn bộ. Việc viết lại từ đầu có thể làm mất những phần đang hoạt động tốt.
Trước tiên, cần xác định chương trình đang sai ở đâu. Hãy cung cấp thông báo lỗi nếu có, dữ liệu đầu vào, kết quả thực tế và kết quả mong muốn.
Nếu chương trình không báo lỗi nhưng cho kết quả sai, cần mô tả một trường hợp cụ thể. Ví dụ, với dữ liệu A chương trình trả về 120 nhưng kết quả đúng phải là 150. Những ví dụ như vậy giúp ChatGPT tập trung vào logic tạo ra sai lệch.
Có thể yêu cầu phân tích nguyên nhân trước khi sửa:
Code này chạy không báo lỗi nhưng kết quả không đúng.
Dữ liệu đầu vào:
[đặt dữ liệu mẫu]
Kết quả hiện tại:
[đặt kết quả thực tế]
Kết quả mong muốn:
[đặt kết quả đúng]
Hãy:
- tìm nguyên nhân khiến kết quả sai;
- chỉ ra vị trí liên quan;
- giải thích logic hiện tại;
- đề xuất cách sửa;
- không thay đổi những phần không liên quan.
Đây là cách tiếp cận tốt hơn việc chỉ yêu cầu “sửa code”, bởi nó buộc quá trình xử lý phải tập trung vào nguyên nhân của vấn đề.
Dùng ChatGPT để viết hàm Python hiệu quả
Hàm là một trong những thành phần quan trọng giúp chương trình Python dễ tổ chức. Khi yêu cầu ChatGPT viết một hàm, nên mô tả rõ đầu vào, đầu ra và những trường hợp hàm cần xử lý.
Ví dụ, nếu cần một hàm tính giá bán sau khi giảm giá, chỉ nói “viết hàm tính giá sau giảm” vẫn còn thiếu thông tin. Cần xác định giá ban đầu, tỷ lệ giảm, giới hạn giá trị và cách xử lý dữ liệu không hợp lệ.
Một yêu cầu cụ thể có thể giúp tạo ra hàm dễ kiểm thử hơn:
Viết một hàm Python nhận vào:
- price: giá gốc;
- discount: phần trăm giảm giá.
Yêu cầu:
- price phải lớn hơn hoặc bằng 0;
- discount nằm trong khoảng từ 0 đến 100;
- trả về giá sau khi giảm;
- nếu dữ liệu không hợp lệ thì báo lỗi rõ ràng;
- tạo thêm một số trường hợp kiểm thử.
Khi đầu vào và quy tắc xử lý được xác định rõ, hàm tạo ra sẽ dễ kiểm tra và tái sử dụng hơn.
Cách yêu cầu ChatGPT tạo tài liệu cho code Python
Một chương trình có thể hoạt động tốt nhưng vẫn khó sử dụng nếu không có hướng dẫn. ChatGPT có thể hỗ trợ viết chú thích, tài liệu mô tả hàm hoặc hướng dẫn cách chạy chương trình.
Tuy nhiên, không nên yêu cầu chú thích mọi dòng code một cách máy móc. Quá nhiều chú thích lặp lại chính xác những gì code đã thể hiện có thể khiến chương trình khó đọc hơn.
Nên tập trung giải thích những phần có ý nghĩa về logic, quy tắc nghiệp vụ, điều kiện đặc biệt hoặc những quyết định kỹ thuật không dễ nhận biết chỉ bằng cách đọc code.
Viết tài liệu cho hàm
Với các hàm được sử dụng nhiều nơi, tài liệu mô tả đầu vào, đầu ra và điều kiện xử lý có thể giúp người khác sử dụng đúng hơn.
Có thể yêu cầu ChatGPT tạo phần mô tả dựa trên code hiện có nhưng cần kiểm tra lại nội dung. Tài liệu chỉ có giá trị khi phản ánh đúng hành vi thực tế của chương trình.
Cách dùng ChatGPT khi làm việc với thư viện Python
Python có rất nhiều thư viện phục vụ những mục đích khác nhau. Khi cần sử dụng một thư viện, ChatGPT có thể giải thích cách cài đặt, cách gọi chức năng và đưa ra ví dụ minh họa.
Tuy nhiên, thư viện có thể thay đổi theo phiên bản. Vì vậy, nếu dự án phụ thuộc vào một phiên bản cụ thể, nên cung cấp phiên bản đang sử dụng và yêu cầu code phù hợp với môi trường đó.
Không nên chỉ hỏi “cách dùng thư viện X” khi dự án có yêu cầu cụ thể. Tốt hơn là mô tả nhiệm vụ cần thực hiện bằng thư viện đó, sau đó yêu cầu giải thích phương án.
Ví dụ, thay vì chỉ yêu cầu hướng dẫn một thư viện xử lý dữ liệu, có thể nói rõ cần lọc các dòng theo điều kiện, nhóm dữ liệu theo một cột và tính tổng một cột khác. Khi đó, câu trả lời sẽ sát với công việc thực tế hơn.
Cách dùng ChatGPT để đọc và hiểu code Python của người khác
Khi tiếp nhận một dự án có sẵn, vấn đề thường không phải là viết code mới mà là hiểu chương trình hiện tại đang hoạt động như thế nào. ChatGPT có thể hỗ trợ phân tích từng file, từng hàm và mối liên hệ giữa các thành phần.
Không nên đưa toàn bộ một dự án lớn vào một yêu cầu duy nhất rồi mong nhận được bản phân tích hoàn chỉnh. Nên bắt đầu từ cấu trúc tổng thể, sau đó đi sâu vào những file hoặc chức năng quan trọng.
Có thể yêu cầu ChatGPT xác định:
- Điểm bắt đầu của chương trình.
- Luồng dữ liệu chính.
- Các hàm hoặc lớp quan trọng.
- Nơi dữ liệu được đọc và ghi.
- Các thành phần giao tiếp với dịch vụ bên ngoài.
- Những vị trí có khả năng phát sinh lỗi.
Sau khi hiểu được luồng chính, việc chỉnh sửa hoặc bổ sung chức năng sẽ dễ kiểm soát hơn nhiều.
Những lỗi thường gặp khi dùng ChatGPT viết Python
Hiệu quả của việc sử dụng AI phụ thuộc không chỉ vào công cụ mà còn vào cách làm việc. Một số sai lầm có thể khiến người dùng mất nhiều thời gian sửa code hơn thời gian tự xây dựng giải pháp.
Yêu cầu quá chung chung
Prompt thiếu thông tin khiến ChatGPT phải tự đưa ra nhiều giả định. Những giả định này có thể không phù hợp với dự án thực tế.
Sao chép code mà không kiểm tra
Code có thể chứa lỗi logic, xử lý thiếu trường hợp đặc biệt hoặc không tương thích với môi trường đang sử dụng. Vì vậy, việc chạy thử và kiểm tra kết quả là bước bắt buộc.
Thay đổi toàn bộ code khi chỉ có một lỗi
Viết lại cả chương trình để sửa một lỗi nhỏ có thể tạo thêm những lỗi mới. Nên xác định phạm vi vấn đề và yêu cầu thay đổi tối thiểu khi có thể.
Không cung cấp thông báo lỗi đầy đủ
Thông báo lỗi thường chứa thông tin quan trọng về vị trí và loại vấn đề. Cắt bỏ phần lớn thông báo rồi chỉ nói rằng chương trình bị lỗi sẽ làm giảm khả năng xác định nguyên nhân.
Không kiểm tra dữ liệu thực tế
Code có thể hoạt động tốt với dữ liệu mẫu đơn giản nhưng thất bại khi gặp dữ liệu thực tế. Vì vậy, dữ liệu kiểm thử nên bao gồm cả những trường hợp bất thường.
Nguyên tắc quan trọng khi dùng ChatGPT hỗ trợ lập trình Python
ChatGPT có thể giúp rút ngắn nhiều công đoạn trong quá trình lập trình, nhưng hiệu quả nhất khi người dùng vẫn giữ quyền kiểm soát đối với yêu cầu, code và kết quả cuối cùng.
Hãy bắt đầu bằng việc xác định chính xác bài toán thay vì vội yêu cầu sinh code. Với chương trình phức tạp, nên chia thành các thành phần nhỏ và kiểm tra từng phần. Khi gặp lỗi, cung cấp thông tin thực tế thay vì yêu cầu viết lại một cách chung chung.
Đồng thời, cần phân biệt giữa việc sử dụng AI để tăng tốc lập trình và việc giao hoàn toàn quyền quyết định cho AI. Code được tạo ra chỉ là một đề xuất triển khai; tính đúng đắn của chương trình vẫn phải được xác nhận bằng kiểm thử và đánh giá trong môi trường thực tế.
Đặc biệt, với những chương trình xử lý dữ liệu quan trọng, kết nối dịch vụ bên ngoài hoặc thực hiện thao tác có thể gây mất dữ liệu, cần kiểm tra kỹ trước khi chạy. Không nên đưa thông tin bí mật vào prompt hoặc mã nguồn chỉ để thuận tiện cho việc tạo code.
Khi sử dụng đúng cách, ChatGPT có thể trở thành một trợ lý lập trình hữu ích: hỗ trợ biến ý tưởng thành thuật toán, biến thuật toán thành code, giải thích những phần khó hiểu, hỗ trợ tìm lỗi và gợi ý cách cải thiện. Người viết vẫn là người xác định yêu cầu, kiểm tra kết quả và chịu trách nhiệm với chương trình được triển khai.
- 0 Bình luận
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *