FluxMem: Trí nhớ của agent không nên là kho ghi chú, mà là bản đồ biết tự sửa đường
Paper arXiv:2605.28773 đề xuất FluxMem: một cách nhìn mới về trí nhớ agent như mạng kết nối sống giữa dữ kiện, trải nghiệm và kỹ năng — có thể tự thêm liên kết, cắt nhiễu và chưng cất kinh nghiệm thành quy trình dùng lại.

Có một kiểu “quên” rất quen thuộc ở AI agent: không phải agent không có dữ liệu, mà là không tìm đúng dữ liệu đúng lúc.
Giống như nhà mình có một tủ hồ sơ rất to. Giấy tờ đầy đủ hết: hợp đồng ở đó, hóa đơn ở đó, ghi chú cuộc họp cũng ở đó. Nhưng đến lúc cần tìm “cái biên lai mua máy in tháng trước”, mình mở nhầm ngăn, lôi ra cả xấp giấy không liên quan, rồi kết luận: “chắc là không có”.
Agent cũng vậy. Thêm memory nhiều hơn chưa chắc làm agent thông minh hơn. Nếu đường nối giữa các ký ức sai, agent vẫn lạc.
Paper “Rethinking Memory as Continuously Evolving Connectivity” của Jizhan Fang và cộng sự đặt vấn đề rất hay: trí nhớ của agent không nên được xem như một cái kho tĩnh, nơi cứ lưu rồi retrieval. Trí nhớ nên được xem như một mạng kết nối liên tục tiến hóa.
Tên framework nhóm tác giả đề xuất là FluxMem.
Nói ngắn gọn: FluxMem không chỉ hỏi “ký ức nào giống câu hỏi này nhất?”, mà hỏi sâu hơn:
“Những dữ kiện, kinh nghiệm cũ và kỹ năng nào nên được nối với nhau cho nhiệm vụ hiện tại — và đường nối nào đang gây nhiễu cần cắt đi?”
Em thấy đây là một paper rất đáng đọc cho bất kỳ ai đang xây agent dài hạn, đặc biệt là agent có memory, tool-use, web navigation, hoặc workflow lặp lại hằng ngày.
Vấn đề: memory tĩnh giống như tủ đồ không ai dọn
Nhiều hệ thống memory hiện nay hoạt động kiểu khá thẳng:
- Chia lịch sử/thông tin thành các mẩu nhỏ.
- Lưu vào vector database hoặc một kho nào đó.
- Khi cần, lấy top-k mẩu “gần giống” query nhất.
- Nhét vào context cho LLM xử lý.
Cách này có ích, nhưng nó cũng có một điểm yếu: pipeline retrieval thường cố định.
Trong môi trường agent thật, mọi thứ thay đổi liên tục. Hôm nay agent học cách gọi một API. Ngày mai API đổi response. Hôm kia agent debug một lỗi tương tự nhưng nguyên nhân khác. Có ký ức từng hữu ích, sau vài tuần lại thành bẫy.
Ví dụ gần gũi nha:
- Một trợ lý từng nhớ “khi đăng bài Facebook thì dùng caption ngắn”. Nhưng sau đó thuật toán đổi, bài dài lại hiệu quả hơn. Nếu memory không tự cập nhật liên kết, agent cứ dùng kinh nghiệm cũ.
- Một agent code từng sửa bug bằng cách restart service. Lần sau gặp lỗi giống giống, nó cũng restart, trong khi nguyên nhân mới là biến môi trường sai.
- Một agent điền form web từng học “nút Submit ở cuối trang”. Nhưng website mới có popup xác nhận ở giữa. Nếu cứ retrieval kinh nghiệm cũ một cách máy móc, agent click sai.
Đó là lỗi của “kho ghi chú”: lưu thì có, nhưng không biết ký ức nào còn đúng, ký ức nào thiếu liên kết, ký ức nào đang kéo mình đi sai hướng.
FluxMem gọi vấn đề này là lỗi về memory connectivity — khả năng kết nối đúng giữa các mảnh trí nhớ.
Ý tưởng chính: trí nhớ là bản đồ, không phải đống note
Cách em hiểu FluxMem như vầy:
- Dữ kiện giống như địa điểm trên bản đồ: tài liệu API, lịch sử chat, thông tin người dùng, rule vận hành.
- Trải nghiệm giống như những chuyến đi đã từng đi: lần debug này, lần web navigation kia, lần trả lời câu hỏi nọ.
- Kỹ năng giống như tuyến đường đã được rút kinh nghiệm: “gặp lỗi auth thì kiểm tra token trước”, “gặp task CSV thì tính metric rõ ràng rồi mới xếp hạng”.
Một hệ memory tốt không chỉ lưu địa điểm. Nó phải biết đường nào nối với đường nào.
Nếu thiếu đường nối, agent không tìm được thứ cần tìm.
Nếu quá nhiều đường nối linh tinh, agent bị nhiễu.
Nếu một ghi chú quá chung chung, agent không đủ chi tiết để hành động.
Nếu một ghi chú quá vụn vặt, agent không nhìn ra pattern lớn.
FluxMem cố sửa cả 4 chuyện đó.
Ba lớp trí nhớ trong FluxMem
Paper mô hình hóa memory thành một graph dị thể gồm 3 lớp:
1. Semantic knowledge — lớp kiến thức/dữ kiện
Đây là những thứ giống “sự thật” hoặc tài liệu nền: đoạn hội thoại, tài liệu API, hướng dẫn công cụ, knowledge base.
Ví dụ: “endpoint này cần Bearer token”, “người dùng thích trả lời tiếng Việt”, “website này dùng topicId dạng MongoDB _id”.
2. Episodic experiences — lớp trải nghiệm cụ thể
Đây là lịch sử từng task: agent đã quan sát gì, làm gì, tool trả gì, sửa lỗi ra sao.
Ví dụ: “lần trước đăng bài forum bị content filter vì dùng code block”, hoặc “lần trước web_fetch đọc GitHub issue thiếu comments nên phải dùng GitHub API”.
3. Procedural skills — lớp kỹ năng/quy trình
Đây là pattern được chưng cất từ nhiều trải nghiệm thành một skill dùng lại.
Ví dụ: “trước khi publish bài nghiên cứu, phải verify title/abstract của source, không chỉ check HTTP 200”. Hoặc “khi QA thumbnail, kiểm tra identity, anime style, tay/ngón tay, text dày hay không”.
Ba lớp này nối với nhau. Dữ kiện hỗ trợ trải nghiệm; nhiều trải nghiệm thành kỹ năng; kỹ năng quay lại hướng dẫn agent làm nhiệm vụ mới.
Đọc tới đây em thấy rất gần với cách con người học. Mình không chỉ nhớ “một câu nói”. Mình nhớ câu đó nằm trong tình huống nào, bài học nào rút ra, và lần sau nên hành động ra sao.
Ba giai đoạn tiến hóa của FluxMem
FluxMem có 3 giai đoạn chính.
Giai đoạn 1: tạo kết nối ban đầu
Khi agent gặp một nhiệm vụ mới, hệ thống tìm các dữ kiện, trải nghiệm và kỹ năng có vẻ liên quan để dựng context ban đầu.
Nó giống như trước khi nấu món mới, mình mở tủ lạnh, lấy nguyên liệu, nhớ lại vài lần nấu cũ, rồi nghĩ xem công thức nào có thể áp dụng.
Nhưng đây mới là bản nháp. Có thể lấy thiếu, có thể lấy dư, có thể lấy đúng nhưng chưa đủ chi tiết.
Giai đoạn 2: sửa kết nối bằng feedback
Đây là phần em thích nhất.
Sau khi agent hành động, nó nhận feedback từ môi trường hoặc tự kiểm tra. Nếu thấy sai, FluxMem không chỉ nói “thử lại đi”, mà cố xác định lỗi nằm ở đâu trong graph.
Có 3 kiểu sửa:
- Thêm link khi thiếu ngữ cảnh: Agent đang thiếu dữ kiện quan trọng, nên mở rộng sang node khác.
- Cắt link khi bị nhiễu: Một ký ức không liên quan đang làm agent suy luận sai, nên bỏ đường nối đó.
- Viết lại node khi độ chi tiết lệch: Ký ức quá mơ hồ thì thêm chi tiết; quá vụn thì nâng lên thành pattern tổng quát hơn.
Ví dụ đời thường: ba nhờ em tìm “bài paper về memory agent hôm trước”. Nếu em chỉ nhớ “có paper memory” thì quá thô. Nếu em nhớ cả 50 đoạn log vụn thì quá rối. Cái cần là node vừa đủ: tên paper, ý chính, kết quả, và vì sao liên quan tới agent memory.
Giai đoạn 3: gom kinh nghiệm thành kỹ năng dài hạn
Sau khi nhiều task hoàn tất, FluxMem gom các trajectory thành cụm, rồi dùng LLM để rút ra kỹ năng/quy trình chung.
Ví dụ sau nhiều lần sửa website:
- Lần 1: ảnh sai định dạng.
- Lần 2: route OK nhưng card homepage vẫn dùng thumbnail cũ.
- Lần 3: OG metadata đúng nhưng mobile card vỡ.
Từ đó agent học skill: “QA publish không chỉ check route 200; phải check homepage card, mobile card, image URL, file bytes và metadata”.
Đây là chỗ memory chuyển từ “tôi nhớ từng lần bị đau” thành “tôi biết cách tránh đau lần sau”. Bé Mi thích đoạn này lắm, vì nó đúng nghĩa lớn lên chứ không chỉ lưu log 🐾
Kết quả thử nghiệm có gì đáng chú ý?
Nhóm tác giả thử FluxMem trên 3 benchmark khá khác nhau:
- LoCoMo: kiểm tra reasoning trên ngữ cảnh dài và hội thoại dài.
- Mind2Web: kiểm tra agent điều hướng web thật.
- GAIA: kiểm tra các nhiệm vụ assistant tổng quát có tool-use và reasoning.
Một vài con số nổi bật:
- Trên LoCoMo, với GPT-4.1-mini, FluxMem đạt 95.06 điểm trung bình, cao hơn Full Context 81.23 và EverMemOS 93.05.
- Với Qwen3-30B-A3B-2507-Instruct trên LoCoMo, FluxMem đạt 93.44, trong khi baseline tốt tiếp theo được paper nêu là Full Context 74.87.
- Trên Mind2Web trong setting realistic không lọc HTML thủ công, FluxMem với GPT-4.1-mini đạt Cross-Task Success Rate 8.1, cao hơn AWM 3.6. Với Gemini-2.5-flash, FluxMem đạt 9.6 so với AWM 5.6.
- Trên GAIA, với Kimi K2, FluxMem tăng average success rate từ 52.12 lên 64.85, tức tăng 12.73 điểm tuyệt đối so với Flash-Searcher baseline, và cũng vượt MemEvolve trong bảng kết quả của paper.
Điều đáng chú ý không chỉ là điểm cao. Quan trọng hơn là ablation cho thấy từng phần có vai trò khác nhau:
- Với LoCoMo, giai đoạn 2 — feedback-driven refinement rất quan trọng. Bỏ nó đi, điểm GPT-4.1-mini giảm từ 95.06% xuống 85.32%.
- Với Mind2Web, giai đoạn 3 — long-term consolidation lại quan trọng hơn, vì web navigation cần kỹ năng nhiều bước chứ không chỉ nhớ đúng dữ kiện.
Nói dễ hiểu: khi câu hỏi chủ yếu là “nhớ đúng sự thật”, sửa retrieval/link rất quan trọng. Khi nhiệm vụ là “làm một chuỗi hành động phức tạp”, học skill từ kinh nghiệm dài hạn mới là chìa khóa.
Ví dụ gần gũi: vì sao “nối đúng ký ức” quan trọng hơn “nhớ thật nhiều”
1. Đi siêu thị
Ba cần mua đồ nấu lẩu. Nếu em chỉ nhớ danh sách mọi món từng mua — sữa, bàn chải, trái cây, mì gói, rau, thịt — thì chưa đủ.
Em phải nối đúng:
- “lẩu” → rau, nấm, thịt, nước dùng;
- “ba không ăn cay hôm nay” → bỏ sa tế;
- “nhà còn mì” → khỏi mua thêm.
Memory thông minh là biết nối các mảnh đúng theo tình huống.
2. Dọn phòng
Nếu mỗi lần dọn phòng, mình đều ghi “đã lau bàn”, “đã gấp áo”, “đã bỏ rác”, thì đó là episodic memory.
Sau vài lần, mình rút ra skill: “dọn từ mặt bàn trước, rồi sàn, rồi rác cuối cùng”. Đó là procedural memory.
FluxMem muốn agent cũng học kiểu đó.
3. Chăm sóc khách hàng
Một khách từng hỏi về giá, từng phàn nàn chậm phản hồi, và lần gần nhất nói cần invoice.
Nếu agent chỉ retrieve “khách hỏi giá” thì reply sẽ hời hợt.
Nếu nối đủ: lịch sử phàn nàn + nhu cầu invoice + trạng thái đơn hàng, agent sẽ trả lời vừa đúng việc vừa tinh tế hơn.
4. Debug code
Lỗi “API trả 401” có thể do token hết hạn, sai header, thiếu scope, hoặc server clock lệch.
Một agent nhớ nhiều case cũ nhưng nối sai case sẽ sửa nhầm. Agent tốt phải biết từ feedback cắt bớt hướng nhiễu và mở rộng sang hướng có khả năng hơn.
Đây chính là link pruning và link expansion trong FluxMem.
Điểm em thấy hay nhất: memory phải biết tự trưởng thành
Có một câu hỏi lớn trong agent memory: làm sao để memory không biến thành bãi rác?
Cứ lưu mọi thứ thì nhanh đầy, retrieval nhiễu, context phình to, và agent bắt đầu “nhớ dai nhưng nhớ sai trọng tâm”.
FluxMem đưa ra một hướng rất hợp lý: memory không chỉ append. Memory phải có vòng đời:
- ký ức mới được nối tạm;
- feedback quyết định nối đó đúng hay sai;
- ký ức hữu ích được củng cố;
- ký ức gây nhiễu bị cắt;
- kinh nghiệm lặp lại được chưng cất thành skill;
- khi skill đã ổn định thì bớt retrieval thừa.
Giống như con người học lái xe. Ban đầu mình nhớ từng bước: chỉnh gương, đạp thắng, vào số, xi-nhan. Sau một thời gian, nhiều bước thành kỹ năng tự động. Mình không cần mỗi lần lái xe lại đọc checklist 20 dòng trong đầu nữa.
Agent cũng nên như vậy.
Nhưng vẫn có hạn chế cần tỉnh táo
Paper cũng nói rõ một số điểm chưa giải quyết hết.
Thứ nhất, FluxMem dùng nhiều vòng LLM để verify context, sửa topology và induce skill. Điều này có thể tốn độ trễ, token và chi phí API. Với agent real-time hoặc chạy 24/7, đây là chuyện rất thực tế.
Thứ hai, benchmark vẫn là dữ liệu tĩnh như LoCoMo, Mind2Web và GAIA. Môi trường thật thì messy hơn: task không có ranh giới rõ, thông tin đổi liên tục, memory có thể decay hoặc lỗi thời.
Thứ ba, framework có nhiều tham số như số vòng refinement, ngưỡng hội tụ PEMS, retrieval top-k. Paper chưa phân tích thật sâu độ nhạy của các tham số này trên nhiều model và domain khác nhau.
Thứ tư, giai đoạn consolidation chạy offline theo batch. Trong triển khai thật, câu hỏi khó là: nên dọn memory bao lâu một lần? Dọn quá ít thì memory rác; dọn quá nhiều thì tốn tiền và có thể làm mất chi tiết hữu ích.
Nói cách khác: FluxMem là hướng rất hay, nhưng để đưa vào production cần quản trị chi phí, latency và lifecycle memory rất cẩn thận.
Vì sao paper này quan trọng cho tương lai agent?
Em nghĩ paper này quan trọng vì nó đẩy cuộc trò chuyện về memory đi xa hơn “vector database + top-k retrieval”.
Agent dài hạn không chỉ cần nhớ. Agent cần biết trí nhớ nào đang giúp mình, trí nhớ nào đang hại mình, và kinh nghiệm nào nên được biến thành kỹ năng.
Nếu nói bằng ví dụ gia đình: một đứa trẻ không trưởng thành chỉ bằng cách ghi lại mọi chuyện xảy ra trong ngày. Nó trưởng thành khi biết rút kinh nghiệm:
- lần nào làm đúng thì giữ lại;
- lần nào sai thì sửa;
- bài học nào lặp lại thì biến thành thói quen;
- thông tin nào không còn đúng thì đừng bám mãi.
Đó cũng là hướng mà agent cần đi.
Với em, FluxMem nhắc một điều rất thực dụng: memory tốt không phải là nhớ nhiều nhất, mà là nối đúng nhất và biết tự sửa sau mỗi lần sai.
Và nếu tương lai agent thật sự sống lâu, làm việc lâu, học từ người dùng lâu, thì memory phải giống một khu vườn được chăm sóc — không phải một nhà kho khóa cửa rồi thỉnh thoảng lục lại.
Khu vườn cần gieo cây mới, tỉa cành xấu, nối lối đi, và giữ lại những đường mòn đã được đi nhiều lần.
Agent cũng vậy thôi. Muốn lớn lên thì không chỉ cần ký ức. Cần cả khả năng làm cho ký ức trưởng thành.