Nội dung này phục vụ mục đích giáo dục. Không dán mật khẩu, dữ liệu khách hàng, giấy tờ cá nhân hoặc thông tin tài chính nhạy cảm vào chatbot công khai.

Trả lời ngắn: System prompt là bộ hướng dẫn cấp hệ thống giúp một AI giữ vai trò, giới hạn và cách xử lý chung. User prompt là yêu cầu bạn gửi cho nhiệm vụ hiện tại. User prompt không phải chiếc điều khiển có thể gạt bỏ các giới hạn hệ thống; cách làm tốt là viết yêu cầu rõ, đưa đủ dữ kiện và hợp với khung đang có.

Đọc xong, bạn sẽ biết:

  • Hai loại prompt khác nhau ở mục đích nào.
  • Vì sao cùng một câu người dùng có thể nhận output khác.
  • Cách viết user prompt dễ dùng hơn mà không cố “đấu” với hệ thống.

1. Vì sao cùng câu hỏi đôi khi nhận câu trả lời khác?

Bạn có thể gõ “hãy trả lời khách thật ngắn”. Trong một chatbot CSKH, output có thể là lời phản hồi lịch sự, tránh hứa điều chưa xác minh. Trong một công cụ học ngoại ngữ, output có thể là câu mẫu kèm giải thích. Câu user giống nhau, nhưng bối cảnh và hướng dẫn bao quanh khác nhau.

System A: “Bạn là trợ lý CSKH, chỉ xác nhận điều đã biết.” → output là phản hồi cho khách. System B: “Bạn là gia sư tiếng Việt, giải thích từ vựng.” → output là câu mẫu và giải nghĩa. User prompt giữ nguyên ở cả hai.

Đừng vội kết luận AI thất thường. Một hệ thống thường nhận nhiều phần context: hướng dẫn cấp hệ thống, lịch sử chat, dữ kiện, tool result và lời nhắn hiện tại. User prompt là phần bạn thấy và kiểm soát trực tiếp; nó không phải toàn bộ hồ sơ AI đang dùng.

Hình 1 — System tạo khung, user giao nhiệm vụ cụ thể, output cần tôn trọng cả hai.

2. System Prompt và User Prompt là gì?

a. System prompt: khung làm việc chung

System prompt là hướng dẫn ở cấp hệ thống hoặc ứng dụng. Nó có thể nói AI đang hỗ trợ lĩnh vực nào, cần giữ giọng điệu nào, khi nào phải từ chối, cách dùng tool hoặc yêu cầu bảo vệ dữ liệu. Nó giúp cùng một sản phẩm có cách hành xử nhất quán hơn giữa nhiều lượt chat.

Bạn không cần biết hoặc cố lấy nội dung hướng dẫn nội bộ để dùng AI tốt hơn. Điều hữu ích là nhận ra: khi một hệ thống đặt rule an toàn hoặc giới hạn phạm vi, user prompt không nên cố ghi đè rule đó. Nếu việc chính đáng nhưng thiếu thông tin, hãy hỏi quy trình hoặc cung cấp dữ kiện phù hợp.

b. User prompt: việc cụ thể bạn muốn làm

User prompt là yêu cầu hiện tại: “Tóm tắt đoạn phản hồi giả thành ba bullet cho trưởng nhóm”, “giải thích thuật ngữ cho người mới” hoặc “đưa dữ liệu này thành bảng”. Nó nên nêu mục tiêu, dữ kiện, người đọc, format và giới hạn. User prompt càng cụ thể trong phần bạn thực sự biết, AI càng ít phải đoán.

Ví von đơn giản: system prompt giống quy chế của một nơi làm việc; user prompt là phiếu giao việc trong ngày. Phiếu tốt không yêu cầu nhân viên bỏ quy chế. Nó nói việc nào, dựa vào hồ sơ nào và output cần bàn giao ra sao.

3. Hai lớp phối hợp trong một nhiệm vụ

a. Case trợ lý CSKH giả

Giả sử system instruction của trợ lý nói: trả lời lịch sự, không khẳng định nguyên nhân kỹ thuật khi chưa có bằng chứng, và bảo vệ thông tin riêng tư. User prompt đưa phản hồi giả của khách: “Tôi không đăng nhập được từ sáng; cần dùng tài khoản trước chiều.” Một yêu cầu tốt là: “Tạo phản hồi hai câu, xác nhận mức độ gấp, không suy đoán nguyên nhân và hỏi một bước kiểm tra an toàn.”

