Bộ nhớ tác nhân AI: Cách xây dựng tác nhân AI có ngữ cảnh lâu dài

Hướng dẫn này giải thích bộ nhớ tác nhân AI là gì, cách bộ nhớ làm việc, bộ nhớ tình tiết, bộ nhớ ngữ nghĩa và bộ nhớ thủ tục phối hợp với nhau, cũng như cách xây dựng và kiểm thử các tác nhân ngày càng cải thiện nhờ ngữ cảnh lâu dài.

Post by Aravind Srinivas on Perplexity Computer's background Dream agent, with a diagram of the self-improvement loop: online sessions produce raw history, Dream reads and reconciles it with connectors, then compiles, cites, and commits updates to the Brain, which feeds the next session's context.

Nếu sáng nào bạn cũng phải dẫn một đồng nghiệp mới đến chỗ máy in suốt sáu tháng liền, hẳn bạn sẽ bắt đầu lo lắng. Nếu họ có thể kể lại từng lần được dẫn đi trước đó với đầy đủ chi tiết nhưng vẫn cần người đưa đi, thì khả năng ghi nhớ của họ thật tuyệt vời…nhưng bạn vẫn phải rời khỏi bàn làm việc.

Hiện nay, bộ nhớ của tác nhân AI cũng đang mắc phải một phiên bản của chuyện dẫn đường đến máy in mãi không dứt này. CEO của Letta, Charles Packer, chia sẻ trên The New Stack rằng các benchmark về bộ nhớ đã bão hòa vì chúng đo khả năng nhớ lại, điều mà ông cho là đã được giải quyết. Bài toán còn bỏ ngỏ là làm sao để tác nhân làm việc ngày càng tốt hơn nhờ ngữ cảnh mà nó lưu giữ, mà không cần huấn luyện lại.

Người đồng sáng lập của ông, Sarah Wooders, so sánh điều này với việc bắt đầu một công việc mới—các benchmark trao cho tác nhân toàn bộ ngữ cảnh cần thiết—hết nhiệm vụ này đến nhiệm vụ khác chẳng liên quan gì đến nhau, hoàn toàn không giống cách con người làm việc. Một nhân viên mới có thể cần được dẫn đến máy in. Nhưng sau ba năm, bạn sẽ mong có thể giao việc cho họ chỉ bằng một dòng tóm tắt mà không cần rời khỏi bàn làm việc.

Đó là tiêu chuẩn cần hướng tới, và cũng là mục tiêu đằng sau Brain, hệ thống bộ nhớ tự cải thiện của chúng tôi dành cho Perplexity Computer, giúp sắp xếp các công việc và chỉnh sửa trước đây thành một wiki tri thức không ngừng phát triển.

Chúng tôi sẽ trình bày những gì một tác nhân nên ghi nhớ và cách kiểm tra xem điều đó có giúp tác nhân làm việc tốt hơn hay không.

Bộ nhớ của tác nhân AI là gì?

Bộ nhớ của tác nhân AI là thông tin mà tác nhân lưu giữ từ các tương tác và công việc trước đó, cùng với các cơ chế để cập nhật và sử dụng thông tin đó. Ngữ cảnh bộ nhớ lâu dài mang thông tin đó qua các phiên, nên việc đóng một cuộc trò chuyện không có nghĩa là phải bắt đầu nhiệm vụ tiếp theo từ con số không.

Phần lớn những gì được ra mắt dưới cái tên này đều ghi nhớ về người dùng. Sở thích, danh bạ, vai trò của bạn, việc bạn muốn nhận PDF thay vì PNG. Đó là nửa dễ của bài toán.

Khi chúng tôi xây dựng Brain, hệ thống bộ nhớ đằng sau Perplexity Computer, chúng tôi tập trung vào chính công việc. Cách tiếp cận nào đã thành công? Nguồn nào đã làm lãng phí hai mươi phút? Bạn đã phải chỉnh sửa những gì sau khi tác nhân thông báo đã hoàn thành? Lịch sử đó mang đến cho nhiệm vụ tiếp theo một điểm khởi đầu tốt hơn.

