📖 Nội dung bài học
#### Tóm tắt
System prompt là một cách mạnh mẽ để tùy chỉnh cách Claude phản hồi đầu vào của người dùng. Thay vì nhận 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 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 phương trình 5x + 2 = 3 để tìm x?", bạn muốn Claude hành động như một gia sư thực thụ, chứ 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 quyết vấn đề
- Đưa ra các ví dụ về cách giải các bài toán tương tự
Bạn chắc chắn không muốn Claude:
- Đưa ra câu trả lời trực tiếp ngay lập tức
- Nói với học sinh chỉ cần sử dụng máy tính
## System Prompts Hoạt động Như thế nào

System prompts cung cấp hướng dẫn cho Claude về cách phản hồi. Bạn định nghĩa chúng dưới dạng chuỗi văn bản thuần túy và truyền chúng vào lời gọi hàm `create`. Lợi ích chính là:
- System prompts cung cấp hướng dẫn cho Claude về cách phản hồi
- Claude sẽ cố gắng phản hồi theo cách mà một người trong vai trò được chỉ định sẽ phản hồi
- Giúp Claude đi đúng hướng
Đâ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âu hỏi của học sinh. Hướng dẫn họ từng bước để tìm ra giải pháp. """
client.messages.create( model=model, messages=messages, max_tokens=1000, system=system_prompt )
## Nhìn thấy sự khác biệt
Nếu không có system prompt, Claude sẽ đưa ra 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ự suy nghĩ về vấ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 toàn bộ giải pháp, Claude đặt các câu hỏi hướng dẫn như "Bạn nghĩ bước đầu tiên để 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 trên cả hai vế để bắt đầu di chuyển các số hạng."
## Xây dựng hàm Chat Linh hoạt
Thay vì mã hóa cứng system prompts, 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 prompts 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 bao gồm tham số `system` một cách 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âu hỏi của học sinh. Hướng dẫn họ từng bước để tìm ra giải pháp. """ answer = chat(messages, system=system)
System prompts 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 dự định 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-the-anthropic-api/287733
- © 2025 Anthropic. Chỉ dùng cho mục đích giáo dục, fair-use.
- Crawl: — · Chuẩn hoá: 2026-05-01