YouMind
Đăng nhập

Lưu trữ thì rẻ, nhưng sự chú ý thì đắt đỏ. Bạn đã sử dụng hệ thống nào để tận dụng sự khác biệt đó chưa?

@S_BatMan
TIẾNG ANH26 thg 5, 2026
1.3M
305
37
11
179

TL;DR

Việc phân tích 19 hệ thống AI cho thấy các tác nhân hiệu quả nhất đều sử dụng kiến trúc bộ nhớ phân tầng để quản lý ngữ cảnh. Bằng cách tách biệt dữ liệu nóng, ấm và lạnh, các hệ thống này tối ưu hóa khả năng truy xuất và giảm thiểu nhiễu.

Sự bất đối xứng khiến phân tầng mang lại hiệu quả

Nếu bạn chỉ thay đổi một điều trong cách thiết kế bộ nhớ cho agent, hãy thay đổi điều này: đừng coi chi phí lưu trữ và chi phí chú ý là như nhau.

Tôi đã nghiên cứu sâu vấn đề này qua 19 hệ thống, và phát hiện liên tục xuất hiện là những hệ thống xử lý bộ nhớ tốt không nhất thiết là những hệ thống có khả năng truy xuất tinh vi nhất. Mà là những hệ thống đã xác định được bộ nhớ nào thực sự cần có trong prompt. Đó là một vấn đề khác, và có một giải pháp khác.

Lưu trữ thì rẻ. Chú ý thì đắt. Một mô hình 128k-context đọc 110k ngữ cảnh tầm thường, theo thực nghiệm, không phải là một agent tốt hơn so với cùng mô hình đó đọc 8k ngữ cảnh được chọn lọc kỹ càng. Nghiên cứu về điều này rất nhất quán: chất lượng truy xuất suy giảm khi ngữ cảnh bị nhiễu, và sự suy giảm này không tuyến tính. Mô hình không đơn giản bỏ qua những thông tin không liên quan. Nó xử lý chúng, và quá trình xử lý đó lấn át tín hiệu.

Lưu trữ không có tính chất này. Một dữ kiện nằm trong cơ sở dữ liệu chẳng tốn chi phí gì để giữ. Chi phí chỉ xuất hiện khi bạn truy xuất nó và nạp vào prompt. Điều đó có nghĩa câu hỏi không phải là "tôi có nên lưu trữ thứ này không?" mà là "tôi có nên truy xuất thứ này không, và nếu có thì khi nào?"

Sự tái khung đó là nơi phân tầng ra đời. Các mục bộ nhớ khác nhau có các mẫu truy cập khác nhau. Một số thứ agent cần ở mỗi lượt: tên người dùng, dự án hiện tại của họ, sở thích đã được họ nêu ra. Một số thứ agent cần thường xuyên nhưng không phải lúc nào: các quyết định gần đây, các câu hỏi còn bỏ ngỏ, các dữ kiện tình huống từ vài phiên trước. Một số thứ agent nên có thể tìm thấy khi cần nhưng không bao giờ nên làm nặng mỗi lượt: ghi chú cuộc họp từ ba tháng trước, các tác vụ đã hoàn thành, bản ghi thô, tài liệu tham khảo một lần.

Một kho lưu trữ phẳng (flat store) xử lý cả ba loại như nhau. Các mục nóng (hot items) phải trả chi phí tìm kiếm của các mục lạnh (cold items). Các mục lạnh làm phồng prompt với nhiễu. Không có cơ chế để các mục "tốt nghiệp" khi chúng trở nên phù hợp hơn, và không có cơ chế để các mục "lão hóa" khi chúng trở nên ít phù hợp hơn. Sự tương tự với hệ điều hành là chính xác: CPU có L1, L2, L3, RAM, SSD và đĩa không phải vì byte khác nhau mà vì tần suất truy cập khác nhau theo nhiều bậc độ lớn. Bảy trong số 19 hệ thống tôi đã xem xét đã xây dựng phân tầng rõ ràng trước khi tôi bắt đầu tìm hiểu. Hai trong số đó đáng để hiểu chi tiết.

