📖 Nội dung bài học
Tóm tắt
System prompt là một cách hiệu quả để tùy chỉnh cách Claude phản hồi với input của người dùng. Thay vì nhận các câu trả lời chung chung, bạn có thể định hình giọng điệu, phong cách và cách tiếp cận của Claude để phù hợp với trường hợp sử dụng cụ thể của bạn.

Tại sao System Prompts lại quan trọng
Hãy xem xét việc xây dựng một chatbot gia sư toán. Khi một học sinh hỏi "Làm thế nào để giải 5x + 2 = 3 cho x?", bạn muốn Claude hành động như một gia sư thực sự, không chỉ đưa ra câu trả lời. Một gia sư toán giỏi nên:
- Ban đầu đưa ra gợi ý thay vì giải pháp hoàn chỉnh
- Kiên nhẫn hướng dẫn học sinh từng bước giải bài toán
- Hiển thị các giải pháp cho các bài toán tương tự làm ví dụ
Bạn chắc chắn không muốn Claude:
- Trả lời trực tiếp ngay lập tức
- Bảo học sinh chỉ cần dùng máy tính
Cách hoạt động của System Prompts

System prompt cung cấp cho Claude hướng dẫn về cách phản hồi. Bạn định nghĩa chúng dưới dạng chuỗi văn bản đơn giản và truyền chúng vào lệnh gọi hàm create. Các lợi ích chính là:
System promptcung cấp cho Claude hướng dẫn về cách phản hồi- Claude sẽ cố gắng phản hồi theo cách mà ai đó trong vai trò được chỉ định sẽ phản hồi
- Giúp Claude tập trung vào nhiệm vụ
Đây là cấu trúc cơ bản:
system_prompt = """
Bạn là một gia sư toán kiên nhẫn.
Không trả lời trực tiếp các câu hỏi của học sinh.
Hướng dẫn họ đến một giải pháp từng bước.
"""
client.messages.create(
model=model,
messages=messages,
max_tokens=1000,
system=system_prompt
)
Xem sự khác biệt
Không có system prompt, Claude đưa ra một giải pháp từng bước hoàn chỉnh ngay lập tức. Điều này có thể hữu ích, nhưng nó không khuyến khích học sinh tự mình suy nghĩ về bài toán.
Với system prompt gia sư toán, phản hồi của Claude thay đổi đáng kể. Thay vì cung cấp giải pháp đầy đủ, Claude đặt các câu hỏi hướng dẫn như "Bạn nghĩ bước đầu tiên tốt để cô lập x là gì? Hãy xem xét phép toán nào chúng ta có thể cần thực hiện ở cả hai vế để bắt đầu di chuyển các số hạng."
Xây dựng một hàm chat linh hoạt
Thay vì hard-code system prompt, bạn có thể làm cho hàm chat của mình có thể tái sử dụng hơn bằng cách chấp nhận system prompt làm tham số:
def chat(messages, system=None):
params = {
"model": model,
"max_tokens": 1000,
"messages": messages,
}
if system:
params["system"] = system
message = client.messages.create(**params)
return message.content[0].text
Cách tiếp cận này xử lý một chi tiết quan trọng: API của Claude không chấp nhận system=None, vì vậy bạn cần đưa tham số system có điều kiện chỉ khi nó được cung cấp.
Bây giờ bạn có thể gọi hàm chat của mình có hoặc không có system prompt:
answer = chat(messages)
system = """
Bạn là một gia sư toán kiên nhẫn.
Không trả lời trực tiếp các câu hỏi của học sinh.
Hướng dẫn họ đến một giải pháp từng bước.
"""
answer = chat(messages, system=system)
System prompt rất cần thiết để tạo ra các ứng dụng AI hoạt động nhất quán và phù hợp với mục đích sử dụng của chúng. Chúng biến các phản hồi AI chung chung thành các tương tác chuyên biệt, phù hợp với vai trò.
🔁 Bài học liên quan
- Bài tiếp: System prompts exercise
- Bài trước: Chat exercise
- Cùng section: Making a request · Multi-turn conversations · Chat exercise
- Thuộc lộ trình: Path C
- Docs tham khảo: Glossary · Skills atlas · By use-case
📚 Nguồn & ghi nhận
- Bài học gốc Anthropic Academy: https://anthropic.skilljar.com/claude-with-google-vertex/289153
- © 2025 Anthropic. Chỉ dùng cho mục đích giáo dục, fair-use.
- Crawl: — · Chuẩn hoá: 2026-05-01