System prompt là gì?
System prompt là đoạn chỉ dẫn nền gửi cho mô hình AI ở đầu phiên, quy định vai trò, tone, quy tắc và giới hạn hành vi cho toàn bộ cuộc hội thoại.
Nếu coi AI là một nhân viên mới, system prompt chính là bản mô tả công việc bạn đưa cho họ trước ngày đầu đi làm. Nó không phải là việc cụ thể cần làm hôm nay. Nó là bộ quy tắc chi phối cách nhân viên đó xử lý mọi việc sau này.
Anthropic gọi kỹ thuật này là role prompting và triển khai qua tham số system trong Messages API. Trong tài liệu chính thức, họ nói rõ: gán vai trò cụ thể giúp Claude bám sát yêu cầu của tác vụ và điều chỉnh phong cách giao tiếp theo đúng ngữ cảnh bạn cần.
Điểm quan trọng ít người để ý: system prompt chỉ tốn token một lần cho toàn phiên. Bạn không phải lặp lại "trả lời bằng tiếng Việt, đừng bịa số" ở mỗi lượt chat nữa.
System prompt khác user prompt ở điểm nào?
System prompt do người xây dựng ứng dụng đặt một lần ở đầu phiên và thường ẩn, còn user prompt là yêu cầu cụ thể bạn gõ ở mỗi lượt chat.
| Khía cạnh |
System prompt |
User prompt |
| Ai đặt |
Developer, người cấu hình bot, người tạo Project |
Người dùng cuối |
| Thời điểm |
Một lần, ở đầu phiên |
Mỗi lượt chat |
| Mục đích |
Định khung vai trò, quy tắc, format |
Đưa yêu cầu cụ thể |
| Hiển thị |
Thường ẩn với người dùng |
Hiện rõ trong ô chat |
| Ví dụ |
"Bạn là trợ lý SEO, luôn trả lời tiếng Việt, không bịa số liệu" |
"Viết cho tôi 5 tiêu đề về khóa học AI" |
Trong thực tế, 80% những lần bạn thấy AI "trả lời lan man" hoặc "không đúng ý" không phải lỗi của câu hỏi. Đó là lỗi của phần nền chưa được thiết lập.
Một system prompt hiệu quả gồm những thành phần nào?
Một system prompt tốt thường có đủ năm khối: Role, Goal, Constraints, Format và SOP. Thiếu khối nào, AI sẽ tự suy diễn phần đó theo cách của nó.
| Khối |
Trả lời câu hỏi |
Ví dụ |
| Role |
AI là ai, kinh nghiệm gì? |
"Bạn là biên tập viên SEO 10 năm kinh nghiệm mảng giáo dục" |
| Goal |
Nhiệm vụ chính là gì? |
"Audit bài viết và chấm điểm theo checklist nội bộ" |
| Constraints |
Được và không được làm gì? |
"Không bịa số liệu. Không đưa lời khuyên pháp lý" |
| Format |
Trình bày ra sao? |
"Tiếng Việt, tối đa 300 từ, dùng bảng khi so sánh" |
| SOP |
Xử lý theo quy trình nào? |
"Bước 1 đọc bài, bước 2 chấm điểm, bước 3 đề xuất sửa" |
Khối hay bị bỏ quên nhất là fallback: AI phải làm gì khi thiếu dữ liệu? Không có rule này, mô hình sẽ điền vào chỗ trống bằng thứ nghe hợp lý. Đó chính là lúc bạn nhận về một con số đẹp đẽ nhưng không tồn tại ở đâu cả.
Cách viết system prompt hiệu quả theo 7 bước
Cách viết system prompt hiệu quả gồm bảy bước: chốt vai trò, đặt mục tiêu, liệt kê ràng buộc, quy định format, viết SOP, test thực tế và tinh chỉnh theo lỗi.
- Xác định vai trò và đối tượng. Viết 1-2 câu. "Trợ lý phân tích tuyển sinh cho trung tâm đào tạo" rõ hơn nhiều so với "trợ lý thông minh".
- Định nghĩa mục tiêu đo được. Dùng động từ mạnh: phân tích, so sánh, kiểm tra, chấm điểm. Tránh "hỗ trợ người dùng".
- Liệt kê ràng buộc theo hai cột. Một danh sách "Luôn", một danh sách "Không bao giờ". Đừng trộn chung vào đoạn văn.
- Quy định format bằng con số. "Tối đa 250 từ" thay vì "ngắn gọn". Mơ hồ vào thì mơ hồ ra.
- Viết SOP cho 1-2 nhiệm vụ chính. Đánh số từng bước, mỗi bước một ý.
- Test với 5-10 tình huống. Gồm cả case bình thường, case lạ và case AI phải từ chối.
- Tinh chỉnh bằng cách sửa, không phải cộng thêm. Mỗi lỗi lặp lại thì thêm một rule cấm cụ thể, đồng thời cắt những rule chưa bao giờ có tác dụng.
Bước 7 là bước đa số người bỏ qua. Họ viết system prompt một lần rồi để yên nửa năm, sau đó than AI trả lời không đúng ý. System prompt giống dashboard quảng cáo: không ai set-up xong rồi đi ngủ luôn.
Template system prompt dùng được ngay
# ROLE
Bạn là [vai trò cụ thể], với [kinh nghiệm/chuyên môn].
Bạn đang hỗ trợ [đối tượng người dùng] trong bối cảnh [mô tả ngắn].
# GOAL
Nhiệm vụ chính: [mục tiêu rõ ràng, đo lường được].
Thứ tự ưu tiên khi xung đột: (1)..., (2)..., (3)...
# CONSTRAINTS
Luôn:
- [Hành vi bắt buộc 1]
- [Hành vi bắt buộc 2]
- [Hành vi bắt buộc 3]
Không bao giờ:
- [Hành vi cấm 1]
- [Hành vi cấm 2]
Nếu thiếu thông tin hoặc không chắc chắn:
- Hỏi tối đa [N] câu để làm rõ
- Nếu vẫn thiếu, nói rõ giới hạn và đề xuất nguồn kiểm chứng
# FORMAT
- Ngôn ngữ: [tiếng Việt/Anh]
- Độ dài: [tối đa X từ]
- Cấu trúc: [bullet cho 3+ ý, bảng khi so sánh]
- Tone: [3 tính từ cụ thể]
# SOP
1. [Bước 1]
2. [Bước 2]
3. [Bước 3]
Ví dụ system prompt cho trợ lý content marketing
# ROLE
Bạn là biên tập viên content marketing 8 năm kinh nghiệm mảng
giáo dục và đào tạo doanh nghiệp tại Việt Nam.
Bạn hỗ trợ đội marketing in-house của một trung tâm đào tạo.
# GOAL
Nhiệm vụ chính: biên tập bài viết thô thành bản đăng được,
đúng giọng thương hiệu và đúng search intent.
Ưu tiên: (1) chính xác dữ kiện, (2) đúng giọng, (3) ngắn gọn.
# CONSTRAINTS
Luôn:
- Trả lời bằng tiếng Việt, xưng "bạn" với người đọc
- Giữ nguyên số liệu trong bản thô, không tự làm tròn
- Đánh dấu [CẦN KIỂM CHỨNG] cho mọi dữ kiện chưa có nguồn
Không bao giờ:
- Bịa số liệu, tên người, giá khóa học
- Dùng cụm sáo rỗng: "trong bối cảnh", "toàn diện", "đột phá"
Nếu thiếu thông tin:
- Hỏi tối đa 2 câu
- Nếu vẫn thiếu, để placeholder và ghi rõ cần bổ sung gì
# FORMAT
- Độ dài phản hồi: tối đa 400 từ trừ khi được yêu cầu viết bài
- Cấu trúc: nêu lỗi trước, đề xuất sửa sau
- Tone: thẳng thắn, cụ thể, không nịnh
# SOP (biên tập bài)
1. Đọc toàn bài, ghi lại search intent bạn suy ra được
2. Liệt kê lỗi theo nhóm: intent, cấu trúc, dữ kiện, giọng văn
3. Đề xuất bản sửa cho từng đoạn có vấn đề
4. Kết luận: đăng được / cần sửa / viết lại
Cách viết system prompt Claude cho một Project
Trong Claude, system prompt của bạn nằm ở ô project instructions. Claude nạp nó tự động cho mọi cuộc chat mới bên trong Project đó.
Claude Projects là workspace riêng cho từng loại công việc. Theo tài liệu hỗ trợ của Anthropic, mỗi Project có knowledge base riêng để bạn upload tài liệu, cùng phần project instructions để tùy chỉnh cách Claude phản hồi. Lưu ý: tính năng project instructions chỉ có trên các gói trả phí (Pro, Max, Team, Enterprise).
Các bước thực hiện:
- Mở claude.ai, vào Projects ở sidebar rồi tạo Project mới.
- Đặt tên theo mục đích công việc, ví dụ "SEO Content" hoặc "Audit bài viết".
- Click Set project instructions, dán system prompt của bạn vào, lưu lại.
- Upload tài liệu tham chiếu (style guide, brand voice, số liệu nội bộ) vào Project knowledge.
- Chạy thử 5 task thật, ghi lại lỗi rồi quay lại sửa instructions.
Ba nguyên tắc riêng cho system prompt Claude
Một là dùng XML tag. Tài liệu prompt engineering của Anthropic khuyến nghị dùng các thẻ như , , để tách rõ từng phần. Claude parse chính xác hơn khi prompt có nhiều thành phần trộn lẫn.
Hai là đẩy tài liệu dài lên đầu. Với input nhiều dữ liệu, Anthropic khuyên đặt tài liệu dài ở phía trên, câu hỏi và hướng dẫn ở phía dưới. Trong bối cảnh Project, việc này tương đương với: tài liệu tham chiếu vào Project knowledge, quy tắc vận hành vào instructions.
Ba là tách bạch từng Project. Một Project nên phục vụ một mục đích. Trộn code review, viết content và research vào cùng một chỗ thì instructions sẽ phình ra và các rule bắt đầu đá nhau.
Cần phân biệt project instructions với profile instructions (thiết lập ở Settings, áp cho toàn bộ tài khoản). Profile instructions chứa preference cá nhân về tone và cách làm việc. Project instructions chứa quy tắc chuyên biệt cho một mảng công việc. Hai lớp này xếp chồng lên nhau, nên bạn không cần chép lại preference cá nhân vào từng Project.
System prompt khác few-shot prompt như thế nào?
System prompt dạy AI bằng lời, còn few-shot prompt dạy bằng ví dụ mẫu. Một cái định khung hành vi, một cái khóa format và style cụ thể.
| Khía cạnh |
System prompt |
Few-shot prompt |
| Nội dung |
Vai trò, mục tiêu, ràng buộc, format |
2-5 cặp input - output mẫu |
| Cách AI học |
Theo chỉ dẫn bằng lời |
Bắt chước pattern trong ví dụ |
| Token |
Tốn một lần cho cả phiên |
Tốn lại mỗi lần lặp ví dụ |
| Mạnh nhất ở |
Tone, an toàn, quy tắc chung |
Format JSON, style viết, phân loại nhãn |
| Điểm yếu |
Khó mô tả pattern phức tạp bằng lời |
Ví dụ lệch thì output lệch theo |
Quy trình thực dụng: bắt đầu bằng system prompt thuần. Chỉ khi output bị lệch format hoặc lệch giọng thì mới thêm 2-3 ví dụ. Thêm ví dụ ngay từ đầu là cách nhanh nhất để đốt token mà không biết mình đang sửa vấn đề gì.
Một lưu ý về thứ tự: đặt ví dụ giống nhất với task thực tế ngay sát câu hỏi. Và giữ format của tất cả ví dụ đồng nhất, vì mô hình học cả cấu trúc lẫn nội dung.
Những lỗi nào khiến system prompt mất tác dụng?
Lỗi phổ biến nhất là viết mơ hồ, thiếu fallback khi thiếu dữ liệu và nhồi quá nhiều rule khiến prompt loãng, AI ưu tiên sai thứ tự.
| Lỗi |
Hậu quả |
Cách sửa |
| Prompt quá ngắn, dưới 50 từ |
AI tự suy diễn vai trò |
Bổ sung Role, Goal và tối thiểu 3 ràng buộc |
| Ngôn ngữ mơ hồ: "ngắn gọn", "chất lượng" |
Output không nhất quán giữa các lượt |
Thay bằng số: "tối đa 200 từ", "3 bullet" |
| Không có fallback |
AI điền chỗ trống bằng thông tin bịa |
Thêm rule: không chắc thì nói rõ và đề xuất nguồn |
| Nhồi 30 rule phụ |
Rule quan trọng bị chìm, prompt loãng |
Giữ 5-8 rule chính, cắt rule không dùng sau 1 tuần |
| Không test edge case |
Vỡ trận khi gặp input lạ |
Test 3 dạng: bình thường, input lạ, phải từ chối |
Thêm một lỗi ít ai nói: viết rule theo kiểu mô tả điều nên làm mà quên liệt kê điều cấm. Trong thực tế, danh sách "Không bao giờ" thường hiệu quả hơn danh sách "Luôn", vì nó chặn đúng những hành vi bạn đã thấy AI mắc phải.
Câu hỏi thường gặp về system prompt
System prompt nên dài bao nhiêu từ?
Không có con số cứng từ Anthropic. Trong thực tế triển khai, khoảng 200-500 từ là vùng cân bằng tốt: đủ chi tiết để AI hiểu ngữ cảnh nhưng chưa loãng. Nếu prompt vượt quá mức đó vì chứa tài liệu tham chiếu, hãy chuyển phần tài liệu sang Project knowledge.
Người dùng thường có thấy được system prompt không?
Thường là không. System prompt được gửi ở lớp nền và ẩn với người dùng cuối. Riêng với claude.ai và ứng dụng di động, Anthropic công bố công khai system prompt cốt lõi trong phần release notes của tài liệu chính thức.
Viết system prompt bằng tiếng Việt hay tiếng Anh tốt hơn?
Cả hai đều dùng được với các mô hình hiện nay. Điều quan trọng hơn ngôn ngữ là độ rõ ràng của chỉ dẫn. Nếu output cần là tiếng Việt, hãy ghi rõ yêu cầu đó trong khối Format thay vì mặc định AI tự hiểu.
Project instructions khác gì instructions cấp tài khoản?
Project instructions chỉ áp dụng trong một Project cụ thể và cần gói trả phí. Profile instructions đặt trong Settings và áp cho mọi cuộc chat của tài khoản. Hai lớp này xếp chồng nhau, nên bạn chỉ cần viết preference cá nhân một lần ở lớp profile.
Có cần viết lại system prompt khi đổi model không?
Không bắt buộc, nhưng nên test lại. Mỗi thế hệ model xử lý chỉ dẫn hơi khác nhau, đặc biệt ở phần format và độ dài phản hồi. Chạy lại bộ 5-10 test case cũ là cách nhanh nhất để phát hiện chỗ cần chỉnh.
System prompt có ngăn được AI bịa số liệu hoàn toàn không?
Không. System prompt giảm đáng kể rủi ro nếu có rule fallback rõ ràng, nhưng không phải là cơ chế bảo đảm. Với số liệu, giá, thông tin pháp lý hoặc y tế, bạn vẫn phải kiểm chứng thủ công trước khi dùng.
Nên bắt đầu từ system prompt hay few-shot?
Bắt đầu từ system prompt. Chạy thử vài task thực tế, nếu output đúng nội dung nhưng sai format hoặc sai giọng thì mới bổ sung 2-3 ví dụ few-shot để khóa pattern.
Bắt đầu từ đâu nếu bạn viết system prompt lần đầu
Đừng cố viết một system prompt hoàn hảo ngay lần đầu. Lấy template ở trên, điền vào 5 khối, chạy 5 task thật của công việc bạn đang làm hôm nay. Ghi lại đúng 3 lỗi AI mắc nhiều nhất rồi biến chúng thành 3 rule cấm.
Vòng lặp đó lặp lại vài lần là bạn có một system prompt thật sự dùng được, thay vì một bản copy đẹp mắt trên mạng nhưng không khớp với quy trình của mình.
Nếu bạn muốn đi sâu hơn phần cá nhân hóa Claude bằng Project và Skill, xây trợ lý riêng cho Content, Marketing hoặc Sales, khóa Claude AI Mastery của Vinalink Academy dành 6 buổi thực chiến cho đúng nhóm việc này, từ cách ra lệnh chuẩn, dựng Agent tự động đến Vibe Coding tạo landing page bằng mô tả tiếng Việt. Toàn bộ bài tập làm trực tiếp trên công việc thật của học viên.