MemoryOS như một triển khai tham chiếu

MemoryOS là triển khai rõ ràng nhất của bộ nhớ phân tầng trong 19 hệ thống. Ba tầng, mỗi tầng có một hình dạng dữ liệu riêng, một ngân sách độ trễ riêng và một vai trò riêng.

Tầng ngắn hạn là một deque Python với độ dài tối đa 10 cặp QA. Không có embedding, không có chỉ mục tìm kiếm, không có theo dõi nhiệt. Đó là nguyên liệu hội thoại thuần túy, mười trao đổi cuối cùng, có sẵn với độ trễ micro giây. Khi deque đầy, cặp cũ nhất sẽ được chuyển vào tầng trung hạn.

Tầng trung hạn chứa tối đa 2000 phiên. Mỗi phiên mang một bản tóm tắt, một embedding, một tập hợp từ khóa và bộ đếm nhiệt. Tầng này được lập chỉ mục bằng Faiss và tìm kiếm bằng độ tương đồng cosine. Khi tầng đạt dung lượng, các phiên lạnh nhất sẽ bị loại bỏ. Khi một phiên đủ nóng, nó được thăng cấp lên tầng dài hạn.

Tầng dài hạn là một lược đồ tâm lý và căn chỉnh 90 chiều, hai deque cơ sở tri thức, một cho các dữ kiện về người dùng và một cho các dữ kiện về trợ lý, mỗi deque giới hạn 100 mục. Đây là lớp bền vững, tồn tại qua các phiên và mang mô hình lâu dài về người dùng.

Công thức nhiệt chi phối việc thăng cấp là mười hai dòng Python. Ba tín hiệu: tần suất truy cập, tương tự LFU; độ sâu tương tác, một proxy cho mức độ gắn kết chủ đề; và suy giảm theo thời gian gần đây, suy giảm theo cấp số nhân với chu kỳ bán rã 24 giờ. Một phân đoạn vượt qua ngưỡng thăng cấp tại 5.0. Sau khi thăng cấp, bộ đếm truy cập và tương tác được đặt lại về 0, và nhiệt giảm trở lại khoảng 1.0.

Quyết định thiết kế dễ bị bỏ qua: nhiệt kiểm soát việc thăng cấp, không phải truy xuất. Bộ truy xuất hoàn toàn dựa trên ngữ nghĩa, độ tương đồng cosine trên các embedding của tầng trung hạn. Nhiệt là một tín hiệu nền quyết định xem một phân đoạn có nên tốt nghiệp lên tầng dài hạn hay không. Hai mối quan tâm được tách rời, và sự tách rời đó quan trọng hơn bản thân công thức.

Điều MemoryOS bỏ lại trên bàn cần được nêu tên. Các hệ số được mã cứng ở 1.0, không có cơ chế học trọng số từ các mẫu sử dụng thực tế. Không có đường dẫn giáng cấp; một khi thứ gì đó lên đến tầng dài hạn, nó sẽ ở lại. Và công thức tối ưu hóa cho tần suất hơn là tầm quan trọng. Một dữ kiện quan trọng nhưng hiếm gặp, như tên của đối tác, tình trạng y tế, một ràng buộc cứng, có thể không bao giờ vượt qua ngưỡng thăng cấp nếu nó chỉ xuất hiện một lần. Một khi tầng trung hạn loại bỏ phân đoạn đó, dữ kiện sẽ biến mất.

Các tầng dựa trên lý thuyết của Hindsight

Hindsight đi đến cùng cấu trúc ba tầng từ một điểm xuất phát hoàn toàn khác. Trong khi MemoryOS dựa trên lý thuyết bộ nhớ cache của hệ điều hành, Hindsight dựa trên khoa học nhận thức.

