ai-agents-for-beginners

Multi-Agent Design

(Klik op de afbeelding hierboven om de video van deze les te bekijken)

Multi-agent ontwerp patronen

Zodra je begint te werken aan een project met meerdere agents, moet je rekening houden met het multi-agent ontwerp patroon. Het is echter niet altijd meteen duidelijk wanneer je moet overstappen naar multi-agents en wat de voordelen zijn.

Introductie

In deze les proberen we de volgende vragen te beantwoorden:

Leerdoelen

Na deze les zou je in staat moeten zijn om:

Wat is het grotere geheel?

Multi-agents zijn een ontwerp patroon waarmee meerdere agents kunnen samenwerken om een gemeenschappelijk doel te bereiken.

Dit patroon wordt veel gebruikt in verschillende gebieden, waaronder robotica, autonome systemen en gedistribueerde computing.

Scenario’s waarin Multi-Agents toepasbaar zijn

Dus, wat zijn goede gebruiksscenario’s voor het gebruik van multi-agents? Het antwoord is dat er veel scenario’s zijn waarin het inzetten van meerdere agents voordelig is, vooral in de volgende gevallen:

Voordelen van het gebruik van Multi-Agents boven een enkele agent

Een systeem met één agent kan goed werken voor eenvoudige taken, maar voor meer complexe taken kan het gebruik van meerdere agents verschillende voordelen bieden:

Laten we een voorbeeld nemen: stel dat we een reis voor een gebruiker willen boeken. Een systeem met één agent zou alle aspecten van het reisboekingsproces moeten afhandelen, van het vinden van vluchten tot het boeken van hotels en huurauto’s. Om dit te bereiken met één agent, zou de agent tools nodig hebben om al deze taken te beheren. Dit kan leiden tot een complex en monolithisch systeem dat moeilijk te onderhouden en te schalen is. Een multi-agent systeem daarentegen kan verschillende agents hebben die gespecialiseerd zijn in het vinden van vluchten, het boeken van hotels en huurauto’s. Dit zou het systeem meer modulair, gemakkelijker te onderhouden en schaalbaar maken.

Vergelijk dit met een reisbureau dat wordt gerund als een familiebedrijf versus een reisbureau dat wordt gerund als een franchise. Het familiebedrijf zou een enkele agent hebben die alle aspecten van het reisboekingsproces afhandelt, terwijl de franchise verschillende agents zou hebben die verschillende aspecten van het reisboekingsproces afhandelen.

Bouwstenen voor het implementeren van het Multi-Agent Ontwerp Patroon

Voordat je het multi-agent ontwerp patroon kunt implementeren, moet je de bouwstenen begrijpen die het patroon vormen.

Laten we dit concreet maken door opnieuw te kijken naar het voorbeeld van het boeken van een reis voor een gebruiker. In dit geval zouden de bouwstenen zijn:

Inzicht in Multi-Agent Interacties

Het is belangrijk dat je inzicht hebt in hoe de verschillende agents met elkaar interageren. Dit inzicht is essentieel voor debugging, optimalisatie en het waarborgen van de effectiviteit van het algehele systeem. Om dit te bereiken, heb je tools en technieken nodig om agentactiviteiten en interacties te volgen. Dit kan in de vorm zijn van log- en monitoringtools, visualisatietools en prestatiestatistieken.

Bijvoorbeeld, in het geval van het boeken van een reis voor een gebruiker, zou je een dashboard kunnen hebben dat de status van elke agent, de voorkeuren en beperkingen van de gebruiker, en de interacties tussen agents toont. Dit dashboard zou de reisdata van de gebruiker, de vluchten aanbevolen door de vluchtagent, de hotels aanbevolen door de hotelagent, en de huurauto’s aanbevolen door de huurautoagent kunnen tonen. Dit zou je een duidelijk beeld geven van hoe de agents met elkaar interageren en of de voorkeuren en beperkingen van de gebruiker worden nageleefd.

Laten we elk van deze aspecten meer in detail bekijken.

Multi-Agent Patronen

Laten we enkele concrete patronen bekijken die we kunnen gebruiken om multi-agent apps te maken. Hier zijn enkele interessante patronen die het overwegen waard zijn:

Groepschat

Dit patroon is nuttig wanneer je een groepschat applicatie wilt maken waarin meerdere agents met elkaar kunnen communiceren. Typische gebruiksscenario’s voor dit patroon zijn team samenwerking, klantenondersteuning en sociale netwerken.

