Ewaluacja agentów AI: Phoenix, LangSmith i DeepEval

Tłumaczenie automatyczne

Ten artykuł został automatycznie przetłumaczony z angielskiego oryginału.

Żadne narzędzie do ewaluacji agentów nie zastąpi projektowania testów. Zacznij od błędów, które produkt musi wykrywać: niepoprawnych odpowiedzi, niewłaściwego wyboru narzędzi, nieprawidłowych argumentów lub niebezpiecznych skutków ubocznych. Sprawdź także zbędne kroki oraz regresje opóźnień i kosztów. Następnie wybierz narzędzie odpowiednie do miejsca, w którym te testy mają być uruchamiane.

Wybierz Phoenix, gdy ważny jest otwarty zapis śladów wykonania i samodzielny hosting. Wybierz LangSmith, gdy zbiory danych, ślady wykonania, adnotacje i eksperymenty powinny działać w jednym zarządzanym procesie pracy. Wybierz DeepEval, gdy ewaluacja ma przypominać testy w pipeline CI opartym na Pythonie. Dodaj Promptfoo do korzystania z lokalnego CLI, testów macierzowych i przypadków red-team.

Wybierz na podstawie miejsca uruchamiania testów, kroków, które trzeba sprawdzić, oraz tego, czy dane z ewaluacji muszą pozostać w Twoim środowisku.

Tabela decyzyjna

PotrzebaPunkt wyjściaDlaczego
Ślady wykonania OpenTelemetry i samodzielny hostingPhoenixRejestrowanie śladów wykonania, ewaluacje, zbiory danych i eksperymenty dostępne jako open source korzystają z konwencji OpenTelemetry i OpenInference.
Zarządzane ślady wykonania, zbiory danych i przeglądLangSmithOcenia trajektorie i końcowe odpowiedzi, a także może współpracować z agentami spoza LangChain.
Testy w Pythonie i bramki CIDeepEvalEwaluacja agentów end-to-end i na poziomie komponentów dobrze pasuje do procesu pracy zorientowanego na testy.
Lokalne testy macierzowe i red teamingPromptfooCLI i biblioteka dostępne jako open source uruchamiają powtarzalne ewaluacje oraz przypadki bezpieczeństwa w CI.
Kontrole polityk lub narzędzi właściwe dla produktuNiestandardowe ewaluatoryUniwersalni sędziowie nie znają uprawnień, nieodwracalnych działań, budżetów ani niezmienników biznesowych.

Oceniaj kroki i rezultat

Trajektoria to sekwencja decyzji modelu i wywołań narzędzi podczas jednego uruchomienia. Poprawna odpowiedź końcowa może ukrywać błędy popełnione w tych krokach. Agent może wywołać niewłaściwe narzędzie, niepotrzebnie ponawiać próby, ujawnić poufne argumenty albo dojść do wiarygodnej odpowiedzi bez dowodów. Z drugiej strony inna, ale poprawna sekwencja narzędzi nie powinna kończyć się niepowodzeniem tylko dlatego, że różni się od jednego wzorcowego śladu wykonania.

Stosuj osobne kontrole dla:

  • poprawności końcowej odpowiedzi i poparcia jej dowodami
  • wyboru narzędzi i poprawności argumentów
  • wymaganych, zabronionych lub powtarzanych działań
  • decyzji dotyczących polityk i granic wymagających akceptacji
  • wydajności trajektorii, opóźnień i kosztów
  • odzyskiwania działania po błędach narzędzi lub częściowych wynikach

W miarę możliwości używaj deterministycznych asercji. Sędziów opartych na modelach rezerwuj dla kwestii semantycznych, kalibruj ich na podstawie zweryfikowanych przykładów, a model sędziego i prompt zapisuj przy każdym wyniku.

Na przykład przetestuj agenta sprawdzającego status zamówienia z użytkownikiem, który nie ma dostępu do danego zamówienia. Sprawdź, czy agent nie zwraca szczegółów zamówienia ani nie wywołuje narzędzia zapisującego dane. Uprzejma odmowa w końcowej odpowiedzi również nie przeszłaby testu, gdyby wcześniejszy krok ujawnił prywatny rekord.

Praktyczny zestaw na początek

  1. W kodzie aplikacji, który uruchamia model i narzędzia, rejestruj identyfikator żądania, wybrane narzędzie, argumenty z usuniętymi danymi wrażliwymi, wynik oraz czas trwania.
  2. Zamieniaj błędy z produkcji w niewielki zbiór danych do testów regresji.
  3. Dodaj deterministyczne kontrole schematów, zabronionych działań, budżetów i wymaganych dowodów.
  4. Dodaj jednego skalibrowanego sędziego semantycznego do oceny wyników, których nie da się ocenić regułami.
  5. Uruchamiaj szybkie przypadki przy każdej zmianie, a szerszy zestaw przed wydaniem.
  6. Próbkuj produkcyjne ślady wykonania pod kątem nowych trybów awarii i dodawaj je do testów.

Dalsza lektura

Źródła