Hãy tưởng tượng bạn đang làm việc với một trợ lý AI trong nhiều tháng. Bạn đã giải thích cho nó cách mình làm việc, mục tiêu của dự án, những quyết định đã được thống nhất, các lỗi từng xảy ra và cả những nguyên tắc mà đội ngũ cần tuân theo. Thế nhưng, mỗi lần bắt đầu một phiên làm việc mới, trợ lý đó lại hỏi lại từ đầu: “Dự án này làm gì?”, “Bạn thích cách trình bày như thế nào?”, “Tại sao phương án cũ không hiệu quả?”,…. Một hệ thống như vậy có thể trả lời rất thông minh trong từng thời điểm, nhưng khó trở thành một cộng sự thực sự. Nó không có tính liên tục, không tích lũy kinh nghiệm và cũng không thích nghi theo thời gian. Đây là lý do memory trở thành một thành phần quan trọng trong các hệ thống AI hiện đại, đặc biệt là AI agent.
Nếu RAG giúp AI truy xuất tri thức từ bên ngoài, memory giúp AI duy trì bối cảnh, kinh nghiệm và sự nhất quán qua nhiều lần tương tác. Nói cách khác, RAG giúp AI biết thêm, còn memory giúp AI nhớ mình đã từng biết và từng làm gì. Có thể nói vui, tác nhân AI ngoài kiến thức thì còn cần cả kinh nghiệm và trải nghiệm để có thể hoàn thành mục tiêu một cách tốt hơn.
Vậy cụ thể AI memory là gì và nó hoạt động như thế nào? Hay cùng tìm hiểu với Lemon’s Tribe trong bài viết này nhé.
Vì sao AI agent cần memory?
Một mô hình ngôn ngữ lớn, về bản chất, không tự có trí nhớ dài hạn về những lần tương tác trước. Mỗi lần nhận yêu cầu, mô hình chỉ nhìn thấy phần thông tin được đưa vào context window tại thời điểm đó. Trong một cuộc trò chuyện ngắn, cách này thường vẫn hoạt động tốt. Lịch sử hội thoại được đưa lại vào prompt, nhờ đó mô hình có vẻ như đang nhớ những gì vừa được nói. Nhưng khi cuộc hội thoại kéo dài, hoặc khi công việc diễn ra qua nhiều phiên khác nhau, cách tiếp cận này bắt đầu bộc lộ giới hạn. Context window dù lớn đến đâu vẫn là một tài nguyên hữu hạn. Việc đưa toàn bộ lịch sử vào prompt không chỉ làm tăng chi phí và độ trễ, mà còn khiến mô hình bị phân tán bởi những thông tin cũ hoặc không còn liên quan. Một đoạn context dài không đồng nghĩa với một context tốt.1 2
Vấn đề càng rõ hơn với AI agent. Khác với chatbot chỉ trả lời một câu hỏi, agent thường phải theo đuổi một mục tiêu qua nhiều bước, sử dụng nhiều công cụ và ra quyết định dựa trên kết quả của những hành động trước đó. Một coding agent có thể cần nhớ cấu trúc dự án, các lệnh đã chạy, lỗi từng gặp và quy ước của đội ngũ. Một customer service agent cần nhớ thông tin khách hàng, lịch sử hỗ trợ và những vấn đề chưa được giải quyết. Một research agent cần nhớ giả thuyết, nguồn đã đọc và phần nào của bài toán vẫn còn bỏ ngỏ. Nếu không có memory, agent gần như phải bắt đầu lại từ đầu ở mỗi phiên làm việc. Nó có thể lặp lại câu hỏi, thử lại một phương án đã thất bại hoặc đưa ra quyết định mâu thuẫn với chính mình. Vì vậy, memory không chỉ là một tính năng giúp trải nghiệm cá nhân hóa hơn. Trong agentic AI, nó là một phần của kiến trúc vận hành.3
Memory trong AI là gì?
Có thể hiểu đơn giản, memory là lớp hạ tầng giúp hệ thống AI biến thông tin từ quá khứ thành context có thể tái sử dụng cho các quyết định trong tương lai.
Memory có thể chứa nhiều loại thông tin khác nhau:
- sở thích và yêu cầu của người dùng;
- mục tiêu hoặc trạng thái hiện tại của một task;
- sự kiện đã xảy ra trong những phiên trước;
- lỗi và các phương án từng thất bại;
- quy trình, policy hoặc cách thực hiện một công việc;
- bài học được rút ra sau khi agent hoàn thành nhiệm vụ.
Điểm quan trọng là memory không chỉ đơn giản là lưu lại transcript. Một hệ thống memory đúng nghĩa cần trả lời được nhiều câu hỏi hơn: Thông tin nào đáng nhớ? Nên lưu ở dạng nào? Khi nào nên truy xuất? Khi nào cần cập nhật? Khi nào nên quên? Vì vậy, memory không phải một chiếc “ổ cứng” chứa toàn bộ quá khứ. Nó giống một cơ chế quản lý thông tin có chọn lọc hơn.4
Memory và RAG khác nhau như thế nào?
Memory và RAG thường sử dụng những thành phần kỹ thuật giống nhau, chẳng hạn embedding và vector database. Vì vậy, hai khái niệm này khá dễ bị nhầm lẫn. Tuy nhiên, chúng giải quyết hai bài toán khác nhau.
- RAG tập trung vào việc truy xuất tri thức từ một knowledge base để grounding câu trả lời. Câu hỏi của RAG thường là: “Tài liệu nào có thông tin cần thiết để trả lời yêu cầu này?”
- Memory tập trung vào continuity, personalization và learning from interaction. Câu hỏi của memory thường là: “Hệ thống đã biết gì về người dùng, về task và về những việc từng xảy ra?”
RAG thường truy xuất từ tài liệu dùng chung như policy, manual hoặc wiki. Memory thường chứa thông tin động và mang tính cá nhân hoặc phụ thuộc vào agent.
| Khía cạnh | Memory | RAG |
|---|---|---|
| Trọng tâm | User, agent, lịch sử hành động | Kho tài liệu, knowledge base |
| Dữ liệu | Preference, facts, events, workflow, lessons | Documents, chunks, manuals, policy, wiki |
| Tính chất | Dynamic, cá nhân hóa, cập nhật liên tục | Query-time grounding, thường ít cá nhân hóa hơn |
| Giá trị chính | Continuity và adaptation | Accuracy và knowledge grounding |
| Cơ chế phổ biến | Profile, episodic log, vector/graph/file memory, versioning | Chunking, embedding, retrieval, reranking |
| Câu hỏi điển hình | “User này thích gì? Trước đây agent đã làm gì?” | “Tài liệu nào liên quan đến câu hỏi này?” |
Hai hệ thống không thay thế nhau. Một AI product hoàn chỉnh có thể cần cả hai: RAG để biết chính sách hiện tại, memory để biết khách hàng này đã gặp vấn đề gì trước đó.5
Các loại memory trong AI agent
Các nghiên cứu về cognitive architecture thường chia memory của language agent thành bốn nhóm chính: working memory, semantic memory, episodic memory và procedural memory. Bên cạnh đó, nhiều hệ thống agent hiện đại còn sử dụng reflection memory để lưu lại các bài học sau mỗi lần hành động.6 7
Working memory: Những gì agent đang nghĩ tới
Working memory là thông tin agent cần sử dụng ngay trong phiên làm việc hiện tại. Nó có thể bao gồm yêu cầu của người dùng, task đang thực hiện, kết quả từ tool call, các bước suy luận trung gian hoặc bản tóm tắt của cuộc hội thoại. Working memory thường nằm trong context window và có thể được xem như RAM của hệ thống. Nó nhanh và luôn sẵn sàng, nhưng có dung lượng giới hạn. Nếu đưa quá nhiều thông tin vào đây, model dễ bị nhiễu và giảm chất lượng suy luận.8
Semantic memory: Những điều agent biết
Semantic memory lưu các sự thật hoặc tri thức tương đối ổn định. Keyword là “facts”.
Ví dụ:
- người dùng thích câu trả lời ngắn gọn;
- dự án sử dụng một framework cụ thể;
- khách hàng đang thuộc gói premium;
- sản phẩm có một số business rule nhất định.
Semantic memory không nhất thiết gắn với một sự kiện cụ thể. Nó phản ánh những gì hệ thống tin là đúng tại thời điểm hiện tại. Trong triển khai thực tế, semantic memory có thể được lưu dưới dạng profile có cấu trúc, JSON document, relational database hoặc một collection có khả năng semantic search.9
Episodic memory: Những gì đã từng xảy ra
Episodic memory lưu lại các sự kiện và trải nghiệm trong quá khứ. Keyword cho loại memory này là “experiences”.
Một coding agent có thể nhớ rằng nó đã từng sửa một bug tương tự. Một sales agent có thể nhớ rằng khách hàng đã từ chối một đề xuất vì giá. Một research agent có thể nhớ rằng một nguồn từng được kiểm tra nhưng không đủ đáng tin cậy. Dạng memory này đặc biệt hữu ích với những task lặp lại. Thay vì chỉ đọc hướng dẫn (instruction), agent có thể tham khảo các ví dụ hoặc quỹ đạo trước đó để quyết định nên làm gì tiếp theo. Episodic memory cũng là nền tảng để agent học từ kinh nghiệm mà không cần cập nhật lại trọng số của model (model weights).10
Procedural memory: Agent biết cách làm gì
Procedural memory lưu “cách làm” một công việc. Keyword: “Rules/Instructions”.
Đó có thể là workflow, checklist, policy, system prompt hoặc các quy tắc mà agent cần tuân theo. Ví dụ, một agent review code có thể luôn chạy test trước khi đề xuất merge. Một customer service agent có thể cần xác minh danh tính trước khi cung cấp thông tin giao dịch. Một research agent có thể luôn ưu tiên paper gốc thay vì bài tổng hợp. Trong thực tế, procedural memory thường không nằm trong một database duy nhất. Nó có thể được phân tán trong prompt, code, tool definition và orchestration logic.11
Reflection memory: Bài học được rút ra
Bên cạnh bốn nhóm memory phổ biến, một số kiến trúc agent còn bổ sung reflection memory — các kết luận hoặc bài học được agent tổng hợp từ những trải nghiệm trước đó. Reflection memory là phần memory được hình thành sau khi agent đánh giá lại hành động của chính mình.
Sau một task thất bại, agent có thể kết luận rằng phương án trước đó không hiệu quả vì thiếu dữ liệu đầu vào. Sau một lần sử dụng tool sai, agent có thể ghi nhớ rằng cần kiểm tra schema trước khi gọi lại. Các nghiên cứu như Generative Agents và Reflexion cho thấy agent có thể cải thiện hiệu quả bằng cách chuyển feedback thành các kết luận bằng ngôn ngữ và lưu chúng để sử dụng trong những lần sau. Đây là điểm khác biệt giữa một agent chỉ lưu lại quá khứ và một agent biết rút kinh nghiệm từ quá khứ.12
Memory được xây dựng như thế nào?
Một hệ thống memory thường bao gồm một pipeline gồm nhiều bước:
Capture → Evaluate → Store → Retrieve → Update → Forget

