Omówienie śledzenia agentów

Ważne

Elementy oznaczone (wersja zapoznawcza) w tym artykule są obecnie dostępne w publicznej wersji zapoznawczej. Ta wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie zalecamy korzystania z niej w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą nie być obsługiwane lub mogą mieć ograniczone możliwości. Aby uzyskać więcej informacji, zobacz Wygólne warunki użytkowania Microsoft Azure Previews.

Uwaga

Śledzenie jest powszechnie dostępne dla agentów promptów i agentów hostowanych. Przepływy pracy i agenci zewnętrzni są dostępne w wersji zapoznawczej.

Microsoft Foundry zapewnia platformę do monitorowania i śledzenia agentów sztucznej inteligencji. Przechwytuje szczegóły klucza podczas uruchamiania agenta, takie jak dane wejściowe, dane wyjściowe, użycie narzędzia, ponawianie prób, opóźnienia i koszty. Zrozumienie logiki działań agenta jest ważne podczas rozwiązywania problemów i debugowania. Jednak zrozumienie złożonych agentów stwarza wyzwania z kilku powodów:

  • Może istnieć duża liczba kroków związanych z generowaniem odpowiedzi, co utrudnia śledzenie wszystkich z nich.
  • Sekwencja kroków może się różnić w zależności od danych wejściowych użytkownika.
  • Dane wejściowe i wyjściowe na każdym etapie mogą być obszerne i zasługują na bardziej szczegółowy przegląd.
  • Każdy krok czasu działania agenta może również obejmować zagnieżdżanie. Na przykład agent może wywołać narzędzie, które używa innego procesu, który następnie wywołuje inne narzędzie. Jeśli zauważysz dziwne lub nieprawidłowe dane wyjściowe z uruchomienia agenta najwyższego poziomu, może być trudno określić dokładnie, gdzie w wykonaniu został wprowadzony problem.

Ślady pomagają sprostać tym wyzwaniom, umożliwiając wyświetlanie danych wejściowych i wyjściowych każdego prymitywu biorącego udział w konkretnym uruchomieniu agenta, w kolejności, w jakiej zostały wywołane, co ułatwia zrozumienie i debugowanie działania agenta AI.

Wymagania wstępne

Aby korzystać z kompleksowego śledzenia, potrzebne są następujące elementy:

Uwaga

Śledzenie przechowuje dane telemetryczne w usłudze Azure Monitor Application Insights, co może wiązać się z kosztami zależnymi od wolumenu danych i ustawień retencji. Aby uzyskać szczegółowe informacje o cenach, zobacz Cennik usługi Application Insights.

OpenTelemetry w Foundry

OpenTelemetry (OTel) udostępnia standardowe protokoły do zbierania i routingu danych telemetrycznych. Narzędzie Foundry używa konwencji semantycznych openTelemetry, dzięki czemu ślady są spójne w obsługiwanych narzędziach i integracjach.

Śledzenie kluczowych pojęć

W tym artykule obowiązują następujące kluczowe pojęcia:

Kluczowe pojęcia Opis
Ślady Ślady przechwytują podróż żądania lub przepływu pracy za pośrednictwem aplikacji, rejestrując zdarzenia i zmiany stanu (wywołania funkcji, wartości, zdarzenia systemowe). Zobacz Ślady OpenTelemetry.
Obejmuje Zakresy to bloki konstrukcyjne śladów reprezentujących pojedyncze operacje w ramach śledzenia. Każdy zakres przechwytuje czas rozpoczęcia i zakończenia, atrybuty i może być zagnieżdżony w celu pokazania relacji hierarchicznych, dzięki czemu można zobaczyć pełny stos wywołań i sekwencję operacji.
Atrybuty Atrybuty to pary klucz-wartość dołączone do śladów i zakresów, zapewniając kontekstowe metadane, takie jak parametry funkcji, zwracane wartości lub adnotacje niestandardowe. Te wzbogacają dane śledzenia, dzięki czemu są bardziej informacyjne i przydatne do analizy.
Konwencje semantyczne OpenTelemetry definiuje konwencje semantyczne służące do standaryzacji nazw i formatów atrybutów danych śledzenia, co ułatwia interpretowanie i analizowanie między narzędziami i platformami. Aby dowiedzieć się więcej, zobacz konwencje semantyczne usługi OpenTelemetry GenAI.
Moduły eksportujące śledzenia Eksporterzy śledzenia wysyłają dane śledzenia do systemów zaplecza na potrzeby magazynowania i analizy. W narzędziu Foundry ślady są przechowywane w usłudze Azure Monitor Application Insights. Aby dowiedzieć się, jak włączyć i wyświetlić ślady, zobacz Jak skonfigurować śledzenie w usłudze Microsoft Foundry.

Jak działa śledzenie w narzędziu Foundry

Śledzenie pomaga odpowiedzieć na pytania, takie jak "Skąd pochodzi ta odpowiedź?" i "Który krok wprowadził skok błędu lub opóźnienia?"

Na wysokim poziomie śledzenie przechwytuje:

  • Dane wejściowe użytkownika i dane wyjściowe agenta.
  • Użycie narzędzi, w tym wywołania narzędzi i wyniki.
  • Użycie tokenu.
  • Sygnały czasowe, takie jak czas trwania i opóźnienie.