Brain lưu trữ thông tin này dưới dạng tệp trong Sandbox của tác nhân, được sắp xếp thành ba lớp:

  • sessions/ chứa các bản ghi nguyên văn và bản tóm tắt của chúng.
  • notes/ chứa thông tin đã được chắt lọc, sắp xếp theo chủ đề.
  • knowledge/ chứa chính wiki; các trang Markdown được liên kết với nhau về con người, dự án và khái niệm.

Không thứ nào trong số đó tự cải thiện. Vào ban đêm, các tác nhân chạy nền mà chúng tôi gọi là “Dream” sẽ đọc các phiên trong ngày, tóm tắt chúng và chỉnh sửa wiki ở bất cứ chỗ nào bức tranh đã thay đổi. Chúng tôi chuẩn bị và kiểm tra những chỉnh sửa đó trước khi commit qua Git, nhờ vậy luôn có một bản diff để xem xét khi có điều gì đó bất thường.

Điều này có giúp tác nhân làm việc tốt hơn không? Trong đánh giá theo cặp kéo dài 30 ngày của chúng tôi, các phiên có bật Brain đã cải thiện tính chính xác thêm 9,3 điểm phần trăm và khả năng nhớ lại thêm 8,9 điểm, đồng thời sử dụng ít hơn khoảng 15% token.

Nguồn: X

Có những loại bộ nhớ tác nhân nào?

Có hai loại chính, và cách phân chia này khá giống với cách bạn phân chia ở con người: những gì bạn đang ghi nhớ trong đầu ngay lúc này và những gì bạn vẫn sẽ biết vào tháng sau.

Bộ nhớ ngắn hạn

Bộ nhớ ngắn hạn chứa ngữ cảnh cho cuộc trò chuyện hoặc nhiệm vụ hiện tại. Yêu cầu của bạn, các tin nhắn gần đây, kết quả của một lệnh gọi công cụ, tài liệu mà tác nhân vừa mở. Đủ thông tin để xác định việc cần làm tiếp theo.

Bạn cũng sẽ thấy loại bộ nhớ này được gọi là bộ nhớ làm việc. Đối với LLM, cửa sổ ngữ cảnh chứa thông tin có sẵn trong một lần gọi mô hình cụ thể. Ứng dụng có thể duy trì thêm trạng thái nhiệm vụ và quyết định phần nào sẽ được cung cấp ở mỗi bước.

Và ngắn hạn không nhất thiết có nghĩa là dùng xong rồi bỏ. Một framework có thể lưu trạng thái của cuộc trò chuyện và tiếp tục vào ngày mai—nó vẫn thuộc về chuỗi đó. Nhưng việc một nhiệm vụ khác có thể sử dụng thông tin đó hay không lại là một quyết định thiết kế riêng.

Bộ nhớ dài hạn

Bộ nhớ dài hạn giúp thông tin luôn sẵn có qua các phiên. Bài báo CoALA đã mượn ba phân loại từ khoa học nhận thức, mang đến cho những người xây dựng tác nhân một bộ từ vựng để mô tả trải nghiệm và bí quyết:

  • Bộ nhớ tình tiết là những gì đã xảy ra: Bao gồm các phiên trước đây, các bước mà tác nhân đã thực hiện, kết quả mà nó nhận được. Trong Brain, sessions/ cung cấp lịch sử này thông qua các bản ghi nguyên văn và bản tóm tắt của chúng.
  • Bộ nhớ ngữ nghĩa là những gì tác nhân coi là đúng: Đó có thể là thông tin về người dùng, các dự án và thế giới của họ, được chắt lọc từ các cuộc trò chuyện. Wiki knowledge/ của Brain chứa loại thông tin này, kèm theo các liên kết dẫn về bằng chứng.
  • Bộ nhớ thủ tục là cách làm mọi việc: Đó là các prompt, quy trình làm việc có thể tái sử dụng, các Skill mà Perplexity xây dựng để cung cấp cho tác nhân những hướng dẫn và công cụ mà một công việc đòi hỏi. Có thể bạn đã có một phần trong số này mà không gọi nó là bộ nhớ.

Điều thú vị diễn ra giữa các lớp. Một phiên ghi lại việc bạn đã từ chối một tệp PNG. Hướng dẫn dùng PDF của bạn trở thành một sở thích mà tác nhân có thể mang theo về sau. Một chỉnh sửa đối với quy trình xuất trở thành điều mà nó có thể làm theo vào lần sau.

