Multi-turn Strategy: Quản lý hội thoại dài
Chiến lược thiết kế hội thoại AI kéo dài nhiều lượt. Từ Sliding Window đến kiến trúc 3 tầng của Claude Code, tối ưu context window và duy trì state xuyên suốt.
Định nghĩa
Multi-turn Strategy là kỹ thuật thiết kế và quản lý luồng hội thoại kéo dài nhiều lượt tương tác với AI, bao gồm việc lưu trữ lịch sử trò chuyện, nén thông tin khi đạt giới hạn context window, và duy trì trạng thái (state) xuyên suốt phiên làm việc.
Giải thích chi tiết
Vấn đề cốt lõi: AI không có bộ nhớ thật
Điều quan trọng cần nhấn mạnh: AI không "nhớ" cuộc trò chuyện giống như con người. Mỗi lượt (turn), bạn gửi toàn bộ lịch sử chat kèm tin nhắn mới vào context window. Khi hội thoại dài ra, ba vấn đề xuất hiện:
- Token limit: Bạn chạm giới hạn ngữ cảnh (thường 128k-200k tokens), buộc phải cắt bớt dữ liệu
- Lost in the middle: Thông tin ở giữa cuộc trò chuyện bị AI bỏ qua do attention mechanism
- Chi phí: API tính tiền theo input tokens, lịch sử dài đồng nghĩa chi phí tăng theo cấp số nhân
Sliding Window: Giải pháp đơn giản
Cách tiếp cận cơ bản nhất: chỉ giữ lại N lượt gần nhất (ví dụ 10 tin nhắn cuối). Ưu điểm là đơn giản, nhược điểm là mất hoàn toàn thông tin cũ. Phù hợp cho chatbot FAQ đơn giản, không phù hợp cho tác vụ phức tạp như viết code kéo dài.
Tầng trung gian: Summarization & Checkpoints
Khi sliding window không đủ, ta thêm lớp tóm tắt. Sau mỗi 5-10 lượt, AI tự tóm tắt nội dung thành "checkpoint" và thay thế chi tiết bằng bản tóm tắt. Đây là kỹ thuật Context Pruning & Summarization được áp dụng vào hội thoại.
Kiến trúc 3 tầng của Claude Code (Anthropic)
Claude Code triển khai một trong những multi-turn strategy tinh vi nhất hiện nay, chia memory thành ba tầng rõ rệt:
- Immediate Context: 10-20 lượt gần nhất, giữ nguyên chi tiết để duy trì ngữ cảnh tức thì
- Working Memory: Bản tóm tắt các quyết định quan trọng, file đang mở, và ý định người dùng được cập nhật sau mỗi hành động
- Persistent Store: Các sở thích người dùng, cấu trúc codebase, quy tắc nghiệp vụ được lưu vào file
.claude/và load lại mỗi session
Cách tiếp cận này khắc phục "Lost in the middle" bằng cách ưu tiên thông tin gần nhất, đồng thời không đánh mất bối cảnh tổng thể nhờ tầng lưu trữ bền vững.
State Management trong Multi-turn
Khác với lịch sử chat (history), state là trạng thái hiện tại của tác vụ: file nào đang sửa, biến nào đang dùng, lỗi nào đang fix. Trong multi-turn strategy, state cần được:
- Serialize: Lưu thành JSON/YAML sau mỗi lượt
- Hydrate: Khôi phục khi session mới bắt đầu
- Validate: Kiểm tra tính hợp lệ (ví dụ: file đã bị xóa ngoài vòng kiểm soát)
Ví dụ thực tế
Claude Code — Trợ lý lập trình đa lượt
Khi bạn dùng Claude Code sửa một codebase lớn qua 50 lượt trao đổi:
- Tầng 1 giữ 15 lượt cuối (bạn vừa sửa file nào, lỗi gì vừa xuất hiện)
- Tầng 2 lưu "Đang refactor module authentication, đã sửa 3/5 file, cần test lại sau khi xong"
- Tầng 3 đọc từ
.claude/preferences.mdbiết bạn thích dùng TypeScript strict mode và Jest cho testing
Kết quả: Dù context window đầy, Claude vẫn biết bối cảnh tổng thể dự án nhờ tầng 2 và 3, đồng thời xử lý chính xác chi tiết kỹ thuật hiện tại nhờ tầng 1.
Chatbot hỗ trợ khách hàng với Sliding Window + Summarization
Một công ty triển khai bot hỗ trợ đơn hàng:
- Dùng sliding window 6 lượt cho phần hội thoại tự nhiên
- Khi khách hàng nhắc lại "đơn hàng sáng nay", bot trigger summarization: tóm tắt 6 lượt trước thành "Khách hàng hỏi về đơn hàng số 12345, đã cung cấp địa chỉ mới, đang chờ xác nhận đổi địa chỉ"
- Bản tóm tắt này được đưa vào system message của lượt tiếp theo, giải phóng chỗ cho tin nhắn mới
Trợ lý phân tích dữ liệu qua nhiều file
Data analyst dùng AI phân tích 10 file CSV qua 30 lượt hỏi đáp:
- State lưu trữ: "Đã load file sales_2024.csv, đã tạo biến
df_sales, đã tính mean bằng 1500" - Mỗi lượt chuyển file, state cập nhật để AI biết context là "file customers.csv" chứ không phải file cũ
- Khi context đầy, chỉ giữ lại state và 3 lượt gần nhất, bỏ các lượt phân tích chi tiết đã hoàn thành
Ứng dụng
Developer xây dựng chatbot
- Áp dụng sliding window cho FAQ đơn giản, hybrid approach (Claude Code style) cho bot xử lý tác vụ phức tạp
- Triển khai conversation checkpointing để người dùng có thể "save game" và quay lại sau 3 ngày mà không mất ngữ cảnh
Product Manager thiết kế trải nghiệm AI
- Quyết định độ dài lịch sử lưu trữ dựa trên persona người dùng: người dùng power user cần 20 lượt, người dùng casual chỉ cần 3 lượt
- Thiết kế UI cho phép người dùng "pin" thông tin quan trọng (đưa vào tầng persistent memory)
Kỹ sư AI tại doanh nghiệp
- Xây dựng state management cho hệ thống RAG kéo dài: lưu trữ các câu hỏi đã thử, tài liệu đã tra, tránh lặp lại retrieval vô nghĩa
- Tối ưu chi phí API bằng cách nén lịch sử thành summary thay vì gửi full chat history
So sánh
| Chiến lược | Độ sâu memory | Chi phí token | Độ phức tạp triển khai | Giữ được ngữ cảnh xa |
|---|---|---|---|---|
| Sliding Window | N lượt gần nhất | Thấp (ổn định) | Đơn giản | Không |
| Full History | Toàn bộ | Cao (tăng dần) | Đơn giản | Có (đến khi đầy) |
| Summarization | Tóm tắt vĩnh viễn + chi tiết gần | Trung bình | Trung bình | Một phần (mất chi tiết) |
| Hybrid 3-Tầng (Claude Code) | Phân tầng: gần đầy đủ, xa tóm tắt | Tối ưu | Phức tạp | Cao |
Kết luận: Sliding Window phù hợp cho prototype và chatbot đơn giản. Khi cần xây dựng AI assistant chuyên nghiệp (coding, analysis, complex support), Hybrid 3-Tầng là chuẩn mực hiện đại, cân bằng giữa chi phí và khả năng duy trì context dài hạn.
Bài viết liên quan
Cùng cụm:
- Conversation Memory: Cách AI nhớ cuộc hội thoại — Hiểu cơ chế cơ bản AI "nhớ" thông tin
- Short-term vs Long-term Memory trong AI — Phân biệt hai loại memory và cách triển khai
- Thiết kế kiến trúc Memory: Index, topic files, session transcripts — Xây dựng hệ thống lưu trữ bền vững cho AI
- Context Pruning & Summarization: Cắt tỉa thông minh — Kỹ thuật nén thông tin khi context đầy
Đọc tiếp:
- Context Management — Quản lý ngữ cảnh tổng thể, nền tảng cho multi-turn strategy (Level 1)
- State & Session Management — Kỹ thuật quản lý trạng thái nâng cao cho AI agent kéo dài (Level 2)
- Harness Fundamentals — Kiến trúc tổng thể để kiểm soát AI agent trong hệ thống production (Level 2)
Thiết kế kiến trúc Memory: Index, topic files, session transcripts
Vì sao AI có thể nhớ sở thích của bạn sau 3 tháng? Bí mật nằm ở thiết kế 3 tầng: Index, Topic Files và Session Transcripts. Không phải ma thuật, đây là kỹ th...
Context Pruning & Summarization: Cắt tỉa thông minh
Khi AI bị quá tải thông tin, Context Pruning và Summarization giúp giữ lại điều quan trọng. Khám phá cách cắt tỉa ngữ cảnh thông minh để tối ưu hiệu suất.