Giới thiệu
Bài viết lập luận rằng AI agent production không nên dùng một lớp memory duy nhất cho mọi thứ. Ba loại memory có mục đích khác nhau:
- Session context: giữ mạch hội thoại và lịch sử tương tác gần đây.
- Personalization profile: lưu preference, thói quen và thiết lập riêng của user.
- Governed corporate knowledge: lưu facts doanh nghiệp đã được kiểm chứng, có versioning và quy trình approval.
Vấn đề thực tế nằm ở stale facts. Nếu pricing cũ, API endpoint đã deprecated hoặc guideline nội bộ hết hạn vẫn nằm trong cùng vector store với thông tin mới, semantic search có thể trả về cả hai vì chúng gần nghĩa nhau. Khi đó LLM thường “thỏa hiệp” giữa các facts và sinh ra câu trả lời sai nhưng nghe hợp lý.
Ba lớp memory
Zep: session log memory
Zep phù hợp để lưu message history, summary hội thoại và context ngắn hạn. Lớp này giúp agent nhớ mạch trao đổi đang diễn ra, ví dụ transcript support hoặc các lượt chat gần nhất.
Điểm yếu là session log ghi lại lịch sử, không xác nhận tính hợp lệ hiện tại của facts. Nếu user từng nhắc một guideline cũ trong quá khứ, summary tốt hơn cũng không tự biến nó thành thông tin đúng ở hiện tại.
Mem0: personalization memory
Mem0 tập trung vào preference của user: coding style, IDE, công cụ quen dùng, sở thích cá nhân hoặc thói quen làm việc. Nó thường học tự động từ conversational stream và cập nhật semantic graph.
Cách này hợp với dữ liệu cá nhân mềm, nơi sai lệch nhỏ có thể sửa sau. Nhưng với facts nghiệp vụ cần đúng tuyệt đối, probabilistic merge có rủi ro: nếu update không match đúng node cũ, cả preference cũ và mới có thể cùng tồn tại.
ContextNest: governed corporate knowledge
ContextNest được mô tả như lớp quản trị knowledge đã được duyệt. Dữ liệu nằm trong markdown vault local-first hoặc self-hosted, versioned bằng Git và kiểm tra bằng SHA-256 hash chain.
Điểm chính là state resolution mang tính deterministic. Khi một file bị ctx forget, nội dung deprecated bị loại khỏi retrieval path thay vì chỉ bị giảm rank trong semantic search. Với pricing, policy, SOP, inventory hoặc trạng thái project, đây là khác biệt quan trọng.
So sánh nhanh
| Lớp | Dùng cho | Cách học facts | Rủi ro chính |
|---|---|---|---|
| Zep | Session history, hội thoại, summary | Ghi log và summarize liên tục | Nhớ lịch sử nhưng không biết fact nào đã hết hạn |
| Mem0 | Preference và thói quen user | Extract semantic từ chat stream | Merge sai có thể giữ cả preference cũ và mới |
| ContextNest | Knowledge doanh nghiệp đã duyệt | Commit rõ ràng, review/approval | Cần quy trình steward, không tự động hoàn toàn |
Cách sử dụng trong agent production
Một kiến trúc thực dụng là xếp ba lớp này cạnh nhau thay vì chọn một:
- Dùng Zep cho conversational continuity.
- Dùng Mem0 cho personalization dài hạn của từng user.
- Dùng ContextNest hoặc một lớp tương đương cho facts nghiệp vụ có lifecycle rõ ràng.
Dev nên quan tâm vì bug memory hiếm khi trông như bug. Nó thường xuất hiện dưới dạng agent trả lời tự tin bằng policy cũ, endpoint cũ hoặc trạng thái project đã đổi. Nếu hệ thống của bạn có facts thay đổi thường xuyên, hãy thiết kế memory với versioning, audit trail và pruning ngay từ đầu, thay vì chỉ thêm một vector database rồi gọi đó là “long-term memory”.