TLDR: Hầu hết các tác tử đều reset và quên sạch. Đây là kiến trúc bộ nhớ chính xác mà tôi đã xây dựng để các tác tử của tôi chia sẻ ngữ cảnh qua các lần khởi động lại, phối hợp mà không giẫm chân lên nhau, và giữ lại các quyết định trong nhiều tháng.
Vấn đề mà không ai giải quyết
Đây là cách thiết lập bộ nhớ tác tử AI điển hình. Nhồi những thứ quan trọng vào system prompt. Hy vọng cửa sổ ngữ cảnh không bị đầy. Khởi động lại và mất tất cả.
Tôi đã vận hành hai tác tử phối hợp (Ella trên OpenClaw, Lyra trên Hermes) qua hàng trăm phiên trong 6 tháng. Điều quan trọng nhất khiến chúng hữu ích không phải là các mô hình hay công cụ. Đó là kiến trúc bộ nhớ.
Khi Lyra gửi một bản sửa lỗi lúc 2 giờ sáng, Ella biết về nó vào buổi sáng. Khi tôi quyết định vào tháng Giêng về cách lưu trữ bí mật, cả hai tác tử vẫn tuân theo quyết định đó vào tháng Bảy. Khi một phiên bị crash giữa chừng, phiên tiếp theo sẽ tiếp tục chính xác từ chỗ bị gián đoạn.
Đây là hệ thống 4 lớp chính xác.
Lớp 1: Ngữ cảnh trong phiên
Mỗi phiên bắt đầu bằng cách đọc hai tệp. Tệp danh tính là danh tính cố định của tác tử. Không phải là một system prompt bị chôn vùi trong cấu hình. Một tệp markdown thực tế mà tôi có thể chỉnh sửa. Nó chứa cách tác tử nên hành xử, những gì nó ưu tiên, những gì nó không bao giờ làm nếu không hỏi, và mối quan hệ của nó với các tác tử khác.
Tệp chỉ mục bộ nhớ là chỉ mục của mọi thứ đáng nhớ qua các phiên. Không phải cơ sở dữ liệu vector. Không phải embeddings. Một bảng mục lục đơn giản trỏ đến các tệp bộ nhớ riêng lẻ. Mỗi tệp bộ nhớ là một ghi chú ngắn với tên, mô tả, loại và nội dung ngắn gọn. Chỉ mục luôn được tải. Các tệp riêng lẻ được đọc theo yêu cầu khi có liên quan.
Tại sao là markdown? Vì tôi có thể đọc, chỉnh sửa và gỡ lỗi nó. Khi một tác tử bắt đầu hành xử sai, tôi mở chỉ mục và tìm ra hướng dẫn sai. Khi tôi muốn thay đổi một hành vi, tôi chỉnh sửa tệp. Không cần API. Không cần dashboard. Không cần đào tạo lại.
Lớp 2: Lưu giữ sau phiên (Hindsight)
Vấn đề với bộ nhớ chỉ dùng markdown: nó chỉ ghi lại những gì ai đó viết một cách rõ ràng. Hầu hết ngữ cảnh có giá trị là ngầm hiểu. Các quyết định được đưa ra trong một lần chạy. Các sự kiện được suy luận từ một nhiệm vụ. Những thứ hóa ra lại quan trọng.
Hindsight là một backend lưu giữ sự kiện cục bộ chạy trên localhost. Vào cuối mỗi phiên có ý nghĩa, tác tử tự động đẩy một tập hợp các sự kiện được lưu giữ đã được tuyển chọn vào một ngân hàng có tên. Mỗi tác tử có ngân hàng riêng của mình.
Những gì được lưu giữ: các quyết định được đưa ra trong phiên, các sự kiện không hiển nhiên về người dùng hoặc dự án, các mẫu lỗi và các bản sửa lỗi chúng tôi đã áp dụng, và các sở thích mà người dùng đã xác nhận hoặc sửa chữa.
Khi một phiên mới bắt đầu, Hindsight được truy vấn để lấy ngữ cảnh liên quan trước khi tác tử trả lời. Nó không phải là tìm kiếm toàn văn trên các bản ghi. Đó là các sự kiện đã được tuyển chọn, được gắn thẻ theo loại, mà tác tử đã học được là đáng để mang theo.
Lộ trình được khuyến nghị: Sự kiện Hindsight, đánh giá của con người, mục nhập chỉ mục bộ nhớ. Lưu giữ tự động với một cổng phê duyệt của con người.