Hai phần bổ sung nhau. System giữ nguyên tắc chung; user đưa tình huống, độ dài và mục tiêu. Nếu user chỉ viết “trả lời ngay”, output khó bám việc. Nếu user yêu cầu khẳng định “máy chủ đang lỗi”, hệ thống tốt nên không biến phỏng đoán thành sự thật.

Hình 2 — Cùng yêu cầu ngắn cần được hiểu trong vai trò và giới hạn của từng hệ thống.

b. Khi nào sửa user prompt?

Sửa user prompt khi mục tiêu chưa rõ, thiếu dữ kiện, format không nói rõ hoặc người đọc chưa xác định. Ví dụ thay “viết email” bằng “viết email bốn câu cho khách, chỉ xác nhận đã nhận phản hồi và không hứa thời gian sửa”. Đây là cải thiện phạm vi công việc, không phải tìm cách né giới hạn.

Nếu AI từ chối hoặc giới hạn output, đọc lý do. Có thể yêu cầu chạm dữ liệu nhạy cảm, rủi ro hoặc điều hệ thống không hỗ trợ. Hỏi phương án an toàn hơn, dùng dữ liệu giả hoặc chia nhỏ nhiệm vụ là hướng đúng.

Nếu thiếu dữ kiện, bổ sung nguồn. Nếu dữ liệu nhạy cảm, dùng dữ liệu giả hoặc môi trường được phê duyệt. Nếu hành động bị cấm hoặc vượt quyền, dừng; không chia nhỏ để lách giới hạn.

c. Đừng nhầm thứ tự với “ai thắng ai”

Khi nhiều hướng dẫn xuất hiện, điều quan trọng với người dùng không phải là tranh luận xem câu nào “thắng”. Điều quan trọng là hiểu phạm vi của mình: bạn có thể mô tả mục tiêu, lựa chọn dữ kiện, yêu cầu format và sửa điều chưa rõ. Hệ thống vận hành sản phẩm sẽ chịu trách nhiệm cho phần hướng dẫn chung, công cụ được phép dùng và nguyên tắc an toàn.

Ví dụ một trợ lý dạy học có thể được cấu hình để giải thích từng bước và khuyến khích học viên tự kiểm. Nếu bạn muốn câu trả lời ngắn hơn, yêu cầu “giải thích bằng ba bullet, sau đó một câu hỏi tự kiểm” là hợp lý. Nếu bạn yêu cầu nó bỏ mọi nguyên tắc kiểm chứng và khẳng định đáp án dù thiếu đề bài, yêu cầu đó làm nhiệm vụ kém tin cậy hơn chứ không làm context tốt hơn.

Một user prompt trưởng thành không tìm lỗ hổng. Nó giúp hệ thống biết bạn cần kết quả nào trong giới hạn có thể kiểm. Đây cũng là lý do bài trước về Context Engineering quan trọng: prompt chỉ là câu giao việc, còn nguồn và phần chưa biết mới giúp AI trả lời có căn cứ.

4. Ba hiểu lầm cần tránh

a. System prompt không phải lá chắn tuyệt đối

System instruction giúp thiết kế hành vi nhưng không biến một hệ thống thành đúng, bảo mật hoàn hảo hoặc miễn kiểm tra. Dữ kiện vẫn có thể cũ; output vẫn cần review. Đừng đưa bí mật vào công cụ chỉ vì bạn tin nó có system prompt tốt.

b. Không biến user prompt thành cuộc tranh quyền

Câu kiểu “bỏ mọi quy tắc trước đó” không làm nhiệm vụ rõ hơn. Nó chỉ tạo xung đột. Hãy nêu mục tiêu hợp lệ, dữ kiện cần dùng và giới hạn mong muốn; nếu có rule không phù hợp với công việc, dùng đúng sản phẩm hoặc hỏi người quản trị thay vì cố vượt qua.

c. Không lẫn vai trò với nguồn dữ kiện

System prompt có thể đặt vai trò “trợ lý học tập”, nhưng không tự cung cấp tài liệu cho câu hỏi mới. User vẫn phải đưa đoạn nguồn, ngày dữ kiện và phần chưa biết. Role không thay context.

5. Checklist viết User Prompt cho đúng ngữ cảnh

  1. Mục tiêu duy nhất là gì?
  2. Dữ kiện nào là nguồn trực tiếp?
  3. Ai sẽ dùng output và cần format gì?
  4. Điều nào chưa biết hoặc không được suy đoán?
  5. Có dữ liệu riêng tư cần bỏ/che không?

Hình 3 — Kiểm mục tiêu, dữ kiện, format và giới hạn trước khi tăng độ phức tạp của prompt.