Ba tầng là World (Thế giới), Experience (Trải nghiệm) và Observations (Quan sát). World chứa các khẳng định khách quan về vũ trụ, sự thật nền tảng, luôn bật, tồn tại lâu dài. Experience chứa các hành động ngôi thứ nhất của chính hệ thống, bản ghi tình huống. Observations chứa các niềm tin tổng hợp từ các dữ kiện của World và Experience, mang ID bộ nhớ nguồn, số lượng bằng chứng và trường lịch sử theo dõi cách niềm tin đã phát triển.

Cả ba tầng cùng tồn tại trong cùng một bảng cơ sở dữ liệu, được phân biệt bằng một bộ phân loại loại dữ kiện (fact-type discriminator). Các chỉ mục HNSW một phần được xây dựng theo từng loại dữ kiện. Lược đồ là thống nhất; các mẫu truy cập thì không.

Thăng cấp trong Hindsight không dựa trên bộ đếm. Nó là sự tổng hợp theo lô do LLM điều khiển. Khi một dữ kiện mới được ghi, nó được xếp hàng đợi vào một bảng thao tác bất đồng bộ. Một worker nền lấy các dữ kiện mới cùng với các quan sát chồng lấn hiện có, xây dựng một prompt theo lô và yêu cầu mô hình thực hiện các thao tác tạo, cập nhật và xóa. Các bộ nhớ nguồn được đánh dấu thời gian tổng hợp (consolidated-at timestamp) để ngăn xử lý lại. Mọi dữ kiện mới, bất kể tần suất truy cập, đều được xem xét để thăng cấp lên tầng Observations.

Đó là điểm khác biệt chính so với MemoryOS. Bằng cách gắn việc thăng cấp tầng trên với tổng hợp thay vì nhiệt, Hindsight tránh được điểm mù cho các dữ kiện quan trọng nhưng hiếm gặp. Một lần tổng hợp xem xét mọi dữ kiện mới. Tần suất không liên quan đến việc một thứ có tốt nghiệp hay không.

Nói một cách đơn giản: hai hệ thống, các nguyên lý cơ bản khác nhau, ngôn ngữ triển khai khác nhau, trường hợp sử dụng mục tiêu khác nhau, và cả hai đều đạt đến ba tầng với nguyên liệu thô ở dưới cùng, một lớp làm việc ở giữa và một lớp bền vững tổng hợp ở trên cùng. Cả hai đều sử dụng thăng cấp bất đồng bộ. Cả hai đều mang nguồn gốc (provenance) trở lại các tầng dưới. Đó là những gì sự tiến hóa hội tụ trông như thế nào trong kiến trúc phần mềm, và đó là tín hiệu mạnh nhất tôi biết rằng một mẫu hình là chịu tải (load-bearing).

Phân tầng dựa trên thể loại của @supermemory

supermemory hoạt động dưới hình thức triển khai API được quản lý (managed API deployment), điều này thay đổi cách triển khai mà không thay đổi kiến trúc. Ba tầng là hồ sơ tĩnh (static profile), hồ sơ động (dynamic profile) và kho lưu trữ tài liệu và chunk (document and chunk store).

Hồ sơ tĩnh chứa các dữ kiện dài hạn ổn định, tầng nóng. Nó được trả về dưới dạng một mảng tĩnh từ endpoint hồ sơ, được cache ở biên (edge), với ngân sách độ trễ khoảng 50ms. Hồ sơ động chứa ngữ cảnh gần đây và tình huống, tầng ấm. Nhiều mục mang trường forgetAfter đặt TTL. Kho lưu trữ tài liệu và chunk là tầng lạnh, được truy vấn thông qua các endpoint tìm kiếm khi cần.

Việc phân bổ tầng xảy ra tại thời điểm ghi. Một LLM trích xuất phân loại mỗi bộ nhớ đến với một boolean isStatic và tùy chọn một giá trị forgetAfter. Việc phân loại được thực thi bởi một prompt trích xuất đóng (closed extraction prompt), thống nhất trên tất cả người tiêu dùng.

