Prompt ChatGPT cho lập trình viên: 10 mẫu dùng ngay khi code

Prompt ChatGPT cho lập trình viên: cách hỏi AI để code nhanh và đúng hơn

Nếu bạn đang viết code mà chưa biết hỏi AI thế nào, bài này dành cho bạn. Prompt là câu lệnh bạn gõ cho AI, giống như một bản yêu cầu công việc. Cùng một lỗi, nếu bạn chỉ dán một dòng “sửa giúp tôi”, AI có thể trả lời chung chung. Nếu bạn kèm ngôn ngữ, đoạn code, thông báo lỗi và mục tiêu, kết quả thường sát hơn nhiều.

turned on laptop computer
Photo by AltumCode on Unsplash

Bài này gồm các mẫu prompt bạn có thể sao chép. Các mẫu dùng được với ChatGPT, Claude hoặc Gemini. Biến viết trong ngoặc vuông, ví dụ [ngôn ngữ], bạn thay bằng thông tin của mình.

Nguyên tắc viết prompt cho lập trình

Trước khi đi vào mẫu, bạn cần nhớ ba điều sau:

  • Cho đủ bối cảnh: ngôn ngữ, phiên bản, framework và mục tiêu của đoạn code.
  • Cho đúng dữ liệu: dán nguyên thông báo lỗi và đoạn code liên quan, không chỉ mô tả bằng lời.
  • Yêu cầu định dạng: ví dụ “chỉ trả về code đã sửa, kèm giải thích ngắn cho từng thay đổi”.

Lưu ý quan trọng: không dán mật khẩu, khoá API, chuỗi kết nối cơ sở dữ liệu, thông tin khách hàng hay mã nguồn chưa công bố vào AI. Khi cần, hãy thay bằng giá trị giả, ví dụ [API_KEY_GIẢ].

Mẫu 1: Giải thích một đoạn code

Bạn là lập trình viên có kinh nghiệm. Hãy giải thích đoạn code {ngôn ngữ} dưới đây cho một lập trình viên mới vào nghề.

Yêu cầu:
- Tóm tắt mục đích của đoạn code trong 2 câu.
- Giải thích từng bước theo thứ tự thực thi.
- Nêu rõ các biến, hàm và điều kiện quan trọng.
- Chỉ ra chỗ nào có thể gây lỗi.

Đoạn code:
[dán đoạn code]

Cách điền: thay {ngôn ngữ} bằng Python, JavaScript, Java… và dán đoạn code vào cuối. Nên gửi đoạn dưới 100 dòng để AI không bỏ sót chi tiết. Nếu code dùng thư viện riêng, thêm tên thư viện vào.

Cách kiểm tra: tự chạy thử đoạn code với một vài đầu vào. Nếu giải thích nói một hàm trả về giá trị X mà khi chạy ra Y, hãy hỏi lại AI và yêu cầu nó chỉ rõ dòng nào.

Mẫu 2: Sửa lỗi từ thông báo lỗi

Tôi đang viết code bằng [ngôn ngữ] với [framework hoặc thư viện, phiên bản nếu có]. Khi chạy, tôi gặp lỗi sau:

[dán nguyên văn thông báo lỗi]

Đoạn code liên quan:
[dán đoạn code, khoảng 20-40 dòng quanh chỗ lỗi]

Hãy:
1. Giải thích nguyên nhân gây lỗi bằng tiếng Việt, ngắn gọn.
2. Đưa ra đoạn code đã sửa.
3. Nêu một cách kiểm tra để xác nhận đã sửa đúng.

Cách điền: dán đúng thông báo lỗi, đừng tóm tắt lại. Ghi rõ phiên bản ngôn ngữ hoặc thư viện, vì nhiều lỗi chỉ xuất hiện ở một phiên bản nhất định. Nếu lỗi xảy ra khi người dùng làm một thao tác cụ thể, mô tả thao tác đó.

Cách kiểm tra: chạy lại chương trình với đúng tình huống gây lỗi. Đọc phần giải thích xem nó có khớp với thông báo lỗi không. Nếu AI sửa một chỗ mà làm hỏng chỗ khác, gửi lại đoạn code mới và yêu cầu: “Giữ nguyên hành vi các hàm khác, chỉ sửa phần liên quan đến lỗi này.”

Mẫu 3: Viết hàm theo yêu cầu có ràng buộc

Viết một hàm bằng [ngôn ngữ] có tên [tên hàm] để làm việc sau:

Mục đích: [mô tả ngắn việc hàm cần làm]
Đầu vào: [kiểu dữ liệu và ví dụ, ví dụ: danh sách chuỗi, mỗi phần tử là một email]
Đầu ra: [kiểu dữ liệu và ví dụ kết quả mong muốn]
Ràng buộc:
- Không dùng thư viện ngoài, chỉ dùng thư viện chuẩn.
- Xử lý trường hợp đầu vào rỗng hoặc sai kiểu.
- Viết kèm 3 ví dụ sử dụng và kết quả tương ứng.

Viết code sạch, đặt tên biến rõ nghĩa, thêm chú thích cho những đoạn không hiển nhiên.

