AI agent

Bộ nhớ của Agent cần một tiêu chuẩn chung giống như OpenTelemetry

Các AI agent lưu trữ bộ nhớ dưới những định dạng không tương thích, tạo ra sự phân mảnh tương tự như lĩnh vực observability trước năm 2019. Một đề xuất mới gợi ý thống nhất các schema này để cho phép khả năng tương tác.

Minh họa các chip bộ nhớ phân mảnh so với một bản thiết kế thống nhất
Minh họa được tạo riêng cho bài viết này

Được dịch tự động từ bản gốc tiếng Anh.

Hệ sinh thái cho bộ nhớ của AI agent hiện đang bị phân mảnh, với mỗi công cụ sử dụng cấu trúc dữ liệu và cơ chế lưu trữ riêng. Mads Thines lập luận rằng bối cảnh này phản chiếu trạng thái hỗn loạn của phần mềm observability trước năm 2019, đòi hỏi một tiêu chuẩn thống nhất để cho phép các agent khác nhau chia sẻ ngữ cảnh một cách hiệu quả.

Chuyện gì đã xảy ra

Hầu hết các môi trường phát triển ngày nay dựa vào nhiều hệ thống rời rạc để duy trì thông tin giữa các phiên làm việc. Một thiết lập điển hình có thể bao gồm các tệp chỉ dẫn như AGENTS.md hoặc CLAUDE.md, các thư mục do agent quản lý như /memories, các dữ kiện được lưu trữ từ các dịch vụ như GitHub Copilot, và các đồ thị tri thức (knowledge graphs) riêng biệt được duy trì bởi các máy chủ Model Context Protocol (MCP). Bốn phương pháp phổ biến này không thể đọc dữ liệu của nhau, nghĩa là những hiểu biết thu được bởi một agent tích hợp liên tục (CI) sẽ vô hình đối với một agent chỉnh sửa mã hoặc các công cụ tiếp theo.

Sự phân mảnh này đã dẫn đến sự gia tăng của các giải pháp tùy chỉnh, trong đó các nhà phát triển thường xuyên xây dựng lớp bộ nhớ riêng để giải quyết các khoảng trống cụ thể. Mặc dù từng định dạng riêng lẻ đều hợp lý về mặt logic, nhưng kết quả tổng thể là sự tái tạo dư thừa các khái niệm cơ bản: một ghi chú được lưu tại một địa chỉ, có hiệu lực trong một khoảng thời gian nhất định. Vấn đề cốt lõi không phải là thiếu công cụ, mà là thiếu sự đồng thuận cộng đồng về một mô hình dữ liệu chung, một vấn đề mà ngành observability đã giải quyết thành công thông qua việc tạo ra OpenTelemetry.

Nó hoạt động như thế nào

Trước năm 2019, các nhà cung cấp observability cạnh tranh bằng cách tạo ra các agent độc quyền, thư viện đo lường (instrumentation libraries) và định dạng dữ liệu, khiến người dùng khó chuyển đổi giữa các nhà cung cấp. Ngành công nghiệp đã giải quyết điều này bằng cách hợp nhất OpenTracing và OpenCensus thành OpenTelemetry, thiết lập bốn tầng đồng thuận quan trọng. Những tầng này bao gồm một mô hình dữ liệu thống nhất cho spans và metrics, các quy ước ngữ nghĩa cho việc đặt tên, một giao thức truyền tải duy nhất gọi là OTLP, và các triển khai tham chiếu như SDKs dùng chung. Sau đó, các nhà cung cấp cạnh tranh về lưu trữ và phân tích thay vì thu thập dữ liệu, cho phép người dùng chỉ cần đo lường (instrument) mã nguồn của họ một lần.

Bộ nhớ của Agent hiện thiếu thỏa thuận nền tảng này. Một đặc tả chung được đề xuất sẽ phản ánh cách tiếp cận của OpenTelemetry bằng cách xác định các cấp độ địa chỉ chuẩn, chẳng hạn như global, project hoặc repo, và thiết lập các quy ước ngữ nghĩa cho các thuộc tính. Nó cũng sẽ định nghĩa một hợp đồng cho các thao tác cơ bản như write, read và search, được phơi bày qua MCP, trong khi để lại các quyết định về lưu trữ, xếp hạng và giao diện người dùng cho từng nhà cung cấp. Sự tách biệt này cho phép các công cụ tương tác trên cấu trúc dữ liệu trong khi vẫn cạnh tranh về các tính năng giá trị gia tăng.

