6 nguyên tắc prompt Claude chuẩn từ Anthropic: rõ ràng, nêu lý do, ví dụ, XML tag
Tóm tắt
Prompt tốt không cần câu thần chú: rõ ràng và nêu phạm vi, giải thích lý do, đưa 3–5 ví dụ đa dạng, tách thành phần bằng XML tag, đặt vai trò, và nói điều cần làm thay vì điều cấm. Qua được phép thử đồng nghiệp là đạt.
Prompt kém hiếm khi do thiếu "câu thần chú". Phần lớn là vì người viết quên rằng model không biết những gì nằm trong đầu họ: bối cảnh, lý do, định dạng mong muốn, mức độ "làm tới đâu". Tài liệu Prompting best practices của Anthropic có một hình ảnh dễ nhớ: hãy coi Claude như một nhân viên mới rất giỏi nhưng chưa biết quy ước và quy trình của bạn. Bài này tóm tắt các nguyên tắc nền áp dụng cho mọi model Claude hiện tại, kèm ví dụ trước/sau.
Phép thử đồng nghiệp
Đưa prompt cho một đồng nghiệp ít biết về task và nhờ họ làm theo. Nếu họ bối rối, Claude cũng sẽ bối rối. Phép thử này rẻ và bắt được 80% lỗi prompt.
6 nguyên tắc nền
| Nguyên tắc | Thay vì | Hãy viết |
|---|---|---|
| Rõ ràng, trực tiếp | "Tạo dashboard analytics" | "Tạo dashboard analytics, càng nhiều tương tác hữu ích càng tốt, vượt mức cơ bản" |
| Nêu lý do | "KHÔNG dùng dấu ba chấm" | "Câu trả lời sẽ được đọc bằng text-to-speech, nên đừng dùng dấu ba chấm vì engine không đọc được" |
| Dùng ví dụ | Mô tả giọng văn bằng tính từ | 3–5 ví dụ thật, đa dạng, bọc trong <example> |
| Cấu trúc bằng XML tag | Trộn hướng dẫn, dữ liệu, ví dụ | <instructions>, <context>, <input> tách bạch |
| Giao vai trò | Không có system prompt | Một câu vai trò trong system prompt |
| Nói điều cần làm | "Đừng dùng markdown" | "Viết thành các đoạn văn liền mạch" |
1. Rõ ràng và nói rõ phạm vi
Model mới có xu hướng làm đúng những gì được yêu cầu, không tự làm thêm. Muốn bản đầy đủ thì phải nói. Khi thứ tự hoặc độ đầy đủ quan trọng, viết các bước dạng danh sách đánh số. Nêu rõ định dạng đầu ra và ràng buộc (độ dài, ngôn ngữ, đối tượng đọc).
2. Giải thích "vì sao"
Khi biết lý do, Claude tổng quát hoá được sang những tình huống bạn chưa nghĩ tới. Ví dụ text-to-speech ở trên: Claude không chỉ bỏ dấu ba chấm mà còn tránh các ký hiệu khác khó đọc thành tiếng. Một quy tắc viết hoa toàn bộ, không có lý do, kém hiệu quả hơn một câu giải thích bình thường.
3. Ví dụ là cách lái output đáng tin nhất
- Sát thực tế: lấy từ dữ liệu thật của bạn.
- Đa dạng: phủ các case biên, đủ khác nhau để Claude không bắt chước một chi tiết vô tình (ví dụ cả 3 mẫu đều mở đầu bằng cùng một câu).
- Có cấu trúc: bọc trong
<example>/<examples>để tách khỏi hướng dẫn.
Mẹo: nhờ chính Claude đánh giá bộ ví dụ có đủ đa dạng không, hoặc sinh thêm từ vài mẫu ban đầu.
4. XML tag cho prompt nhiều thành phần
<context>
Công ty bán phần mềm POS cho quán cà phê, khách hàng là chủ quán.
</context>
<instructions>
1. Đọc email khách trong thẻ <email>.
2. Soạn câu trả lời ngắn, thân thiện, tối đa 120 từ.
3. Nếu là lỗi thanh toán, đề nghị gọi hotline.
</instructions>
<email>{{EMAIL}}</email>
Dùng tên tag nhất quán giữa các prompt; lồng tag khi có thứ bậc tự nhiên (nhiều <document> trong <documents>).
5. Điều khiển định dạng
- Nói nên làm gì thay vì cấm: "viết thành đoạn văn liền mạch" hiệu quả hơn "đừng dùng markdown".
- Prompt giống output: phong cách prompt ảnh hưởng phong cách trả lời. Bỏ markdown khỏi prompt giúp giảm markdown trong output.
- Muốn tóm tắt sau khi dùng tool thì yêu cầu rõ, vì model mới ít tự tổng kết hơn và đi thẳng vào bước tiếp theo.
Lưu ý khi chuyển sang model mới
- Prompt viết cho model đời cũ thường có nhiều chữ "CRITICAL", "MUST". Model mới phản hồi system prompt nhạy hơn, nên kiểu nhấn mạnh quá đà (nhất là chỉ dẫn "phải dùng tool/skill X") có thể khiến nó dùng tool quá mức. Tài liệu khuyên làm mềm câu chữ: thay "CRITICAL: You MUST…" bằng một câu bình thường.
- Mỗi model có khác biệt riêng (ví dụ độ dài câu trả lời mặc định). Tài liệu khuyên kiểm tra lại bằng eval của chính bạn thay vì giả định kỹ thuật nào cũng chuyển nguyên sang được.
- Câu "think step by step" giờ chỉ là chữ thường; độ sâu suy nghĩ được điều khiển bằng tham số effort.
Áp dụng thế nào?
- Dev: Chuẩn hoá template prompt có
<context>,<instructions>,<examples>,<input>. Thay mọi câu "KHÔNG được…" bằng mô tả điều cần làm kèm lý do. - Tech Lead: Lưu prompt trong repo, review như code, kèm bộ eval nhỏ để so trước/sau mỗi lần sửa.
- PM: Phần "context" và "vì sao" chính là kiến thức nghiệp vụ của bạn. Viết chúng ra là đóng góp lớn nhất của PM vào chất lượng tính năng AI.
Nguồn & tham khảo
- Prompting best practices — Claude Docs