Lớp 3: Trạng thái dài hạn được chia sẻ (Nexus)
Bộ nhớ của một tác tử đơn lẻ bị phá vỡ khi bạn thêm một tác tử thứ hai. Chúng bị lệch hướng. Một tác tử nghĩ X là trạng thái dự án hiện tại. Tác tử kia nghĩ Y. Trong vòng một tuần, chúng mâu thuẫn với nhau.
Giải pháp là một tệp trạng thái được chia sẻ, có thể kiểm tra mà cả hai tác tử đều đọc và ghi. Chúng tôi sử dụng một kho Obsidian mà tôi gọi là Nexus. Nó chứa một nhật ký ngữ cảnh trực tiếp mà cả hai tác tử đều thêm vào sau mỗi lượt có ý nghĩa, một tệp trạng thái dự án, một nhật ký quyết định, và một điểm kiểm tra ngữ cảnh làm việc cho mỗi tác tử được cập nhật sau mỗi vài lần gọi công cụ trong các tác vụ dài.
Tệp ngữ cảnh trực tiếp là sự bắt tay thời gian thực. Bất biến: trước mỗi câu trả lời, hãy đọc nó. Sau mỗi lượt có ý nghĩa, hãy thêm vào nó.
Khi Lyra hoàn thành một PR lúc 2 giờ sáng và Ella đang trả lời câu hỏi buổi sáng của tôi, Ella đã biết. Cô ấy đã đọc nhật ký. Không cần truyền tin nhắn. Không cần API giữa các tác tử. Không cần thăm dò. Một tệp được chia sẻ, hai tác tử, nhật ký chỉ nối thêm.

Lớp 4: Kiến thức có thể tìm kiếm (gbrain)
Ba lớp đầu tiên xử lý bộ nhớ tình tiết. Chuyện gì đã xảy ra, quyết định gì đã được đưa ra, điều gì quan trọng cần mang theo. gbrain là lớp ngữ nghĩa. Nó là một wiki được biên dịch chạy như một máy chủ MCP trên kho Nexus. Tìm kiếm toàn văn và ngữ nghĩa trên mọi thứ đã được viết ra.
Khi một tác tử cần trả lời một câu hỏi nghiên cứu, tìm một bản tổng hợp trước đó, hoặc tra cứu cách chúng tôi đã xử lý một loại vấn đề trước đây, nó truy vấn gbrain thay vì đọc lại mọi tệp. Đầu ra là một danh sách các trang có liên quan được xếp hạng với nguồn gốc. Tác tử đọc những gì có liên quan. Nó không đổ toàn bộ kho vào ngữ cảnh.
Đây là sự khác biệt giữa bộ nhớ và sự hồi tưởng. Các lớp 1 đến 3 xử lý những gì tác tử mang theo. Lớp 4 xử lý những gì tác tử có thể tra cứu.
Bất biến đồng bộ hóa giữa các tác tử
Hai tác tử, một tệp ngữ cảnh trực tiếp. Rủi ro: chúng ghi đè lên nhau, hoặc bỏ lỡ các mục nhập của nhau. Bất biến chúng tôi chạy: mỗi mục nhập được ký với tên tác tử, kênh, loại và một dòng tóm tắt. Chỉ nối thêm. Không bao giờ chỉnh sửa mục nhập của người khác. Nếu Lyra đã ghi lại điều gì đó có liên quan, Ella xác nhận nó một cách rõ ràng trong câu trả lời tiếp theo. Đối với các quyết định quan trọng, cả hai tác tử cũng ghi vào nhật ký quyết định với dấu thời gian và lý do.
Điều này đã chạy qua hàng trăm phiên. Chúng tôi đã có một xung đột: một điều kiện cạnh tranh khi cả hai tác tử thêm vào trong cùng một phút trong quá trình bàn giao. Giải pháp: đọc cả hai mục nhập, hòa giải trong lượt tiếp theo. Không cần hợp nhất tự động.