Quá trình chuyển đổi đó, từ “điều này đã xảy ra” sang “điều này là đúng” rồi đến “đây là cách chúng ta làm”, là một phần của bài toán học hỏi mà chúng tôi đã nêu ở phần mở đầu, và đó cũng là nơi các lượt chạy qua đêm của tác nhân Dream trong Brain dồn công sức.

Giả sử có người hâm cá bằng lò vi sóng trong một căn bếp chung. Có những lời phàn nàn, một ô cửa sổ được mở ra. Cuối cùng, một tấm biển xuất hiện: CẤM HÂM CÁ.

Sáu tháng sau, người vi phạm đã chuyển đi, nhưng tấm biển thì vẫn còn đó. Đó chính là tính lâu dài. Bạn có thể giải thích các loại bộ nhớ thông qua những gì còn tồn tại:

  • Bộ nhớ làm việc là những gì bạn đang theo dõi trong lúc nấu bữa trưa, chẳng hạn như nồi súp cần được khuấy.
  • Bộ nhớ tình tiết là sự cố hâm cá; mùi hôi theo chân mọi người ra tận hành lang.
  • Bộ nhớ ngữ nghĩa là kiến thức bạn rút ra từ đó—hâm nóng cá có thể để lại mùi khó chịu kéo dài trong căn bếp chung.
  • Bộ nhớ thủ tục là hướng dẫn chi phối những gì xảy ra tiếp theo. Không hâm cá bằng lò vi sóng ở đây. Tấm biển giúp một người hoàn toàn không biết gì về sự cố vẫn có thể tuân theo quy tắc.

Còn một sự phân biệt nữa, vì nó thay đổi những gì chúng tôi đang xây dựng. Một khảo sát được công bố lần đầu vào tháng 12 năm 2025, Memory in the Age of AI Agents, cho rằng việc phân chia ngắn hạn và dài hạn là chưa đủ—khảo sát này còn phân loại bộ nhớ theo hình thức:

  • Cấp token: Đây là nội dung tường minh mà tác nhân đọc. Tệp, bản ghi được lưu trữ, các đoạn nội dung được truy xuất.
  • Tham số: Đây là thông tin được mã hóa trong các trọng số đã học. Việc cập nhật thông tin này đòi hỏi các phương pháp huấn luyện hoặc chỉnh sửa mô hình.
  • Tiềm ẩn: Đây là thông tin được lưu giữ trong các biểu diễn nội bộ mà không được viết ra dưới dạng văn bản có thể đọc được.

Ở đây, chúng tôi tập trung vào bộ nhớ cấp token; tức là thông tin được lưu trữ bên ngoài mô hình và được đọc vào ngữ cảnh của mô hình khi cần. Wiki Markdown của Brain là một ví dụ.

Khi cập nhật một trang, chúng tôi thay đổi những gì tác nhân có thể đọc trong nhiệm vụ tiếp theo, nhưng các trọng số nền tảng của nó vẫn giữ nguyên. Đó chính là quan điểm của Packer ở phần mở đầu: trở nên tốt hơn nhờ ngữ cảnh mà tác nhân lưu giữ, mà không cần huấn luyện lại.

Các loại bộ nhớ của tác nhân phối hợp với nhau như thế nào?

Một tác nhân có thể xem lại một lần thử trước đó, nhận ra chỗ nó đã sai và tải các hướng dẫn mà bạn đưa ra sau đó. Có nhiều loại bộ nhớ cùng tham gia vào một nhiệm vụ, và chúng không cần lần lượt thay phiên hay mỗi loại một cơ sở dữ liệu riêng.

Ở đây, tính lâu dài quyết định những gì vẫn còn sẵn có sau khi cuộc trò chuyện kết thúc, còn việc truy xuất quyết định liệu tác nhân có bao giờ nhìn thấy lại thông tin đó hay không.

Loại bộ nhớ

Những gì được lưu giữ qua các phiên?

Lưu trữ những gì?

Brain/Computer đưa thông tin vào ngữ cảnh bằng cách nào?

Làm việc

Trạng thái nhiệm vụ đã lưu có thể được khôi phục, nhưng mô hình chỉ thấy những gì ứng dụng cung cấp cho mỗi lần gọi.

Prompt hiện tại, các lượt trao đổi gần đây, kết quả công cụ và thông tin đã truy xuất

