Tối ưu context window cho hội thoại dài - Giải pháp cho LLM

Đỗ Minh Đức Đỗ Minh Đức
Chia sẻ bài viết

Trong các hội thoại dài, mô hình ngôn ngữ lớn (LLM) thường gặp khó khăn khi xử lý thông tin nằm giữa đoạn văn, hiện tượng được gọi là Lost in the Middle. Bài viết này sẽ phân tích nguyên nhân, đồng thời giới thiệu kỹ thuật Re-ranking để sắp xếp lại dữ liệu trong context window, giúp cải thiện chất lượng phản hồi và trải nghiệm người dùng.

Context window và giới hạn xử lý của LLM

Mỗi mô hình ngôn ngữ lớn (LLM) đều có một "bộ nhớ ngắn hạn" được gọi là context window – nơi chứa toàn bộ thông tin của cuộc hội thoại hoặc văn bản trước khi đưa vào mô hình. Context window thường được tính bằng số lượng token, ví dụ: GPT-4 hỗ trợ khoảng 8k – 128k token tùy phiên bản.

Khi nội dung hội thoại ngắn (dưới 1k token), mô hình có thể xử lý dễ dàng. Nhưng khi văn bản lên đến hàng chục nghìn token, mô hình buộc phải phân bổ sự chú ý. Nó không thể “đọc” toàn bộ chi tiết như con người mà thường ưu tiên phần đầu và phần cuối. Hệ quả là các thông tin nằm ở giữa dễ bị bỏ quên.

Lost in the Middle – Thách thức lớn của hội thoại dài

Hiện tượng Lost in the Middle đã được chỉ ra rõ trong nhiều nghiên cứu. Cụ thể:

  • Vùng đầu context: thường được mô hình chú ý vì nằm ngay sau prompt.
  • Vùng cuối context: cũng quan trọng vì nằm gần vị trí mô hình tạo phản hồi.
  • Vùng giữa: lại dễ bị lãng quên, dù có thể chứa thông tin quan trọng để trả lời đúng.

Ví dụ: Bạn nhập vào mô hình một báo cáo 30 trang rồi hỏi về số liệu tài chính ở trang 15. Nếu không có kỹ thuật bổ trợ, LLM có thể trả lời sai hoặc bỏ qua vì “không nhớ” đoạn đó. Đây chính là rủi ro khi triển khai AI cho nghiệp vụ thật như phân tích tài liệu pháp lý, báo cáo tài chính, hay CSKH đa kênh.

Vì sao cần Re-ranking?

Thay vì nhồi tất cả dữ liệu vào context window, cách tốt hơn là chỉ chọn những đoạn liên quan nhất với truy vấn người dùng. Đây chính là vai trò của Re-ranking, bước đánh giá lại mức độ phù hợp của từng đoạn dữ liệu trước khi đưa vào context. Cơ chế cơ bản:

  1. Truy vấn (Query) của người dùng được biến thành embedding.
  2. Tìm kiếm (Search) trong vector database để lấy ra nhiều đoạn dữ liệu ứng viên (top-k).
  3. Re-ranking: dùng Cross-Encoder hoặc mô hình xếp hạng để đánh giá lại độ liên quan chi tiết, sắp xếp lại từ cao đến thấp.
  4. Ghép Context: chỉ chọn ra N đoạn tốt nhất để đưa vào context window.

Nhờ vậy, thông tin quan trọng dù nằm ở giữa tài liệu cũng có cơ hội được ưu tiên đưa vào prompt, thay vì bị “chôn vùi” giữa đống dữ liệu ít liên quan.

Các kỹ thuật tối ưu context window song song với Re-ranking