Điều này thay thế cái gì
Trước kiến trúc này: năm phiên trò chuyện riêng rẽ, mỗi phiên với ngữ cảnh cũ kỹ của riêng nó. Các tác tử mâu thuẫn với nhau vì không cái nào thấy được cái kia biết gì. Các hướng dẫn tôi đã đưa ra ba tuần trước, bị lãng quên. Các quyết định sống trong đầu tôi thay vì trong một tệp.
Sau đó: hai tác tử tự tóm tắt trước mỗi câu trả lời. Một nhật ký trạng thái được chia sẻ mà không cái nào có thể phủ nhận. Các quyết định được lưu giữ tồn tại qua nhiều tháng reset ngữ cảnh. Mọi sở thích hành vi trong một tệp tôi có thể chỉnh sửa và xác minh.
Sự đánh đổi trung thực: hệ thống này đòi hỏi kỷ luật. Bạn phải viết mọi thứ ra. Bạn phải duy trì các tệp. Bạn phải xem xét những gì được lưu giữ trước khi nó trở thành vĩnh viễn. Nó không phải là một hệ thống luôn bật kỳ diệu. Đó là kỷ luật thủ công có cấu trúc cộng với tự động hóa ở các khe nối.
Cách bắt đầu
Bạn không cần hai tác tử hoặc một kho đầy đủ để chạy phiên bản đầu tiên.
Bước 1: Một tệp danh tính cộng với một chỉ mục bộ nhớ. Tạo chúng. Đọc chúng khi bắt đầu phiên. Ghi mọi sở thích hành vi vào chỉ mục ngay lần thứ hai bạn sửa tác tử cho cùng một điều.
Bước 2: Một tệp trạng thái được chia sẻ. Nếu bạn chạy nhiều hơn một tác tử, hoặc sử dụng Claude qua nhiều cửa sổ, hãy tạo một tệp ngữ cảnh trực tiếp. Mỗi phiên thêm vào nó khi kết thúc và đọc nó khi bắt đầu.
Bước 3: Một quy tắc lưu giữ. Khi một phiên tạo ra một quyết định nên tồn tại, hãy ghi nó vào chỉ mục theo cách thủ công. Làm điều này bằng tay cho đến khi bạn tin tưởng vào mẫu hình. Sau đó tự động hóa việc đánh dấu.
Bước 4: Một tệp cho mỗi sự kiện, không phải một tài liệu lớn. Chỉ mục trỏ đến các tệp riêng lẻ. Điều này giúp dễ dàng xóa một bộ nhớ cũ mà không ảnh hưởng đến những bộ nhớ khác.
Toàn bộ ngăn xếp 4 lớp mất khoảng 6 tháng để ổn định. Các lớp 1 và 3 mất một cuối tuần. Hãy bắt đầu từ đó.
Kết luận
Hầu hết các thiết lập bộ nhớ tác tử là quản lý cửa sổ ngữ cảnh với các bước bổ sung. Chúng hoạt động cho đến khi cửa sổ reset hoặc bạn thêm một tác tử thứ hai.
Bộ nhớ tác tử bền vững là một vấn đề cơ sở hạ tầng, không phải vấn đề prompting. Câu trả lời là nhiều lớp với các chân trời thời gian khác nhau: ngữ cảnh trong phiên, sự kiện xuyên phiên, trạng thái được chia sẻ, kiến thức có thể tìm kiếm.
Tất cả của chúng tôi đều là markdown thuần túy. Không có cơ sở dữ liệu vector. Không có embeddings. Không có đào tạo lại. Chỉ là các tệp tôi có thể mở, chỉnh sửa và gỡ lỗi.
Các tác tử thực sự hữu ích không phải là những tác tử có cửa sổ ngữ cảnh lớn nhất. Chúng là những tác tử nhớ những gì quan trọng và quên những gì không.
Nếu bạn đang xây dựng các tác tử mà bạn muốn tin tưởng với công việc thực tế, hãy bắt đầu với kiến trúc bộ nhớ trước khi bạn thêm nhiều công cụ hơn.
Các công cụ được tham khảo
Hindsight (lưu giữ bộ nhớ cục bộ): https://github.com/vectorize-io/hindsight
gbrain (wiki được biên dịch / tìm kiếm ngữ nghĩa): https://github.com/garrytan/gbrain
OpenClaw (môi trường chạy tác tử): https://openclaw.ai
Hermes (môi trường chạy tác tử): hermes-agent.nousresearch.com





