Prompt engineering thực chiến cho lập trình viên: viết đúng, nhận đúng
chuanweb.com 2 phút đọc
Nhiều lập trình viên than “AI viết code rác” nhưng thực ra vấn đề nằm ở cách đặt câu hỏi. Một prompt tốt quyết định 80% chất lượng kết quả. Dưới đây là những kỹ thuật thực chiến đã kiểm nghiệm trong công việc hàng ngày.
Cấu trúc prompt cố định
Bộ khung 4 phần luôn hiệu quả: vai trò, bối cảnh, việc cần làm, ràng buộc đầu ra.
Ví dụ thay vì hỏi “viết giúp hàm validate email”, hãy viết:
Bạn là senior TypeScript developer.
Bối cảnh: dự án Express + Zod, Node 20, không dùng regex phức tạp.
Việc cần làm: viết hàm kiểm tra email theo chuẩn cơ bản.
Ràng buộc:
- Trả về boolean.
- Dùng duy nhất thư viện có sẵn trong dự án.
- Đính kèm 3 test case biên (rỗng, thiếu @, đúng chuẩn).
Model nhận được ngữ cảnh đầy đủ nên kết quả dùng được ngay, ít vòng sửa.
Few-shot: cho model ví dụ trước
Khi cần định dạng chính xác, đưa 1–2 ví dụ mẫu gọi là few-shot:
Chuyển các yêu cầu sau thành câu lệnh git.
Ví dụ:
Yêu cầu: gộp 3 commit cuối thành một.
Kết quả: git rebase -i HEAD~3
Yêu cầu: bỏ file .env ra khỏi phiên bản.
Kết quả: git rm --cached .env
Yêu cầu: hủy thay đổi đã stage nhưng giữ file.
Kết quả:
Model bắt chước ví dụ nên đáp án đúng khuôn dạng ngay từ đầu.
Ràng buộc định dạng để dùng được ngay
Nếu output phải chạy được, hãy yêu cầu định dạng cụ thể:
- “Chỉ xuất ra code, không giải thích.”
- “Trả về JSON với hai trường solution và explanation.”
- “Giới hạn trong 50 dòng.”
- “Không dùng thư viện ngoài standard library.”
Loại ràng buộc này giúp bạn nối trực tiếp kết quả AI vào pipeline mà không phải dọn dẹp thủ công.
Tiết kiệm token, tăng tốc vòng lặp
- Luôn cắt bớt context không liên quan trước khi hỏi — prompt dài làm chậm phản hồi và loãng trọng tâm.
- Chia việc lớn thành nhiều lần hỏi nhỏ thay vì một prompt khổng lồ.
- Model nội bộ chạy local (Ollama) không tốn phí API, cho phép lặp thử nhiều lần vô tư.
Kết luận
- Khung vai trò + bối cảnh + việc cần làm + ràng buộc luôn thắng câu hỏi mơ hồ.
- Few-shot và ràng buộc định dạng biến AI thành công cụ có thể tự động hóa.
- Prompt không phải một lần viết xong — hãy lưu lại những prompt đã chạy tốt thành thư viện riêng.