📖 Nội dung bài học
Tóm tắt
Khi làm việc với Anthropic API và Claude, có một khái niệm quan trọng bạn cần hiểu: Claude không lưu trữ bất kỳ lịch sử hội thoại nào của bạn. Mỗi yêu cầu bạn thực hiện hoàn toàn độc lập, không có bộ nhớ về các trao đổi trước đó.

Điều này có nghĩa là nếu bạn muốn có một cuộc hội thoại đa lượt mà Claude nhớ ngữ cảnh từ các tin nhắn trước đó, bạn cần tự quản lý trạng thái hội thoại.
Vấn đề với các cuộc hội thoại không trạng thái
Giả sử bạn hỏi Claude "Điện toán lượng tử là gì?" và nhận được phản hồi tốt. Sau đó, bạn tiếp tục với "Viết thêm một câu nữa" - Claude không biết bạn đang đề cập đến điều gì. Nó sẽ viết một câu về một thứ hoàn toàn ngẫu nhiên vì nó không có bộ nhớ về cuộc thảo luận về điện toán lượng tử.

Hội thoại đa lượt hoạt động như thế nào
Để duy trì ngữ cảnh hội thoại, bạn cần thực hiện hai việc:
- Tự quản lý một danh sách tất cả các tin nhắn trong mã của bạn
- Gửi toàn bộ lịch sử tin nhắn với mỗi yêu cầu

Đây là luồng thực sự hoạt động:
- Gửi tin nhắn người dùng ban đầu của bạn tới Claude
- Lấy phản hồi của Claude và thêm nó vào danh sách tin nhắn của bạn dưới dạng tin nhắn trợ lý
- Thêm câu hỏi tiếp theo của bạn dưới dạng một tin nhắn người dùng khác
- Gửi toàn bộ lịch sử hội thoại tới Claude

Xây dựng các hàm trợ giúp
Để quản lý hội thoại dễ dàng hơn, bạn có thể tạo ba hàm trợ giúp:
def add_user_message(messages, text):
user_message = {"role": "user", "content": text}
messages.append(user_message)
def add_assistant_message(messages, text):
assistant_message = {"role": "assistant", "content": text}
messages.append(assistant_message)
def chat(messages):
message = client.messages.create(
model=model,
max_tokens=1000,
messages=messages,
)
return message.content[0].text
Kết hợp mọi thứ
Đây là cách bạn sử dụng các hàm này để duy trì một cuộc hội thoại:
messages = []
add_user_message(messages, "Định nghĩa điện toán lượng tử trong một câu")
answer = chat(messages)
add_assistant_message(messages, answer)
add_user_message(messages, "Viết thêm một câu nữa")
final_answer = chat(messages)
Bây giờ Claude sẽ hiểu rằng "Viết thêm một câu nữa" đề cập đến việc mở rộng định nghĩa điện toán lượng tử, vì bạn đã cung cấp ngữ cảnh hội thoại đầy đủ.
Các hàm trợ giúp này sẽ hữu ích trong suốt quá trình bạn làm việc với Claude, giúp việc xây dựng các ứng dụng có thể duy trì các cuộc hội thoại có ý nghĩa qua nhiều lần trao đổi trở nên dễ dàng hơn nhiều.
🔁 Bài học liên quan
- Bài tiếp: Chat exercise
- Bài trước: Making a request
- Cùng section: Making a request · Chat exercise · System prompts
- 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/287735
- © 2025 Anthropic. Chỉ dùng cho mục đích giáo dục, fair-use.
- Crawl: 2026-04-23 · Chuẩn hoá: 2026-05-01