(Kliknij obraz powyżej, aby obejrzeć film z tej lekcji)
Gdy tylko zaczniesz pracować nad projektem, który obejmuje wielu agentów, będziesz musiał rozważyć wzorzec projektowy wieloagentowy. Jednak może nie być od razu jasne, kiedy przejść do wieloagentowości i jakie są jej zalety.
W tej lekcji spróbujemy odpowiedzieć na następujące pytania:
Po tej lekcji powinieneś być w stanie:
Jaki jest szerszy obraz?
Systemy wieloagentowe to wzorzec projektowy, który pozwala wielu agentom współpracować, aby osiągnąć wspólny cel.
Wzorzec ten jest szeroko stosowany w różnych dziedzinach, w tym w robotyce, systemach autonomicznych i przetwarzaniu rozproszonym.
Jakie więc scenariusze są dobrym przypadkiem użycia systemów wieloagentowych? Odpowiedź brzmi, że istnieje wiele scenariuszy, w których zastosowanie wielu agentów jest korzystne, zwłaszcza w następujących przypadkach:
System z jednym agentem może sprawdzić się przy prostych zadaniach, ale przy bardziej złożonych zadaniach użycie wielu agentów daje kilka korzyści:
Weźmy przykład: zarezerwujmy wycieczkę dla użytkownika. System z jednym agentem musiałby obsłużyć wszystkie aspekty procesu rezerwacji, od wyszukiwania lotów po rezerwację hoteli i samochodów. Aby to osiągnąć za pomocą jednego agenta, musiałby on mieć narzędzia do realizacji wszystkich tych zadań. Mogłoby to prowadzić do skomplikowanego i monolitycznego systemu, trudnego w utrzymaniu i skalowaniu. System wieloagentowy mógłby z kolei mieć różnych agentów wyspecjalizowanych w wyszukiwaniu lotów, rezerwacji hoteli i samochodów. Dzięki temu system byłby bardziej modułowy, łatwiejszy w utrzymaniu i skalowalny.
Porównaj to do biura podróży prowadzonym przez mały rodzinny biznes w porównaniu do biura działającego jako franczyza. Mały biznes miałby pojedynczego agenta obsługującego wszystkie aspekty rezerwacji, podczas gdy franczyza miałaby różnych agentów odpowiedzialnych za różne aspekty procesu rezerwacji.
Zanim zaimplementujesz wzorzec wieloagentowy, musisz poznać elementy, które go tworzą.
Uczyńmy to bardziej konkretnym, ponownie patrząc na przykład rezerwacji wycieczki dla użytkownika. W tym przypadku elementy składowe obejmują:
Ważne jest, aby mieć wgląd w to, jak agenci ze sobą współpracują. Ta widoczność jest niezbędna do debugowania, optymalizacji i zapewnienia efektywności całego systemu. Aby to osiągnąć, potrzebujesz narzędzi i technik do śledzenia działań i interakcji agentów. Mogą to być narzędzia do logowania i monitoringu, narzędzia wizualizacyjne oraz mierniki wydajności.
Na przykład przy rezerwacji wycieczki dla użytkownika, możesz mieć panel pokazujący status każdego agenta, preferencje i ograniczenia użytkownika oraz interakcje między agentami. Panel może pokazywać daty podróży, loty rekomendowane przez agenta lotów, hotele rekomendowane przez agenta hotelowego oraz samochody przez agenta wypożyczalni. Pozwala to jasno zobaczyć, jak agenci współpracują i czy spełniane są preferencje i ograniczenia użytkownika.
Przyjrzyjmy się każdemu z tych aspektów bardziej szczegółowo.
Narzędzia do logowania i monitoringu: Chcesz rejestrować każde działanie agenta. Wpis w logu może zawierać informacje o agencie podejmującym działanie, rodzaju działania, czasie wykonania oraz wyniku działania. Te informacje można potem wykorzystać do debugowania, optymalizacji i innych celów.
Narzędzia wizualizacyjne: Narzędzia wizualizacyjne pomagają zobaczyć interakcje między agentami w sposób bardziej intuicyjny. Na przykład możesz mieć wykres pokazujący przepływ informacji między agentami. Pomaga to zidentyfikować wąskie gardła, nieefektywności i inne problemy w systemie.
Mierniki wydajności: Mierniki wydajności pomagają śledzić efektywność systemu wieloagentowego. Możesz np. monitorować czas potrzebny na ukończenie zadania, liczbę zadań wykonanych na jednostkę czasu oraz dokładność rekomendacji agentów. Te informacje pomagają w identyfikacji obszarów do poprawy i optymalizacji systemu.
Przeanalizujmy kilka konkretnych wzorców, które można zastosować do tworzenia aplikacji wieloagentowych. Oto kilka interesujących wzorców wartych rozważenia:
Ten wzorzec jest przydatny, gdy chcesz stworzyć aplikację czatu grupowego, gdzie wielu agentów może się komunikować między sobą. Typowe zastosowania to współpraca zespołowa, wsparcie klienta i sieci społecznościowe.
W tym wzorcu każdy agent reprezentuje użytkownika w czacie grupowym, a wiadomości są wymieniane między agentami z użyciem protokołu komunikacyjnego. Agenci mogą wysyłać wiadomości do grupy, odbierać je i odpowiadać na wiadomości innych agentów.
Wzorzec można zaimplementować przy użyciu architektury scentralizowanej, gdzie wszystkie wiadomości są przekazywane przez serwer centralny, lub zdecentralizowanej, gdzie wiadomości wymieniane są bezpośrednio.