Po włączeniu śledzenia projektu można sprawdzić ślady w portalu Foundry i w usłudze Azure Monitor Application Insights. Aby zapoznać się z opcjami konfigurowania i wyświetlania krok po kroku, zobacz Jak skonfigurować śledzenie w usłudze Microsoft Foundry.

Rozszerzanie funkcji OpenTelemetry przy użyciu możliwości obserwacji wielu agentów

Microsoft, we współpracy z Cisco Outshift, wnosi wkład w opracowanie konwencji semantycznych dla systemów wieloagentowych. Te konwencje opierają się na zakresach agentów i frameworków OpenTelemetry GenAI oraz W3C Trace Context. Standandaryzują one dane telemetryczne dla przepływów pracy obejmujących wiele agentów, w tym wywołania agentów, aranżację przepływu pracy, planowanie, wywołania modelu i wykonywanie narzędzi.

Ważne

Konwencje semantyczne OpenTelemetry GenAI mają status rozwojowy i mogą ulec zmianie w przyszłych wydaniach.

Te ulepszenia są zintegrowane z:

  • Odlewnicze
  • Microsoft — Struktura agentów
  • LangChain
  • LangGraph
  • Zestaw SDK agentów OpenAI

Aby uzyskać więcej informacji, zobacz integracje śledzenia.

W poniższej tabeli opisano typowe konwencje OpenTelemetry GenAI na potrzeby obserwacji wielu agentów. Obejmuje operacje przechwytywania, zakresy podrzędne pokazują zagnieżdżone prace i atrybuty zapewniają metadane. Pokazane zakresy nadrzędne są typowymi przykładami; rzeczywiste zagnieżdżanie zależy od instrumentowanego agenta lub struktury.

Typ Kontekst/zakres nadrzędny Nazwa/atrybut/zdarzenie Cel
Zakres — invoke_agent Wywołuje agenta za pośrednictwem usługi zdalnej lub w ramach tego samego procesu.
Span podrzędny invoke_agent invoke_agent Śledzi wywołanie innego agenta poprzez relację spanów rodzic–dziecko.
Span podrzędny invoke_agent plan Rejestruje fazę planowania przez agenta lub dekompozycji zadań.
Zakres — invoke_workflow Wywołuje skoordynowany przepływ pracy, który zawiera agentów lub inne operacje generatywnej sztucznej inteligencji.
Podrzędny span invoke_agent lub invoke_workflow execute_tool Rejestruje uruchomienie narzędzia.
Span podrzędny invoke_agent lub invoke_workflow create_memory, , search_memory, update_memory, upsert_memorylub delete_memory Rejestruje operację pamięci.
Atrybut invoke_agent gen_ai.tool.definitions Rejestruje definicje narzędzi dostępnych dla agenta lub modelu.
Atrybut execute_tool gen_ai.tool.call.arguments Rejestruje argumenty przekazane do wywołania narzędzia.
Atrybut execute_tool gen_ai.tool.call.result Rejestruje wynik zwrócony przez udane wywołanie narzędzia.

Najlepsze rozwiązania

  • Użyj spójnych atrybutów zakresu: zastosuj te same nazwy atrybutów i formaty we wszystkich agentach i narzędziach, aby uprościć wykonywanie zapytań i analizę.
  • Powiązanie identyfikatorów przebiegów oceny: łączenie danych śledzenia z przebiegami oceny w celu analizowania jakości i wydajności w ujednoliconym widoku.
  • Redaguj poufną zawartość: Usuń lub zamaskuj dane osobowe, tajemnice i poświadczenia z monitów, argumentów narzędzi i atrybutów zakresu przed przekazaniem do telemetrii.

Bezpieczeństwo i prywatność

Śledzenie może przechwytywać poufne informacje, takie jak dane wejściowe użytkownika, dane wyjściowe modelu i argumenty narzędzi i wyniki. Skorzystaj z tych rozwiązań, aby zmniejszyć ryzyko:

  • Nie przechowuj tajemnic, poświadczeń ani tokenów w wezwaniach, parametrach narzędzi lub atrybutach zakresu.
  • Zredaguj lub ogranicz dane osobowe oraz inne poufne informacje przed ich pojawieniem się w telemetrii.
  • Traktuj dane śledzenia jako dane telemetryczne produkcyjne i zastosuj te same zasady kontroli dostępu i przechowywania, które są używane dla dzienników i metryk.

Aby dowiedzieć się, jak kierować zawartość wrażliwą do dedykowanej tabeli i ograniczyć do niej dostęp, zobacz Ograniczanie dostępu do poufnej zawartości.

Rozwiązywanie problemów

Jeśli ślady nie są wyświetlane w portalu Foundry lub w usłudze Application Insights:

  • Sprawdź, czy projekt Foundry jest połączony z zasobem usługi Application Insights.
  • Sprawdź, czy twoje konto ma wymagane uprawnienia do wykonywania zapytań dotyczących telemetrii.
  • Upewnij się, że kod agenta zawiera niezbędną instrumentację. Aby zapoznać się z konfiguracją specyficzną dla platformy, zobacz Śledzenie integracji.

Wskazówka

Śledzenie jest dostępne we wszystkich regionach, w których jest obsługiwana funkcja Foundry. Retencja i próbkowanie danych śledzenia są zgodne z konfiguracją usługi Application Insights. Aby uzyskać szczegółowe informacje, zobacz Przechowywanie danych i archiwizację w dziennikach Azure Monitor.