Một chỉ mục giúp tác nhân khám phá bộ nhớ có sẵn; việc đọc tệp bổ sung nội dung liên quan.

Tình tiết

Các bản ghi và bản tóm tắt phiên được lưu giữ.

Những gì đã xảy ra: các lần thử, hành động, kết quả và chỉnh sửa trước đây.

Tác nhân lần theo các trích dẫn để tìm bằng chứng hỗ trợ từ phiên khi cần chi tiết.

Ngữ nghĩa

Tri thức được duy trì, kèm lịch sử phiên bản nếu có ghi lại.

Thông tin về con người, dự án, sở thích và mối quan hệ giữa chúng.

Tác nhân đọc các trang knowledge/, tìm kiếm tệp và lần theo các [[wikilinks]].

Thủ tục

Các hướng dẫn, Skill và quy trình làm việc đã lưu, cho đến khi chúng được sửa đổi hoặc xóa bỏ.

Cách thực hiện một nhiệm vụ.

Computer tải các Skill và hướng dẫn liên quan khi cần.

Trong Brain, chúng tôi giữ nguyên con đường dẫn từ bài học về lại bằng chứng. Giả sử bạn yêu cầu Computer tiếp tục một dự án từ tuần trước:

  • Chỉ mục của Brain cho nó biết những trang bộ nhớ nào đang có và tìm chúng ở đâu.
  • Brain mở trang dự án để đọc các quyết định và hướng dẫn đã lưu.
  • Nếu một ghi chú cho biết bạn đã từ chối một cách tiếp cận, tác nhân có thể lần theo trích dẫn của ghi chú đó để quay về cuộc trò chuyện và kiểm tra lý do.

Các liên kết đến những trang liên quan cho phép nó tra cứu những người hoặc dự án khác có liên quan. Tác nhân thực hiện điều này bằng cách đọc và tìm kiếm trong tệp. Ví dụ, grep cho phép nó tìm các đề cập đến một dự án theo tên.

Chúng tôi cũng đã kiểm tra xem tác nhân được lợi gì khi có thể khám phá tệp. Trong một benchmark nội bộ gồm 150 câu hỏi về tài liệu tài chính, một tác nhân khám phá sử dụng các công cụ tệp tiêu chuẩn đạt điểm câu trả lời 0,627, so với khoảng 0,37 của tìm kiếm ngữ nghĩa trên cùng tập dữ liệu.

Nguồn: X

Làm thế nào để cải thiện bộ nhớ của tác nhân AI?

Một bài báo tháng 5 năm 2026 của Orogat và Mansour chỉ ra bốn lỗi thường gặp trong bộ nhớ của tác nhân: kho lưu trữ không ngừng phình to, các niềm tin lỗi thời không được sửa đổi, thông tin bị quên khi hết dung lượng, và việc truy xuất chỉ đọc mà không học được gì từ lần truy cập đó.

Giải pháp họ đề xuất là ngừng coi bộ nhớ tác nhân là nơi lưu trữ mà hãy coi nó là một “trạng thái” phát triển thông qua bốn thao tác: tiếp nhận, sửa đổi, quên, truy xuất. Đó cũng là danh sách kiểm tra của chúng tôi cho phần này.

Chọn lọc những gì được ghi nhớ

Một khi bộ nhớ “xấu” đã lọt vào, mọi bước sau đều thừa hưởng nó.

Workday AI Research đã thử nghiệm một cách tiếp cận có chọn lọc trên khoảng 1.500 bộ nhớ ứng viên từ benchmark LoCoMo, đặt ra năm câu hỏi trước khi giữ lại bất kỳ bộ nhớ nào:

  • Nó có hữu ích không? Nó có khả năng xuất hiện lại không?
  • Nó có đáng tin cậy không? Cuộc trò chuyện có thực sự nói điều này, hay mô hình tự điền vào?
  • Nó là thông tin mới hay đã được lưu trữ?
  • Nó có còn mới không?
  • Đó là một sự thật lâu bền hay chỉ là trạng thái nhất thời?

Chỉ câu hỏi đầu tiên cần đến lệnh gọi mô hình. Bốn câu hỏi còn lại chạy dưới dạng quy tắc, tổng cộng mất chưa đến 65 mili giây. Phương pháp này đạt độ chính xác (precision) cao hơn 12% đối với các quyết định giữ hoặc bỏ, đồng thời giữ lại được 97% bộ nhớ liên quan.

