HƯỚNG DẪN KỸ THUẬT

Quản lý lịch sử hội thoại và nén bối cảnh

Quản lý lịch sử hội thoại là tập hợp các kỹ thuật giúp duy trì phiên trò chuyện hoặc phiên tổng đài viên dài trong giới hạn ngữ cảnh của mô hình.

  • đọc 4 phút
  • Cập nhật lần cuối
Trên trang nàyđọc 4 phút
  1. Tổng quan
  2. Lặn sâu
  3. Tác động chiến lược
  4. Tương lai của việc nén ngữ cảnh và quản lý lịch sử hội thoại
  5. Triển khai trong thế giới thực
  6. Rủi ro & lan can
  7. Lộ trình thực hiện
  8. Tiếp tục khám phá
  9. Câu hỏi thường gặp

Tổng quan

Những cái chính là bỏ các lượt cũ, tóm tắt các phần trước đó, nén toàn bộ lịch sử thành một bản tóm tắt cô đọng và xóa các đầu ra của công cụ cũ. Điều này quan trọng vì mô hình ngôn ngữ không có bộ nhớ giữa các lệnh gọi ngoài những gì ứng dụng gửi lại. Một khi lịch sử phát triển vượt ra ngoài cửa sổ, một cái gì đó phải bị cắt và những gì bị cắt sẽ quyết định liệu trợ lý có mạch lạc hay không.

Lặn sâu

Hầu hết các API trò chuyện đều không có trạng thái. Mọi yêu cầu đều gửi lại cuộc trò chuyện cho đến thời điểm hiện tại và mô hình sẽ đọc nó từ đầu. Do đó, mã thông báo, chi phí và độ trễ tăng lên khi phiên dài hơn, cho đến khi lịch sử đạt đến giới hạn ngữ cảnh và yêu cầu không thành công hoặc bị cắt ngắn. Chất lượng có thể giảm thậm chí trước thời điểm đó vì các chi tiết liên quan bị chôn vùi trong tài liệu cũ. Chiến lược đơn giản nhất là cắt ngắn, thường là dưới dạng cửa sổ trượt: giữ lời nhắc của hệ thống và các lượt gần đây nhất, đồng thời bỏ phần còn lại. Nó rẻ và có thể dự đoán được, nhưng nó quên đi những thông tin ban đầu, chẳng hạn như những hạn chế mà người dùng đã nêu ngay từ đầu. Một cải tiến phổ biến là ghim các tin nhắn quan trọng để chúng không bao giờ bị bỏ sót. Tóm tắt luân phiên thay thế các lượt cũ hơn bằng một bản tóm tắt viết theo mẫu được cập nhật khi cuộc trò chuyện phát triển. Nó giữ ý chính với ít mã thông báo hơn nhiều. Cái giá phải trả là các bản tóm tắt sẽ mất chi tiết và có thể gây ra sai sót, và những lỗi đó sẽ càng phức tạp hơn khi bản tóm tắt lại được tóm tắt lại. Nén là một phiên bản có chủ ý hơn được sử dụng trong các công cụ tác nhân. Khi mức sử dụng mã thông báo vượt quá ngưỡng, hệ thống sẽ yêu cầu mô hình viết bản chuyển giao có cấu trúc bao gồm mục tiêu, tiến độ, quyết định, vấn đề mở và tên tệp chính. Sau đó, nó bắt đầu một bối cảnh mới với lượt chuyển giao đó cộng với các lượt gần đây nhất. Ví dụ: Claude Code có lệnh thu gọn và cũng có thể tự động nén gần đến giới hạn. Việc xóa kết quả của công cụ nhắm đến nguồn gây phình to lớn nhất trong các phiên tác nhân: kết quả đầu ra lớn từ các tìm kiếm, đọc tệp và các lệnh từng hữu ích. Việc hoán đổi chúng bằng các phần giữ chỗ ngắn sẽ giải phóng không gian và vẫn ghi lại cuộc gọi đã diễn ra. Bộ nhớ ngoài lưu trữ các dữ kiện trong một tệp hoặc cơ sở dữ liệu và truy xuất chúng khi có liên quan, để chúng tồn tại sau bất kỳ sự cắt xén nào. Một quan niệm sai lầm phổ biến là mô hình tự ghi nhớ các phần trước đó của cuộc trò chuyện. Mọi tính liên tục đều xuất phát từ những gì ứng dụng chọn gửi lại hoặc truy xuất.

Tác động chiến lược

Chi phí và ngân sách

Các quyết định về kiến ​​trúc sẽ thúc đẩy hiệu suất và chi phí vận hành trong nhiều năm.

Quyết định rõ ràng hơn

Giáo dục kỹ thuật giúp các nhóm chọn nhóm phù hợp chứ không chỉ nhóm mới nhất.

Kiểm soát chất lượng

Lựa chọn kỹ thuật tốt hơn làm giảm sự cố về độ tin cậy trong sản xuất.

Tương lai của việc nén ngữ cảnh và quản lý lịch sử hội thoại