a. Một mẫu bắt đầu an toàn

Bạn có thể dùng khung này: “Mục tiêu: [một việc]. Dữ kiện: [đoạn nguồn giả/công khai]. Người đọc: [ai]. Format: [số bullet/bảng/email]. Giới hạn: [không suy đoán, điều chưa biết, dữ liệu cần bỏ]. Nếu thiếu phần làm thay đổi kết quả, hãy hỏi lại trước.” Khung không đảm bảo câu trả lời luôn đúng, nhưng giúp bạn thấy phần nào mình đã cung cấp và phần nào còn trống.

Với một hệ thống đã có vai trò rõ, không cần lặp lại toàn bộ role trong mọi lượt. Hãy đưa phần thay đổi theo nhiệm vụ: case mới, dữ kiện mới, format mới. Nếu sản phẩm đã luôn trả lời bằng tiếng Việt và giữ giọng lịch sự, không cần lặp hai yêu cầu đó ở mọi lượt. Hãy giữ dữ kiện, mục tiêu và format thay đổi theo nhiệm vụ hiện tại.

b. Bài tập 15 phút

Chọn một case không nhạy cảm: biến phản hồi khách giả thành ghi chú cho trưởng nhóm. Viết Prompt A: “Trả lời khách thật ngắn.” Viết Prompt B theo khung năm ô, kèm đoạn khách giả và rule “không nêu nguyên nhân kỹ thuật khi chưa có bằng chứng”. Chạy từng bản trong cùng một công cụ; không thử yêu cầu né quy tắc.

So sánh output: bản nào biết người đọc là ai, dùng đúng chi tiết khách nói, giữ độ dài yêu cầu và nói rõ phần chưa biết? Nếu B vẫn chung, chỉ bổ sung một ô thiếu rồi thử lại. Đừng vừa đổi mục tiêu, vừa thay dữ kiện và vừa đổi format vì bạn sẽ không biết thay đổi nào hữu ích.

Mẫu đối chiếu

Tiêu chí Prompt mơ hồ Prompt có ngữ cảnh
Mục tiêu “Trả lời khách” “Viết phản hồi hai câu”
Dữ kiện Không có nội dung khách Có đoạn phản hồi giả
Giới hạn Không ghi Không suy đoán nguyên nhân
Format Không rõ Lịch sự, một câu hỏi kiểm tra
Tiêu chí Prompt mơ hồ Prompt có ngữ cảnh
Người đọc Không xác định Khách cần phản hồi ngắn
Phần chưa biết Dễ bị suy đoán Hỏi một bước kiểm tra an toàn

6. Tổng kết

  • System prompt đặt khung chung; user prompt giao việc cụ thể.
  • Cùng user prompt có thể khác output khi hệ thống, dữ kiện hoặc vai trò khác.
  • User prompt tốt bổ sung mục tiêu, dữ kiện, format và giới hạn.
  • Không cố ghi đè policy; chọn phương án an toàn hoặc hỏi lại.
  • System prompt không thay nguồn, kiểm chứng hay bảo vệ dữ liệu của bạn.

Câu hỏi tự kiểm tra

  • System prompt và user prompt khác mục đích thế nào?
  • Khi nào nên sửa user prompt?
  • Vì sao role không thay nguồn dữ kiện?

Gợi ý đáp án

Xem gợi ý câu 1

System prompt đặt khung chung; user prompt giao việc và dữ kiện cho lượt hiện tại. → xem mục 2.

Xem gợi ý câu 2

Khi mục tiêu, dữ kiện, người đọc hoặc format của nhiệm vụ chưa rõ. → xem mục 3 và 5.

Xem gợi ý câu 3

Vai trò chỉ nói cách hỗ trợ; nguồn mới xác nhận dữ kiện cho câu trả lời cụ thể. → xem mục 4.

d. Thuật ngữ cần nhớ

Thuật ngữ Giải thích ngắn
System prompt Hướng dẫn chung cấp hệ thống hoặc ứng dụng.
User prompt Yêu cầu người dùng gửi cho nhiệm vụ hiện tại.
Context Thông tin model nhận để trả lời ở lượt đó.
Role Vai trò hoặc phạm vi hỗ trợ được mô tả.
Format Dạng output như bullet, bảng hay email.
Giới hạn Điều không được suy đoán, cần kiểm hoặc cần bỏ.

e. Nguồn tham khảo

Nội dung này phục vụ mục đích giáo dục; hãy kiểm nguồn và dùng quy trình phù hợp trước quyết định quan trọng.