Cách điền: ví dụ với [tên hàm] là loc_email_hop_le, mục đích là lọc các email có định dạng đúng. Càng mô tả rõ đầu vào và đầu ra, code càng ít phải sửa.

Cách kiểm tra: chạy ba ví dụ AI đưa ra. Thử thêm vài trường hợp biên như chuỗi rỗng, giá trị None hoặc null, số thay vì chuỗi. Với logic quan trọng, đừng tin hoàn toàn vào kết quả, hãy kiểm thử thêm.

Mẫu 4: Viết unit test cho một hàm

Đây là hàm {ngôn ngữ} tôi muốn kiểm thử:

[dán hàm]

Hãy viết unit test bằng [framework test, ví dụ pytest, Jest, JUnit] với các nhóm trường hợp:
- Trường hợp bình thường (ít nhất 2 ví dụ)
- Trường hợp biên (giá trị rỗng, rất lớn, rất nhỏ, ranh giới)
- Trường hợp lỗi (đầu vào sai kiểu hoặc không hợp lệ)

Đặt tên test theo mô tả hành vi, ví dụ "trả về rỗng khi đầu vào là chuỗi rỗng".

Cách điền: dán đúng hàm cần test. Nếu hàm gọi cơ sở dữ liệu hoặc API bên ngoài, thêm dòng “Hãy dùng mock cho [tên phụ thuộc]” để test không cần kết nối thật.

Cách kiểm tra: chạy test. Cố ý sửa hàm cho sai một chút xem test có báo lỗi không. Nếu test luôn pass dù hàm sai, test đó chưa có giá trị.

Mẫu 5: Review code trước khi gộp

Hãy review đoạn code {ngôn ngữ} dưới đây như một người review khắt khe nhưng công bằng. Tập trung vào:
- Lỗi logic và trường hợp chưa xử lý
- Rủi ro bảo mật (ví dụ: nối chuỗi vào câu truy vấn, thiếu kiểm tra đầu vào)
- Hiệu năng nếu có vòng lặp lồng nhau hoặc truy vấn trong vòng lặp
- Khả năng đọc và đặt tên

Với mỗi vấn đề, ghi: dòng nào, mức độ (nghiêm trọng/trung bình/nhẹ), và gợi ý sửa. Không khen chung chung.

Code:
[dán code, không dán thông tin nhạy cảm]

Cách điền: chỉ dán phần thay đổi, kèm mô tả ngắn mục đích của thay đổi đó. Nếu dự án có quy tắc riêng, ví dụ “dự án dùng kiểu chữ snake_case”, hãy ghi thêm.

Cách kiểm tra: AI có thể bỏ sót lỗi hoặc báo nhầm. Đối chiếu từng nhận xét với code thật. Trước khi gộp, vẫn cần một người trong nhóm review. Không nên coi AI là người duyệt cuối cùng.

Mẫu 6: Viết tài liệu hàm hoặc README

Viết tài liệu cho hàm {ngôn ngữ} dưới đây theo định dạng [docstring/JSDoc/Javadoc].

Gồm:
- Mô tả ngắn chức năng
- Tham số: tên, kiểu, ý nghĩa
- Giá trị trả về
- Ngoại lệ có thể xảy ra
- Một ví dụ sử dụng

Hàm:
[dán hàm]

Cách điền: chọn định dạng tài liệu theo quy ước của dự án. Nếu muốn viết README cho cả dự án, dán cấu trúc thư mục và file chính, sau đó yêu cầu AI viết phần “Cài đặt” và “Cách chạy”.

turned on MacBook Air on desk
Photo by Goran Ivos on Unsplash

Cách kiểm tra: đọc lại tài liệu và so với hành vi thực tế của hàm. Tài liệu AI viết hay mô tả tham số không tồn tại, nên kiểm tra kỹ.

Mẫu 7: Chuyển code sang ngôn ngữ khác

Chuyển đoạn code {ngôn ngữ nguồn} sau sang {ngôn ngữ đích}, giữ nguyên logic và kết quả đầu ra.

Yêu cầu:
- Dùng cách viết phổ biến trong {ngôn ngữ đích}.
- Nếu có chỗ không tương đương trực tiếp, ghi chú và giải thích cách xử lý.
- Không thêm tính năng mới.

Code:
[dán code]

Cách điền: điền ngôn ngữ nguồn và đích. Nếu code phụ thuộc thư viện riêng, nêu tên thư viện tương đương trong ngôn ngữ đích mà bạn đã biết, hoặc hỏi AI gợi ý.

Cách kiểm tra: chạy cả hai bản với cùng đầu vào và so sánh kết quả. Các chi tiết như làm tròn số, múi giờ, xử lý chuỗi Unicode thường lệch nhau giữa hai ngôn ngữ.

Mẫu 8: Giải thích khái niệm cho người mới

Giải thích khái niệm [tên khái niệm, ví dụ: đệ quy, bất đồng bộ, khoá ngoại] cho người mới học lập trình bằng [ngôn ngữ].