Chi tiết chính

  • Các định dạng bộ nhớ hiện tại bao gồm tệp chỉ dẫn, tệp do agent quản lý, dữ kiện kho lưu trữ được host, khối ngữ cảnh, dữ kiện trích xuất, cửa hàng có namespace và đồ thị tri thức, không cái nào có thể đọc lẫn nhau.
  • OpenTelemetry thành công nhờ thống nhất về mô hình dữ liệu, quy ước ngữ nghĩa, giao thức và các triển khai tham chiếu, cho phép các nhà cung cấp cạnh tranh về cách sử dụng dữ liệu thay vì thu thập nó.
  • Các đề xuất hiện có như Portable Memory, Open Memory Protocol và COGX tập trung chủ yếu vào việc xuất dữ liệu giữa các nhà cung cấp hơn là cho phép địa chỉ hóa trực tiếp và đồng thời.
  • Cấu trúc bản ghi bộ nhớ được đề xuất bao gồm các trường cho danh tính, địa chỉ, khóa, loại nội dung, vòng đời và thuộc tính, với nội dung bộ nhớ thực tế được lưu trữ riêng biệt.
  • Đặc tả nên ghi nhận ai đã viết bộ nhớ, chẳng hạn như con người hay agent, để giúp người đọc đánh giá độ tin cậy và giảm thiểu rủi ro prompt injection.
  • LoreKit cung cấp schema và định dạng trên đĩa của mình theo giấy phép MIT như một đầu vào cụ thể cho việc phát triển một tiêu chuẩn chung.

Tại sao điều này quan trọng

Đối với các kỹ sư xây dựng quy trình làm việc agentic, việc thiếu tiêu chuẩn hóa hiện tại có nghĩa là ngữ cảnh bị cô lập trong các công cụ hoặc nhà cung cấp cụ thể. Điều này ngăn cản các agent cộng tác hiệu quả, vì bài học rút ra bởi một thành phần không thể được sử dụng bởi thành phần khác nếu không có sự can thiệp thủ công hoặc các tích hợp tùy chỉnh phức tạp. Khi số lượng công cụ agent tăng lên, chi phí duy trì các hệ thống bộ nhớ rời rạc này cũng tăng theo, dẫn đến nỗ lực phát triển dư thừa và trải nghiệm người dùng không nhất quán.

Việc áp dụng một tiêu chuẩn chung sẽ cho phép các nhà phát triển đo lường (instrument) các agent của họ một lần và để chúng hoạt động liền mạch trên các nền tảng và công cụ khác nhau. Nó sẽ tạo ra một hệ sinh thái sôi động, nơi các nhà cung cấp cạnh tranh về các tính năng nâng cao như thuật toán truy xuất tốt hơn hoặc giao diện người dùng, thay vì khóa chặt người dùng vào các định dạng dữ liệu độc quyền. Sự chuyển dịch này sẽ giảm bớt tình trạng lock-in nhà cung cấp và giúp các nhóm dễ dàng áp dụng các công cụ mới mà không mất đi ngữ cảnh lịch sử hoặc phải tái thiết kế hạ tầng bộ nhớ của họ.

Bạn có thể làm gì

  • Kiểm toán môi trường phát triển hiện tại của bạn để xác định tất cả các nơi khác nhau mà bộ nhớ của agent được lưu trữ và ghi chú lại những điểm không tương thích giữa chúng.
  • Xem xét các đề xuất hiện có như Portable Memory, Open Memory Protocol và COGX để hiểu cách tiếp cận của họ đối với việc xuất dữ liệu và serialization.
  • Thử nghiệm với cửa hàng offline của LoreKit bằng cách chạy npx @lorekit/cli install để xem xét cách các tệp Markdown thuần túy có thể đại diện cho các bản ghi bộ nhớ có cấu trúc.
  • So sánh các bản ghi bộ nhớ được tạo bởi các công cụ hiện tại của bạn với cấu trúc được đề xuất để xác định các trường còn thiếu hoặc các thuộc tính cần thiết cho trường hợp sử dụng của bạn.
  • Tương tác với cộng đồng bằng cách chia sẻ phản hồi về những gì một định dạng chung cần hỗ trợ cho quy trình làm việc cụ thể của bạn, tập trung vào địa chỉ hóa trực tiếp và các cơ chế tin cậy.
  • Cân nhắc đóng góp vào cuộc thảo luận trên các diễn đàn trung lập, chẳng hạn như Agentic AI Foundation của Linux Foundation, để giúp định hình các tiêu chuẩn đang nổi lên.
  • #ai agents
  • #opentelemetry
  • #data standards
  • #model context protocol
  • #software engineering

Công cụ từ cửa hàng Bytechap

Đọc tiếp

Tất cả bài viết