Yếu tố đóng góp lớn nhất là câu hỏi cuối cùng—khi loại bỏ sự phân biệt giữa thông tin lâu bền và thông tin tạm thời, chất lượng quyết định giảm khoảng 18%.

Sửa đổi câu trả lời mà không làm mất lịch sử

Ghi lại thời điểm một sự thật bắt đầu có hiệu lực, nguồn nào hỗ trợ nó và nó đã thay thế điều gì. Nếu các nguồn mâu thuẫn với nhau, hãy để sự mâu thuẫn đó hiển thị cho đến khi có đủ bằng chứng để giải quyết. Tài liệu mới nhất cũng có thể sai.

Brain cập nhật wiki bằng tài liệu nguồn, kết quả từ trình kết nối và các chỉnh sửa của người dùng. Mỗi mục bộ nhớ đều liên kết về nguồn của nó. Chúng tôi cần tác nhân tìm ra câu trả lời hiện tại và có chỗ để tra cứu nếu câu trả lời đó có vẻ đáng ngờ.

Chủ động quên

Bài báo gọi một dạng lỗi là “quên do giới hạn dung lượng”: thông tin bị xóa để đáp ứng giới hạn lưu trữ, chứ không phải vì nó không còn hữu ích.

Quay lại với căn bếp chung. Sau sáu tháng, không ai còn quan tâm ai đã hâm cá hay ô cửa sổ đã mở bao lâu. Nhưng tấm biển vẫn còn nhiệm vụ của nó.

Nếu người tiếp theo nấu bữa trưa, quy tắc vẫn sẵn có. Bạn chỉ cần cất những lời phàn nàn vào kho lưu trữ.

Các bước kiểm tra độ mới và loại thông tin của Workday bắt đầu từ trước khi lưu trữ, nhằm lọc ra những gì xứng đáng trở thành bộ nhớ. Trong Brain, chúng tôi cũng xem xét lại tri thức hiện có khi tài liệu nguồn thay đổi và người dùng đưa ra chỉnh sửa. Trong cả hai trường hợp, chính nội dung là yếu tố khiến việc can thiệp trở nên cần thiết.

Để việc truy xuất góp phần vào lần cập nhật tiếp theo

Tác nhân truy xuất một sự thật, sử dụng nó và để lại kho lưu trữ y nguyên như lúc ban đầu. Khi đó, trừ khi hệ thống ghi nhận những gì xảy ra tiếp theo, sẽ không có gì ghi lại liệu sự thật đó đã giúp ích hay lại đưa tác nhân vào một ngõ cụt khác.

Ghi lại kết quả, nguồn và mọi chỉnh sửa. Khi xây dựng Brain, chúng tôi đã đưa lịch sử công việc đó vào những gì nó ghi nhớ: cách tiếp cận nào đã thành công, nguồn nào không dẫn đến đâu, và người dùng đã chỉnh sửa những gì sau khi tác nhân thông báo đã hoàn thành. Brain đưa trải nghiệm đó vào các lần cập nhật wiki định kỳ, để các nhiệm vụ sau này có thể tận dụng.

Tuy nhiên, không điều nào trong số này thể hiện trên một benchmark về khả năng nhớ lại. Cách để biết vòng lặp có hoạt động hay không là giao cho tác nhân một nhiệm vụ mà nó chỉ có thể hoàn thành nhờ bộ nhớ, rồi đếm tần suất nó hoàn thành, kèm theo chi phí và độ trễ. Đó chính là những gì DolphinBench thực hiện, và cũng là lý do điểm số cao nhất vẫn chỉ dừng ở mức 70 điểm.

Cách xây dựng tác nhân có bộ nhớ lâu dài bằng Perplexity

Agent API của Perplexity không đi kèm một hệ thống bộ nhớ tự duy trì như Brain. Chúng tôi muốn nói rõ điều đó ngay từ đầu. Nhưng những gì nó mang lại cho bạn là các thành phần bộ nhớ bạn cần: một nơi để lưu giữ các quy trình, một cách để mang ngữ cảnh giữa các lượt trao đổi, và các công cụ để đọc và ghi vào một kho lưu trữ do bạn kiểm soát.

Bắt đầu với bộ nhớ thủ tục

