5 Kỹ Thuật Prompting Nâng Cao Cho Lập Trình Viên: Chain-of-Thought, Few-Shot và System Directives | DevPrompt Lab

Cách viết prompt chuyên nghiệp để loại bỏ hallucination, ép buộc tuân thủ chuẩn kiến trúc và sinh code dùng được ngay cho production.

5 Kỹ Thuật Prompting Nâng Cao Cho Lập Trình Viên: Chain-of-Thought, Few-Shot và System Directives

Nhiều lập trình viên thất vọng khi sử dụng AI vì câu trả lời chung chung, thiếu chặt chẽ hoặc sinh ra mã nguồn có lỗi tiềm ẩn. Nguyên nhân thường không nằm ở mô hình AI, mà do cách thức truyền đạt ngữ cảnh và chỉ dẫn (Prompt Engineering).

Dưới đây là 5 kỹ thuật thực chiến đã được chứng minh hiệu quả trong các đội ngũ kỹ sư tại Thung lũng Silicon.

---

1. Kỹ Thuật Phân Rã Suy Nghĩ (Chain-of-Thought - CoT)

Khi bạn yêu cầu: *"Viết hàm chuyển đổi dữ liệu X sang Y"*, AI sẽ nhảy ngay vào việc sinh code theo phản xạ xác suất từ ngữ (next-token prediction). Điều này d�

dẫn đến thiếu sót edge cases.

Thay vào đó, hãy ép AI suy nghĩ qua 3 bước:

Trước khi viết bất kỳ dòng mã nào, hãy thực hiện lần lượt:
1. Liệt kê toàn bộ các trường hợp biên (Edge Cases): null, mảng rỗng, dữ liệu cực lớn, lỗi mạng.
2. Trình bày thuật toán bằng mã giả (Pseudocode) và phân tích độ phức tạp thời gian Big-O.
3. Sau khi xác nhận giải pháp tối ưu, mới tiến hành viết mã nguồn chính thức bằng TypeScript.

---

2. Kỹ Thuật Cung Cấp Mẫu (Few-Shot Prompting)

Mô hình AI học phong cách viết mã tốt nhất khi được xem ví dụ thực tế trong codebase của bạn:

Hãy viết module quản lý Sản Phẩm (ProductService) tuân thủ CHÍNH XÁC theo cấu trúc của UserService mẫu dưới đây:

[MẪU CHUẨN]

export class UserService {

constructor(private readonly repo: UserRepository) {}

async findById(id: string): Promise<Result<User, UserNotFoundError>> {

// Luôn trả về Result type, không throw Exception

}

}


Yêu cầu cho ProductService:
- Cũng trả về Result type.
- Cùng phong cách Dependency Injection và đặt tên hàm.

---

3. Ép Kiểu Ranh Giới (Negative Constraints & Hard Guardrails)

AI có xu hướng "thích làm hài lòng người dùng" nên thường tự ý thêm các tính năng thừa thãi hoặc cài thêm thư viện lạ. Hãy đặt ra các rào cản phủ định nghiêm ngặt:

QUY TẮC BẤT BIẾN:
- TUYỆT ĐỐI KHÔNG cài thêm bất kỳ thư viện npm mới nào. Chỉ dùng thư viện đã có trong package.json.
- TUYỆT ĐỐI KHÔNG sử dụng kiểu 'any'. Nếu không thể xác định kiểu, dùng 'unknown' và viết type guard.
- TUYỆT ĐỐI KHÔNG viết comment kiểu hiển nhiên (như // gán giá trị a cho b). Chỉ comment lý do nghiệp vụ tại sao lại làm vậy.

---

4. Kỹ Thuật Nhập Vai Kèm Tiêu Chuẩn Thẩm Định (Persona & Strict Rubric)

Thay vì nói *"Hãy review code này"*, hãy thiết lập vai trò cụ thể:

Bạn là Trưởng nhóm Bảo mật Ứng dụng (AppSec Lead). Hãy rà soát đoạn mã dưới đây theo bảng tiêu chí OWASP Top 10. Với mỗi vấn đề tìm thấy, đánh giá mức độ nghiêm trọng (CRITICAL, HIGH, MEDIUM), dẫn chứng dòng code bị lỗi và cung cấp bản vá an toàn.

---

5. Cấu Trúc Biến Thay Thế Tự Động (Variable Template System)

Chuẩn hóa các prompt thường dùng bằng hệ thống biến cú pháp `{{VARIABLE}}` (như `{{LANGUAGE}}`, `{{FRAMEWORK}}`, `{{CODE_SNIPPET}}`) để d�

dàng tích hợp vào VS Code Extension hoặc CLI của nhóm phát triển.