(Klik op de afbeelding hierboven om de video van deze les te bekijken)
Zodra je begint met werken aan een project dat meerdere agenten omvat, moet je rekening houden met het multi-agent ontwerp patroon. Het is echter misschien niet meteen duidelijk wanneer je moet overschakelen naar multi-agenten en wat de voordelen zijn.
In deze les proberen we de volgende vragen te beantwoorden:
Na deze les zou je in staat moeten zijn om:
Wat is het grotere plaatje?
Multi-agenten zijn een ontwerp patroon dat meerdere agenten in staat stelt samen te werken om een gemeenschappelijk doel te bereiken.
Dit patroon wordt veel gebruikt in diverse velden, waaronder robotica, autonome systemen en gedistribueerde computing.
Dus welke scenario’s zijn een goede use case voor het gebruik van multi-agenten? Het antwoord is dat er veel scenario’s zijn waarin het inzetten van meerdere agenten voordelig is, vooral in de volgende gevallen:
Een enkel agent systeem kan goed werken voor eenvoudige taken, maar voor complexere taken kan het gebruik van meerdere agenten verschillende voordelen bieden:
Laten we een voorbeeld nemen: we boeken een reis voor een gebruiker. Een enkel agent systeem zou alle aspecten van het boekingsproces van een reis moeten afhandelen, van het vinden van vluchten tot het boeken van hotels en huurauto’s. Om dit met één enkele agent te bereiken, zou de agent over tools moeten beschikken 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 kan daarentegen verschillende agenten hebben die gespecialiseerd zijn in het vinden van vluchten, het boeken van hotels en huurauto’s. Dit maakt het systeem modulair, makkelijker te onderhouden en schaalbaar.
Vergelijk dit met een reisbureau dat als een buurtwinkel wordt gerund versus een reisbureau dat als franchise wordt gerund. De buurtwinkel zou één enkele agent hebben die alle aspecten van het boekingsproces afhandelt, terwijl de franchise verschillende agenten heeft die verschillende aspecten van het boekingsproces afhandelen.
Voordat je het multi-agent ontwerp patroon kunt implementeren, moet je de bouwstenen begrijpen die het patroon vormen.
Laten we dit concreter maken door weer te kijken naar het voorbeeld van het boeken van een reis voor een gebruiker. In dit geval zouden de bouwstenen het volgende omvatten:
Het is belangrijk dat je zicht hebt op hoe de meerdere agenten met elkaar interacteren. Deze zichtbaarheid is essentieel voor het debuggen, optimaliseren en waarborgen van de effectiviteit van het gehele systeem. Om dit te bereiken, moet je tools en technieken hebben om agent activiteiten en interacties te volgen. Dit kan in de vorm van logging- en monitoringtools, visualisatie tools en prestatie-indicatoren.
Bijvoorbeeld, in het geval van het boeken van een reis voor een gebruiker, kun je een dashboard hebben dat de status van elke agent toont, de voorkeuren en beperkingen van de gebruiker en de interacties tussen agenten. Dit dashboard kan de reisdata van de gebruiker tonen, de vluchten die door de vluchtagent zijn aanbevolen, de hotels die door de hotelagent zijn aanbevolen en de huurauto’s die door de huurauto-agent zijn aanbevolen. Dit geeft je een duidelijk beeld van hoe de agenten met elkaar interacteren en of de voorkeuren en beperkingen van de gebruiker worden nageleefd.
Laten we elk van deze aspecten wat gedetailleerder bekijken.
Logging- en Monitoring Tools: Je wilt voor elke actie die een agent neemt logging hebben. Een logvermelding kan informatie opslaan over welke agent de actie heeft uitgevoerd, welke actie, het tijdstip van uitvoeren en het resultaat van de actie. Deze informatie kan vervolgens worden gebruikt voor debugging, optimalisatie en meer.
Visualisatie Tools: Visualisatie tools kunnen je helpen de interacties tussen agenten op een intuïtievere manier te zien. Zo kun je bijvoorbeeld een grafiek hebben die de informatiestroom tussen agenten toont. Dit kan je helpen knelpunten, inefficiënties en andere problemen in het systeem te identificeren.
Prestatie-Indicatoren: Prestatie-indicatoren kunnen je helpen de effectiviteit van het multi-agent systeem te volgen. Je kunt bijvoorbeeld de tijd volgen die nodig is om een taak te voltooien, het aantal voltooide taken per tijdseenheid en de nauwkeurigheid van de aanbevelingen die door de agenten worden gedaan. Deze informatie kan je helpen verbeterpunten te identificeren en het systeem te optimaliseren.
Laten we enkele concrete patronen bekijken die we kunnen gebruiken om multi-agent apps te maken. Hier zijn een paar interessante patronen die het overwegen waard zijn:
Dit patroon is nuttig wanneer je een groepschat applicatie wilt maken waar meerdere agenten met elkaar kunnen communiceren. Typische gebruikssituaties voor dit patroon zijn team samenwerking, klantenondersteuning en sociale netwerken.
In dit patroon vertegenwoordigt elke agent een gebruiker in de groepschat en worden berichten tussen agenten uitgewisseld via een messaging protocol. De agenten kunnen berichten naar de groepschat sturen, berichten van de groepschat ontvangen en reageren op berichten van andere agenten.
Dit patroon kan worden geïmplementeerd met een gecentraliseerde architectuur waarbij alle berichten via een centrale server lopen, of een gedecentraliseerde architectuur waar berichten direct worden uitgewisseld.