Một Skill tùy chỉnh đóng gói hướng dẫn, quy trình và các tệp hỗ trợ dưới một số hiệu phiên bản. Một nhóm nền tảng có thể viết các bước kiểm tra triển khai, tiêu chí khôi phục (rollback) và định dạng báo cáo một lần, sau đó để các ứng dụng tham chiếu đến cùng một Skill. Khi quy trình thay đổi, nhóm chỉ cần tải lên một phiên bản mới.

Nguồn: X

Một Profile nằm ở cấp cao hơn một bậc. Profile lưu mô hình, hướng dẫn, công cụ, Skill, trình kết nối và cài đặt thực thi của tác nhân dưới một ID duy nhất có phiên bản.

Chúng tôi đã bổ sung cả hai vào tháng 9, cùng với các trình kết nối được quản lý, để quản trị viên dự án có thể cấu hình một kết nối GitHub hoặc Slack đã được phê duyệt một lần và cho phép các ứng dụng tham chiếu đến kết nối đó thay vì lưu trữ thông tin xác thực riêng. Khi quyền truy cập thay đổi, quản trị viên chỉ cần cập nhật kết nối ở một nơi.

Tại sao điều này được xem là bộ nhớ? Một lần nữa, hãy quay lại căn bếp với món cá hâm bằng lò vi sóng. Bất kỳ ai đến sau cũng có thể tuân theo quy tắc CẤM CÁ mà không cần từng chứng kiến những lời phàn nàn.

Skill làm đúng công việc đó cho tác nhân, với đủ chỗ cho các bước, ngoại lệ và bước kiểm tra vốn không thể ghi vừa trên cửa lò vi sóng. Skill được viết ra, có phiên bản và luôn sẵn sàng cho lần tiếp theo tác vụ đó xuất hiện.

Chúng tôi cũng dùng Skill để định hướng các lần cập nhật bộ nhớ của Dream. Nhưng điều mà Skill không làm được là tự học. Hướng dẫn chỉ thay đổi khi có phiên bản mới được tải lên, dù bởi con người hay một quy trình tự động.

Nếu bạn muốn tác nhân nhận ra rằng bước kiểm tra khôi phục liên tục thất bại trên một dịch vụ và tự điều chỉnh, thì đó chính là vòng lặp từ phiên sang wiki đã đề cập ở phần trước.

Bạn cần lưu giữ những gì đã xảy ra, xác định điều gì cần thay đổi và đưa nội dung chỉnh sửa vào sử dụng cho lần sau. Điều đó cần đến hai thành phần tiếp theo.

Duy trì bộ nhớ làm việc giữa các lượt

Tác nhân chạy một bước kiểm tra triển khai. Bạn hỏi: ‘Tại sao nó lại thất bại?’ Một câu hỏi tiếp nối hợp lý, miễn là tác nhân vẫn còn thấy được “nó” đang ám chỉ điều gì.

Agent API của chúng tôi hỗ trợ hai cách để duy trì ngữ cảnh hội thoại:

  • Tự phát lại cuộc hội thoại: Đưa các tin nhắn trước đó vào mảng input của yêu cầu tiếp theo. Bạn quyết định nội dung nào cần giữ lại, tóm tắt, che thông tin nhạy cảm hoặc loại bỏ trước khi gửi.
  • Tiếp tục từ một phản hồi đã hoàn tất: Lưu ID của phản hồi đó và truyền nó dưới dạng previous_response_id cùng với tin nhắn tiếp theo. Chúng tôi lưu trạng thái cuộc hội thoại ở phía máy chủ, nên ứng dụng của bạn không phải gửi lại các lượt trước đó. Bạn có thể tiếp tục từ phản hồi mới nhất trong chuỗi.

Phát lại giúp bạn kiểm soát những gì tác nhân nhìn thấy, còn tiếp tục bằng ID giúp bạn khỏi phải tập hợp lại cuộc hội thoại. Dù chọn cách nào, hãy cung cấp mọi hướng dẫn, công cụ hoặc cài đặt mô hình mới cần thiết cho phản hồi tiếp theo.

Sử dụng kho lưu trữ bộ nhớ tình tiết và ngữ nghĩa của riêng bạn

Đây là phần mà Agent API để bạn tự đảm nhận.

