ai-agents-for-beginners

Projekt wieloagentowy

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

Wzorce projektowe systemów wieloagentowych

Gdy zaczniesz pracować nad projektem obejmującym wielu agentów, będziesz musiał rozważyć wzorzec projektowy dla systemów wieloagentowych. Jednak może nie być od razu jasne, kiedy przejść na rozwiązanie wieloagentowe i jakie są korzyści.

Wprowadzenie

W tej lekcji chcemy odpowiedzieć na następujące pytania:

Cele nauki

Po tej lekcji powinieneś być w stanie:

Jaki jest szerszy kontekst?

Systemy wieloagentowe to wzorzec projektowy, który pozwala wielu agentom współpracować, aby osiągnąć wspólny cel.

Ten wzorzec 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 scenariusze są dobrym przypadkiem użycia dla systemów wieloagentowych? Odpowiedź jest taka, że istnieje wiele scenariuszy, w których zatrudnienie wielu agentów jest korzystne, zwłaszcza w następujących przypadkach:

Zalety używania wielu agentów zamiast pojedynczego agenta

System oparty na pojedynczym agencie może dobrze sprawdzić się w prostych zadaniach, ale w przypadku bardziej złożonych zadań użycie wielu agentów może przynieść kilka korzyści:

Weźmy przykład: zarezerwujmy podróż dla użytkownika. System z jednym agentem musiałby obsłużyć wszystkie aspekty procesu rezerwacji podróży, od wyszukiwania lotów po rezerwację hoteli i samochodów. Aby osiągnąć to jednym agentem, agent musiałby mieć narzędzia do obsługi wszystkich tych zadań. Mogłoby to prowadzić do powstania skomplikowanego i monolitycznego systemu, który jest trudny w utrzymaniu i skalowaniu. System wieloagentowy mógłby natomiast mieć różnych agentów wyspecjalizowanych w wyszukiwaniu lotów, rezerwowaniu hoteli i wynajmowaniu samochodów. Sprawiłoby to, że system byłby bardziej modułowy, łatwiejszy w utrzymaniu i skalowalny.

Porównaj to z biurem podróży prowadzonym jako małe, rodzinne biuro (mom-and-pop) w kontraście do biura podróży działającego jako franczyza. W tym pierwszym przypadku jeden agent obsługiwałby wszystkie aspekty procesu rezerwacji podróży, podczas gdy franczyza miałaby różnych agentów zajmujących się różnymi aspektami procesu rezerwacji.

Elementy składowe implementacji wzorca wieloagentowego

Zanim będziesz mógł zaimplementować wzorzec wieloagentowy, musisz zrozumieć elementy składowe, które tworzą ten wzorzec.

Uprośćmy to, ponownie patrząc na przykład rezerwacji podróży dla użytkownika. W tym przypadku elementy składowe obejmowałyby:

Widoczność interakcji między agentami

Ważne jest, abyś miał widoczność tego, jak agenty wchodzą ze sobą w interakcje. Ta widoczność jest niezbędna do debugowania, optymalizacji i zapewnienia ogólnej skuteczności systemu. Aby to osiągnąć, potrzebujesz narzędzi i technik do śledzenia aktywności i interakcji agentów. Może to mieć formę narzędzi do logowania i monitorowania, narzędzi do wizualizacji oraz metryk wydajności.

Na przykład w przypadku rezerwacji podróży dla użytkownika możesz mieć pulpit nawigacyjny pokazujący status każdego agenta, preferencje i ograniczenia użytkownika oraz interakcje między agentami. Ten pulpit mógłby pokazywać daty podróży użytkownika, loty rekomendowane przez agenta lotów, hotele rekomendowane przez agenta hotelowego oraz samochody rekomendowane przez agenta ds. wynajmu. Dałoby to jasny obraz tego, jak agenty wchodzą ze sobą w interakcje i czy preferencje oraz ograniczenia użytkownika są spełniane.

Przyjrzyjmy się każdemu z tych aspektów bardziej szczegółowo.

Wzorce wieloagentowe