Dit patroon is nuttig wanneer je een applicatie wilt maken waarin meerdere agenten taken aan elkaar kunnen overdragen.
Typische gebruikssituaties voor dit patroon zijn klantenondersteuning, taakbeheer en workflow automatisering.
In dit patroon vertegenwoordigt elke agent een taak of een stap in een workflow, en kunnen agenten taken overdragen aan andere agenten op basis van vooraf gedefinieerde regels.

Dit patroon is nuttig wanneer je een applicatie wilt maken waarin meerdere agenten samenwerken om aanbevelingen aan gebruikers te doen.
Waarom je meerdere agenten samen wilt laten werken, is omdat elke agent andere expertise kan hebben en kan bijdragen aan het aanbevelingsproces op verschillende manieren.
Laten we een voorbeeld nemen waarin een gebruiker een aanbeveling wil voor het beste aandeel om te kopen op de aandelenmarkt.

Overweeg een scenario waarbij een klant probeert een terugbetaling te krijgen voor een product, er kunnen nogal wat agenten betrokken zijn bij dit proces maar laten we het verdelen tussen agenten specifiek voor dit proces en algemene agenten die voor andere processen gebruikt kunnen worden.
Agenten specifiek voor het terugbetalingsproces:
Hier volgen enkele agenten die betrokken kunnen zijn bij het terugbetalingsproces:
Algemene agenten:
Deze agenten kunnen door andere delen van je bedrijf worden gebruikt.
Er zijn behoorlijk wat agenten hierboven genoemd zowel voor het specifieke terugbetalingsproces als ook voor de algemene agenten die in andere delen van je bedrijf kunnen worden gebruikt. Hopelijk geeft dit je een idee over hoe je kunt beslissen welke agenten je gebruikt in je multi-agent systeem.
Ontwerp een multi-agent systeem voor een klantenondersteuningsproces. Identificeer de agenten die bij het proces betrokken zijn, hun rollen en verantwoordelijkheden, en hoe ze met elkaar interacteren. Overweeg zowel agenten specifiek voor het klantenondersteuningsproces als algemene agenten die in andere delen van je bedrijf kunnen worden gebruikt.
Denk goed na voordat je de volgende oplossing leest, je hebt mogelijk meer agenten nodig dan je denkt.
TIP: Denk aan de verschillende fasen van het klantenondersteuningsproces en overweeg ook agenten die nodig zijn voor elk systeem.
Vraag: Wanneer moet je overwegen om multi-agenten te gebruiken?
In deze les hebben we gekeken naar het multi-agent ontwerp patroon, inclusief de scenario’s waarin multi-agenten toepasbaar zijn, de voordelen van het gebruik van multi-agenten ten opzichte van één enkele agent, de bouwstenen voor het implementeren van het multi-agent ontwerp patroon, en hoe je zicht krijgt op hoe de meerdere agenten met elkaar samenwerken.
Word lid van de Microsoft Foundry Discord om andere leerlingen te ontmoeten, kantooruren bij te wonen en je vragen over AI-agenten beantwoord te krijgen.
Vrijwaring: Dit document is vertaald met behulp van de AI-vertalingsdienst Co-op Translator. Hoewel we streven naar nauwkeurigheid, kan het zijn dat geautomatiseerde vertalingen fouten of onjuistheden bevatten. Het oorspronkelijke document in de oorspronkelijke taal dient als de gezaghebbende bron te worden beschouwd. Voor kritieke informatie wordt een professionele menselijke vertaling aanbevolen. Wij zijn niet aansprakelijk voor eventuele misverstanden of verkeerde interpretaties voortvloeiend uit het gebruik van deze vertaling.