Hình thức triển khai API được quản lý cho phép ba điều mà một nhà thiết kế trong tiến trình (in-process designer) không thể sao chép trực tiếp nhưng nên hiểu. Dữ liệu tầng lạnh có thể nằm trên phần cứng rẻ hơn, lưu trữ đối tượng cho byte thô, một kho lưu trữ quan hệ tiêu chuẩn cho siêu dữ liệu và chunk, với hồ sơ nóng được cache riêng ở biên. Tầng nóng có endpoint riêng với SLA riêng, tách biệt khỏi đường dẫn tìm kiếm. Và prompt trích xuất được tập trung hóa, điều này có nghĩa việc phân bổ tầng nhất quán theo cách mà phân loại theo từng agent hiếm khi có được.

Các đánh đổi là có thật. Một tầng nóng từ xa chỉ nhanh nếu mạng nhanh. Agent không thể ghi đè phân loại tầng của công cụ. Prompt trích xuất là một hộp đen. Nhưng mẫu hình kiến trúc—tầng nóng như endpoint riêng, tầng lạnh trên phần cứng rẻ hơn, phân bổ tầng tại thời điểm ghi—đáng để sao chép ngay cả khi hình thức triển khai không giống.

Thăng cấp so với phân loại cố định

mem9 là trường hợp đối chiếu làm rõ phân tầng không phải là gì.

mem9 có một cột loại bộ nhớ với ba giá trị: pinned (ghim), insight (nhận thức) và digest (tóm tắt). Bộ nhớ pinned được gán bởi các đường dẫn ghi nội dung rõ ràng, được tạo thủ công, được bảo vệ khỏi sự đối chiếu của LLM. Insight được gán bởi mọi ghi do LLM trích xuất, có thể thay đổi, có phiên bản, có thể thay thế. Cả hai đều tham gia vào cùng một truy xuất kết hợp (hybrid recall) với cùng điểm RRF. Trường loại là một cờ bảo vệ ghi, không phải bộ lọc truy xuất và cũng không phải tín hiệu tầng.

Đây là phân loại (typology), không phải phân tầng (tiering). Sự khác biệt quan trọng vì hai thứ dễ bị nhầm lẫn. Phân loại mô tả quản trị: ai có thể biến đổi bộ nhớ này, trong điều kiện nào. Phân tầng mô tả các mẫu truy cập: bộ nhớ này cần thường xuyên như thế nào và biểu diễn lưu trữ nào phục vụ tốt nhất tần suất đó. Một hệ thống có thể có cả hai. isStatic của supermemory là tín hiệu tầng, trong khi một cờ isInference riêng gần với lớp quản trị hơn. Nhưng việc nhầm lẫn chúng tạo ra sự mơ hồ nhất trong thực tế.

Nếu bạn thấy mình đang thêm một trường loại vào các hàng bộ nhớ của mình, câu hỏi cần đặt ra là trường đó mô tả một mẫu truy cập hay một lớp quản trị. Nếu đó là mẫu truy cập, bạn đang xây dựng phân tầng. Nếu đó là lớp quản trị, bạn đang xây dựng phân loại. Cả hai đều hữu ích. Chúng không phải là cùng một thứ.

Chi phí của bộ nhớ phẳng là gì

Bốn điều cụ thể sau đây xuất phát từ việc chạy một kho lưu trữ bộ nhớ phẳng.

Đường dẫn nóng phải trả chi phí tìm kiếm của đường dẫn lạnh. Mỗi lần truy xuất quét cùng một chỉ mục trên cùng một mục. Agent tra cứu tên người dùng phải trả chi phí tìm kiếm tương tự như agent tra cứu ghi chú cuộc họp từ sáu tháng trước. Ở quy mô nhỏ, điều này vô hình. Ở quy mô lớn, nó là một vấn đề độ trễ.

Đường dẫn lạnh làm phồng prompt với nhiễu. Truy xuất trả về các mục gần về mặt ngữ nghĩa, bao gồm ngữ cảnh thường trực, các dữ kiện đã bị thay thế và tài liệu đúng về mặt thực tế nhưng không liên quan đến lượt hiện tại. Mô hình xử lý tất cả. Tỷ lệ tín hiệu trên nhiễu (signal-to-noise ratio) trong cửa sổ ngữ cảnh suy giảm khi kho lưu trữ phát triển.

