Udostępnij przez


Składniki środowiska uruchomieniowego agenta

Komponenty środowiska uruchomieniowego agenta są podstawowymi obiektami — agentami, konwersacjami i odpowiedziami, które obsługują stanowe, wielozmianowe interakcje w usłudze Microsoft Foundry Agent. Razem te składniki umożliwiają generowanie wyników, utrwalanie stanu między wymianami i tworzenie aplikacji konwersacyjnych.

W tym artykule wyjaśniono role agenta, konwersacji i odpowiedzi oraz sposób ich współpracy podczas generowania odpowiedzi.

Wymagania wstępne

Jak składniki środowiska uruchomieniowego współpracują ze sobą

Podczas pracy z agentem należy postępować zgodnie ze spójnym wzorcem:

  • Tworzenie agenta: zdefiniuj agenta, aby rozpocząć wysyłanie komunikatów i odbieranie odpowiedzi.
  • Tworzenie konwersacji (opcjonalnie): użyj jej, aby zachować historię między etapami rozmowy. Jeśli nie używasz konwersacji, przeprowadź kontekst przy użyciu danych wyjściowych z poprzedniej odpowiedzi.
  • Generuj odpowiedź: agent przetwarza elementy wejściowe w konwersacji i wszelkie instrukcje podane w żądaniu. Agent może dołączać elementy do konwersacji.
  • Sprawdź stan odpowiedzi: Monitoruj odpowiedź do momentu zakończenia (zwłaszcza w trybie przesyłania strumieniowego lub w tle).
  • Pobierz odpowiedź: wyświetl wygenerowaną odpowiedź użytkownikowi.

Na poniższym diagramie przedstawiono sposób interakcji tych składników w typowej pętli agenta.

Diagram przedstawiający pętlę środowiska uruchomieniowego agenta: definicja agenta i opcjonalne generowanie odpowiedzi na podstawie historii konwersacji, które mogą wywoływać narzędzia, dodawać elementy z powrotem do konwersacji i tworzyć elementy wyjściowe wyświetlane użytkownikowi.

Podajesz dane wejściowe użytkownika (i opcjonalnie historię konwersacji), usługa generuje odpowiedź (w tym wywołania narzędzi po skonfigurowaniu), a wynikowe elementy mogą być ponownie używane jako kontekst następnego kroku.

Co to jest agent?

Agent to utrwalone definicje aranżacji, które łączą modele sztucznej inteligencji, instrukcje, kod, narzędzia, parametry i opcjonalne mechanizmy bezpieczeństwa lub nadzoru.

Przechowuj agentów jako nazwane, wersjonowane zasoby na platformie Microsoft Foundry. Podczas generowania odpowiedzi definicja agenta współpracuje z historią interakcji (konwersacją lub poprzednią odpowiedzią) w celu przetworzenia danych wejściowych użytkownika i reagowania na nie.

Co to jest konwersacja?

Konwersacja zarządza stanem automatycznie, więc nie trzeba przekazywać danych wejściowych ręcznie na każdą turę.

Konwersacje to trwałe obiekty z unikatowymi identyfikatorami. Po utworzeniu można użyć ich ponownie w ramach sesji.

Konwersacje przechowują elementy, które mogą zawierać komunikaty, wywołania narzędzi, wyniki działania narzędzi i inne dane.

Kiedy należy używać rozmowy

Użyj konwersacji, gdy chcesz:

  • Ciągłość wieloetapowa: Zachowaj stabilną historię między etapami bez samodzielnego odbudowywania kontekstu.
  • Ciągłość między sesjami: Ta sama konwersacja jest używana ponownie dla użytkownika, który wróci później.
  • Łatwiejsze debugowanie: sprawdź, co się stało w czasie (na przykład wywołania narzędzi i dane wyjściowe).