Zanurzmy się w kilka konkretnych wzorców, które możemy wykorzystać 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, w której wielu agentów może się komunikować ze sobą. Typowe przypadki użycia tego wzorca to współpraca zespołowa, obsługa 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 przy użyciu protokołu komunikatów. Agenty mogą wysyłać wiadomości na czat grupowy, otrzymywać wiadomości z czatu i odpowiadać na wiadomości od innych agentów.

Wzorzec ten można zaimplementować przy użyciu architektury scentralizowanej, w której wszystkie wiadomości są trasowane przez serwer centralny, lub architektury zdecentralizowanej, w której wiadomości są wymieniane bezpośrednio.

Czat grupowy

Przekazanie zadań

Ten wzorzec jest przydatny, gdy chcesz stworzyć aplikację, w której wielu agentów może przekazywać sobie zadania.

Typowe przypadki użycia tego wzorca obejmują obsługę klienta, zarządzanie zadaniami i automatyzację przepływów pracy.

W tym wzorcu każdy agent reprezentuje zadanie lub krok w przepływie pracy, a agenty mogą przekazywać zadania innym agentom na podstawie z góry określonych reguł.

Przekazanie zadań

Filtrowanie kolaboracyjne

Ten wzorzec jest przydatny, gdy chcesz stworzyć aplikację, w której wielu agentów może współpracować, aby tworzyć rekomendacje dla użytkowników.

Powód, dla którego warto, aby wielu agentów współpracowało, polega na tym, że każdy agent może mieć inną ekspertyzę i może przyczyniać się do procesu rekomendacji na różne sposoby.

Weźmy przykład, w którym użytkownik chce rekomendacji dotyczącej najlepszej akcji do kupienia na giełdzie.

Rekomendacja

Scenariusz: proces zwrotu

Rozważ scenariusz, w którym klient stara się uzyskać zwrot za produkt — w tym procesie może uczestniczyć dość wiele agentów, ale podzielmy je na agentów specyficznych dla tego procesu oraz ogólnych agentów, których można używać w innych procesach.

Agenty specyficzne dla procesu zwrotu:

Poniżej znajdują się niektóre agenty, które mogłyby być zaangażowane w proces zwrotu:

Agenty ogólne:

Te agenty mogą być wykorzystywane przez inne części twojego biznesu.

Wcześniej wymieniono całkiem sporo agentów, zarówno specyficznych dla procesu zwrotu, jak i ogólnych agentów, które można wykorzystać w innych częściach twojego biznesu. Miejmy nadzieję, że daje to wyobrażenie o tym, jak możesz zdecydować, które agenty użyć w swoim systemie wieloagentowym.

Zadanie

Zaprojektuj system wieloagentowy dla procesu obsługi klienta. Zidentyfikuj agenty zaangażowane w proces, ich role i obowiązki oraz sposób, w jaki wchodzą ze sobą w interakcje. Weź pod uwagę zarówno agenty specyficzne dla procesu obsługi klienta, jak i agenty ogólne, które można wykorzystać w innych częściach twojego biznesu.

Pomyśl zanim przeczytasz następujące rozwiązanie, możesz potrzebować 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

Sprawdzenie wiedzy

Pytanie: Kiedy należy rozważyć użycie wielu agentów?

Quiz rozwiązania

Podsumowanie

W tej lekcji omówiliśmy wzorzec projektowy wielu agentów, w tym scenariusze, w których wielu agentów jest zastosowalnych, zalety stosowania wielu agentów zamiast pojedynczego agenta, elementy składowe implementacji wzorca projektowego wielu agentów oraz sposoby uzyskania wglądu w to, jak poszczególni agenci wchodzą ze sobą w interakcje.

Masz więcej pytań dotyczących wzorca projektowego wielu agentów?

Dołącz do Microsoft Foundry Discord, aby spotkać innych uczących 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 przy użyciu usługi tłumaczenia AI Co-op Translator (https://github.com/Azure/co-op-translator). Dokładamy starań, aby tłumaczenie było jak najbardziej dokładne, jednak prosimy pamiętać, że tłumaczenia automatyczne mogą zawierać błędy lub nieścisłości. Oryginalny dokument w języku źródłowym należy uznać za źródło wiążące. Dla informacji istotnych 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.