Các nhà cung cấp đã bắt đầu xây dựng tính năng quản lý lịch sử vào nền tảng của họ. Các tính năng bao gồm trạng thái hội thoại phía máy chủ, tự động nén và chỉnh sửa ngữ cảnh để xóa kết quả công cụ cũ. Điều này cắt bỏ bản soạn sẵn, nhưng các nhà phát triển vẫn phải quyết định những gì không bao giờ được quên. Nghiên cứu tiếp tục trên các mô hình sử dụng ngữ cảnh dài đáng tin cậy hơn và trên các hệ thống bộ nhớ lưu trữ và truy xuất dữ kiện qua các phiên. Việc nén có thể sẽ trở thành hành vi mặc định trong khung tác nhân, nhưng sự cân bằng giữa chi tiết và không gian sẽ không biến mất. Không có phương pháp nào giữ mọi thứ miễn phí, vì vậy việc kiểm tra những gì bị mất sẽ vẫn là một phần công việc.

Triển khai trong thế giới thực

Chatbot giữ lời nhắc của hệ thống cùng với 20 tin nhắn gần đây nhất và loại bỏ mọi tin nhắn cũ hơn. Cái này rẻ nhưng lại quên tên và ngân sách mà người dùng đưa ra trong tin nhắn đầu tiên.

Cứ sau 10 lượt, một mô hình nhỏ hơn tóm tắt phần cũ của cuộc trò chuyện thành một đoạn nằm ở đầu ngữ cảnh. Đây là một bản tóm tắt cuốn chiếu.

Một tác nhân mã hóa gần đạt đến giới hạn của nó viết một bản chuyển giao: mục tiêu, các tập tin đã thay đổi, các lỗi mở và các quyết định được đưa ra. Sau đó, nó bắt đầu một bối cảnh mới chứa bản chuyển giao đó và các tệp gần đây nhất.

Tác nhân thay thế các kết quả tìm kiếm cũ hơn một vài lượt bằng một trình giữ chỗ ngắn, chẳng hạn như '[kết quả tìm kiếm trên web đã được xóa: 12 kết quả]'. Kết quả thô hiếm khi cần thiết nữa một khi tác nhân đã hành động theo chúng.

Rủi ro & lan can

  • Tối ưu hóa một điểm chuẩn có thể che giấu những điểm yếu của hệ thống rộng hơn.

  • Chi phí cơ sở hạ tầng và bảo trì thường được đánh giá thấp.

  • Khoảng cách về bảo mật và khả năng quan sát có thể tăng lên khi hệ thống trở nên phức tạp hơn.

Lộ trình thực hiện

  1. Xác định các mục tiêu về độ trễ, chất lượng và chi phí trước khi triển khai.

  2. Điểm chuẩn trong điều kiện tải và dữ liệu thực tế.

  3. Giám sát thiết bị về lỗi, độ lệch và tác động của người dùng.

  4. Chuẩn bị đường dẫn khôi phục và ứng phó sự cố trước khi mở rộng quy mô.

Tiếp tục khám phá

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Context Compaction and Conversation History Management quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Bắt đầu bài kiểm tra

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Câu hỏi thường gặp

Quản lý lịch sử hội thoại và nén bối cảnh là gì?

Quản lý lịch sử hội thoại là tập hợp các kỹ thuật giúp duy trì phiên trò chuyện hoặc phiên tổng đài viên dài trong giới hạn ngữ cảnh của mô hình. Những cái chính là bỏ các lượt cũ, tóm tắt các phần trước đó, nén toàn bộ lịch sử thành một bản tóm tắt cô đọng và xóa các đầu ra của công cụ cũ. Điều này quan trọng vì mô hình ngôn ngữ không có bộ nhớ giữa các lệnh gọi ngoài những gì ứng dụng gửi lại. Một khi lịch sử phát triển vượt ra ngoài cửa sổ, một cái gì đó phải bị cắt và những gì bị cắt sẽ quyết định liệu trợ lý có mạch lạc hay không.

Tại sao các phiên trò chuyện dài ngày càng trở nên đắt đỏ hơn?

API không trạng thái xử lý toàn bộ lịch sử trên mỗi lệnh gọi. Khi lịch sử phát triển, mã thông báo, chi phí và độ trễ của mọi yêu cầu cũng tăng theo.

Điểm yếu chính của việc cắt bớt cửa sổ trượt là gì?

Chỉ giữ lại các lượt gần đây là rẻ và có thể dự đoán được, nhưng bất cứ thứ gì rơi ra ngoài cửa sổ sẽ biến mất trừ khi nó được ghim.

Rủi ro nào cụ thể đối với việc tóm tắt luân phiên?

Mỗi vòng tóm tắt là mất mát. Sai sót trong một bản tóm tắt sẽ kéo theo lỗi tiếp theo, vì vậy lỗi có thể tích tụ trong một thời gian dài.

Quá trình nén thường tạo ra những gì trong các công cụ đại lý?

Việc thu gọn sẽ cô đọng phiên thành một bản tóm tắt có chủ ý và bắt đầu một bối cảnh mới với phiên đó cũng như các lượt gần đây nhất. Đại lý có thể tiếp tục mà không có lịch sử đầy đủ.

Tại sao việc xóa kết quả công cụ cũ lại hiệu quả trong các phiên đại lý?

Đầu ra của công cụ có thể rất lớn và thường chỉ hữu ích một lần. Việc hoán đổi chúng bằng phần giữ chỗ sẽ giải phóng nhiều dung lượng và lưu giữ bản ghi rằng cuộc gọi đã diễn ra.