Hai người dùng Claude Code với cùng một task — một người mất 10 vòng để ra kết quả, người kia xong trong 2 lần. Sự khác biệt nằm ở cách viết prompt.
Nguyên tắc cơ bản: Cụ thể hơn bao giờ hết
Xấu: "Fix lỗi trong code của tôi"
Tốt: "File src/auth/login.ts đang throw TypeError ở dòng 47 khi password rỗng. Fix lỗi này và thêm validation."
Luôn bao gồm tên file, mô tả lỗi cụ thể, và kết quả mong muốn.
Framework TASTE
Task: Nói rõ bạn muốn làm gì. Action: Chỉ định hành động cụ thể. Scope: Giới hạn phạm vi. Tech: Chỉ định framework nếu cần. Example: Cung cấp ví dụ kết quả mong muốn.
Ví dụ: "Viết unit test cho file services/payment.ts dùng Jest và mock Stripe API, tương tự các test đã có trong services/user.test.ts"
Kỹ thuật Explain then Do
Thay vì yêu cầu Claude làm ngay, bắt đầu bằng: "Giải thích plan của bạn trước khi code". Điều này giúp bạn kiểm tra Claude hiểu đúng yêu cầu chưa, tránh làm sai rồi mới phát hiện.
Multi-step prompting
Chia task phức tạp thành nhiều bước nhỏ. Bước 1: đọc và phân tích. Bước 2: thiết kế solution. Bước 3: implement. Mỗi bước Claude hoàn thành một việc rõ ràng, dễ verify.
Prompt với constraints
"Refactor function này để dễ đọc hơn. Yêu cầu: giữ nguyên interface public, không đổi tên function, không thêm dependency mới."
Constraints giúp Claude không làm quá tay — refactor rồi đổi luôn API signature mà bạn không muốn.
Tái sử dụng context
Sau khi Claude làm một việc, reference lại: "Dùng cùng pattern như function vừa viết, tạo thêm cho module products". Claude sẽ maintain consistency tự động.