Mô hình và nền tảng AI

Các tác nhân tự động với AgentOps: Khả năng quan sát, theo dõi và hơn thế cho ứng dụng AI của bạn

mm
Thêm Unite.AI vào các nguồn ưu tiên của bạn trên Google

Sự phát triển của các tác nhân tự động bởi các mô hình nền tảng (FMs) như Mô hình ngôn ngữ lớn (LLMs) đã thay đổi cách chúng ta giải quyết các vấn đề phức tạp, đa bước. Các tác nhân này thực hiện các nhiệm vụ từ hỗ trợ khách hàng đến kỹ thuật phần mềm, điều hướng các quy trình công việc phức tạp kết hợp lý lẽ, sử dụng công cụ và bộ nhớ.

Tuy nhiên, khi các hệ thống này phát triển về khả năng và phức tạp, các thách thức về khả năng quan sát, độ tin cậy và tuân thủ xuất hiện.

Đây là nơi AgentOps tham gia; một khái niệm được mô hình hóa sau DevOps và MLOps nhưng được thiết kế để quản lý vòng đời của các tác nhân dựa trên FM.

Để cung cấp một sự hiểu biết cơ bản về AgentOps và vai trò quan trọng của nó trong việc cho phép khả năng quan sát và theo dõi các tác nhân tự động dựa trên FM, tôi đã rút ra những hiểu biết từ bài báo gần đây Taxonomy of AgentOps for Enabling Observability of Foundation Model-Based Agents của Liming Dong, Qinghua Lu và Liming Zhu. Bài báo cung cấp một cuộc khám phá toàn diện về AgentOps, nhấn mạnh sự cần thiết của nó trong việc quản lý vòng đời của các tác nhân tự động – từ tạo và thực hiện đến đánh giá và giám sát. Các tác giả phân loại các artifact có thể theo dõi, đề xuất các tính năng chính cho các nền tảng quan sát và giải quyết các thách thức như độ phức tạp của quyết định và tuân thủ quy định.

Khi AgentOps (công cụ) đã đạt được sự quan tâm đáng kể như một trong những công cụ hàng đầu để giám sát, gỡ lỗi và tối ưu hóa các tác nhân AI (như autogen, crew ai), bài viết này tập trung vào khái niệm rộng hơn của AI Operations (Ops).

Được nói, AgentOps (công cụ) cung cấp cho các nhà phát triển cái nhìn sâu sắc vào các quy trình công việc của tác nhân với các tính năng như phiên bản ghi lại, theo dõi chi phí LLM và giám sát tuân thủ. Là một trong những công cụ Ops phổ biến nhất trong AI, sau này trong bài viết, chúng tôi sẽ đi qua chức năng của nó với một hướng dẫn.

AgentOps là gì?

AgentOps đề cập đến các quy trình, công cụ và khuôn khổ từ đầu đến cuối cần thiết để thiết kế, triển khai, giám sát và tối ưu hóa các tác nhân tự động dựa trên FM trong sản xuất. Mục tiêu của nó là:

  • Khả năng quan sát: Cung cấp khả năng nhìn thấy đầy đủ vào các quy trình thực hiện và ra quyết định của tác nhân.
  • Theo dõi: Capturing các artifact chi tiết trên toàn bộ vòng đời của tác nhân để gỡ lỗi, tối ưu hóa và tuân thủ.
  • Độ tin cậy: Đảm bảo đầu ra nhất quán và đáng tin cậy thông qua giám sát và các quy trình công việc mạnh mẽ.

Ở cốt lõi, AgentOps mở rộng hơn MLOps truyền thống bằng cách nhấn mạnh vào các quy trình công việc lặp đi lặp lại, đa bước, tích hợp công cụ và bộ nhớ thích ứng, đồng thời duy trì việc theo dõi và giám sát nghiêm ngặt.

Thách thức chính được giải quyết bởi AgentOps

1. Độ phức tạp của Hệ thống tác nhân

Các tác nhân tự động xử lý các nhiệm vụ trên một không gian hành động rộng lớn, đòi hỏi quyết định tại mỗi bước. Độ phức tạp này đòi hỏi các cơ chế lập kế hoạch và giám sát tinh vi.

2. Yêu cầu về khả năng quan sát