Ten wzorzec jest użyteczny, gdy chcesz stworzyć aplikację, w której wielu agentów może przekazywać sobie nawzajem zadania.
Typowe przypadki to wsparcie klienta, zarządzanie zadaniami i automatyzacja przepływu pracy.
W tym wzorcu każdy agent reprezentuje zadanie lub etap w przepływie pracy, a agenci mogą przekazywać zadania innym agentom na podstawie wcześniej ustalonych reguł.

Ten wzorzec jest użyteczny, gdy chcesz stworzyć aplikację, w której wielu agentów współpracuje, by tworzyć rekomendacje dla użytkowników.
Powodem, dla którego pożądana jest współpraca wielu agentów, jest to, że każdy agent ma inną specjalizację i może wnosić różne wkłady do procesu rekomendacji.
Weźmy przykład, gdzie użytkownik chce rekomendacji najlepszego akcji do kupienia na giełdzie.

Weźmy scenariusz, gdzie klient stara się o zwrot pieniędzy za produkt – w tym procesie może być zaangażowanych wiele agentów, ale podzielmy ich na agentów specyficznych dla tego procesu oraz agentów ogólnych, używanych w innych procesach.
Agenci specyficzni dla procesu zwrotu:
Poniżej kilka agentów, którzy mogą być zaangażowani w proces zwrotu:
Agenci ogólni:
Ci agenci mogą być używani przez inne części twojej działalności.
Wymieniono całkiem sporo agentów, zarówno specyficznych dla procesu zwrotu, jak i ogólnych używanych w innych częściach twojej działalności. Mam nadzieję, że daje to ci obraz, jak możesz zdecydować, których agentów użyć w swoim systemie wieloagentowym.
Zaprojektuj system wieloagentowy dla procesu wsparcia klienta. Zidentyfikuj agentów zaangażowanych w proces, ich role i obowiązki oraz sposób, w jaki ze sobą współpracują. Weź pod uwagę zarówno agentów specyficznych dla procesu wsparcia klienta, jak i agentów ogólnych, którzy mogą być używani w innych częściach twojej działalności.
Zastanów się zanim przeczytasz poniższe rozwiązanie, może być potrzebnych więcej agentów, niż myślisz.
WSKAZÓWKA: Pomyśl o różnych etapach procesu obsługi klienta oraz rozważ agentów potrzebnych dla każdego systemu.
Który scenariusz najlepiej pasuje do systemu wieloagentowego?
Kiedy pojedynczy agent jest zazwyczaj lepszym wyborem?
W tej lekcji omówiliśmy wzorzec projektowy wieloagentowy, w tym scenariusze, w których wieloagentowość jest stosowana, zalety używania wielu agentów zamiast pojedynczego, podstawowe elementy implementacji wzorca wieloagentowego oraz jak mieć wgląd w to, jak agenci wzajemnie się komunikują.
Dołącz do Microsoft Foundry Discord, aby spotkać się z innymi uczącymi się, uczestniczyć w godzinach konsultacji i uzyskać odpowiedzi na pytania dotyczące agentów AI.
Zastrzeżenie: Niniejszy dokument został przetłumaczony za pomocą usługi tłumaczenia AI Co-op Translator. Choć dążymy do dokładności, prosimy pamiętać, że automatyczne tłumaczenia mogą zawierać błędy lub niedokładności. Oryginalny dokument w jego języku źródłowym należy uznawać za autorytatywne źródło. W przypadku informacji krytycznych zalecane jest skorzystanie z profesjonalnego tłumaczenia wykonanego przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z użycia tego tłumaczenia.