Yêu cầu:
- Dùng một ví dụ đời thường trước, rồi mới đến ví dụ code.
- Dưới 300 từ.
- Cuối bài, đưa 2 câu hỏi để tôi tự kiểm tra hiểu biết.

Cách điền: thay tên khái niệm bằng thứ bạn đang học. Nếu bạn đã biết một phần, thêm “Tôi đã hiểu biến và hàm, hãy bắt đầu từ đó”.

Cách kiểm tra: đối chiếu với tài liệu chính thức của ngôn ngữ hoặc sách giáo khoa bạn đang học. AI có thể đơn giản hoá quá mức hoặc sai chi tiết kỹ thuật.

Mẫu 9: Tối ưu một đoạn code chậm

Đoạn code {ngôn ngữ} sau chạy chậm khi xử lý khoảng [số lượng, ví dụ 100.000 bản ghi]. Hãy:
1. Chỉ ra điểm nghẽn có khả năng nhất và lý do.
2. Đề xuất cách cải thiện, ưu tiên thay đổi nhỏ và dễ kiểm chứng.
3. Giữ nguyên kết quả đầu ra.
4. Nói rõ nếu cần đo thời gian chạy để xác nhận.

Code:
[dán code]

Cách điền: ghi số lượng dữ liệu thực tế và thời gian chạy hiện tại, ví dụ “mất khoảng 30 giây”. Thông tin này giúp AI đánh giá đúng mức độ cần tối ưu.

Cách kiểm tra: đo thời gian chạy trước và sau khi sửa. Không tin các con số “nhanh gấp 10 lần” nếu bạn chưa tự đo.

Mẫu 10: Viết commit message và mô tả thay đổi

Dưới đây là danh sách thay đổi trong một lần commit:

[dán diff hoặc mô tả ngắn các thay đổi]

Viết commit message theo chuẩn Conventional Commits, tiếng Việt, dòng tiêu đề dưới 72 ký tự. Thêm phần mô tả ngắn giải thích "vì sao" thay đổi, không chỉ "đã thay đổi gì".

Cách điền: dán diff rút gọn, bỏ các file không liên quan. Nếu nhóm bạn dùng tiếng Anh, đổi yêu cầu ngôn ngữ.

Cách kiểm tra: đọc lại xem tiêu đề có nói đúng thay đổi chính không. Commit message là thông tin lưu lâu dài, nên sửa lại cho chính xác trước khi đẩy lên.

Cách dùng prompt hiệu quả hơn

Mẫu prompt chỉ là điểm bắt đầu. Sau lần trả lời đầu tiên, bạn có thể tiếp tục bằng các câu như: “Viết lại ngắn hơn”, “Giải thích lại cho người không biết [ngôn ngữ]”, hoặc “Giữ nguyên tên biến, chỉ sửa phần xử lý lỗi”. Khi AI trả lời lạc hướng, đừng ngại bắt đầu lại với prompt đầy đủ hơn.

Nếu bạn cần thêm nhiều mẫu cho từng tình huống, có thể tham khảo kho prompt miễn phí. Kho hiện có hơn 2.700 prompt mẫu bằng tiếng Việt và tiếng Anh, có ô tìm kiếm, ô điền biến để thay thông tin, nút sao chép một chạm và nút mở ChatGPT hoặc Claude.

Nếu bạn làm việc với công việc viết nội dung hoặc quy trình dài hạn bằng AI, hãy xem các bài thuộc chuyên mục liên quan trên website.

Câu hỏi thường gặp

Prompt cho lập trình viên nên dài đến mức nào?

Đủ để AI hiểu ngôn ngữ, mục tiêu và dữ liệu đầu vào, thường khoảng vài đến vài chục dòng. Quá ngắn thì câu trả lời chung chung, quá dài thì dễ lạc ý.

Có nên dán toàn bộ dự án vào ChatGPT không?

Không nên. Chỉ dán đoạn code liên quan, và xoá thông tin nhạy cảm như khoá API, mật khẩu hay chuỗi kết nối trước khi gửi.

AI viết code có đáng tin không?

Code AI viết cần được chạy thử và đọc lại trước khi dùng. Với hệ thống quan trọng, hãy có người có kinh nghiệm kiểm tra.

Có cần trả phí để dùng các mẫu này không?

Các mẫu trong bài dùng được với bản miễn phí của nhiều công cụ AI, tuy nhiên giới hạn sử dụng có thể khác nhau tuỳ dịch vụ. Hãy xem trang chính thức của công cụ bạn dùng để biết chi tiết.

Rate this post
Ứng dụng AI - X Lần Hiệu SuấtỨng dụng AI và tự động hóa giúp cá nhân, hộ kinh doanh và doanh nghiệp tăng X lần hiệu suất. Giải pháp tìm…
Nhận tư vấn miễn phí →

Ứng dụng AI - X Lần Hiệu Suất

Ứng dụng AI và tự động hóa giúp cá nhân, hộ kinh doanh và doanh nghiệp tăng X lần hiệu suất. Giải pháp tìm đối tác nhập khẩu…

Nhận tư vấn miễn phí →