Jeśli nie utworzysz konwersacji, nadal możesz tworzyć przepływy wieloełowe przy użyciu danych wyjściowych z poprzedniej odpowiedzi jako punktu wyjścia dla następnego żądania. Takie podejście zapewnia większą elastyczność niż starszy wzorzec oparty na wątkach, w którym stan był ściśle powiązany z obiektami wątków. Aby uzyskać wskazówki dotyczące migracji, zobacz w Migrowanie do SDK dla agentów.

Elementy konwersacji

Konwersacje przechowują elementy , a nie tylko wiadomości czatu. Elementy przechwytują to, co wydarzyło się podczas generowania odpowiedzi, dzięki czemu następny obrót może ponownie użyć tego kontekstu.

Typowe typy elementów to:

  • Elementy wiadomości: komunikaty użytkownika lub asystenta.
  • Elementy wywołania narzędzia: rekordy wywołań narzędzi, które próbował agent.
  • Elementy wyjściowe narzędzia: dane wyjściowe zwracane przez narzędzia (na przykład wyniki pobierania).
  • Elementy wyjściowe: zawartość odpowiedzi wyświetlana z powrotem do użytkownika.

Przykłady pokazujące sposób współdziałania konwersacji i odpowiedzi w kodzie można znaleźć w temacie Create and use memory in Foundry Agent Service (Tworzenie i używanie pamięci w usłudze agenta usługi Foundry).

Jak działają odpowiedzi

Generowanie odpowiedzi wywołuje agenta. Agent używa swojej konfiguracji i dowolnej podanej historii (konwersacji lub poprzedniej odpowiedzi) do wykonywania zadań przez wywoływanie modeli i narzędzi. W ramach generowania odpowiedzi agent dołącza elementy do konwersacji.

Możesz również wygenerować odpowiedź bez definiowania agenta. W takim przypadku należy podać wszystkie konfiguracje bezpośrednio w żądaniu i używać ich tylko dla tej odpowiedzi. Takie podejście jest przydatne w przypadku prostych scenariuszy z minimalnymi narzędziami.

Przesyłanie strumieniowe i odpowiedzi w tle

Niektóre tryby generowania odpowiedzi zwracają wyniki stopniowo (transmisja strumieniowa) lub kończą asynchronicznie (w tle). W takich przypadkach zwykle monitorujecie odpowiedź, aż się zakończy, a następnie używacie końcowych wyników.

Aby uzyskać szczegółowe informacje na temat trybów odpowiedzi i sposobu korzystania z danych wyjściowych, zobacz Interfejs API odpowiedzi.

Zabezpieczenia i obsługa danych

Ponieważ konwersacje i odpowiedzi mogą utrwalać zawartość dostarczaną przez użytkownika i dane wyjściowe narzędzi, traktuj dane środowiska uruchomieniowego, takie jak dane aplikacji:

  • Unikaj przechowywania wpisów tajnych w monitach lub historii konwersacji. Zamiast tego użyj połączeń i zarządzanych magazynów tajnych (na przykład Skonfiguruj połączenie usługi Key Vault).
  • Użyj najniższych uprawnień w celu uzyskania dostępu do narzędzi. Gdy narzędzie uzyskuje dostęp do systemów zewnętrznych, agent może potencjalnie odczytywać lub wysyłać dane za pośrednictwem tego narzędzia.
  • Zachowaj ostrożność w przypadku usług innych niż microsoft. Jeśli agent wywołuje narzędzia wspierane przez usługi firmy innej niż Microsoft, niektóre dane mogą przepływać do tych usług. Aby zapoznać się z powiązanymi zagadnieniami, zobacz Odnajdywanie narzędzi w Foundry Tools.

Limity i ograniczenia

Limity mogą zależeć od modelu, regionu i dołączonych narzędzi (na przykład dostępności przesyłania strumieniowego i obsługi narzędzi). Aby uzyskać informacje o bieżącej dostępności i ograniczeniach odpowiedzi, zobacz Interfejs API odpowiedzi.