Các trường hợp sử dụng có nguy cơ cao – như chẩn đoán y tế hoặc phân tích pháp lý – đòi hỏi khả năng theo dõi chi tiết. Tuân thủ các quy định như Đạo luật AI của EU进一步 nhấn mạnh sự cần thiết của các khuôn khổ quan sát mạnh mẽ.

3. Gỡ lỗi và Tối ưu hóa

Xác định lỗi trong các quy trình công việc đa bước hoặc đánh giá đầu ra trung gian là một thách thức nếu không có các bản ghi chi tiết về hành động của tác nhân.

4. Khả năng mở rộng và Quản lý Chi phí

Khả năng mở rộng các tác nhân cho sản xuất đòi hỏi phải theo dõi các chỉ số như độ trễ, sử dụng token và chi phí hoạt động để đảm bảo hiệu quả mà không ảnh hưởng đến chất lượng.

Các tính năng cốt lõi của các nền tảng AgentOps

1. Tạo và Tùy chỉnh Tác nhân

Các nhà phát triển có thể cấu hình các tác nhân bằng cách sử dụng một đăng ký các thành phần:

  • Vai trò: Định nghĩa trách nhiệm (ví dụ: nhà nghiên cứu, người lập kế hoạch).
  • Guardrails: Thiết lập các ràng buộc để đảm bảo hành vi đáng tin cậy và đạo đức.
  • Toolkits: Cho phép tích hợp với các API, cơ sở dữ liệu hoặc đồ thị kiến thức.

Các tác nhân được xây dựng để tương tác với các tập dữ liệu, công cụ và lời nhắc cụ thể trong khi vẫn tuân thủ các quy tắc định sẵn.

2. Khả năng quan sát và Theo dõi

AgentOps ghi lại các bản ghi thực hiện chi tiết:

  • Bản ghi: Ghi lại mỗi bước trong quy trình công việc của tác nhân, từ các cuộc gọi LLM đến việc sử dụng công cụ.
  • Spans: Chia nhỏ các bản ghi thành các bước chi tiết, chẳng hạn như thu hồi, tạo nhúng, hoặc gọi công cụ.
  • Artifact: Theo dõi các đầu ra trung gian, trạng thái bộ nhớ và mẫu lời nhắc để hỗ trợ gỡ lỗi.

Các công cụ quan sát như Langfuse hoặc Arize cung cấp các bảng điều khiển trực quan hóa các bản ghi này, giúp xác định các nút thắt hoặc lỗi.

3. Quản lý Lời nhắc

Kỹ thuật lời nhắc đóng vai trò quan trọng trong việc hình thành hành vi của tác nhân. Các tính năng chính bao gồm:

  • Phiên bản: Theo dõi các phiên bản của lời nhắc để so sánh hiệu suất.
  • Phát hiện tiêm: Xác định mã độc hoặc lỗi đầu vào trong lời nhắc.
  • Tối ưu hóa: Các kỹ thuật như Chain-of-Thought (CoT) hoặc Tree-of-Thought cải thiện khả năng lý luận.

4. Tích hợp Phản hồi

Phản hồi của con người vẫn rất quan trọng cho các cải tiến lặp lại:

  • Phản hồi rõ ràng: Người dùng đánh giá đầu ra hoặc cung cấp bình luận.
  • Phản hồi ngầm: Các chỉ số như thời gian trên nhiệm vụ hoặc tỷ lệ nhấp chuột được phân tích để đo lường hiệu quả.

Chu kỳ phản hồi này tinh chỉnh cả hiệu suất của tác nhân và các tiêu chuẩn đánh giá được sử dụng cho thử nghiệm.

5. Đánh giá và Thử nghiệm

Các nền tảng AgentOps tạo điều kiện cho thử nghiệm nghiêm ngặt trên:

  • Benchmark: So sánh hiệu suất của tác nhân với các tiêu chuẩn ngành.
  • Đánh giá bước-by-bước: Đánh giá các bước trung gian trong quy trình công việc để đảm bảo tính chính xác.
  • Đánh giá Trajectory: Xác thực đường dẫn ra quyết định được tác nhân thực hiện.

6. Tích hợp Bộ nhớ và Kiến thức

Các tác nhân sử dụng bộ nhớ ngắn hạn cho ngữ cảnh (ví dụ: lịch sử cuộc trò chuyện) và bộ nhớ dài hạn để lưu trữ những hiểu biết từ các nhiệm vụ trước. Điều này cho phép các tác nhân thích nghi động trong khi vẫn duy trì tính nhất quán theo thời gian.

