Korzystanie z orkiestracji przekazywania

Ukończone

Orkiestracja handoff umożliwia agentom sztucznej inteligencji przenoszenie kontroli do siebie na podstawie kontekstu zadania lub żądań użytkowników. Każdy agent może "przekazać" konwersację innemu agentowi z odpowiednią wiedzą, upewniając się, że najlepiej dopasowany agent obsługuje każdą część zadania. Ten wzorzec jest idealny w przypadku obsługi klienta, systemów ekspertów lub każdej sytuacji, w której wymagane jest delegowanie dynamiczne.

Diagram przepływu aranżacji przekazywania.

Ten wzorzec pasuje do scenariuszy, w których najlepszy agent nie jest znany z góry lub gdy wymagania dotyczące zadań stają się jaśniejsze podczas przetwarzania. W przeciwieństwie do wzorców równoległych agenci pracują pojedynczo, w pełni przekazując kontrolę od jednego do drugiego.

Kiedy należy używać koordynacji przekazywania sterowania

Warto rozważyć użycie wzorca koordynacji przekazywania w następujących scenariuszach:

  • Zadania wymagają specjalistycznej wiedzy lub narzędzi, ale nie można wcześniej określić liczby lub kolejności agentów.
  • Wymagania dotyczące wiedzy pojawiają się dynamicznie podczas przetwarzania, wyzwalając routing zadań na podstawie analizy zawartości.
  • Problemy z wieloma domenami wymagają, aby różni specjaliści pracowali sekwencyjnie.
  • Można zdefiniować jasne sygnały lub reguły wskazujące, kiedy agent powinien przenieść kontrolę i do kogo.

Kiedy należy unikać orkiestracji przekazywania

Możesz unikać używania wzorca aranżacji przekazywania w następujących scenariuszach:

  • Zaangażowani agenci i ich kolejność są znane z góry i ustalone.
  • Routing zadań jest prosty i oparty na regułach, nie wymaga dynamicznej interpretacji.
  • Słabe decyzje dotyczące routingu mogą frustrować użytkowników.
  • Wiele operacji musi być uruchamianych w tym samym czasie.
  • Unikanie nieskończonych pętli przekazywania lub nadmiernego odbijania się między agentami jest trudne.

Implementowanie orkiestracji przekazywania

Wzorzec koordynacji przekazywania można zaimplementować w zestawie SDK programu Microsoft Agent Framework za pomocą przepływów sterowania. W przepływie sterowania każdy agent przetwarza zadanie w kolejności, a na podstawie danych wyjściowych przepływ decyduje, którego agenta wywołać następnie. To trasowanie odbywa się przy użyciu struktury switch-case, która kieruje zadanie do różnych agentów w oparciu o wyniki klasyfikacji.

  1. Konfigurowanie modeli danych i klienta czatu

    • Tworzenie klienta czatu na potrzeby nawiązywania połączenia z usługami sztucznej inteligencji
    • Definiowanie modeli Pydantic dla ustrukturyzowanych odpowiedzi JSON agentów sztucznej inteligencji
    • Tworzenie prostych klas danych na potrzeby przekazywania informacji między krokami przepływu pracy
    • Konfigurowanie agentów przy użyciu określonych instrukcji i response_format parametrów dla danych wyjściowych ze strukturą JSON
  2. Tworzenie wyspecjalizowanych funkcji wykonawczych

    • Funkcja wykonawcza magazynu wejściowego — zapisuje dane przychodzące w stanie udostępnionym i przekazuje je do agenta klasyfikacji
    • Funkcja wykonawcza przekształcania — konwertuje odpowiedź agenta JSON na typowy obiekt routingu
    • Wykonawcy obsługi — oddzielni wykonawcy dla każdego wyniku klasyfikacji z warunkami zabezpieczającymi w celu zweryfikowania poprawności przetwarzania komunikatów
  3. Tworzenie logiki routingu

    • Tworzenie funkcji fabryki, które generują moduły sprawdzania warunków dla każdej wartości klasyfikacji
    • Warunki projektowania do sprawdzania przychodzących komunikatów i zwracania wartości true dla określonych wyników klasyfikacji
    • Używanie warunków z obiektami Case w konstrukcjach switch-case przypadków brzegowych
    • Zawsze dołączaj przypadek domyślny jako rezerwowy w przypadku nieoczekiwanych scenariuszy
  4. Zmontuj przepływ pracy

    • Używanie programu WorkflowBuilder do łączenia funkcji wykonawczych z zwykłymi krawędziami
    • Dodaj grupę brzegową przełącznika na potrzeby routingu na podstawie wyników klasyfikacji
    • Skonfiguruj przepływ pracy, aby postępował zgodnie z pierwszym zgodnym przypadkiem lub wracał do domyślnego
    • Konfigurowanie funkcji wykonawczej terminalu w celu uzyskania końcowych danych wyjściowych

Aranżacja przekazywania zapewnia elastyczny sposób kierowania zadań dynamicznie między wyspecjalizowanymi agentami sztucznej inteligencji, zapewniając, że każda część przepływu pracy jest obsługiwana przez najlepiej dopasowanego eksperta. Dobrze sprawdza się w przypadku złożonych, ewoluujących zadań, takich jak obsługa klienta lub rozwiązywanie problemów z wieloma domenami, w których doświadczenie wymaga zmiany podczas konwersacji. W przypadku korzystania z zestawu MICROSOFT Agent Framework SDK można tworzyć elastyczne systemy, które bezproblemowo przesyłają kontrolę między agentami i dołączają ludzkie dane wejściowe w razie potrzeby— w celu bezproblemowego i wydajnego ukończenia zadań.