Quay lại trang chủ5/9 trong danh mục
ai-agents
Memory Systems
Hệ thống bộ nhớ. Trí nhớ của AI Agent
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?