Quay lại trang chủ5/9 trong danh mục
Memory Systems
Hệ thống bộ nhớ — Trí nhớ của AI Agent
Trung bìnhai-agents
1Dự đoán1/8
Bạn nói với AI: 'Tôi thích phở' vào tuần trước. Hôm nay hỏi: 'Gợi ý nhà hàng?'. AI không nhớ bạn thích phở. Tại sao?
2Khám phá2/8
Hình minh họa
3 loại bộ nhớ của AI Agent
Chọn loại bộ nhớ để xem chi tiết.
Giới hạn:
Giới hạn bởi context window (4K-200K tokens)
Kỹ thuật:
In-context, system prompt, chat history
3Khoảnh khắc aha3/8
Bộ nhớ Agent hoạt động giống bộ nhớ con người: ngắn hạn (bảng trắng — ghi nhanh xoá nhanh), dài hạn (nhật ký — lưu mãi), sự kiện (album ảnh — nhớ trải nghiệm cụ thể). LLM mặc định chỉ có "bảng trắng". Thêm "nhật ký" và "album ảnh" biến nó thành Agent có trí nhớ thực sự.
4Thử thách4/8
Agent trợ lý lập trình nhớ rằng lần trước gợi ý dùng thư viện X nhưng user phàn nàn X chậm. Lần này user hỏi tương tự. Agent nên dùng loại bộ nhớ nào?
5Lý thuyết5/8
Giải thích
Hệ thống bộ nhớ giải quyết 2 giới hạn của LLM: context window hữu hạn và không nhớ giữa các phiên.
- Bộ nhớ ngắn hạn: Context window + scratchpad. Chứa hội thoại hiện tại và kết quả trung gian. Kích thước cố định.
- Bộ nhớ dài hạn: Vector DB lưu embedding. Truy xuất bằng semantic similarity. Mở rộng gần vô hạn.
- Bộ nhớ sự kiện: Lưu trải nghiệm có cấu trúc: (tình huống, hành động, kết quả, bài học). Few-shot retrieval khi gặp tình huống tương tự.
memory_system.py
class AgentMemory:
def __init__(self):
self.short_term = [] # Context window
self.vector_db = ChromaDB() # Bộ nhớ dài hạn
self.episodes = [] # Kinh nghiệm
def remember(self, text, type="long"):
if type == "short":
self.short_term.append(text)
elif type == "long":
embedding = embed(text)
self.vector_db.add(embedding, text)
elif type == "episode":
self.episodes.append(text)
def recall(self, query, k=5):
"""Truy xuất thông tin liên quan"""
# Bộ nhớ ngắn hạn — luôn có
context = self.short_term[-10:]
# Bộ nhớ dài hạn — semantic search
relevant = self.vector_db.search(query, k=k)
context.extend(relevant)
# Bộ nhớ sự kiện — tìm kinh nghiệm tương tự
similar_episodes = self.find_similar_episodes(query)
context.extend(similar_episodes)
return contextThách thức của bộ nhớ dài hạn
Retrieval không hoàn hảo: có thể lấy thông tin không liên quan (noise) hoặc bỏ sót thông tin quan trọng. Cần: re-ranking, filtering, và memory management (xoá thông tin cũ/không còn đúng).
6Tóm tắt6/8
Những điều cần nhớ về Memory Systems
- 3 loại: Ngắn hạn (context window), Dài hạn (vector DB), Sự kiện (kinh nghiệm cụ thể).
- LLM mặc định chỉ có bộ nhớ ngắn hạn. Bộ nhớ dài hạn cần vector DB + RAG.
- Episodic memory giúp Agent HỌC từ kinh nghiệm: nhớ lần trước thất bại → tránh lặp lại.
- Kỹ thuật: embedding + similarity search cho dài hạn, experience replay cho sự kiện. Cần re-ranking để giảm noise.
7Kiểm tra7/8
Kiểm tra hiểu biết
Câu 1/3
Tại sao AI Agent cần bộ nhớ dài hạn khi LLM đã có context window?