Hãy cùng đi vào từng bước trong vòng đời này.13
Capture (Ghi nhận)
Đầu tiên, hệ thống thu nhận thông tin từ cuộc hội thoại, hành động của agent, kết quả tool call hoặc feedback của người dùng. Sau đó, một lớp memory extraction sẽ xác định những thông tin có khả năng hữu ích trong tương lai. Hệ thống có thể sử dụng LLM, rule-based filtering hoặc kết hợp cả hai để trích xuất sự thật (facts), thiên kiến (preferences), sự kiện (events) và bài học đã học được (lessons learned).
Evaluate (Đánh giá) – Khi nào AI nên ghi nhớ?
Tiếp theo là bước quan trọng nhất: đánh giá thông tin nào đáng lưu. Một trong những sai lầm phổ biến nhất khi xây memory là lưu quá nhiều. Về mặt kỹ thuật, lưu mọi thứ khá dễ. Nhưng càng nhiều memory, retrieval càng khó và khả năng lấy nhầm thông tin càng cao.
Một memory thường đáng lưu nếu nó có ít nhất một trong những đặc điểm sau:
- có khả năng được sử dụng lại trong tương lai;
- phản ánh preference hoặc constraint tương đối ổn định;
- liên quan đến một mục tiêu chưa hoàn thành;
- là một quyết định quan trọng;
- ghi nhận một lỗi hoặc bài học cần tránh lặp lại;
- có giá trị cá nhân hóa lâu dài.
Ngược lại, small talk, trạng thái cảm xúc tức thời hoặc các nhận định chưa chắc chắn thường không nên được lưu trực tiếp vào long-term memory (trí nhớ dài hạn). Một nguyên tắc khá thực tế là: đừng hỏi “thông tin này có thể lưu được không?”, mà hãy hỏi “nó sẽ giúp agent ra quyết định tốt hơn trong tương lai hay không?”.
Store (Lưu trữ)
Thông tin sau khi được chọn có thể được lưu dưới nhiều dạng khác nhau:
- profile có cấu trúc;
- vector database;
- relational database;
- graph database;
- file hoặc document store;
- log sự kiện theo thời gian.
Retrieve (Gợi lại) – AI truy xuất memory như thế nào?
Khi agent nhận một yêu cầu mới, retrieval engine sẽ tìm các memory liên quan và đưa chúng vào context cùng với system instruction, working memory và dữ liệu từ tool. Cách đơn giản nhất là semantic similarity: biến câu hỏi và memory thành embedding, sau đó tìm những nội dung có ý nghĩa gần nhau.
Tuy nhiên, similarity không phải lúc nào cũng đủ. Một memory có thể rất liên quan về mặt ngữ nghĩa nhưng đã lỗi thời. Ngược lại, một sự kiện quan trọng có thể không dùng đúng từ khóa trong truy vấn hiện tại. Vì vậy, nhiều hệ thống kết hợp ba tín hiệu:
- Relevance: Memory có liên quan đến task hiện tại hay không?
- Recency: Memory đó mới hay cũ?
- Importance: Nó có ảnh hưởng lớn đến quyết định hay không?
Paper Generative Agents là một ví dụ nổi bật về cách kết hợp relevance, recency và importance để chọn memory phục vụ hành vi của agent. Trong production, hybrid retrieval thường thực tế hơn việc chỉ dựa vào cosine similarity.14
Update (Cập nhật) – Cập nhật memory khó hơn lưu memory
Thông tin về người dùng, sản phẩm và môi trường luôn có thể thay đổi. Người dùng có thể đổi sở thích. Một business rule có thể được cập nhật. Một quy trình cũ có thể không còn áp dụng. Nếu hệ thống chỉ tiếp tục thêm memory mới mà không xử lý thông tin cũ, agent sẽ sớm gặp mâu thuẫn. Vì vậy, mỗi loại memory cần có cơ chế cập nhật rõ ràng:
- overwrite khi thông tin mới thay thế hoàn toàn thông tin cũ;
- merge khi hai memory có thể bổ sung cho nhau;
- versioning để lưu lịch sử thay đổi;
- invalidate khi memory không còn đáng tin cậy;
- archive thay vì xóa hoàn toàn;
- gắn timestamp và provenance để biết memory đến từ đâu.
Memory không nên được coi là một tập hợp facts bất biến. Nó giống một hệ thống dữ liệu sống, cần được quản trị liên tục.15
Forget (Quên) – Memory cũng cần được nén và quên
Một hệ thống memory không thể tăng trưởng vô hạn. Khi dữ liệu ngày càng nhiều, hệ thống cần tóm tắt, hợp nhất và loại bỏ những memory không còn giá trị. Nếu không, chi phí embedding, lưu trữ, retrieval và prompt đều sẽ tăng theo thời gian.
Một số kỹ thuật thường được sử dụng gồm:
- tóm tắt nhiều sự kiện thành một kết luận;
- hợp nhất các memory trùng lặp;
- archive những dữ liệu ít được sử dụng;
- áp dụng time-to-live cho thông tin tạm thời;
- giảm trọng số của memory cũ;
- xóa memory đã bị thay thế;
- chỉ giữ một phần memory quan trọng trong context, phần còn lại truy xuất khi cần.
Điều này nghe có vẻ nghịch lý, nhưng một hệ thống memory tốt không phải là hệ thống nhớ mọi thứ. Nó là hệ thống biết nhớ đúng và quên đúng.16
Những vấn đề thường gặp khi xây memory
Rủi ro đầu tiên là memory pollution: hệ thống lưu quá nhiều thông tin không cần thiết hoặc lưu một kết luận sai. Một khi memory sai được đưa trở lại context, model có thể tiếp tục hành động dựa trên giả định sai đó. Nếu agent lại sử dụng kết quả mới để cập nhật memory, lỗi có thể tự củng cố qua nhiều vòng.17
Rủi ro thứ hai là stale memory. Memory từng đúng nhưng không còn đúng nữa. Đây là lý do timestamp, versioning và contradiction detection rất quan trọng.18
Rủi ro tiếp theo là hallucinated memory. LLM có thể suy diễn một fact không thực sự xuất hiện trong dữ liệu gốc, sau đó hệ thống vô tình lưu nó như sự thật.
Ngoài ra còn có các vấn đề về privacy và security. Memory có thể chứa thông tin cá nhân, lịch sử hành vi và dữ liệu nhạy cảm. Người dùng cần biết hệ thống đang nhớ gì, có thể sửa hoặc xóa memory và kiểm soát phạm vi sử dụng của dữ liệu.
Cuối cùng là bài toán chi phí. Memory càng lớn, việc embedding, lưu trữ, truy xuất và đưa dữ liệu vào context càng tốn tài nguyên. Vì vậy, tối ưu memory không chỉ là tối ưu retrieval. Quan trọng hơn là kiểm soát ngay từ write path: chọn đúng thứ cần lưu trước khi nghĩ đến việc tìm lại nó.19
Memory trong AI agent và tương lai của AI system
Vai trò của memory sẽ thay đổi tùy theo loại agent. Với coding agent, memory có thể lưu coding convention của dự án, những phương án đã thử nhưng không hiệu quả, chiến lược kiểm thử và các quyết định kiến trúc trước đó. Với customer service agent, memory có thể bao gồm lịch sử hỗ trợ, preference của khách hàng và những vấn đề vẫn chưa được giải quyết. Trong khi đó, một trợ lý AI cá nhân có thể ghi nhớ thói quen, lịch trình và cách người dùng muốn giao tiếp. Khi được thiết kế tốt, memory giúp agent không còn phản hồi như thể mỗi yêu cầu đều là lần tương tác đầu tiên. Thay vào đó, agent có thể đưa ra quyết định dựa trên cả bối cảnh hiện tại, lịch sử làm việc và những bài học đã tích lũy qua thời gian.
Nhiều hướng nghiên cứu hiện nay đang tiếp cận bài toán này từ những góc độ khác nhau. MemGPT tổ chức memory theo nhiều tầng, tương tự cách virtual memory hoạt động trong hệ điều hành, để agent có thể luân chuyển thông tin giữa context hiện tại và kho lưu trữ dài hạn. Reflexion cho thấy agent có thể cải thiện hành vi bằng cách chuyển feedback thành các bài học bằng ngôn ngữ, thay vì phải cập nhật lại model weights. MemoryBank và Mem0 tập trung nhiều hơn vào việc xây dựng long-term memory có khả năng lưu trữ, truy xuất và cập nhật trong các hệ thống production. Trong khi đó, Titans đưa memory đi sâu hơn vào chính kiến trúc của model.20 21 22 23
Dù khác nhau về cách tiếp cận, các hướng nghiên cứu này đều cho thấy một sự chuyển dịch rõ ràng: AI đang dần đi từ những stateless model chỉ phản hồi trong từng phiên riêng lẻ sang những persistent system có khả năng duy trì bối cảnh, tích lũy kinh nghiệm và thích nghi theo thời gian.
Tạm kết
Một LLM có thể rất thông minh trong một lần tương tác, nhưng để trở thành một agent thực sự hữu ích, nó cần duy trì tính liên tục qua thời gian. Memory giúp AI nhớ người dùng là ai, công việc đang ở đâu, điều gì từng xảy ra và bài học nào nên được sử dụng cho lần tiếp theo. Tuy nhiên, xây memory không đơn giản là lưu toàn bộ hội thoại vào vector database. Một hệ thống memory hoàn chỉnh phải biết lựa chọn, tổ chức, truy xuất, cập nhật, nén và quên.
RAG giúp AI tiếp cận đúng tri thức. Memory giúp AI duy trì kinh nghiệm và bản sắc của chính hệ thống qua nhiều lần tương tác. Và chỉ khi AI có thể nhớ đúng, quên đúng và học đúng từ những gì đã xảy ra, chúng ta mới thực sự chuyển từ một mô hình chỉ biết trả lời sang một hệ thống biết làm việc.
Lemon’s Tribe xin hẹn ở 1 bài viết sau, đi sâu hơn về cách tối ưu hoá pipeline xây dựng memory của AI. Hãy đón đọc, bạn nhé!
Cheers & Peace!
Nguồn tham khảo
- OpenAI, Memory FAQ, https://help.openai.com/en/articles/8590148-memory-faq ↩︎
- LangChain Documentation, Short-term Memory, https://docs.langchain.com/oss/python/langchain/short-term-memory ↩︎
- https://cloud.google.com/discover/what-are-ai-agents ↩︎
- OpenAI, Memory FAQ, https://help.openai.com/en/articles/8590148-memory-faq ↩︎
- Google Cloud, To tune or not to tune? A guide to leveraging your data with LLMs, https://cloud.google.com/blog/products/ai-machine-learning/to-tune-or-not-to-tune-a-guide-to-leveraging-your-data-with-llms ↩︎
- LangChain Documentation, Memory Overview, https://docs.langchain.com/oss/python/concepts/memory ↩︎
- IBM, What is AI agent memory, https://www.ibm.com/think/topics/ai-agent-memory ↩︎
- LangChain Documentation, Short-term Memory, https://docs.langchain.com/oss/python/langchain/short-term-memory ↩︎
- LangChain Documentation, Memory Overview, https://docs.langchain.com/oss/python/concepts/memory ↩︎
- LangChain Documentation, Memory Overview, https://docs.langchain.com/oss/python/concepts/memory ↩︎
- LangChain Documentation, Memory Overview, https://docs.langchain.com/oss/python/concepts/memory ↩︎
- Park et al., Generative Agents: Interactive Simulacra of Human Behavior, https://ar5iv.labs.arxiv.org/html/2304.03442 ↩︎
- Sumers et al., Cognitive Architectures for Language Agents (CoALA) ↩︎
- Park et al., Generative Agents: Interactive Simulacra of Human Behavior, https://ar5iv.labs.arxiv.org/html/2304.03442 ↩︎
- OpenAI, Memory FAQ, https://help.openai.com/en/articles/8590148-memory-faq ↩︎
- LangChain Documentation, Short-term Memory, https://docs.langchain.com/oss/python/langchain/short-term-memory ↩︎
- Park et al., Generative Agents: Interactive Simulacra of Human Behavior, https://ar5iv.labs.arxiv.org/html/2304.03442 ↩︎
- Google Cloud, Announcing Vertex AI Agent Engine Memory Bank available for everyone in preview, https://cloud.google.com/blog/products/ai-machine-learning/vertex-ai-memory-bank-in-public-preview ↩︎
- OpenAI, Memory FAQ, https://help.openai.com/en/articles/8590148-memory-faq ↩︎
- Behrouz et al., Titans: Learning to Memorize at Test Time, https://arxiv.org/html/2501.00663v1 ↩︎
- Packer et al., MemGPT: Towards LLMs as Operating Systems, https://arxiv.org/pdf/2310.08560 ↩︎
- Zhong et al., MemoryBank: Enhancing Large Language Models with Long-Term Memory, https://arxiv.org/pdf/2305.10250 ↩︎
- Shinn et al., Reflexion: Language Agents with Verbal Reinforcement Learning, https://arxiv.org/pdf/2303.11366 ↩︎


Leave a Reply
You must be logged in to post a comment.