In dit patroon vertegenwoordigt elke agent een gebruiker in de groepschat, en berichten worden uitgewisseld tussen agents met behulp van een berichtenprotocol. De agents kunnen berichten naar de groepschat sturen, berichten van de groepschat ontvangen en reageren op berichten van andere agents.

Dit patroon kan worden geïmplementeerd met behulp van een gecentraliseerde architectuur waarbij alle berichten via een centrale server worden gerouteerd, of een gedecentraliseerde architectuur waarbij berichten rechtstreeks worden uitgewisseld.

Groepschat

Overdracht

Dit patroon is nuttig wanneer je een applicatie wilt maken waarin meerdere agents taken aan elkaar kunnen overdragen.

Typische gebruiksscenario’s voor dit patroon zijn klantenondersteuning, taakbeheer en workflow automatisering.

In dit patroon vertegenwoordigt elke agent een taak of een stap in een workflow, en agents kunnen taken aan andere agents overdragen op basis van vooraf gedefinieerde regels.

Overdracht

Collaboratief filteren

Dit patroon is nuttig wanneer je een applicatie wilt maken waarin meerdere agents kunnen samenwerken om aanbevelingen aan gebruikers te doen.

Waarom je zou willen dat meerdere agents samenwerken, is omdat elke agent verschillende expertise kan hebben en op verschillende manieren kan bijdragen aan het aanbevelingsproces.

Laten we een voorbeeld nemen waarin een gebruiker een aanbeveling wil over de beste aandelen om te kopen op de aandelenmarkt.

Aanbeveling

Scenario: Terugbetalingsproces

Overweeg een scenario waarin een klant probeert een terugbetaling te krijgen voor een product. Er kunnen behoorlijk wat agents betrokken zijn bij dit proces, maar laten we het verdelen tussen agents die specifiek zijn voor dit proces en algemene agents die in andere processen kunnen worden gebruikt.

Agents specifiek voor het terugbetalingsproces:

De volgende agents kunnen betrokken zijn bij het terugbetalingsproces:

Algemene agents:

Deze agents kunnen worden gebruikt door andere delen van je bedrijf.

Er zijn behoorlijk wat agents genoemd, zowel voor het specifieke terugbetalingsproces als voor de algemene agents die in andere delen van je bedrijf kunnen worden gebruikt. Hopelijk geeft dit je een idee van hoe je kunt beslissen welke agents je wilt gebruiken in je multi-agent systeem.

Opdracht

Ontwerp een multi-agent systeem voor een klantenondersteuningsproces. Identificeer de betrokken agents in het proces, hun rollen en verantwoordelijkheden, en hoe ze met elkaar samenwerken. Overweeg zowel agents die specifiek zijn voor het klantenondersteuningsproces als algemene agents die in andere delen van je bedrijf kunnen worden gebruikt.

Denk goed na voordat je de onderstaande oplossing leest, je hebt misschien meer agents nodig dan je denkt.

TIP: Denk aan de verschillende fasen van het klantenondersteuningsproces en overweeg ook agents die nodig zijn voor elk systeem.

Oplossing

Oplossing

Kennisvragen

Vraag: Wanneer moet je overwegen om multi-agents te gebruiken?

Oplossing quiz

Samenvatting

In deze les hebben we gekeken naar het multi-agent ontwerpmodel, inclusief de scenario’s waarin multi-agents toepasbaar zijn, de voordelen van het gebruik van multi-agents ten opzichte van een enkele agent, de bouwstenen voor het implementeren van het multi-agent ontwerpmodel, en hoe je inzicht kunt krijgen in hoe de verschillende agents met elkaar samenwerken.

Meer vragen over het Multi-Agent Ontwerpmodel?

Word lid van de Azure AI Foundry Discord om andere leerlingen te ontmoeten, spreekuren bij te wonen en je vragen over AI Agents beantwoord te krijgen.

Aanvullende bronnen

Vorige Les

Planning Ontwerp

Volgende Les

Metacognitie in AI Agents


Disclaimer:
Dit document is vertaald met behulp van de AI-vertalingsservice Co-op Translator. Hoewel we streven naar nauwkeurigheid, dient u zich ervan bewust te zijn dat geautomatiseerde vertalingen fouten of onnauwkeurigheden kunnen bevatten. Het originele document in de oorspronkelijke taal moet worden beschouwd als de gezaghebbende bron. Voor kritieke informatie wordt professionele menselijke vertaling aanbevolen. Wij zijn niet aansprakelijk voor misverstanden of verkeerde interpretaties die voortvloeien uit het gebruik van deze vertaling.