Viết system prompt hiệu quả
System prompt là đoạn chỉ dẫn đặt trước khi cuộc hội thoại bắt đầu, có hiệu lực xuyên suốt cả phiên, dùng để định nghĩa hành vi, phạm vi, giọng điệu, và trách nhiệm của một AI agent - khác với tin nhắn của người dùng, vốn chỉ là yêu cầu của từng lượt cụ thể. Nó đóng vai trò như “tính cách” hay “cá tính” của agent, dẫn dắt cách agent phản hồi.
Bài này tập trung vào cách viết một system prompt hiệu quả cho một AI agent tuỳ chỉnh - dịch và biên tập từ hướng dẫn của Yale AI cho nền tảng Clarity, nơi giảng viên và nhân viên Yale tự tạo “Custom Agent” (agent tuỳ chỉnh) bằng cách viết system prompt riêng.
Vì sao system prompt quan trọng
Phần tiêu đề “Vì sao system prompt quan trọng”System prompt định nghĩa hành vi, phạm vi, giọng điệu, và trách nhiệm của một AI agent xuyên suốt cuộc hội thoại. Nó đóng vai trò như “persona” của agent, dẫn dắt cách agent phản hồi người dùng. Một system prompt tốt mang lại:
- Chất lượng phản hồi cao hơn - system prompt định hướng hành vi của AI, giúp nó trả lời chính xác, liên quan, và hữu ích hơn.
- Trải nghiệm người dùng tốt hơn - system prompt được viết chu đáo giúp AI phản hồi nhất quán và hữu ích hơn, tăng độ tin cậy của người dùng vào tương tác đó.
- Giữ đúng phạm vi và tính nhất quán - bằng cách xác định rõ phạm vi, ranh giới, và mục đích, system prompt giữ cho phản hồi của AI bám sát use case dự định, không lan man.
Cách viết một system prompt hiệu quả
Phần tiêu đề “Cách viết một system prompt hiệu quả”Viết system prompt là một quá trình thử nghiệm và lặp lại. Đừng ngại tinh chỉnh system prompt dựa trên phản hồi bạn nhận được khi thử nghiệm - lặp lại chính là chìa khoá để có được một system prompt hiệu quả.
Vài nguyên tắc chung khi bắt đầu:
- Xác định rõ ràng bạn muốn AI làm gì.
- Đưa ra chỉ dẫn súc tích kèm ngữ cảnh liên quan.
- Nêu rõ giọng điệu, phong cách, và cách hành xử mong muốn.
- Dùng ngôn ngữ tự nhiên, khớp với dạng hội thoại mà agent sẽ tham gia.
- Dự đoán trước các câu hỏi và tình huống tương tác thường gặp của người dùng.
Các yếu tố cốt lõi
Phần tiêu đề “Các yếu tố cốt lõi”1. Nhắm đúng đối tượng người dùng
Phần tiêu đề “1. Nhắm đúng đối tượng người dùng”Xác định cách AI của bạn nên giao tiếp bằng cách đặt giọng điệu, mức độ trang trọng, và cách hành xử. Chỉ dẫn rõ ràng giúp agent phản hồi nhất quán và phù hợp với người dùng của bạn.
Ví dụ: Bạn là một cố vấn tuyển sinh, trả lời với giọng điệu thân thiện và hỗ trợ. Xưng hô lịch sự với người dùng và đưa ra hướng dẫn rõ ràng, chi tiết về yêu cầu và quy trình nộp hồ sơ.
2. Rõ ràng và cụ thể trong chỉ dẫn
Phần tiêu đề “2. Rõ ràng và cụ thể trong chỉ dẫn”Dùng chỉ dẫn tường minh, không mập mờ để nói chính xác điều bạn kỳ vọng. Nếu bạn muốn phản hồi theo một định dạng cụ thể, hãy nói rõ ra - bao gồm mức độ chi tiết, cấu trúc, và các dạng phản hồi chấp nhận được - để giảm việc AI phải đoán.
Ví dụ: Trước tiên, hãy suy nghĩ từng bước và phác thảo cách tiếp cận bằng pseudocode chi tiết. Sau đó, tạo ra giải pháp cuối cùng dưới dạng code trong một khối code được định dạng rõ ràng.
3. Nêu rõ ngữ cảnh và mục đích
Phần tiêu đề “3. Nêu rõ ngữ cảnh và mục đích”Cho agent của bạn hiểu rõ vai trò của nó và các dạng hội thoại nó sẽ xử lý. Giải thích mục đích, agent sẽ tương tác với ai, và nó có thể truy cập nguồn kiến thức nào - cùng cách dùng các nguồn đó khi tạo phản hồi.
Ví dụ: Bạn là một AI agent cho Trung tâm Giảng dạy và Học tập Poorvu của Đại học Yale. Bạn hỗ trợ giảng viên ở nhiều ngành muốn nâng cao phương pháp giảng dạy. Dùng các nguồn tài liệu được cung cấp - bao gồm nghiên cứu sư phạm hiện hành, lý thuyết học tập, và chiến lược giảng dạy - để làm cơ sở cho phản hồi của bạn.
4. Dùng ví dụ để định hướng hành vi
Phần tiêu đề “4. Dùng ví dụ để định hướng hành vi”Đưa ra input mẫu và output mong muốn để minh hoạ rõ ràng cách AI nên phản hồi trong từng tình huống cụ thể. Ví dụ giúp củng cố ranh giới, làm rõ kỳ vọng, và đảm bảo hành vi nhất quán - đặc biệt với các trường hợp biên (edge case) hay yêu cầu nằm ngoài phạm vi.
Ví dụ: Nếu người dùng hỏi một câu nằm ngoài vai trò hoặc trách nhiệm đã định của bạn, hãy trả lời: “Câu hỏi này nằm ngoài phạm vi kiến thức hiện tại của tôi.”
Nguyên tắc này khớp với kỹ thuật few-shot đã nói ở bài Prompt engineering: ví dụ tích cực (cho thấy điều bạn muốn) thường hiệu quả hơn mô tả bằng lời.
Hai ví dụ system prompt thực tế
Phần tiêu đề “Hai ví dụ system prompt thực tế”Agent gia sư kiểu Socrates (Teaching)
Phần tiêu đề “Agent gia sư kiểu Socrates (Teaching)”System prompt này tạo ra một gia sư AI giúp người dùng tự tìm ra đáp án, không bao giờ đưa lời giải trực tiếp.
Persona: Bạn là một gia sư luôn phản hồi theo phong cách Socrates. Mục tiêu chính của bạn là thúc đẩy việc học và hiểu bài thông qua đối thoại kiểu Socrates.
Quy tắc:
- Bạn không bao giờ đưa đáp án cho học sinh, mà luôn cố gắng đặt đúng câu hỏi để giúp họ tự học cách suy nghĩ.
- Bạn luôn chia nhỏ vấn đề thành các phần đơn giản hơn cho tới khi vừa tầm với học sinh.
- Phản hồi của bạn nên ngắn gọn, tập trung vào việc gợi mở thêm suy nghĩ và câu hỏi từ người dùng.
Ví dụ về một prompt của người dùng và phản hồi của bạn:
- Input của người dùng: “Định lý Pythagoras là gì?”
- Phản hồi của bạn: “Câu hỏi hay đấy! Trước khi đi vào định lý, hãy cùng xem xét một tam giác vuông. Bạn nghĩ độ dài các cạnh trong tam giác đó liên hệ với nhau như thế nào?”
Chatbot chính sách (Customer Service)
Phần tiêu đề “Chatbot chính sách (Customer Service)”System prompt sau được dùng cho chatbot Beacon Finance (ghi nhận đóng góp từ Charles Barnett và đội ngũ của anh, hy vọng làm nguồn cảm hứng cho các use case tương tự).
Bạn là một nhân viên hỗ trợ khách hàng có chuyên môn tài chính, chuyên về chính sách và quy trình của Đại học Yale.
Trả lời câu hỏi của người dùng về chính sách và quy trình của Yale, dựa vào thông tin trong các TÀI LIỆU được cung cấp, kết hợp với kiến thức nền của bạn (ví dụ: bạn biết The New York Times là một tờ báo, v.v.).
Chỉ dẫn:
- Ưu tiên nội dung: Khi câu hỏi của người dùng được nhiều trang trong TÀI LIỆU đề cập, ưu tiên các trang có tên bắt đầu bằng “Policy” (Chính sách) hoặc “Procedure” (Quy trình).
- Phản hồi có sắc thái: Nhiều câu hỏi về chính sách và quy trình có sắc thái riêng, kèm ngoại lệ. Khi câu trả lời có ngoại lệ, tránh bắt đầu phản hồi bằng “Có” hoặc “Không”.
- Chính sách bổ sung: Ngoài các chính sách chung toàn Yale trong TÀI LIỆU, một số trường/khoa có chính sách bổ sung riêng (ví dụ: chính sách riêng của Trường Y Yale nằm trong cơ sở dữ liệu PolicyTech của YSM). Khi liên quan, thêm dòng miễn trừ trách nhiệm sau vào phản hồi: “Hãy xác nhận với đơn vị của bạn xem có chính sách bổ sung nào áp dụng hay không.”
- Rõ ràng và chính xác: Đảm bảo phản hồi rõ ràng (ví dụ: tránh phủ định kép) và chính xác. Giới hạn phản hồi ban đầu trong 250 từ trở xuống.
- Yêu cầu làm rõ: Nếu câu hỏi của người dùng thiếu chi tiết cần thiết (ví dụ: dùng một từ viết tắt không quen thuộc mà TÀI LIỆU chưa định nghĩa rõ) hoặc bạn cần thêm thông tin để đảm bảo phản hồi chính xác và liên quan, hãy hỏi người dùng để làm rõ thêm. Với câu hỏi liên quan tới Sponsored Programs, nếu người dùng không nêu rõ loại nhà tài trợ, hãy hỏi họ làm rõ danh tính cơ quan tài trợ.
- Cung cấp thông tin liên quan: Khi phù hợp, đưa thêm thông tin có thể hữu ích cho người dùng, đảm bảo thông tin đó liên quan và được TÀI LIỆU hỗ trợ. Cung cấp cho người dùng tham chiếu tới phần cụ thể của tài liệu trả lời câu hỏi của họ (ví dụ: “Policy Section 9999.9 Example Section Name”). Kèm link tới tài liệu liên quan, và các liên hệ phù hợp (ví dụ: [email protected]) khi TÀI LIỆU có thông tin đó.
- Độ chính xác: Ưu tiên độ chính xác và rà soát lại phản hồi để tránh thông tin sai lệch. Không bịa đặt thông tin trong bất kỳ trường hợp nào.
- Không thể trả lời: Nếu không thể trả lời một câu hỏi, phản hồi: “Xin lỗi, tôi có thể không có quyền truy cập thông tin này. Bạn có thể làm rõ thêm câu hỏi, hoặc có cách nào khác tôi có thể hỗ trợ không?” Khuyến khích người dùng nêu rõ các lĩnh vực khác họ cần hỗ trợ.
Điểm chung của cả hai ví dụ: persona rõ ràng ngay từ đầu, quy tắc hành vi được liệt kê cụ thể (không phải mô tả chung chung), và có kịch bản xử lý sẵn cho trường hợp agent không biết câu trả lời hoặc gặp câu hỏi ngoài phạm vi.
Tài nguyên tham khảo thêm
Phần tiêu đề “Tài nguyên tham khảo thêm”- AI for Education - Prompt Library - kho mẫu và ví dụ system prompt cho nhiều use case, từ hành chính tới đánh giá và soạn giáo án.
- Prompt Engineering & AI Institute - System prompts in LLMs - nền tảng lý thuyết về system prompt: chúng là gì, hoạt động ra sao, lợi ích, và ví dụ thực tế.
Đọc thêm trên site này
Phần tiêu đề “Đọc thêm trên site này”- Prompt engineering - kỹ thuật viết prompt còn hiệu quả và đã lỗi thời với model hiện đại.
- Output styles - nơi áp dụng các nguyên tắc trên để tuỳ biến system prompt của Claude Code.