
AI Agent Memory Systems: Short-term vs Long-term vs External Knowledge
Khi triển khai AI agent tự chủ, bộ nhớ là thành phần quyết định khả năng học hỏi và duy trì ngữ cảnh qua các bước thao tác. Agent chỉ hoạt động được với short-term memory bên trong context window sẽ quên ngay sau khi hết token, trong khi long-term memory giúp ghi nhận thông tin cố định lâu dài, và external knowledge kết nối cơ sở dữ liệu bên ngoài để tăng độ chính xác.
Short-term Memory: Ngữ cảnh ngay lập tức
Short-term memory chính là context window của LLM. Agent lưu lịch sử hội thoại, kết quả công cụ, và trạng thái tạm thời trong prompt. Ưu điểm là phản hồi nhanh, không cần truy vấn bên ngoài. Hạn chế là bị giới hạn bởi số token — thường từ 4K đến 128K tùy mô hình — và bị “cut-off” khi cuộc trò chuyện quá dài.
Kỹ thuật phổ biến tối ưu short-term memory bao gồm sliding window chỉ giữ lại N tin nhắn gần nhất, summary compression tóm tắt lịch sử thành một đoạn ngắn, hoặc recursive summarization rút gọn dần khi token cạn kiệt.
Long-term Memory: Ghi nhận cố định
Long-term memory lưu trữ thông tin cần giữ lại qua nhiều phiên làm việc: sở thích người dùng, quyết định đã chọn, lỗi đã gặp, và kế hoạch dài hạn. Triển khai phổ biến là vector database (Pinecone, Weaviate, Qdrant) kết hợp embedding model.
Khi agent cần thông tin cũ, hệ thống retrieval tìm kiếm vector tương đồng trong long-term memory trước khi tạo câu trả lời. Điều này cho phép agent nhớ “tên dự án của bạn là X” hoặc “bạn thích định dạng JSON” dù hội thoại đã kéo dài hàng ngày.
External Knowledge: Kết nối dữ liệu thực tế
External knowledge vượt ra ngoài bộ nhớ agent để truy cập cơ sở dữ liệu động: giá cổ phiếu thời thực, lịch hẹn lịch, file doanh nghiệp, hoặc API bên ngoài. Framework như LangChain hay LlamaIndex tích hợp retrieval-augmented generation (RAG) để agent đọc tài liệu trước khi trả lời.
Ưu điểm là thông tin luôn cập nhật và chính xác. Hạn chế là độ trễ truy vấn và chi phí token khi chèn toàn bộ ngữ cảnh vào prompt. Cân bằng giữa external knowledge và long-term memory là nghệ thuật thiết kế agent hiệu quả.
So sánh kiến trúc memory
| Kiểu memory | Vị trí lưu | Thời gian sống | Độ chính xác | Chi phí |
|---|---|---|---|---|
| Short-term | Context window | Một phiên | Cao | Thấp |
| Long-term | Vector DB + cache | Vĩnh viễn | Trung bình | Trung bình |
| External | API, database, files | Thời gian thực | Rất cao | Cao |
Khi nào dùng kiểu nào
Short-term memory phù hợp với tác vụ đơn lẻ như trả lời câu hỏi, dịch thuật, hay phân tích dữ liệu trong một phiên. Long-term memory thiết yếu cho chatbot hỗ trợ khách hàng, trợ lý cá nhân, và coding assistant cần nhớ sở thích người dùng. External knowledge bắt buộc khi agent tương tác với hệ thống bên ngoài: đặt lịch, gửi email, truy vấn kho dữ liệu, hay cập nhật tin tức thời gian thực.
Cách triển khai thực tế
Framework AutoGen của Microsoft cung cấp short-term memory mặc định qua lịch sử tin nhắn, và hỗ trợ long-term memory thông qua ConversableAgent.register_reply để ghi lại thông tin quan trọng. LangGraph dùng state graph để lưu trạng thái dài hạn giữa các bước agent, trong khi CrewAI tích hợp external knowledge qua các công cụ (tools) như web search, RAG, và database query.
Lỗi thường gặp
- Quá phụ thuộc short-term memory: Agent quên thông tin quan trọng ngay khi cuộc trò chuyện dài, cần thêm long-term retrieval.
- Long-term memory quá lớn: Vector database chứa hàng triệu bản ghi làm chậm retrieval, cần filter theo metadata hoặc tiered storage.
- External knowledge trùng lặp: Cùng một tài liệu được nạp nhiều lần, gây lãng phí token — cần dedup và versioning.
- RAG không ưu tiên: Agent ưu tiên trả lời từ training data thay vì tài liệu mới nhất, cần prompt engineering để “dựa vào ngữ cảnh được cung cấp”.
Kết luận
Kiến trúc memory của AI agent không phải là “một chiều” mà là sự kết hợp ba lớp: short-term xử lý ngay lập tức, long-term ghi nhận lâu dài, và external knowledge cập nhật thời gian thực. Hiểu rõ đặc điểm từng lớp giúp bạn thiết kế agent ổn định, không quên thông tin, và luôn trả lời chính xác dù tác vụ phức tạp.
Tài liệu tham khảo:
- arXiv: A Survey on Memory Mechanisms in Large Language Models
- AutoGen Documentation — Memory Components
- LangChain Memory Module
- LlamaIndex: Storing and Persisting Data



