ai-agents-for-beginners

Multi-agent ontwerp

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

Multi-agent ontwerp patronen

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.

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

Scenario’s waar Multi-Agenten Toepasbaar Zijn

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:

Voordelen van het Gebruiken van Multi-Agenten ten Opzichte van een Enkele Agent

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.

Bouwstenen van 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 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:

Zichtbaarheid in Multi-Agent Interacties

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.

Multi-Agent Patronen

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:

Groepschat

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.

Groepschat

Overdracht

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.

Overdracht

Collaboratieve filtering

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.

Aanbeveling

Scenario: Terugbetalingsproces

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.

Opdracht

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.

Oplossing

Oplossing

Kenniscontroles

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

Oplossing quiz

Samenvatting

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.

Meer vragen over het Multi-Agent Ontwerp Patroon?

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.

Aanvullende bronnen

Vorige les

Planning Ontwerp

Volgende les

Metacognitie in AI-agenten


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.