Một cách là gọi hàm. Bạn định nghĩa các công cụ, tác nhân yêu cầu một lệnh gọi, còn ứng dụng của bạn thực thi lệnh gọi đó và trả về kết quả. Với bộ nhớ, một điểm khởi đầu đơn giản là một thao tác đọc trước khi tác nhân hành động và một thao tác ghi sau đó.

Nếu chỉ ghi nhật ký dữ kiện mà tác nhân đã truy xuất, bạn vẫn không biết liệu nó có hữu ích hay không. Hãy ghi nhật ký kết quả, nguồn và bất cứ điều gì người dùng đã chỉnh sửa, khi đó bạn đã có nền tảng ban đầu cho một lớp bộ nhớ tình tiết.

Khả năng hỗ trợ MCP của chúng tôi mang đến cho bạn một cách khác. Nếu một máy chủ MCP từ xa tương thích cung cấp các thao tác bạn cần, tác nhân có thể gọi chúng mà bạn không cần bọc từng thao tác thành một hàm tùy chỉnh.

Các trình kết nối của chúng tôi cho phép tác nhân truy cập vào bằng chứng đằng sau các ký ức. GitHub, Slack, Google Drive, Datadog, Linear và Notion có trong danh mục được quản lý của chúng tôi, và bạn có thể thêm trình kết nối tùy chỉnh cho các hệ thống nội bộ.

Cuối cùng, hãy quyết định khi nào lịch sử được xem xét lại và khi nào bản mô tả hiện tại được sửa đổi.

Kiểm tra những gì còn được giữ lại trong một phiên mới

Bây giờ, hãy đóng cuộc hội thoại. Bắt đầu một yêu cầu mới mà không phát lại các tin nhắn cũ hay truyền previous_response_id, nhưng vẫn cho tác nhân quyền truy cập vào cùng một kho bộ nhớ. Yêu cầu tác nhân thực hiện công việc liên quan mà không nhắc lại nội dung chỉnh sửa.

Nếu tác nhân vẫn cần được nhắc, nghĩa là bạn chưa hoàn tất.

Với tác nhân triển khai, hãy xây dựng một vài bài kiểm tra xoay quanh những gì cần được duy trì:

  • Nội dung chỉnh sửa được duy trì: Tác nhân truy xuất và sử dụng lệnh khôi phục đã được xác minh cho dịch vụ bị ảnh hưởng.
  • Nội dung chỉnh sửa nằm trong đúng phạm vi: Tác nhân không động đến quy trình của các dịch vụ khác.
  • Thông tin mới thay thế hướng dẫn cũ: Khi lệnh lại thay đổi, tác nhân sử dụng phiên bản hiện tại và có thể truy vết thay đổi về nguồn gốc của nó.

Sổ tay kiểm thử hồi quy của chúng tôi hướng dẫn cách lưu kết quả đầu ra của tác nhân và bằng chứng đã truy xuất, đối chiếu chúng với hành vi mong đợi và so sánh các lần chạy sau khi thay đổi hướng dẫn hoặc mô hình.

Giữ cố định các phiên bản mô hình, Profile và Skill khi so sánh các lần chạy có và không có bộ nhớ. Bắt đầu mỗi lần so sánh từ một bản chụp nhanh đã biết của kho lưu trữ; nếu không, một bài kiểm tra có thể dạy cho tác nhân câu trả lời của bài tiếp theo.

Khi có gì đó thất bại, hãy lưu lại trường hợp đó. Thay đổi tiếp theo phải vượt qua được nó.

Hoặc bỏ qua khâu tự xây dựng: Brain trong Computer

Nếu điều bạn muốn là một vòng lặp hoàn chỉnh thay vì từng thành phần, thì đó là Computer. Brain chạy bên dưới, học hỏi từ bốn nguồn: các phiên của bạn, công cụ đã kết nối, các tệp và tạo phẩm bạn tạo ra, cùng những chỉnh sửa của bạn. Các bản cập nhật chạy nền của Brain củng cố những gì vẫn còn đúng, điều chỉnh những gì đã thay đổi và đánh dấu thông tin lỗi thời.

Bạn không cần tự xây dựng vòng lặp đó. Bạn chỉ cần làm việc.

Bộ nhớ lưu giữ các tùy chọn và thông tin chi tiết bạn đã chia sẻ. Brain kết nối các dự án, con người, quyết định và công việc còn dang dở với bằng chứng đằng sau chúng.

