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.
Context Pruning và Summarization là hai kỹ thuật bổ sung để quản lý giới hạn của Context Window: Pruning loại bỏ thông tin kém quan trọng, trong khi Summarization nén nhiều lượt hội thoại thành bản tóm tắt ngắn gọn, giúp AI luôn "nhớ" đúng thứ cần nhớ mà không bị ngộp trong dữ liệu thô.
Giải thích chi tiết
Vấn đề: Context Window không phải bộ nhớ vô hạn
Context Window giống như RAM của máy tính — có giới hạn cứng và dễ bị đầy. Khi bạn chat với AI trong 50 lượt, hàng nghìn token từ tin nhắn cũ vẫn nằm trong window, đẩy ra ngoài những thông tin quan trọng ở đầu cuộc hội thoại.
Cách giải pháp "ngây thơ" là Sliding Window: chỉ giữ 10-20 tin nhắn cuối. Nhưng nến người dùng hỏi "Còn ý tưởng thứ ba hồi nãy thì sao?", AI đã quên mất vì nó bị xóa khỏi window. Đây là lúc cần Pruning thông minh thay vì xóa mù quáng.
Context Pruning: Chiến lược loại bỏ thông minh
Pruning không đơn thuần là xóa tin cũ. Đó là quá trình chọn lọc giữ lại signal, loại bỏ noise:
- Loại bỏ tin nhắn hệ thống dư thừa: Nếu bạn inject cùng một system prompt mỗi lượt, chỉ giữ bản mới nhất.
- Lọc tool calls thất bại: Khi AI gọi API bị lỗi rồi retry thành công, xóa bỏ lượt thất bại để tiết kiệm token.
- Xóa CoT reasoning nội bộ: Với model như Claude 3.5 Sonnet, nếu bạn dùng
extended thinkingchỉ để ra quyết định, có thể prune phần thinking chi tiết sau khi đã có kết luận, chỉ giữ lại output cuối.
Quan trọng: Pruning cần giữ lại các "mốc neo" (anchor points) — những thông tin định danh người dùng, yêu cầu cốt lõi, hoặc quyết định quan trọng đã đạt được.
Conversation Summarization: Nén lịch sử thành insight
Summarization đi sâu hơn: thay vì giữ 15 tin nhắn đàm phán giá, bạn tóm tắt thành một object JSON:
{
"context_summary": "User yêu cầu giảm giá 20%, đã thương lượng xuống 15%, điều kiện là thanh toán trước",
"open_points": ["thời hạn giao hàng", "chính sách đổi trả"],
"user_sentiment": "positive"
}Có hai cách tiếp cận:
- Extractive: Trích xuất các câu quan trọng từ conversation gốc, giữ nguyên wording.
- Abstractive: Dùng AI (thường là model rẻ hơn như GPT-3.5 hoặc Gemini Flash) viết lại thành văn bản mới ngắn gọn hơn.
Sliding Window vs Semantic Pruning
| Chiến lược | Cơ chế | Khi nào dùng |
|---|---|---|
| Sliding Window | FIFO — xóa tin cũ nhất khi đầy | Chat ngắn, không cần nhìn xa |
| Semantic Pruning | Dùng vector similarity để tìm và xóa tin ít liên quan đến query hiện tại nhất | Chat dài, nhiều topic |
| Hierarchical Summarization | Tóm tắt theo chunk (mỗi 10 tin nhắn) rồi tóm tắt các bản tóm tắt | Conversation rất dài (100+ turns) |
Ví dụ thực tế
Kiến trúc 3 tầng của Claude Code
Claude Code áp dụng chiến lược pruning tinh vi:
- Rolling Context: 10-20 lượt gần nhất giữ nguyên raw format để giữ tính liên tục.
- Working Memory: Các file đang sửa, tên biến quan trọng được extract vào một block riêng, không bị prune khi conversation dài ra.
- Summarized History: Những gì đã làm xong (vd: "đã refactor module X, đã fix bug Y") được tóm tắt thành bullet points, prune toàn bộ diff cũ.
Kết quả: Dù conversation kéo dài 100 lượt, Claude vẫn nhớ bạn đang sửa file nào, nhưng không lưu chi tiết từng dòng code đã xóa từ 50 lượt trước.
Chatbot hỗ trợ khách hàng đa lượt
Một phiên support kéo dài 40 phút, 35 lượt hội thoại:
- Lượt 1-20: Khách mô tả vấn đề, agent hỏi lại, troubleshoot cơ bản.
- Pruning: Sau khi xác định root cause, 15 lượt đầu được tóm tắt thành: "Khách báo lỗi đăng nhập trên iOS 17, đã thử xóa cache không fix, nguyên nhân là token expired."
- Lượt 21-35: Giữ nguyên vì đang đi sâu vào giải pháp kỹ thuật.
Cách này giữ context window luôn "fresh" với thông tin kỹ thuật mới nhất, nhưng không mất bối cảnh vấn đề ban đầu.
Code review assistant
AI assistant review PR dài 500 dòng thay đổi:
- Pruning: Các hunk (đoạn diff) đã được addressed (tác giả đã reply "done") được xóa khỏi context.
- Summarization: Các comment chưa resolve được tóm tắt thành checklist: "3 comments về naming convention, 1 về null safety chưa fix."
- Giữ lại: Mô tả PR (cái người dùng viết lúc tạo PR) và các comment chưa trả lời.
Ứng dụng
Developer xây dựng chatbot
Dùng Semantic Pruning kết hợp với RAG: khi user chuyển topic đột ngột từ "hỏi về Python" sang "hỏi về Java", prune các tin nhắn Python không liên quan để giải phóng chỗ cho Java context mới, nhưng giữ lại tin nhắn hệ thống về format yêu cầu output.
Product Manager gom ý tưởng
Trong buổi brainstorming 2 tiếng với AI, áp dụng Hierarchical Summarization: mỗi 20 phút, tóm tắt các ý tưởng đã thảo luận thành "decision log", prune chi tiết đàm phán, chỉ giữ lại danh sách ưu tiên cập nhật.
Doanh nghiệp triển khai Multi-agent
Khi chuyển giao conversation từ Agent A (tiếp nhận) sang Agent B (kỹ thuật), không chuyển toàn bộ 50 tin nhắn thô. Thay vào đó, prune các lời chào hỏi xã giao, summarize thành structured handoff document chứa thông tin thiết yếu, tiết kiệm context window cho Agent B xử lý vấn đề kỹ thuật.
So sánh: Pruning vs Summarization
| Tiêu chí | Context Pruning | Conversation Summarization |
|---|---|---|
| Mức độ xử lý | Loại bỏ nguyên tin nhắn | Nén nhiều tin thành một |
| Thông tin mất mát | Có thể mất chi tiết cụ thể | Có thể mất nuance, context tinh tế |
| Chi phí tính toán | Thấp (rule-based hoặc heuristic) | Cao (cần gọi thêm model để tóm tắt) |
| Độ trễ | Real-time | Có latency (async) |
| Use case lý tưởng | Xóa tin hệ thống, lọc noise | Conversation dài, cần nắm bắt trend |
Kết luận: Hai kỹ thuật này thường dùng kết hợp — Pruning để "dọn dẹp" nhanh giữa các lượt, Summarization để "nén" lịch sử cũ thành dạng lưu trữ lâu dài trong window.
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 của memory trước khi tối ưu bằng pruning
Short-term vs Long-term Memory trong AI
Phân biệt hai loại memory để áp dụng pruning phù hợp
Thiết kế kiến trúc Memory: Index, topic files, session transcripts
Xây dựng hệ thống memory bài bản với pruning tự động
Multi-turn Strategy: Quản lý hội thoại dài
Chiến lược tổng thể cho conversation vượt quá giới hạn context
Đọc tiếp
State & Session Management
Lên Level 2: Khi pruning trong context không đủ, cần quản lý state có chủ đích bên ngoài LLM
Harness Fundamentals
Xây dựng hệ thống AI agent toàn diện với Harness Engineering
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.
Function Calling: Cho AI dùng tools
Hướng dẫn Function Calling - cách cho AI gọi API, truy vấn database và thực hiện hành động thay vì chỉ trả về text. Từ lý thuyết đến code OpenAI, Anthropic.