Bộ nhớ Agent dưới dạng định dạng tệp: Cách tiếp cận đơn giản hóa cho AI

Công nghệ31 tháng 8, 2026·7 phút đọc

Bài viết giới thiệu 'memoryfield' - một định dạng tệp di động để lưu trữ bộ nhớ của AI agent, thay thế các hệ thống phức tạp hiện tại. Thay vì xử lý bộ nhớ như một quy trình nhiều giai đoạn, tác giả đề xuất lưu trữ dữ liệu dưới dạng Markdown kết hợp với SQLite để tìm kiếm ngữ nghĩa, giúp agent truy cập thông tin nhanh chóng và linh hoạt hơn.

Bộ nhớ Agent dưới dạng định dạng tệp: Cách tiếp cận đơn giản hóa cho AI

Bộ nhớ Agent dưới dạng định dạng tệp: Một cách tiếp cận đơn giản hóa cho AI

Trong bối cảnh các hệ thống AI agent ngày càng phổ biến, việc quản lý bộ nhớ hiệu quả trở thành yếu tố then chốt. Tác giả Cal Paterson đề xuất "memoryfield" - một định dạng tệp di động lưu trữ bộ nhớ agent dưới dạng Markdown và SQLite, thay thế các hệ thống phức tạp hiện tại. Cách tiếp cận này hứa hẹn mang lại sự đơn giản, minh bạch và khả năng mở rộng tốt hơn cho các agent AI.

Vấn đề với các hệ thống bộ nhớ agent hiện tại

Nhiều hệ thống bộ nhớ agent đang tồn tại có những hạn chế riêng:

  • Hệ thống độc quyền: Bị ràng buộc vào một nền tảng cụ thể, thường khai thác lịch sử hội thoại để tạo bộ nhớ về người dùng, trong khi thông tin về thế giới lại hữu ích hơn nhiều.

  • Quá phức tạp: Một số hệ thống cần tới pgvector, Neo4j và một LLM riêng chỉ để quyết định nên nhớ điều gì. Sự phức tạp này gây khó khăn trong vận hành và gây nhầm lẫn cho mô hình.

  • Kiểu "Hiện đại cao": Tưởng tượng một dạng bộ nhớ duy lý hóa, thường dựa trên đồ thị và các mệnh đề logic, nhưng lại tách rời thông tin khỏi ngữ cảnh khiến agent (và cả người dùng) không hiểu được.

Điểm chung của các hệ thống này là họ coi bộ nhớ như một quy trình (process). Nhưng thực tế, bộ nhớ - đặc biệt với mô hình AI - nên được biểu diễn như dữ liệu.

Memoryfield: Bộ nhớ như định dạng tệp

Ý tưởng chính là tạo ra một định dạng tệp di động có tên "memoryfield", về cơ bản là một tệp zip chứa:

my-memories.memoryfield.zip
├── carbon-fibre-woks.md
├── finnish-bureaucracy-tips.md
├── [... nhiều tệp md khác...]
├── wec-2026-season-notes.md
└── nomic-embed-text-v1.5.sqlite3

Một memoryfield bao gồm:

  • Các "trang" Markdown với optional YAML frontmatter
  • Optional SQLite vector index cho tìm kiếm ngữ nghĩa

"Agent làm việc tốt nhất với các tệp tin."

Bốn quyết định thiết kế quan trọng

1. Dùng văn xuôi, không dùng đoạn cắt hay "sự kiện"

Các hệ thống RAG thường phức tạp vì phải xử lý tài liệu có sẵn của con người. Nhưng bộ nhớ agent khác: khi được hình thành, nó xảy ra trực tiếp với agent - vốn có khả năng viết văn xuôi. Agent chỉ cần viết trực tiếp bằng Markdown, không cần chunking hay xử lý cơ học.

Mỗi trang memoryfield trông như:

---
title: Chảo sợi carbon
created: '2026-03-01T09:00:00Z'
updated: '2026-08-22T14:30:00Z'
uuid: 6aa615f0-486f-48a7-a210-ba4f5ff18c8b
summary: Đặc tính nhiệt của dụng cụ nấu bằng sợi carbon
---
Chảo sợi carbon dẫn nhiệt đều, nhưng...

Giới hạn mềm khoảng 8kb (~2000 token) để vừa với vector embedding - tương đương một bài báo tạp chí dài vừa, một giới hạn hợp lý. Muốn chi tiết hơn thì thêm trang mới.

2. Nhảy ngữ nghĩa, không đi qua đồ thị

Karpathy wikis (dựa trên Roam/Obsidian) yêu cầu agent "đi bộ" qua đồ thị tri thức, nhưng cách này chậm và không đáng tin cậy. Agent phải dừng lại để gọi tool nhiều lần, và thông tin càng sâu trong đồ thị thì càng tốn nhiều thời gian. Ngoài ra, agent chỉ nhìn thấy tiêu đề/liên kết để đánh giá, dễ bỏ sót thông tin quan trọng được viết lệch chủ đề.