Bạn có thể xem lại những gì Brain đã học trong chế độ xem Bộ nhớ, truy ngược các mục về nguồn của chúng, cũng như chỉnh sửa hoặc xóa chúng. Brain sử dụng hoạt động của chính bạn, loại trừ các phiên ẩn danh và có nút bật/tắt riêng.

Ví dụ, tại Rho, các quyết định của một dự án lập hóa đơn nằm rải rác trên Slack, Notion, Jira, Figma và Google Docs. Nhóm đã thiết lập Computer để xem xét các thay đổi qua đêm, đánh dấu những điểm không nhất quán và đăng bản tóm tắt buổi sáng trên Slack.

Kỹ sư phần mềm Oktawian Jurkiewicz của nhóm nhận thấy Computer cũng đang xây dựng bộ nhớ cho dự án. “Chúng tôi không hề định nghĩa nó,” anh cho biết. “Computer tự xác định những điểm dữ liệu nào cần lưu trữ từ mỗi nguồn.”

Nhóm cho biết đã giảm thời gian họp hằng tuần từ 2,5 giờ xuống còn 15 phút và ước tính tiết kiệm được 120 giờ làm việc trong suốt dự án kéo dài 12 tuần.

120 giờ này được ghi nhận cho toàn bộ quy trình làm việc: trình kết nối, các lần chạy qua đêm và bản tóm tắt trên Slack. Bao nhiêu phần thời gian tiết kiệm được đến từ riêng bộ nhớ? Chúng tôi chưa thể định lượng điều đó.

Nhưng điều chúng tôi có thể khuyên là với hệ thống của riêng bạn, hãy quay lại bài kiểm tra đã đề cập trước đó—chạy các tác vụ tương đương khi bật và tắt lớp bộ nhớ, rồi so sánh tỷ lệ hoàn thành, chi phí và thời gian, bao gồm cả thời gian ai đó bỏ ra để sửa kết quả.

Câu hỏi thường gặp về bộ nhớ của tác nhân AI

Tác nhân AI có thể có bộ nhớ không?

Có. Tác nhân AI có thể lưu giữ thông tin qua các phiên nhờ các cuộc hội thoại, dữ kiện, tùy chọn và quy trình có thể tái sử dụng đã được lưu trữ. Hệ thống phải truy xuất thông tin đó khi có liên quan và cập nhật khi hoàn cảnh thay đổi.

Ví dụ, Brain trong Perplexity Computer xây dựng ngữ cảnh làm việc từ các phiên, công cụ đã kết nối, tệp và những chỉnh sửa của người dùng.

Tác nhân AI sử dụng bao nhiêu RAM?

Không có một yêu cầu cố định nào. Nếu tác nhân của bạn gọi một mô hình được lưu trữ trên máy chủ thông qua Perplexity Agent API, bạn không cần tải mô hình đó vào RAM của mình. Ứng dụng và các công cụ cục bộ của bạn vẫn cần bộ nhớ.

Chạy mô hình cục bộ thì khác. Với 4 bit cho mỗi tham số, 8 tỷ tham số tương đương khoảng 4 GB dữ liệu trọng số thô. Bộ nhớ thực tế cần dùng sẽ cao hơn khi tính cả chi phí phát sinh do lượng tử hóa, việc xử lý ngữ cảnh và phần mềm chạy mô hình.

Bộ nhớ tốt nhất cho tác nhân AI là gì?

Thiết lập tốt nhất tùy thuộc vào những gì tác nhân cần duy trì. Trạng thái hội thoại hỗ trợ các câu hỏi tiếp nối; bản ghi tình tiết lưu giữ những gì đã xảy ra; bộ nhớ ngữ nghĩa chứa kiến thức hiện tại; bộ nhớ thủ tục cung cấp các hướng dẫn có thể tái sử dụng.

Hầu hết công việc diễn ra liên tục đều được hưởng lợi từ sự kết hợp. Chúng tôi sử dụng một wiki có liên kết và dẫn nguồn cho Brain. Với hệ thống của riêng bạn, hãy kiểm tra xem thiết lập đó có giúp tác nhân hoàn thành tác vụ, áp dụng các chỉnh sửa và loại bỏ hướng dẫn lỗi thời hay không.