Ngoài re-ranking, nhiều kỹ thuật khác cũng được áp dụng để tăng hiệu quả:

  • Chunking theo ngữ nghĩa: Thay vì cắt văn bản theo số lượng token cứng nhắc, nên chia thành các đoạn có ý nghĩa hoàn chỉnh (vd: theo tiêu đề, đoạn văn). Điều này giúp tránh mất mạch ngữ nghĩa.
  • Sliding window: Với văn bản dài, có thể dịch chuyển một “cửa sổ trượt” để đảm bảo các đoạn liên quan được giữ lại, giảm nguy cơ bỏ sót.
  • Hybrid retrieval: Kết hợp tìm kiếm bằng embedding (hiểu ngữ nghĩa) và keyword (đảm bảo tính chính xác với số liệu, mã code, tên riêng).
  • Memory caching: Lưu lại các đoạn context quan trọng từ những lần hỏi trước để tránh việc lặp lại retrieval và giảm độ trễ.

Ứng dụng thực tiễn trong hội thoại dài

  • Chăm sóc khách hàng đa kênh: Khi khách hỏi nhiều lần trong một cuộc trò chuyện, Re-ranking giúp chatbot AI giữ mạch hội thoại, không bỏ sót dữ liệu ở giữa.
  • Phân tích tài liệu pháp lý: Luật sư có thể hỏi các điều khoản nằm rải rác trong hợp đồng dài. Re-ranking đảm bảo điều khoản quan trọng được đưa lên ưu tiên.
  • Tìm kiếm tri thức nội bộ: Doanh nghiệp có hàng nghìn tài liệu training, báo cáo. Nhờ Re-ranking, nhân viên chỉ nhận lại những đoạn quan trọng nhất thay vì bị “ngợp” trong dữ liệu.
  • Phân tích dữ liệu tài chính: Khi dữ liệu kéo dài hàng nghìn dòng, việc chọn đúng đoạn chứa số liệu liên quan sẽ giúp LLM trả lời chính xác và nhanh chóng. 

Tối ưu trải nghiệm và hiệu năng

Việc áp dụng Re-ranking tuy tốn thêm chi phí tính toán (vì cần một mô hình đánh giá lại), nhưng mang lại lợi ích:

  • Câu trả lời chính xác hơn → tăng niềm tin người dùng.
  • Giảm số token lãng phí → tiết kiệm chi phí gọi API.
  • Hội thoại mượt mà hơn → tránh tình trạng trả lời sai gây khó chịu.

Do đó, đây là một trong những bước quan trọng để nâng tầm ứng dụng LLM từ mức demo sang sản phẩm thực tế.

Kết luận

Tóm lại, việc tối ưu context window cho hội thoại dài không chỉ là một cải tiến về mặt kỹ thuật, mà còn là một bước tiến quan trọng trong việc xây dựng các hệ thống tự động thông minh. Bằng cách tách biệt phần hiểu (NLU) chúng ta có thể tạo ra một kiến trúc linh hoạt, dễ mở rộng và bảo trì.

Đỗ Minh Đức
Tác giả
Đỗ Minh Đức
Giám đốc sản phẩm BizChat AI

Với gần 20 năm kinh nghiệm trong ngành công nghệ, Đỗ Minh Đức hiện là Giám đốc Sản phẩm Bizfly Martech tại VCCorp. Anh được biết đến là một trong bốn người đặt nền móng cho BizChatAI, giải pháp ứng dụng trí tuệ nhân tạo để chăm sóc khách hàng tự động đa kênh.

Anh tập trung phát triển BizChatAI như một "trợ lý ảo" cho doanh nghiệp, giúp tự động hóa việc tương tác và CSKH. Công nghệ này đang thay đổi mạnh mẽ cách doanh nghiệp tiếp cận khách hàng, từ việc gửi tin nhắn, quà tri ân tự động đến ứng dụng hiệu quả cho các chuỗi bán lẻ và nhà hàng... Qua các bài viết của mình, anh chia sẻ sâu hơn về những lợi ích và cách thức hoạt động của chatbot trong kinh doanh.

Bài viết nổi bật

Mời bạn trải nghiệm AI Chat Agent - Trợ lý ảo tư vấn khách hàng của Bizfly

Trong thời đại mà khách hàng mong muốn được phản hồi ngay lập tức, việc để họ phải chờ vài phút cũng có thể khiến doanh nghiệp đánh mất cơ hội. Đó là lý do Bizfly phát triển AI Chat Agent - trợ lý ảo có khả năng tư vấn, giải đáp.....