Không có cơ chế để các mục tốt nghiệp. Bộ nhớ không tĩnh. Một dữ kiện tình huống thoáng qua từ đầu mối quan hệ có thể, theo thời gian, trở thành một tín hiệu bền vững về sở thích hoặc ràng buộc của người dùng. Một kho lưu trữ phẳng không có cơ chế để nhận thấy sự chuyển đổi đó. Mục ở lại trong cùng biểu diễn mà nó được ghi, bất kể mức độ liên quan của nó đã thay đổi như thế nào.

Không có cơ chế để các mục lão hóa. Giáng cấp không phải là xóa. Một kho lưu trữ phẳng muốn loại bỏ tài liệu cũ phải xóa nó. Một kho lưu trữ phân tầng có thể di chuyển nó đến một biểu diễn lạnh hơn, vẫn có thể tìm thấy, không còn làm nặng đường dẫn nóng. Kho lưu trữ phẳng buộc một lựa chọn nhị phân mà kho lưu trữ phân tầng không có.

Kết quả ròng

18 trong số 19 hệ thống triển khai phân tầng, hướng tới nó hoặc có các khuyến nghị rõ ràng về nó. Ngoại lệ là mem9, có một lớp phân loại giải quyết một vấn đề khác và sẽ được hưởng lợi từ việc thêm phân tầng lên trên nó.

Nếu bạn đang xây dựng bộ nhớ agent từ đầu, tiến trình mà 19 hệ thống chỉ ra là như sau. Xác định những gì agent cần ở mỗi lượt, đó là tầng nóng của bạn. Xác định những gì nó cần thường xuyên nhưng không phải lúc nào, đó là tầng ấm của bạn. Xác định những gì nó nên tìm thấy khi cần nhưng không bao giờ làm nặng mỗi lượt, đó là tầng lạnh của bạn. Chọn một cơ chế thăng cấp: dựa trên nhiệt như MemoryOS, phán quyết của LLM như Hindsight, hoặc phân loại tại thời điểm trích xuất như supermemory. Chọn một cơ chế giáng cấp: suy giảm thời gian, TTL hoặc các danh mục độ tươi mới. Giữ điểm thăng cấp và điểm truy xuất riêng biệt lúc ban đầu—việc tách rời dễ thêm hơn là gỡ bỏ. Theo dõi nguồn gốc từ các tầng trên trở lại các tầng dưới, để bạn luôn có thể trả lời câu hỏi một niềm tin tổng hợp đến từ đâu.

19 hệ thống không nhất trí về nhiều thứ. Về điều này, chúng nhất trí: một kho lưu trữ bộ nhớ phẳng duy nhất là mặc định sai cho bất kỳ hệ thống bộ nhớ agent không tầm thường nào.

Lưu trữ thì rẻ. Chú ý thì đắt. Hãy xây dựng hệ thống khai thác sự khác biệt.

Nếu bạn thấy bài viết này thú vị, hãy chia sẻ nhé.

Lưu một chạm

Đọc sâu bài viết viral bằng AI trong YouMind

Lưu nguồn, đặt câu hỏi tập trung, tóm tắt lập luận và biến một bài viết viral thành các ghi chú có thể tái sử dụng trong một không gian làm việc AI duy nhất.

Khám phá YouMind
Dành cho nhà sáng tạo

Biến Markdown của bạn thành bài viết 𝕏 gọn gàng

Khi bạn đăng bài viết dài của riêng mình, việc định dạng hình ảnh, bảng và khối mã cho 𝕏 rất mệt mỏi. YouMind biến cả bản nháp Markdown thành một bài viết 𝕏 gọn gàng, sẵn sàng để đăng.

Thử Markdown sang 𝕏

Thêm pattern để giải mã

Bài viết viral gần đây

Khám phá thêm bài viết viral