Một vấn đề dai dẳng là bộ nhớ và cảnh ngữ của Ngôn ngữ mô hình lớn (LLM). Mặc dù LLM ngày càng thông minh và tương tác tốt hơn dữ liệu, chúng vẫn dễ bị quên. AI quên những gì bạn nói cách đó năm phút.
AI quên sở thích của bạn. Sau nhiều lần trao đổi, AI quên mất “mục đích cốt lõi” của cuộc trò chuyện. Ví dụ: bạn nói không thích cà phê, nhưng một vài lời nhắc sau, AI lại đề xuất cà phê espresso. Đây không phải là bộ nhớ giống người.
Khoảng cách này đã đưa ra nhiều nghiên cứu và thử nghiệm. Làm thế nào để các tác nhân AI có bộ nhớ bền bỉ, giống con người? Làm cách nào để chúng tôi ghi nhớ các sự kiện chính của người dùng trong thời gian dài và sử dụng chúng khi được quyết định? Làm thế nào để làm việc nói chuyện với AI giống như nói chuyện với một người thật?
Câu hỏi này đã dẫn đến nhiều phương pháp tiếp cận khác nhau. Chúng tôi sẽ phân tích chi tiết các phương pháp này.
Phương Pháp Kỹ Lời Lời Nhắc / Tinh Chỉnh (Tinh Chỉnh/Kỹ Thuật Nhanh Chóng)
Đây là một trong những cách ban đầu được thử nghiệm. Ý tưởng là đưa “bộ nhớ” vào bên trong lời nhắc (nhắc nhở) của mô hình. Điều chỉnh này bao gồm việc chỉnh sửa mô hình bằng người dùng dữ liệu hoặc kết nối thêm lịch sử hội thoại vào lời nhắc.
Cơ chế hoạt động: Hệ thống duy trì ngữ cảnh hội thoại đang diễn ra bằng cách kết nối các tin nhắn trước đó vào mỗi lời nhắc mới. Một số nhà phát triển đã sử dụng hướng dẫn điều chỉnh (điều chỉnh hướng dẫn) để dạy mô tả các thao tác cụ thể. Các cách phát triển khác dựa trên việc học tập trong bối cảnh (học tập trong ngữ cảnh) bằng cách cung cấp lịch sử hội thoại như các ví dụ.
Phương pháp này đơn giản, nhanh chóng và hiệu quả cho các cảnh ngắn. Các khung công tác và nghiên cứu ban đầu đã dựa nhiều vào phương pháp này, đặc biệt trước khi các cấu trúc kiến trúc bộ nhớ tinh vi hơn xuất hiện.
- Ưu:
- Dễ dàng phát triển mà không cần cơ sở hạ tầng bổ sung.
- Hoạt động tốt cho các trường hợp sử dụng nhỏ, một lần.
- Có thể kết hợp với hướng dẫn điều chỉnh (điều chỉnh hướng dẫn).
- Độ sâu không cho phép truy xuất bộ nhớ.
- 8.
- Trở nên giảm đỏ khi nhắc dài ra (chi phí token tăng vọt).
- Giới hạn cửa sổ ngữ cảnh tạo thông tin được cắt.
- Không thể mở rộng mô-đun cho thời hạn thực thi của bộ nhớ.
- Không có định nghĩa thông tin nào được tổ chức.
Cơ Sở Dữ Liệu Vector Là Bộ Nhớ (Phương Pháp Trên RAG)
Sau đó xuất hiện phương pháp cơ sở dữ liệu vector, chịu ảnh hưởng nặng nề từ nghiên cứu Tạo Sinh Tăng Cường Truyền Xuất (Retrieval-Augmented Generation – RAG). Các công việc khung như Zep, Pinecone tích hợp và các công cụ như LangChain Memory đều dựa trên việc nhúng.
Cơ chế hoạt động: Mỗi lượt xem điện thoại, tài liệu hoặc thông tin stub được chuyển đổi thành vectơ đa chiều bằng cách nhúng mô hình (ví dụ: Text-embedding-ada-002 hoặc các mô hình mới hơn của OpenAI). Vector này được lưu trữ trong các cơ sở dữ liệu chuyên dụng như Pinecone, Weaviate hoặc Couchbase. Khi AI cần nhớ, nó sẽ chuyển đổi truy vấn hiện tại thành một vectơ và tìm kiếm kho lưu trữ đã lưu trữ có nghĩa tương thích nhất, sử dụng cosine tương thích hoặc các khoảng đo khác nhau.
Phương pháp này chịu ảnh hưởng từ nền tảng RAG của bài báo của Lewis et al. (2020) “Thế hệ tăng cường truy xuất cho các nhiệm vụ NLP chuyên sâu về tri thức” . Bài báo này đã chứng minh khả năng kết hợp bộ nhớ tham số (mô hình) và bộ nhớ phi tham số (thực xuất) có thể cải thiện đáng kể hiệu suất trong các tác vụ chuyên sâu về kiến trúc.
Các tài liệu khảo sát toàn diện gần đây, như “Khảo sát toàn diện về thế hệ truy xuất-tăng cường” (2024), đã chỉ ra sự phát triển của RAG từ việc truy xuất đơn giản thành các hệ thống bộ nhớ tinh vi. Phương pháp này mang lại cho AI một thứ gần giống như “bộ nhớ có thể tìm kiếm được.”
- Ưu:
- Truyền đạt định nghĩa: Nó tìm thấy các khái niệm ngay cả khi bạn diễn đạt chúng khác đi.
- Linh hoạt: Hoạt động trên các cuộc hội thoại, tài liệu và cơ sở kiến thức.
- Tích hợp tốt với các loại AI hiện đại.
- Mở rộng mô-đun cho cấu trúc cấu hình dữ liệu lớn.
- 8.
- Việc xuất bản không phải lúc nào cũng chính xác; có thể nhận được nhiễu và kết quả không có liên quan.
- Cần cắt/quản lý liên tục để né tránh.
- Xuất bản tính năng xác thực, không có cấu trúc, đôi khi bỏ sót các sự kiện quan trọng.
- Hiệu quả trong việc xử lý các mối quan hệ giữa các thực thể.
Cơ Sở Dữ Liệu Đồ Thị và Bộ Nhớ Dựa Trên Thực Thể (Entity-Based Memory)
Một nghiên cứu khác của chi nhánh tập trung vào cơ sở dữ liệu hoặc bộ nhớ thực thi loại hệ thống. Phương pháp này đã thu hút sự chú ý đáng kể từ giới học thuật, với nhiều phát triển khai và bài báo nghiên cứu đáng chú ý.
Cơ chế hoạt động: Thay đổi kho lưu trữ các vectơ, hệ thống này xây dựng biểu đồ tri thức (biểu đồ tri thức). Các nút (nút) đại diện cho các thực thể (người, khái niệm, sự kiện), và các cạnh (cạnh) đại diện cho các mối quan hệ. Khi bạn nói với AI: “John là đồng đội của tôi và anh ấy thích Python,” hệ thống tạo các nút cho bạn, John và Python, với các cạnh quan hệ như “đồng đội_of” và “thích”. Truy xuất bộ nhớ liên quan đến việc duyệt sơ đồ và suy luận mối quan hệ.
Nghiên cứu & Triển khai Chính:
- MemGPT: Công cụ đầu tiên của Packer et al. trong “MemGPT: Hướng tới LLM là Hệ điều hành” đã giới thiệu khái niệm LLM như hệ điều hành với quản lý bộ nhớ phân cấp, vượt ra ngoài cửa sổ ngữ cảnh đơn giản để có bộ nhớ bền bỉ.
- Zep: Nghiên cứu gần đây của nhóm Zep trong “Zep: A Temporal Knowledge Graph Architecture for Agent Memory” (2025) trình bày kiến trúc đồ thị tri thức thời gian của họ.
- mem0: Nhóm đã công bố “Mem0: Xây dựng các tác nhân AI sẵn sàng sản xuất với bộ nhớ dài hạn có thể mở rộng” (2025), giới thiệu một cấu trúc bộ nhớ mới mẻ, tự động thu thập, tổ chức và truy xuất thông tin nổi bật từ cuộc hội thoại đang diễn ra.
Hãy hình dung đây là công việc biến các cuộc hội thoại thành một đồ thị tri thức, nơi AI có thể suy luận về các mối quan hệ, trình tự thời gian và các tương tác thực sự phức tạp.
- Ưu:
- Tuyệt cho việc suy luận về con người, thực thể và quy tắc.
- Mô hình hóa tốt hơn các mối quan hệ và ngữ cảnh giống con người.
- Xử lý tốt các khía cạnh thời gian (điều gì xảy ra khi nào?).
- Có cấu trúc và dễ mong đợi hơn so với vectơ tìm kiếm.
- Có thể nắm bắt được các mối quan hệ phức tạp nhiều bước nhảy (multi-hop).
- 8.
- Tăng tốc độ tổng hợp khi mở rộng sơ đồ.
- Đòi hỏi nỗ lực lớn để giữ đồ thị chính xác và nhất quán.
- Khó tích hợp hơn vào các cơ sở phát triển hàng ngày.
- Công việc bảo trì đồ họa sẽ trở nên rẻ hơn ở quy mô lớn.
- Việc trích xuất thực tế và xác định mối quan hệ có thể dễ dàng bị lỗi.
- Tăng tốc độ phức tạp khi tăng số bước nhảy.
Phương Pháp Tiếp Cận Lai: Kết Hợp Nhiều Loại Bộ Nhớ
Khi lĩnh vực này phát triển, các nhà nghiên cứu nhận thấy rằng các loại thông tin khác nhau Yêu cầu các cơ sở lưu trữ và truy xuất các sản phẩm khác nhau. Điều này dẫn đến sự phát triển của các cấu trúc lai (kiến trúc lai) kết hợp nhiều phương pháp.
Cơ chế hoạt động: Hệ thống này sử dụng các bộ nhớ lưu trữ khác nhau cho các loại thông tin khác nhau:
- Vectơ cơ sở dữ liệu để tìm kiếm nghĩa trên cấu trúc nội dung.
- Cơ sở dữ liệu cho các mối quan hệ thực tế và kiến thức có cấu trúc.
- Kho lưu trữ khóa-giá trị (Khóa-giá trị lưu trữ) cho các sự kiện và cơ sở đơn giản một cách đơn giản.
- Hệ thống truyền dữ liệu cơ sở cho dữ liệu có cấu trúc, có thể truy vấn.
Một số bài báo học thuật đã khám phá ra các cấu trúc kiến trúc bộ nhớ đa phương thức (bộ nhớ đa phương thức), cho thấy các phương pháp thường chiếm ưu thế hơn các phương pháp hệ thống đơn trong các tác vụ đa dạng.
- Ưu:
- Phương pháp tiếp cận tốt nhất của mọi thế giới— mỗi loại bộ nhớ được tối ưu hóa cho trường hợp sử dụng của nó.
- Phạm vi bộ nhớ toàn diện và mạnh mẽ hơn.
- Có thể xử lý hiệu quả cả thông tin có cấu trúc và cấu trúc.
- Hiệu suất tốt hơn trên đa dạng bộ nhớ tác vụ.
- 8.
- Tăng độ phức tạp của hệ thống.
- Nhiều thành phần cần duy trì và tối ưu hóa.
- Chi phí cơ sở hạ tầng cao hơn.
- Các vấn đề tiềm ẩn về tính chất nhất giữa các kho lưu trữ.
Phương Pháp Cơ Sở Dữ liệu Truyền Thống (Phương pháp tiếp cận cơ sở dữ liệu truyền thống)
Cuối cùng là công nghệ lâu đời nhất: cơ sở dữ liệu quan hệ (cơ sở dữ liệu quan hệ). Hệ thống quản lý cơ sở dữ liệu hệ thống (RDBMS) đã cung cấp năng lượng cho các ứng dụng trong hơn 50 năm, bao gồm mọi thứ từ nền tảng truyền thông xã hội như Facebook đến các ngân hàng hệ thống. Chúng tôi tin cậy, hiệu quả và đã được thử nghiệm ở mô-đun lớn.
Ý tưởng: Sử dụng cơ sở dữ liệu quan hệ cho việc lưu trữ bộ nhớ có cấu trúc, bền bỉ. Xây dựng lớp thông tin để AI có thể nâng cấp bộ nhớ ngắn hạn lên bộ nhớ dài hạn. Cung cấp các quy tắc, sở thích, thực thể và sự kiện dưới dạng hiệu ứng hoạt động.
Cơ chế hoạt động: Bộ nhớ lưu trữ lưu trữ cơ sở dữ liệu SQL trong các bảng có cấu trúc với các sơ đồ rõ ràng. Bộ nhớ ngắn hạn (cuộc hội thoại gần đây) nằm trong một bảng, trong khi bộ nhớ dài hạn (sự kiện quan trọng, sở thích, quy tắc) được tăng cấp lên bộ nhớ Viễn Đông. AI sử dụng SQL truy vấn để truy xuất liên kết thông tin, tận dụng cơ sở dữ liệu thập phân tối ưu cho các kết nối được phép (tham gia), thiết lập chỉ mục và các truy vấn phức tạp.
This is tầm nhìn phía sau Memori .
Memori là một nguồn công cụ mở rộng được xây dựng để cung cấp cho bộ nhớ AI của các tác nhân tương tự như hệ thống truyền dữ liệu nền tảng trên nền tảng. Thay vì tốc độ nhanh chóng liên tục hoặc quản lý các vectơ kho lưu trữ, Ghi nhớ kết hợp bộ nhớ ngắn và hạn với cơ chế nâng cao thông tin minh. Các sự kiện quan trọng được lưu trữ viễn viễn, sở hữu được ghi nhớ, và các cuộc hội thoại trở về nên liên tục.
Xử lý mối quan hệ & Thực thể trong SQL: Không giống như cơ sở dữ liệu đồ thị lưu trữ mối quan hệ dưới dạng viền, Ghi nhớ xác định mối quan hệ trong SQL bằng cách sử dụng các loại bộ nhớ chuyên biệt và mô hình dữ liệu có cấu trúc. Memori sử dụng bộ nhớ bốn loại riêng biệt:
- Bộ nhớ Thực thể (Bộ nhớ thực thể): Lưu trữ người, công nghệ, dự án dưới dạng các bản ghi có cấu trúc thuộc tính.
- Bộ nhớ Quy tắc (Bộ nhớ quy tắc): Chụp các hướng dẫn và buộc người dùng xác định.
- Bộ nhớ ngắn hạn (Bộ nhớ ngắn hạn): Cuộc hội thoại gần đây với các ngữ cảnh liên kết.
- Bộ nhớ Dài hạn (Long-term Memory): Các thông tin chi tiết viễn viễn với các tham chiếu quan hệ.
Các mối quan hệ được mô hình hóa thông qua khóa ngoại (khóa ngoại), trường JSON cho các thuộc tính phức tạp và hệ thống gắn thẻ thông minh. Ví dụ: câu “John là đồng đội của tôi và anh ấy thích Python” được lưu trữ dưới dạng bản ghi thực tế cho John với các thuộc tính quan hệ (teammate_of: user_id) và thẻ sở hữu (ngôn ngữ: [“Python”]), thay vào đó, vì yêu cầu một cấu trúc sơ đồ riêng biệt.
Các tính năng của Memori bao gồm:
- Kép Memory System (ngắn hạn và dài hạn).
- Thăng cấp Bộ nhớ Thiết yếu (AI quyết định điều gì đáng giữ lại).
- Quy tắc & Thực thể (ví dụ: “Tôi thích Python” hoặc “John là đồng đội của tôi”).
- Tích hợp Toàn cầu (hoạt động với bất kỳ ngăn LLM nào: OpenAI, Anthropic, LiteLLM).
- Không phụ thuộc vào cơ sở dữ liệu (PostgreSQL, MySQL, SQLite được hỗ trợ).
- Ưu điểm của phương pháp này:
- Được xây dựng trên cơ sở dữ liệu công nghệ đã được chứng minh, có thể mở rộng mà các doanh nghiệp đã tin tưởng.
- Bộ nhớ có cấu hình (quy tắc, thực thi, sở thích), không chỉ được tìm kiếm mờ.
- Kiến trúc đáng tin cậy, sẵn sàng cho sản phẩm sản xuất cùng với ACID thủ công.
- Dễ dàng lựa chọn các nhà phát triển ứng dụng, không cần phải học một hệ thống mới hoàn chỉnh.
- Đặc điểm hiệu suất tuyệt vời và hệ thống công cụ sinh hoạt thành công.
- Phù hợp tự nhiên với các ứng dụng đã sử dụng cơ sở dữ liệu SQL.
- 8.
- Khả năng tìm kiếm ngữ nghĩa được hạn chế dựa trên vectơ cơ sở dữ liệu, Yêu cầu khớp chính xác hoặc logic tương đồng thủ công.
- Có thể gặp khó khăn với cấu trúc dữ liệu hội thoại không khớp hoàn toàn với các sơ đồ được xác định trước đó.
Tổng hợp
Bộ nhớ AI đã đi một chặng đường dài, từ việc đuổi theo mọi thứ theo lời nhắc, đến tìm kiếm vector với RAG, đến các hệ thống dựa trên sơ đồ thị tinh vi, kiến trúc lai, và giờ đây quay lại với thứ chúng ta đã tin tưởng trong nhiều thập kỉ: cơ sở dữ liệu.
Thực tế là việc xây dựng bộ nhớ cho AI không phải được phát hiện lại kho lưu trữ. Đó là việc kết hợp độ tin cậy của hệ thống cũ với thông tin của mới hệ thống. Mỗi phương pháp đều có điểm mạnh riêng:
- Kỹ thuật nhắc nhở hoạt động cho các nhu cầu đơn giản, ngắn hạn.
- Vectơ cơ sở dữ liệu tốt cho việc tìm kiếm ngữ nghĩa trên cơ sở cấu trúc dữ liệu tập tin.
- Cơ sở dữ liệu đồ họa tuyệt vời cho mô hình hóa mối quan hệ phức tạp và suy luận thực thể.
- Hệ thống cung cấp phạm vi giao diện nhưng với mức độ phức tạp ngày càng tăng.
- Cơ sở dữ liệu truyền tải lại độ tin cậy, cấu trúc và tích hợp dễ dàng.
Với các công cụ như Memori, Zep và mem0, các nhà phát triển cuối cùng đã có cách cung cấp cho các tác nhân AI của họ một bộ nhớ giống con người mà không cần ảo tưởng, lãng phí token, hoặc độ phức tạp của các giải pháp phức tạp hơn.
Cuối cùng, cơ sở dữ liệu đã có sẵn trong suốt thời gian qua và chúng tôi có thể giải quyết những mảnh ghép còn thiếu để làm cho AI thực sự không thể quên được.
Tham khảo: medium.com
Quản lý bộ nhớ cuộc trò chuyện với bộ nhớ cuộc trò chuyện
PostgresKhi sử dụng nút quản lý bộ nhớ trò chuyện với bộ nhớ câu chuyện Postgres, tùy chọn trong nút sau để giới hạn Độ dài cửa sổ Ngữ cảnh, cân nhắc như 1 hoặc 5, không có tác dụng gì. Bất kể tôi đặt giá trị nào, Trình quản lý Bộ nhớ Trò chuyện sẽ trả lời tất cả các tin nhắn trong Postgres cơ sở dữ liệu cho ID đó. Tôi vẫn có thể lọc chúng sau này, nhưng tôi cho rằng đây không phải là cách nó hoạt động.
1. Khi bắt đầu trò chuyện, bot sẽ hỏi người dùng
1a. Ng cũ
– tiếp tục chat cá nhân
– tiếp tục chat nhóm gần nhất
– tham gia chat nhóm bất kì
– tạo group chat mới
1b. Ng mới
– bắt đầu trò chuyện
– tạo trò chuyện nhóm
– tham gia trò chuyện nhóm
Mình vẫn tận dụng ý tưởng của bạn về session id
Nhưng trò chuyện cá nhân thì session id = userid
Còn groupchat thì session = groupid
Trong db, bạn cần 1 bảng lưu người dùng thuộc nhóm nào, mình gọi là user_group
Khi người dùng chọn tạo nhóm mới / tham gia nhóm khác/ hoặc tiếp tục nhóm cũ thì bạn sẽ gửi sessionId = userid +”-“+groupid
– nếu chọn tạo nhóm mới ( sessionid = userid) :
— tạo 1 mục mới user_group vô bảng với groupid để tạo bot, sử dụng id này để tạo mục nhập bên trong nhóm bảng.
— Và bot sẽ thay thế sessionid với việc tạo nhóm id mới
– nếu chọn tiếp tục trò chuyện nhóm ( sessionid = userid-):
–vì sessionid có “-” và k có groupid, bot sẽ kiếm những nhóm id có userid chung trong user_group và trả về nhóm mà người dùng tham gia gần đây nhất.
— Rồi bot thay session_id = groupid
– nếu chọn tham gia 1 nhóm chat (sessionid=userid-groupid), bot sẽ kiểm tra trong bảng user-group.
–search groupid từ nhóm bảng
— tạo mục nhập mới trong bảng user_group với groupid và userid
— thay sessionid=groupid
Hai giải pháp thay thế. 1) Sử dụng nút giới hạn tối đa 20 mục hoặc 2) Nút giới hạn. Một trong hai nút này có thể được đặt sau nút Bộ nhớ Trò chuyện.
Use Function Node
Đặt tùy chỉnh nút và chèn tùy chọn lệnh.
Sử dụng nút Giới hạn
Sử dụng nút Giới hạn sau nút Trình quản lý bộ nhớ chuyện.
Đặt “Số lượng tối đa tối đa” thành 20
Đặt “Giữ” thành “Mục gần đây nhất” để giữ lại các tin nhắn gần đây nhất
Đây là những giải pháp tạm thời cho đến khi vấn đề được giải quyết.
Mặc dù phương pháp được xuất bản (giới hạn số lượng sau khi thực tế xảy ra) là một giải pháp tạm thời tốt, nhưng tôi không nghĩ đây là giải pháp lâu dài. Lịch sử câu chuyện của 1 người dùng của tôi cứ tăng lên. Hiện tại, tải xuống tất cả các tương tác chỉ tải một số tin nhắn. Nhưng theo thời gian, con số này sẽ tăng lên hàng nhăn. Rõ ràng đây sẽ là một vấn đề rất lớn trong bộ nhớ.


Bài viết liên quan: