Używanie współbieżnych aranżacji
Współbieżna aranżacja umożliwia wielu agentom pracę nad tym samym zadaniem w tym samym czasie. Każdy agent obsługuje zadanie niezależnie, a następnie ich dane wyjściowe są zbierane i łączone. Ta metoda działa szczególnie dobrze, gdy potrzebujesz różnych podejść lub rozwiązań, takich jak podczas burzy mózgów, podejmowania decyzji grupowych lub głosowania.
Ten wzorzec jest przydatny, gdy potrzebujesz różnych podejść lub pomysłów, aby rozwiązać ten sam problem. Zamiast mieć agentów pracować jeden po drugim, wszyscy pracują w tym samym czasie. Przyspiesza to proces i obejmuje problem z wielu kątów.
Zazwyczaj wyniki poszczególnych agentów są łączone w celu utworzenia ostatecznej odpowiedzi, ale nie zawsze jest to konieczne. Każdy agent może również wygenerować własny oddzielny wynik, taki jak wywoływanie narzędzi do wykonywania zadań lub niezależne aktualizowanie różnych magazynów danych.
Agenci pracują samodzielnie i nie udostępniają sobie wyników. Agent może jednak wywoływać innych agentów sztucznej inteligencji, uruchamiając własną aranżację w ramach procesu. Agenci muszą wiedzieć, którzy inni agenci są dostępni do pracy nad zadaniami. Ten wzorzec umożliwia wywołanie wszystkich zarejestrowanych agentów za każdym razem lub wybranie agentów do uruchomienia na podstawie określonego zadania.
Kiedy należy używać współbieżnych aranżacji
Warto rozważyć użycie współbieżnego wzorca aranżacji w następujących sytuacjach:
- Gdy zadania mogą być uruchamiane w tym samym czasie, używając stałej grupy agentów lub wybierając agentów sztucznej inteligencji dynamicznie na podstawie potrzeb zadania.
- Gdy zadanie korzysta z różnych wyspecjalizowanych umiejętności lub podejść (na przykład technicznych, biznesowych lub kreatywnych), które działają niezależnie, ale przyczyniają się do rozwiązania tego samego problemu.
Tego rodzaju praca zespołowa jest powszechna w metodach podejmowania decyzji obejmujących wiele agentów, takich jak:
- Pomysły burzy mózgów
- Łączenie różnych metod rozumowania (rozumowanie grupowe)
- Podejmowanie decyzji na podstawie głosowania lub konsensusu (kworum)
- Obsługa zadań, w których szybkość ma znaczenie i uruchamianie agentów równolegle skraca czas oczekiwania
Kiedy należy unikać współbieżnego organizowania
Warto unikać używania współbieżnego wzorca aranżacji w następujących scenariuszach:
- Agenci muszą budować na siebie pracę lub zależeć od kontekstu współużytkowanego w określonej kolejności.
- Zadanie wymaga ścisłej sekwencji kroków lub przewidywalnych, powtarzalnych wyników.
- Limity zasobów, takie jak limity przydziałów użycia modelu, sprawiają, że uruchomioni agenci są równolegle nieefektywni lub niemożliwi.
- Agenci nie mogą niezawodnie koordynować zmian w udostępnionych danych lub systemach zewnętrznych podczas uruchamiania w tym samym czasie.
- Nie ma jasnego sposobu rozwiązywania konfliktów lub sprzeczności między wynikami z różnych agentów.
- Łączenie wyników jest zbyt skomplikowane lub kończy się obniżeniem ogólnej jakości.
Implementowanie współbieżnych aranżacji
Zaimplementuj wzorzec współbieżnej orkiestracji za pomocą frameworku Microsoft Agent Framework.
Tworzenie klienta czatu
Skonfiguruj klienta czatu (na przykładAzureOpenAIChatClient) z odpowiednimi poświadczeniami, aby nawiązać połączenie z dostawcą usług sztucznej inteligencji.Definiowanie agentów
Utwórz instancje agenta przy użyciu metody klienta czatucreate_agent. Każdy agent powinien mieć określone instrukcje i nazwę, która definiuje swoją rolę i obszar wiedzy.Tworzenie współbieżnego przepływu pracy
ConcurrentBuilderUżyj klasy , aby utworzyć przepływ pracy, który może równolegle uruchamiać wielu agentów. Dodaj wystąpienia agenta jako uczestników przy użyciu metodyparticipants(), a następnie wywołajbuild(), aby utworzyć przepływ pracy.Uruchamianie przepływu pracy
Wywołaj metodę przepływu pracyrunz zadaniem lub danymi wejściowymi, nad którym mają pracować agenci. Workflow uruchamia wszystkich agentów równocześnie i zwraca zdarzenia zawierające wyniki.Przetwarzanie wyników
Wyodrębnij dane wyjściowe ze zdarzeń przepływu pracy przy użyciu poleceniaget_outputs(). Wyniki zawierają połączone konwersacje wszystkich agentów, a odpowiedzi każdego z nich są zawarte w zbiorem końcowych odpowiedzi.Obsługa zagregowanych odpowiedzi
Przetwarzanie zagregowanych komunikatów ze wszystkich agentów. Każda wiadomość zawiera nazwę autora i zawartość, co pozwala określić, który agent dostarczył każdą odpowiedź.
Równoczesna orkiestracja to zaawansowany wzorzec jednoczesnego używania wielu agentów sztucznej inteligencji, umożliwia to szybsze i bardziej wszechstronne rozwiązywanie problemów. Uruchamiając agentów równolegle, możesz eksplorować różne podejścia jednocześnie, poprawić wydajność i uzyskać bogatsze szczegółowe informacje. Jednak ważne jest, aby wybrać ten wzorzec, gdy zadania mogą działać niezależnie i pamiętać o ograniczeniach zasobów i wyzwaniach związanych z koordynacją. Podczas przemyślanej implementacji za pomocą zestawu SDK programu Microsoft Agent Framework współbieżna aranżacja może znacznie poprawić przepływy pracy sztucznej inteligencji i procesy podejmowania decyzji.