Giải pháp: dùng tìm kiếm ngữ nghĩa để nhảy thẳng đến các trang liên quan dựa trên nội dung thực tế, và đọc song song tất cả. Tối đa chỉ cần 2 lần gọi tool (#1 để tìm kiếm, #2 để đọc song song), tối ưu hóa token đầu vào.

3. Nhiều mô hình hơn, ít cơ chế hơn

Các hệ thống "cơ chế cao" (high mechanism) yêu cầu agent điều hướng qua API phức tạp - vừa tốn context window để tải openapi.json, vừa hạn chế khả năng của agent.

Memoryfield là hệ thống "cơ chế thấp" (low mechanism) - chỉ là một định dạng tệp. Agent có thể tự do sáng tạo cách truy cập: dùng perl để find-and-replace, hoặc nhúng CSV để truy vấn bằng SQLite (đều là ví dụ thực tế). Nhờ học từ dữ liệu huấn luyện, các mô hình tốt hơn sẽ tự động viết bộ nhớ thông minh hơn mà không cần thay đổi hạ tầng.

4. Định dạng mở, linh hoạt, dễ di chuyển

Bộ nhớ tích lũy theo thời gian sẽ trở thành tài sản quý giá. Bạn không muốn bị khóa vào một nền tảng cụ thể. Đã có RFC-style spec cho memoryfield để loại bỏ sự mơ hồ và không phụ thuộc vào một hàm embedding cụ thể.

Định dạng chuẩn là zipfile để dễ trao đổi, nhưng spec cho phép phục vụ từ nhiều nguồn: tệp cục bộ, Amazon S3, GitHub, HTTP - bất cứ thứ gì có tệp tin.

Bắt đầu nhanh

# Yêu cầu: ollama, uv và npx (đi kèm npm)
# 1. Kéo mô hình embedding:
ollama pull nomic-embed-text
# 2. Cài đặt công cụ CLI:
uv tool install git+https://github.com/calpaterson/memoryfield-tool
# 3. Cài đặt skill:
npx skills add calpaterson/memoryfield-skill -g -y

Tác giả cũng cung cấp bản demo soapstones.memoryfield.zip chứa nhiều bộ nhớ giá trị về cách agent truy cập dữ liệu (tìm kiếm Reddit, dùng Jina Reader, MediaWiki API...).

Giải đáp thắc mắc thường gặp

"Chẳng phải đây là RAG sao?"

RAG hiện được hiểu rất rộng - chỉ cần agent truy xuất dữ liệu là "đã RAG". Theo nghĩa đó thì đúng, nhưng các kỹ thuật điển hình của RAG (chunking, re-ranking, hybrid search) không có ở đây. Quan trọng hơn: RAG thường chỉ về đọc, còn memoryfield cũng để ghi.

"Mô hình embedding cũ rồi còn gì?"

Embedding models không lớn và thay đổi nhanh như frontier models. nomic-embed-text-v1.5 vẫn là sự cân bằng tốt giữa nhỏ gọn (270MB) và mạnh mẽ, chạy được trên máy không GPU. Spec cũng cho phép dùng embedding khác.

"Làm sao tránh lưu trữ rác?"

Tìm kiếm ngữ nghĩa sẽ không bao giờ hiển thị thông tin không liên quan, nên lưu nhiều một chút không gây hại. Mẹo quan trọng: nên kèm citation (URL) để agent có thể kiểm chứng và cập nhật sau này.

"Còn vấn đề bảo mật, tấn công prompt injection?"

Không nên chia sẻ context window, kể cả qua bộ nhớ, với bên không tin cậy. Định dạng zipfile tĩnh giúp bạn dễ dàng xem xét thủ công và khóa chặt (sha256sum) các memoryfield nhận từ người khác.

Kết luận: Dữ liệu là trên hết

Sơ đồ hoạt động của memoryfieldSơ đồ hoạt động của memoryfield

Quy trình cuối cùng rất rõ ràng:

  • Viết bộ nhớ dưới dạng Markdown
  • Nhúng và lưu vector vào SQLite
  • Tìm kiếm ngữ nghĩa để truy xuất lại

Memoryfield là một hệ thống bộ nhớ đặc biệt vì nó định nghĩa cấu trúc dữ liệu, không phải quy trình xử lý. Không có pipeline trích xuất, không có dịch vụ nền, không có pluggable gì cả. Vector index chỉ là cache có thể xóa, không phải hệ thống chính.

"Bộ nhớ là dữ liệu! Càng ít máy móc cố định giữa agent và dữ liệu, agent càng hoạt động tốt."

Với cộng đồng AI Việt Nam, đây là hướng tiếp cận đáng thử nghiệm cho các dự án agent - đặc biệt khi chi phí vận hành hạ tầng phức tạp luôn là bài toán lớn. Bắt đầu từ một định dạng tệp đơn giản, mở và minh bạch có thể là bước đi khôn ngoan cho cả startup lẫn doanh nghiệp.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