Sztuczna inteligencja
Autonomiczne agenci z AgentOps: Obserwowalność, śledzenie i więcej dla Twojej aplikacji AI

Rozwój autonomicznych agentów dzięki modelom podstawowym (FMs) takim jak duże modele językowe (LLMs) zmienił sposób, w jaki rozwiązujemy złożone, wieloetapowe problemy. Agenci ci wykonują zadania od wsparcia klienta po inżynierię oprogramowania, nawigując w skomplikowanych przepływach pracy, które łączą rozumowanie, użycie narzędzi i pamięć.
Jednak wraz ze wzrostem możliwości i złożoności tych systemów pojawiają się wyzwania związane z obserwowalnością, niezawodnością i zgodnością.
To właśnie tutaj pojawia się AgentOps; pojęcie zainspirowane DevOps i MLOps, ale dostosowane do zarządzania cyklem życia agentów opartych na FM.
Aby zapewnić podstawowe zrozumienie AgentOps i jego krytycznej roli w umożliwieniu obserwowalności i śledzenia dla autonomicznych agentów opartych na FM, wykorzystałem informacje z niedawnego artykułu Taxonomy of AgentOps for Enabling Observability of Foundation Model-Based Agents autorstwa Liming Dong, Qinghua Lu i Liming Zhu. Artykuł oferuje kompleksowe rozważania nad AgentOps, podkreślając jego konieczność w zarządzaniu cyklem życia autonomicznych agentów – od tworzenia i wykonywania do oceny i monitorowania. Autorzy kategoryzują artefakty śledzenia, proponują kluczowe funkcje dla platform obserwowalności i zajmują się wyzwaniami, takimi jak złożoność decyzji i zgodność z przepisami.
Chociaż AgentOps (narzędzie) zyskało znaczną popularność jako jedno z wiodących narzędzi do monitorowania, debugowania i optymalizacji agentów AI (takich jak autogen, crew ai), ten artykuł koncentruje się na szerszym pojęciu AI Operations (Ops).
To powiedziawszy, AgentOps (narzędzie) oferuje deweloperom wgląd w przepływ pracy agenta z funkcjami, takimi jak odtworzenie sesji, śledzenie kosztów LLM i monitorowanie zgodności. Jako jedno z najpopularniejszych narzędzi Ops w AI, później w artykule przejdziemy przez jego funkcjonalność za pomocą samouczka.
Czym jest AgentOps?
AgentOps odnosi się do procesów, narzędzi i ram wymaganych do projektowania, wdrażania, monitorowania i optymalizacji autonomicznych agentów opartych na FM w produkcji. Jego cele to:
- Obserwowalność: Zapewnienie pełnej widoczności procesów wykonawczych i podejmowania decyzji przez agenta.
- Śledzenie: Przechwytywanie szczegółowych artefaktów w całym cyklu życia agenta do debugowania, optymalizacji i zgodności.
- Niezawodność: Zapewnienie spójnych i godnych zaufania danych wyjściowych poprzez monitorowanie i wytrzymałe przepływy pracy.
W swojej istocie, AgentOps wykracza poza tradycyjne MLOps, kładąc nacisk na iteracyjne, wieloetapowe przepływy pracy, integrację narzędzi i adaptacyjną pamięć, przy jednoczesnym zachowaniu surowego śledzenia i monitorowania.
Kluczowe wyzwania rozwiązane przez AgentOps
1. Złożoność systemów agenckich
Autonomiczni agenci wykonują zadania w ogromnej przestrzeni działań, wymagając decyzji na każdym etapie. Ta złożoność wymaga zaawansowanych mechanizmów planowania i monitorowania.
2. Wymagania obserwowalności
Wysokostopniowe przypadki użycia – takie jak diagnoza medyczna lub analiza prawna – wymagają drobnego śledzenia. Zgodność z przepisami, takimi jak Unijna ustawa o AI, dodatkowo podkreśla potrzebę solidnych ram obserwowalności.
3. Debugowanie i optymalizacja
Identyfikacja błędów w wieloetapowych przepływach pracy lub ocena pośrednich danych wyjściowych jest trudna bez szczegółowych śladów działań agenta.
4. Skalowalność i zarządzanie kosztami
Skalowanie agentów do produkcji wymaga monitorowania metryk, takich jak opóźnienia, użycie tokenów i koszty operacyjne, aby zapewnić wydajność bez kompromisowania jakości.
Podstawowe funkcje platform AgentOps
1. Tworzenie i dostosowywanie agenta
Deweloperzy mogą konfigurować agenci przy użyciu rejestru składników:
- Role: Definiowanie odpowiedzialności (np. badacz, planista).
- Barierki: Ustawianie ograniczeń, aby zapewnić etyczne i niezawodne zachowanie.
- Narzędzia: Włączanie integracji z API, bazami danych lub grafami wiedzy.
Agenci są budowani w celu interakcji z określonymi zestawami danych, narzędziami i podpowiedziami, przy jednoczesnym zachowaniu zgodności z wcześniej zdefiniowanymi regułami.
2. Obserwowalność i śledzenie
AgentOps przechwytuje szczegółowe dzienniki wykonawcze:
- Ślady: Rejestrowanie każdego etapu w przepływie pracy agenta, od wywołań LLM do użycia narzędzi.
- Przedziały: Rozbijanie śladów na drobne etapy, takie jak pobieranie, generowanie osadzania lub wywoływanie narzędzi.
- Artefakty: Śledzenie pośrednich danych wyjściowych, stanów pamięci i szablonów podpowiedzi w celu ułatwienia debugowania.
Narzędzia obserwowalności, takie jak Langfuse lub Arize, zapewniają pulpity, które wizualizują te ślady, pomagając w identyfikacji wąskich gardeł lub błędów.
3. Zarządzanie podpowiedziami
Inżynieria podpowiedzi odgrywa ważną rolę w kształtowaniu zachowania agenta. Kluczowe funkcje obejmują:
- <strong=Wersjonowanie: Śledzenie iteracji podpowiedzi do porównania wydajności.
- <strong=Wykrywanie wstrzyknięć: Identyfikowanie złośliwego kodu lub błędów wejściowych w podpowiedziach.
- Optymalizacja: Techniki, takie jak Chain-of-Thought (CoT) lub Tree-of-Thought, poprawiają możliwości rozumowania.
4. Integracja informacji zwrotnej
Ludzka informacja zwrotna pozostaje niezwykle ważna dla iteracyjnych ulepszeń:
- Informacja zwrotna jawna: Użytkownicy oceniają dane wyjściowe lub dostarczają komentarze.
- Informacja zwrotna niejawna: Metryki, takie jak czas na zadanie lub wskaźniki klikalności, są analizowane w celu oceny skuteczności.
Ten cykl informacji zwrotnej udoskonala zarówno wydajność agenta, jak i używane do testowania benchmarki.
5. Ocena i testowanie
Platformy AgentOps ułatwiają rygorystyczne testowanie w następujących obszarach:
- Benchmarki: Porównywanie wydajności agenta z branżowymi standardami.
- Oceny krok po kroku: Ocenianie pośrednich kroków w przepływach pracy, aby zapewnić poprawność.
- Ocena trajektorii: Walidacja ścieżki podejmowania decyzji przez agenta.
6. Integracja pamięci i wiedzy
Agenci wykorzystują pamięć krótkotrwałą do kontekstu (np. historia rozmowy) i pamięć długotrwałą do przechowywania spostrzeżeń z przeszłych zadań. To umożliwia agentom dynamiczne adaptowanie się, przy jednoczesnym zachowaniu spójności w czasie.
7. Monitorowanie i metryki
Kompleksowe monitorowanie śledzi:
- Opóźnienia: Mierzenie czasu odpowiedzi do optymalizacji.
- Użycie tokenów: Monitorowanie zużycia zasobów w celu kontroli kosztów.
- Metryki jakości: Ocenianie odpowiedniości, dokładności i toksyczności.
Te metryki są wizualizowane w różnych wymiarach, takich jak sesje użytkowników, podpowiedzi i przepływy pracy, umożliwiając interwencje w czasie rzeczywistym.
Taksonomia śledzalnych artefaktów
Artykuł wprowadza systematyczną taksonomię artefaktów, które są podstawą obserwowalności AgentOps:
- Artefakty tworzenia agenta: Metadane dotyczące ról, celów i ograniczeń.
- Artefakty wykonawcze: Dzienniki wywołań narzędzi, kolejków zadań i kroków rozumowania.
- Artefakty oceny: Benchmarki, pętle informacji zwrotnej i metryki oceny.
- Artefakty śledzenia: Identyfikatory sesji, identyfikatory śladów i przedziały do drobnego monitorowania.
Ta taksonomia zapewnia spójność i klarowność w całym cyklu życia agenta, czyniąc debugowanie i zgodność bardziej zarządzalnymi.
AgentOps (narzędzie) Przewodnik
To poprowadzi Cię przez instalację i użycie AgentOps do monitorowania i optymalizacji Twoich agentów AI.
Krok 1: Zainstaluj SDK AgentOps
Zainstaluj AgentOps przy użyciu swojego ulubionego menedżera pakietów Pythona:
pip install agentops
Krok 2: Zainicjuj AgentOps
Najpierw importuj AgentOps i zainicjuj go przy użyciu Twojego klucza API. Przechowuj klucz API w pliku .env ze względów bezpieczeństwa:
# Zainicjuj AgentOps z kluczem API
import agentops
import os
from dotenv import load_dotenv
# Załaduj zmienne środowiskowe
load_dotenv()
AGENTOPS_API_KEY = os.getenv("AGENTOPS_API_KEY")
# Zainicjuj klienta AgentOps
agentops.init(api_key=AGENTOPS_API_KEY, default_tags=["my-first-agent"])
Ten krok konfiguruje obserwowalność dla wszystkich interakcji LLM w Twojej aplikacji.
Krok 3: Nagrywaj akcje z dekoratorami
Możesz instrumentować określone funkcje przy użyciu dekoratora @record_action, który śledzi ich parametry, czas wykonania i dane wyjściowe. Oto przykład:
from agentops import record_action
@record_action("custom-action-tracker")
def is_prime(number):
"""Sprawdź, czy liczba jest pierwsza."""
if number < 2:
return False
for i in range(2, int(number**0.5) + 1):
if number % i == 0:
return False
return True
Funkcja zostanie teraz zalogowana w pulpicie AgentOps, zapewniając metryki dla czasu wykonania i śledzenia danych wejściowych i wyjściowych.
Krok 4: Śledź nazwanych agentów
Jeśli używasz nazwanych agentów, użyj dekoratora @track_agent, aby powiązać wszystkie akcje i zdarzenia z określonymi agentami.
from agentops import track_agent @track_agent(name="math-agent") class MathAgent: def __init__(self, name): self.name = name def factorial(self, n): """Oblicz silnię rekurencyjnie.""" return 1 if n == 0 else n * self.factorial(n - 1)
Dowolne akcje lub wywołania LLM w ramach tego agenta są teraz skojarzone z tagiem "math-agent".
Krok 5: Współpraca wielu agentów
Dla systemów korzystających z wielu agentów możesz śledzić zdarzenia wśród agentów, aby poprawić obserwowalność. Oto przykład:
@track_agent(name="qa-agent")
class QAAgent:
def generate_response(self, prompt):
return f"Odpowiedź na: {prompt}";
@track_agent(name="developer-agent")
class DeveloperAgent:
def generate_code(self, task_description):
return f"# Kod do wykonania: {task_description}";
qa_agent = QAAgent()
developer_agent = DeveloperAgent()
response = qa_agent.generate_response("Wyjaśnij obserwowalność w AI.")
code = developer_agent.generate_code("Oblicz ciąg Fibonacciego")
Każde wywołanie pojawi się w pulpicie AgentOps pod odpowiednim śladem agenta.
Krok 6: Zakończ sesję
Aby sygnalizować koniec sesji, użyj metody end_session. Opcjonalnie, dołącz stan sesji (Success lub Fail) i powód.
# Koniec sesji agentops.end_session(state="Success", reason="Zakończono przepływ pracy")
To zapewnia, że wszystkie dane są zalogowane i dostępne w pulpicie AgentOps.
Krok 7: Wizualizuj w pulpicie AgentOps
Odwiedź Pulpit AgentOps, aby przeglądać:
- Odtworzenie sesji: Krok po kroku ślady wykonawcze.
- Analityka: Metryki kosztów LLM, użycia tokenów i opóźnień.
- Wykrywanie błędów: Identyfikuj i debuguj awarie lub pętle rekurencyjne.
Rozszerzony przykład: Wykrywanie myśli rekurencyjnych
AgentOps obsługuje również wykrywanie pętli rekurencyjnych w przepływach pracy agenta. Rozwińmy poprzedni przykład z wykrywaniem rekurencji:
@track_agent(name="recursive-agent")
class RecursiveAgent:
def solve(self, task, depth=0, max_depth=5):
"""Symuluje rozwiązywanie zadań rekurencyjnych z kontrolą głębokości."""
if depth >= max_depth:
return f"Osiągnięto maksymalną głębokość rekurencji dla zadania: {task}"
return self.solve(task, depth + 1)
recursive_agent = RecursiveAgent()
output = recursive_agent.solve("Optymalizuj zapytania do bazy danych")
print(output)
AgentOps zaloguje rekurencję jako część sesji, pomagając w identyfikacji nieskończonych pętli lub nadmiernej głębokości.
Podsumowanie
Autonomiczni agenci AI napędzani modelami podstawowymi, takimi jak LLM, zmienili sposób, w jaki rozwiązujemy złożone, wieloetapowe problemy w różnych branżach. Jednak ich zaawansowanie przynosi unikalne wyzwania w obserwowalności, śledzeniu i niezawodności. To właśnie tutaj AgentOps wkracza jako niezastąpiona ramka, oferująca deweloperom narzędzia do monitorowania, optymalizacji i zapewnienia zgodności agentów AI w całym ich cyklu życia.












