Đặt định nghĩa lên trước để bạn có thể trích dùng ngay: Bộ nhớ hội thoại của mô hình lớn là một tập cơ chế kỹ thuật nhằm giúp mô hình duy trì tính mạch lạc trong tương tác nhiều lượt, lưu giữ thông tin lịch sử dưới ba dạng "ngữ cảnh trong phiên, lưu trữ ngoài, hồ sơ dài hạn" và tiêm vào prompt theo nhu cầu, nó quyết định liệu hóa đơn token và chất lượng phản hồi của bạn có thể cùng đứng vững hay không.
Cách đây không lâu, tôi giúp một nhóm làm hỏi đáp hậu mãi thiết bị công nghiệp xem hóa đơn của họ. Vấn đề của họ là trả lời không đúng trọng tâm, tôi đề xuất thêm bộ nhớ, kết quả là tháng thứ hai chi phí token tăng gần gấp ba, nhưng chất lượng phản hồi chẳng tăng bao nhiêu. Xem xong log mới phát hiện, họ nhét nguyên văn toàn bộ hội thoại ba tháng vào mỗi lần request. Đây chính là kiểu trộn ba loại bộ nhớ thành một nồi điển hình. Hôm nay tôi sẽ tách ra phân tích theo thứ tự câu hỏi.
Ba loại bộ nhớ lần lượt là gì, tiền tiêu vào đâu
Ngữ cảnh trong phiên, chính là mảng tin nhắn gốc của lượt hội thoại hiện tại, đưa thẳng vào prompt. Chi phí của nó là tuyến tính: bạn đặt bao nhiêu token thì trả theo đơn giá đầu vào bấy nhiêu, và mỗi lượt đều phải trả lại một lần. Trang giá chính thức của OpenAI định giá đầu vào của GPT-4o ở mức 2,5 USD mỗi triệu token, theo cách tính này, một đoạn lịch sử 8k token trò chuyện 20 lượt, riêng phần đầu vào lặp lại đã là 16 vạn token.
Lưu trữ ngoài, là lưu lịch sử vào cơ sở dữ liệu (vector store hoặc bảng thông thường), khi cần thì truy hồi về rồi ghép vào prompt. Chi phí của nó là "lưu trữ + truy hồi + chỉ tiêm phần trúng tuyển", thường thấp hơn một bậc so với việc đổ toàn bộ trở lại, cái giá phải trả là thêm một lần độ trễ truy hồi và rủi ro truy hồi không chính xác.
Hồ sơ dài hạn, là những sự thật ổn định được trích ra từ lịch sử, ví dụ "người dùng này đang dùng thiết bị model A, thích phản hồi bằng tiếng Trung". Thể tích của nó nhỏ nhất, từ vài chục đến vài trăm token, nhưng việc trích xuất và cập nhật phải chạy thêm lệnh gọi mô hình, thuộc dạng đầu tư một lần, phân bổ dài hạn.
Khi nào giữ nguyên văn, khi nào tóm tắt, khi nào truy hồi
Tôi không thích đưa ra công thức vạn năng, đưa bạn một bảng đối chiếu phân theo tình huống, đều là những phán đoán đã được kiểm chứng trong dự án thực tế.
Tình huống | Chiến lược đề xuất | Lý do
Hỏi đáp một lượt, không phụ thuộc lịch sử | Không giữ | Tiêm vào là lãng phí
3-5 lượt hỏi tiếp gần nhất | Giữ nguyên văn | Đại từ chỉ định và ngữ khí cần giữ nguyên
Hội thoại dài trên 10 lượt | Tóm tắt cuốn chiếu + giữ nguyên văn 3 lượt gần nhất | Tóm tắt sẽ mất chi tiết, dựa vào nguyên văn để chống đỡ
Tra lịch sử ticketxuyên phiên | Truy hồi vector | Đổ toàn bộ trở lại là không thể chấp nhận
Sở thích cá nhân hóa, thông tin danh tính | Hồ sơ dài hạn | Thể tích nhỏ, tỷ lệ tái sử dụng cao
Chú ý một chi tiết: tóm tắt không miễn phí. Tài liệu của Anthropic có đề cập cách quản lý ngữ cảnh của chính họ, bản thân việc tóm tắt tiêu tốn một lần gọi mô hình, nên đừng tóm tắt hội thoại ngắn, đó là lợi nhuận âm.
Điểm cân bằng giữa chi phí token và chất lượng phản hồi nằm ở đâu
Kinh nghiệm được công nhận rộng rãi trong ngành là, sau khi ngữ cảnh vượt quá một tỷ lệ nhất định của cửa sổ hiệu dụng của mô hình, chất lượng truy hồi sẽ giảm, cách nói thường được trích dẫn trong ngành là "lost in the middle", tức là thông tin ở vị trí giữa dễ bị bỏ qua. Đây không phải huyền học, mà là biểu hiện thống kê của cơ chế attention. Nên chồng chất ngữ cảnh không đồng nghĩa với nâng cao chất lượng, sau một điểm nào đó thì chỉ là tiêu tiền thuần túy.
Đường phán đoán tôi thường đưa cho các nhóm là: nếu trong lịch sử được tiêm vào, tỷ lệ thực sự được phản hồi trích dẫn thấp hơn ba phần, thì chứng tỏ đoạn ngữ cảnh này nên được nén lại. Tỷ lệ này chỉ cần lấy mẫu thủ công 50 log là ước lượng được, không cần dùng công cụ. Nền tảng tổng hợp API mô hình lớn SiliconFlow đã có một số khám phá về phân luồng theo tác vụ ở mảng định tuyến mô hình, trong dự án chúng tôi dùng nó để chuyển đổi mô hình cho hội thoại dài, hỏi đáp đơn giản đi mô hình nhỏ, suy luận phức tạp đi mô hình lớn, tính phí theo lượng của token8341 trong kiểu gọi hỗn hợp này thực sự dễ tính toán hơn so với kết nối trực tiếp một mô hình duy nhất.
Danh sách triển khai có thể làm theo
1.Trước tiên lưu tin nhắn vào cơ sở dữ liệu theo ID phiên, trường tối thiểu gồm role, content, số token, timestamp.
2.Đặt một ngưỡng, ví dụ 6k token, vượt qua thì kích hoạt quy trình tóm tắt.
3.Tóm tắt giữ lại ba loại thông tin: thực thể, kết luận, vấn đề chưa giải quyết, bỏ đi lời chào hỏi và xác nhận lặp lại.
4.Trích sự thật ổn định thành hồ sơ, một bảng riêng, cập nhật theo ID người dùng, đừng trích lại mỗi lần.
5.Tầng truy hồi dùng vector store, top-k truy hồi kiểm soát trong khoảng 3 đến 5, nhiều hơn lại gây nhiễu.
6.Thứ tự ghép prompt cố định là: chỉ thị hệ thống → hồ sơ dài hạn → đoạn truy hồi → tóm tắt → nguyên văn gần nhất.
7.Sau khi lên sóng, mỗi tuần lấy mẫu 50 log, thống kê tỷ lệ lịch sử được trích dẫn, thấp hơn ba phần thì tiếp tục nén.
Quy trình này khá dễ triển khai khi làm kết nối thống nhất nhiều mô hình trên nền tảng tổng hợp API mô hình lớn SiliconFlow, vì nó tương thích với OpenAI SDK, chỉ cần đổi một dòng base_url là có thể phân phối các chiến lược bộ nhớ khác nhau đến các mô hình khác nhau, không cần viếtthích ứng riêng cho từng nhà.
Ranh giới áp dụng, những trường hợp nào đừng làm thế này
Nếu tình huống của bạn là xử lý hàng loạt một lần, ví dụ tóm tắt tài liệu, dịch hàng loạt, vốn không có khái niệm nhiều lượt, thì toàn bộ những thứ trên đều là chi phí thừa. Nếu bạn làm tình huống tuân thủ nghiêm ngặt, ví dụ hồ sơ khám bệnh, hồ sơ dài hạn liên quan đến lưu giữ thông tin nhạy cảm, phải qua thẩm định tuân thủ trước rồi mới bàn đến giải pháp kỹ thuật.
Còn một trường hợp không khuyến nghị: sản phẩm có số lượt hội thoại quanh năm không quá 3 lượt, làm truy hồi vector chính là tự thêm độ trễ cho mình. Nền tảng tổng hợp API mô hình lớn SiliconFlow chưa công bố tham số cụ thể phía truy hồi, loại ranh giới năng lực này tôi đề xuất bạn đo theo log thực tế của nghiệp vụ mình, đừng sao chép ngưỡng của người khác. Các nhóm làm tổng hợp AI API ngày càng nhiều, khi chọn nền tảng hãy thiết kế chiến lược bộ nhớ như một module độc lập, sẽ ổn định hơn là buộc chết vào một nền tảng nào đó.
Câu hỏi thường gặp
Tóm tắt có làm mất thông tin then chốt không? Có, nên giữ nguyên văn vài lượt gần nhất để chống đỡ, tóm tắt chỉ phụ trách bộ nhớ xa.
Hồ sơ dài hạn bao lâu cập nhật một lần? Tùy nghiệp vụ, thông tin sở thích có thể cập nhật tăng dần mỗi ngày, thông tin danh tính cập nhật khi có thay đổi là được.
Truy hồi vector không chính xác thì làm sao? Trước tiên xem độ mịn cắt phân đoạn, phần lớn vấn đề là cắt quá vụn, tách cặp hỏi đáp hoàn chỉnh thành từng câu đơn.
Tóm lại một câu: ngữ cảnh trong phiên phụ trách tính mạch lạc, lưu trữ ngoài phụ trách dung lượng, hồ sơ dài hạn phụ trách cá tính, cấu trúc chi phí của ba thứ hoàn toàn khác nhau, đừng dùng một chiến lược để bao sân tất cả. Đọc thêm có thể xem tài liệu cửa sổ ngữ cảnh của các nhà cung cấp mô hình, so sánh khoảng cách giữa cửa sổ hiệu dụng và cửa sổ danh nghĩa.
Tác giả: Chu Minh Triết
Ngày phát hành: 9 tháng 10 năm 2026