7. Giám sát và Chỉ số

Giám sát toàn diện theo dõi:

  • Độ trễ: Đo lường thời gian phản hồi để tối ưu hóa.
  • Sử dụng Token: Theo dõi việc tiêu thụ tài nguyên để kiểm soát chi phí.
  • Chỉ số Chất lượng: Đánh giá tính liên quan, độ chính xác và độc tính.

Những chỉ số này được trực quan hóa trên nhiều chiều như phiên làm việc của người dùng, lời nhắc, và quy trình công việc, cho phép can thiệp theo thời gian thực.

Taxonomy của các Artifact có thể Theo dõi

Bài báo giới thiệu một hệ thống phân loại các artifact hỗ trợ khả năng quan sát của AgentOps:

  • Artifact Tạo Tác nhân: Dữ liệu về vai trò, mục tiêu và ràng buộc.
  • Artifact Thực hiện: Nhật ký về các cuộc gọi công cụ, hàng đợi nhiệm vụ con và bước lý lẽ.
  • Artifact Đánh giá: Benchmark, vòng lặp phản hồi và chỉ số điểm.
  • Artifact Theo dõi: ID phiên, ID bản ghi và span cho giám sát chi tiết.

Hệ thống phân loại này đảm bảo sự nhất quán và rõ ràng trên toàn bộ vòng đời của tác nhân, giúp việc gỡ lỗi và tuân thủ trở nên dễ dàng hơn.

AgentOps (công cụ) Hướng dẫn

Hướng dẫn này sẽ giúp bạn thiết lập và sử dụng AgentOps để giám sát và tối ưu hóa các tác nhân AI của bạn.

Bước 1: Cài đặt SDK AgentOps

Cài đặt AgentOps bằng trình quản lý gói Python yêu thích của bạn:

pip install agentops

Bước 2: Khởi tạo AgentOps

Trước tiên, nhập AgentOps và khởi tạo nó bằng khóa API của bạn. Lưu khóa API trong tệp .env để đảm bảo an ninh:

# Khởi tạo AgentOps với Khóa API
import agentops
import os
from dotenv import load_dotenv

<p># Tải biến môi trường
load_dotenv()
AGENTOPS_API_KEY = os.getenv(&quot;AGENTOPS_API_KEY&quot;)</p>

<p># Khởi tạo Client AgentOps
agentops.init(api_key=AGENTOPS_API_KEY, default_tags=[&quot;my-first-agent&quot;])</p>

Bước này thiết lập khả năng quan sát cho tất cả các tương tác LLM trong ứng dụng của bạn.

Bước 3: Ghi lại Hành động với Trang trí

Bạn có thể lập công cụ các hàm cụ thể bằng cách sử dụng trang trí @record_action, điều này theo dõi các tham số, thời gian thực hiện và đầu ra của chúng. Dưới đây là một ví dụ:

from agentops import record_action

<p>@record_action(&quot;custom-action-tracker&quot;)
def is_prime(number):
&quot;&quot;&quot;Kiểm tra xem một số có phải là số nguyên tố.&quot;&quot;&quot;
if number &amp;lt; 2:
return False
for i in range(2, int(number**0.5) + 1):
if number % i == 0:
return False
return True</p>

Hàm này sẽ được đăng nhập trong bảng điều khiển AgentOps, cung cấp các chỉ số về thời gian thực hiện và theo dõi đầu vào-đầu ra.

Bước 4: Theo dõi Tác nhân Được đặt tên

Nếu bạn đang sử dụng các tác nhân được đặt tên, hãy sử dụng trang trí @track_agent để gắn tất cả các hành động và sự kiện với các tác nhân cụ thể.

from agentops import track_agent

<p>@track_agent(name=&quot;math-agent&quot;)
class MathAgent:
def __init__(self, name):
self.name = name</p>

<p>def factorial(self, n):
&quot;&quot;&quot;Tính toán giai thừa một cách đệ quy.&quot;&quot;&quot;
return 1 if n == 0 else n * self.factorial(n - 1)</p>

Bất kỳ hành động hoặc cuộc gọi LLM nào trong tác nhân này đều được liên kết với thẻ "math-agent".

