Trong Day 17 này, các bạn sẽ tập trung vào một câu hỏi rất thực tế: làm sao để AI agent không chỉ trả lời tốt trong một lượt chat, mà còn nhớ đúng thông tin quan trọng qua nhiều phiên làm việc mà vẫn kiểm soát được chi phí token.
Trong bài lab này, các bạn sẽ xây dựng và so sánh hai agent:
Baseline Agent: chỉ có short-term memory trong cùng một threadAdvanced Agent: có short-term memory,User.mdbền vững, và compact memory để nén hội thoại dài
Mục tiêu cuối cùng không phải chỉ là “agent nhớ nhiều hơn”, mà là hiểu rõ trade-off giữa:
- độ nhớ dài hạn
- chất lượng phản hồi
- chi phí token
- độ phức tạp của hệ thống memory
Sau khi hoàn thành, các bạn cần có khả năng:
- phân biệt
short-term memory,persistent memory, vàcompact memory - xây dựng agent baseline và advanced trên cùng một benchmark
- lưu hồ sơ người dùng bằng
User.md - kích hoạt compact memory khi hội thoại dài vượt ngưỡng
- benchmark hai agent bằng cùng một bộ dữ liệu tiếng Việt
- đọc kết quả benchmark theo các chỉ số recall, token, memory growth, chất lượng phản hồi
Repo này được chia thành ba phần rõ ràng:
src/: bản scaffold dành cho sinh viên, chứa pseudocode và TODO để hoàn thiệndata/: dữ liệu benchmark ở root để dùng cho cả benchmark chuẩn và stress benchmark
Trong bản solved lab, runtime hỗ trợ các provider sau:
openaicustom(OpenAI-compatible base URL)geminianthropicollamaopenrouter
Điều này quan trọng vì memory system không nên bị khóa vào một provider duy nhất.
Khi hoàn thiện bài, benchmark nên cho các cột sau:
Agent tokens only: token sinh ra trực tiếp trong hội thoại của agentPrompt tokens processed: lượng ngữ cảnh agent phải kéo theo qua các lượtCross-session recall: khả năng nhớ facts qua thread hoặc session mớiResponse quality: chất lượng phản hồiMemory growth (bytes): tốc độ phình của file memoryCompactions: số lần compact memory đã nén lịch sử cũ
Điểm quan trọng nhất của track này là:
- ở hội thoại ngắn,
Advancedcó thể tốn hơnBaselinevề token usage - ở hội thoại rất dài, compact memory nên giúp
Advancedxử lý ngữ cảnh hiệu quả hơn đáng kể + tiết kiệm usage.
Các bạn cần chuẩn bị môi trường Python >= 3.11 và cài các package cần thiết cho LangChain, LangGraph, provider SDK, python-dotenv, tabulate, và pytest.
python3 -m venv .venv
source .venv/bin/activate
pip install langchain langgraph langchain-openai langchain-google-genai langchain-anthropic langchain-ollama langchain-openrouter python-dotenv tabulate pytestSau đó làm việc trực tiếp với src/ và data/ ở root repo.
Nếu các bạn là sinh viên:
- làm bài trong
src/ - dùng
data/làm benchmark input
Nếu các bạn là giảng viên hoặc reviewer:
- dùng
src/để đánh giá scaffold giao cho sinh viên và kết quả hoàn thiện cuối cùng
Guide.md: hướng dẫn từng bước để hoàn thành labRubric.md: tiêu chí chấm điểm và bonus
Track này được thiết kế để các bạn không chỉ “dùng agent”, mà còn bắt đầu nghĩ như một người thiết kế memory system cho agent production.