ai-agents-for-beginners

Multi-Agent Design

(Kliknij obraz powyżej, aby obejrzeć film z tej lekcji)

Wzorce projektowe wieloagentowe

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.

Wprowadzenie

W tej lekcji spróbujemy odpowiedzieć na następujące pytania:

Cele nauki

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.

Scenariusze, w których systemy wieloagentowe mają zastosowanie

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:

Zalety używania systemów wieloagentowych w porównaniu do pojedynczego agenta

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.

Elementy składowe implementacji wzorca projektowego wieloagentowego

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ą:

Widoczność interakcji wieloagentowych

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.

Wzorce dla systemów wieloagentowych

Przeanalizujmy kilka konkretnych wzorców, które można zastosować do tworzenia aplikacji wieloagentowych. Oto kilka interesujących wzorców wartych rozważenia:

Czat grupowy

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.

Group chat

Przekazywanie zadania

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ł.

Hand off

Filtracja współpracująca

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.

Recommendation

Scenariusz: Proces zwrotu pieniędzy

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.

Zadanie

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.

Rozwiązanie

Rozwiązanie

Sprawdzian wiedzy

Pytanie 1

Który scenariusz najlepiej pasuje do systemu wieloagentowego?

Pytanie 2

Kiedy pojedynczy agent jest zazwyczaj lepszym wyborem?

Rozwiązanie quizu

Podsumowanie

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ą.

Masz więcej pytań dotyczących wzorca wieloagentowego?

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.

Dodatkowe zasoby

Poprzednia lekcja

Planowanie projektu

Następna lekcja

Metapoznanie w agentach 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.