Bước 5: Hỗ trợ Nhiều Tác nhân

Đối với các hệ thống sử dụng nhiều tác nhân, bạn có thể theo dõi các sự kiện trên các tác nhân để có khả năng quan sát tốt hơn. Dưới đây là một ví dụ:

@track_agent(name=&quot;qa-agent&quot;)
class QAAgent:
def generate_response(self, prompt):
return f&quot;Phản hồi: {prompt}&quot;

<p>@track_agent(name=&quot;developer-agent&quot;)
class DeveloperAgent:
def generate_code(self, task_description):
return f&quot;# Mã để thực hiện: {task_description}&quot;</p>

<p>qa_agent = QAAgent()
developer_agent = DeveloperAgent()</p>

<p>response = qa_agent.generate_response(&quot;Giải thích khả năng quan sát trong AI.&quot;)
code = developer_agent.generate_code(&quot;tính toán chuỗi Fibonacci&quot;)</p>

Mỗi cuộc gọi sẽ xuất hiện trong bảng điều khiển AgentOps dưới dấu vết của tác nhân tương ứng.

Bước 6: Kết thúc Phiên

Để báo hiệu kết thúc một phiên, hãy sử dụng phương thức end_session. Tùy chọn, bao gồm trạng thái phiên (Thành công hoặc Thất bại) và lý do.

# Kết thúc phiên
agentops.end_session(state=&quot;Thành công&quot;, reason=&quot;Hoàn thành quy trình công việc&quot;)

Điều này đảm bảo tất cả dữ liệu được đăng nhập và có thể truy cập trong bảng điều khiển AgentOps.

Bước 7: Trực quan hóa trong Bảng điều khiển AgentOps

Truy cập Bảng điều khiển AgentOps để khám phá:

  • Phát lại Phiên: Dấu vết thực hiện bước-by-bước.
  • Phân tích: Chỉ số chi phí LLM, sử dụng token và độ trễ.
  • Phát hiện Lỗi: Xác định và gỡ lỗi các lỗi hoặc vòng lặp đệ quy.

Ví dụ Mở rộng: Phát hiện Tư duy Đệ quy

AgentOps cũng hỗ trợ phát hiện vòng lặp đệ quy trong quy trình công việc của tác nhân. Hãy mở rộng ví dụ trước với phát hiện đệ quy:

@track_agent(name=&quot;recursive-agent&quot;)
class RecursiveAgent:
def solve(self, task, depth=0, max_depth=5):
&quot;&quot;&quot;Mô phỏng giải quyết nhiệm vụ đệ quy với kiểm soát độ sâu.&quot;&quot;&quot;
if depth &amp;gt;= max_depth:
return f&quot;Độ sâu đệ quy tối đa đạt được cho nhiệm vụ: {task}&quot;
return self.solve(task, depth + 1)

<p>recursive_agent = RecursiveAgent()
output = recursive_agent.solve(&quot;Tối ưu hóa truy vấn cơ sở dữ liệu&quot;)
print(output)</p>

AgentOps sẽ đăng nhập sự đệ quy này như một phần của phiên, giúp bạn xác định các vòng lặp vô hạn hoặc độ sâu quá mức.

Kết luận

Các tác nhân AI tự động được hỗ trợ bởi các mô hình nền tảng như LLM đã định nghĩa lại cách chúng ta tiếp cận các vấn đề phức tạp, đa bước trên nhiều ngành. Tuy nhiên, sự tinh vi của chúng mang lại những thách thức độc đáo về khả năng quan sát, theo dõi và độ tin cậy. Đây là nơi AgentOps bước vào như một khuôn khổ không thể thiếu, cung cấp cho các nhà phát triển các công cụ để giám sát, tối ưu hóa và đảm bảo tuân thủ cho các tác nhân AI trên toàn bộ vòng đời của chúng.

 

Tôi đã dành 5 năm qua để đắm mình trong thế giới hấp dẫn của Máy học và Học sâu. Đam mê và chuyên môn của tôi đã dẫn tôi đến việc đóng góp vào hơn 50 dự án kỹ thuật phần mềm đa dạng, với sự tập trung đặc biệt vào AI/ML. Sự tò mò liên tục của tôi cũng đã thu hút tôi đến với Xử lý Ngôn ngữ Tự nhiên, một lĩnh vực tôi渴望 khám phá thêm.