Multi-agentsysteem
Wat is een multi-agentsysteem?
Een multi-agentsysteem is een opstelling waarbij meerdere AI-agents tegelijk aan dezelfde opdracht werken. Een hoofdagent haalt de vraag uit elkaar, geeft de stukken door aan andere agents, en zet de resultaten daarna weer samen tot één antwoord. Elk van die andere agents heeft een eigen contextvenster, eigen tools en een eigen stuk van het probleem.
De reden waarom mensen dit bouwen, is eenvoudiger dan ze klinkt. Eén agent werkt een opdracht stap voor stap af, en alles wat hij onderweg geleerd heeft, moet in één contextvenster blijven passen. Bij een brede vraag loopt dat venster vol en verliest de agent de draad. Verdeel je het werk over meerdere agents, dan houdt elk van hen een propere context voor zijn eigen stuk, en kunnen ze bovendien tegelijk werken in plaats van na elkaar.
Anthropic zette het onderliggende punt duidelijk neer toen ze schreven over het researchsysteem achter hun eigen product. Bij dit soort werk bepaalt vooral hoeveel denkwerk je aan het probleem kan besteden hoe goed het antwoord wordt, en een multi-agentopstelling is een manier om daar veel meer van te besteden binnen dezelfde doorlooptijd.
Het orchestrator-workerpatroon
Zowat elk multi-agentsysteem in productie gebruikt dezelfde vorm, en die is de moeite om bij naam te kennen.
Een hoofdagent, soms de orchestrator genoemd, leest de vraag en bedenkt een aanpak. Hij start daarna een handvol subagents op, elk met een smalle opdracht en een beschrijving van wat ze moeten terugbrengen. Die subagents draaien tegelijk en gaan elk zelf op zoek of roepen elk hun eigen tools aan. De hoofdagent leest wat er terugkomt, beslist of hij genoeg heeft, en stuurt ofwel een nieuwe ronde uit ofwel schrijft hij het eindantwoord.
In het systeem van Anthropic start de hoofdagent doorgaans drie tot vijf subagents tegelijk op, en die subagents gebruiken zelf ook meerdere tools tegelijk. Die laag van gelijktijdigheid is waar bij complexe vragen de meeste snelheidswinst vandaan komt.
Wat dit patroon doet werken, is dat de subagents niets van elkaar hoeven te weten. Elk van hen krijgt een opdracht en geeft een resultaat terug. Alle coördinatie zit bij de hoofdagent, en dus heb je precies één plek om te gaan kijken als de taakverdeling misloopt.
Wat het kost
Dit is het stuk dat in de meeste demo's wordt overgeslagen. Multi-agentsystemen zijn duur, en die kost is structureel en niet toevallig.
Anthropic heeft het op hun eigen werklast gemeten. Eén agent verbruikt al ongeveer vier keer zoveel tokens als een gewoon chatgesprek, omdat hij een lus doorloopt, tools aanroept en resultaten leest. Een multi-agentsysteem verbruikt ongeveer vijftien keer zoveel tokens als een chatgesprek. Dat zijn hun cijfers op hun opdracht, dus lees ze als een grootteorde en niet als een tarief, maar de vorm klopt overal: elke subagent heeft een eigen prompt, een eigen context en een eigen output.
Dat heeft een rechtstreeks gevolg voor wanneer dit de moeite is. Als de opdracht waardevol genoeg is dat vijftien keer zoveel tokens geen probleem vormt, en tegelijk zo open ligt dat je de stappen niet op voorhand kan opschrijven, dan verdient een multi-agentsysteem zichzelf terug. Research, breed uitzoekwerk en wijde zoekopdrachten passen in die beschrijving. Een maandrapport dat altijd dezelfde zes stappen volgt, past er niet in, en dat bouw je beter als een gewone workflow met één modelaanroep per stap.
Waar het lastig wordt in productie
Toestand die moet overleven. Deze agents draaien lang en bouwen toestand op over veel toolaanroepen heen. Loopt er op minuut twaalf iets mis, dan kan je niet zomaar opnieuw beginnen, want dan gooi je alles weg wat al gelukt was en betaal je er een tweede keer voor. Je moet kunnen hervatten op de plek waar de agent stond.
Fouten die zich opstapelen. Een subagent die zijn opdracht verkeerd begrijpt, faalt niet met veel lawaai. Hij komt terug met een zelfzeker en nutteloos resultaat, en de hoofdagent verwerkt dat mee in het antwoord. De fout wordt pas op het einde zichtbaar, in de uiteindelijke tekst.
Uitrollen terwijl er agents draaien. Omdat een run lang kan duren, kan je de code eronder niet zomaar vervangen. Anthropic beschrijft dat ze daarom geleidelijk uitrollen, zodat lopende agents niet halverwege onderuit gaan.
Coördinatie die synchroon blijft. In de meeste opstellingen van vandaag wacht de hoofdagent op zijn subagents. Dat valt makkelijker te doorgronden, en het betekent ook dat het geheel per ronde op het tempo van de traagste subagent loopt.
Iets evalueren dat elke keer anders loopt. Twee runs van dezelfde vraag kunnen een ander pad nemen en allebei correct zijn. Dat breekt de gewone aanpak waarbij je output vergelijkt met een verwacht antwoord, en het is de reden waarom teams die dit bouwen mensen in de nalezing houden om de randgevallen te vinden die de geautomatiseerde controles missen.
Waar moet je op letten bij een multi-agentsysteem
Kijk eerst na of één agent volstaat. Multi-agent is het antwoord op een breedteprobleem. Is jouw opdracht eerder diep dan breed, of liggen de stappen op voorhand vast, dan voeg je met opsplitsen vooral kosten en faalvormen toe zonder er veel voor terug te krijgen.
Zet een harde bovengrens op de lus. Begrens het aantal subagents, het aantal rondes en het tokenbudget. Zonder die grenzen blijft een hoofdagent die geen vooruitgang boekt gewoon nieuw werk uitsturen.
Schrijf de opdrachten alsof ze voor een vreemde zijn. Een subagent weet niets behalve wat jij in zijn instructie zet. Vage opdrachten zijn de meest voorkomende oorzaak van twee subagents die hetzelfde doen terwijl een derde niets nuttigs uitvoert.
Log elk been apart. Als het antwoord fout is, wil je kunnen zien welke subagent welke opdracht kreeg en wat hij terugbracht. Zonder dat zit je een blok tekst te debuggen.
Hou de mens op het moment van de actie. Parallel lezen en zoeken is weinig riskant. Een mail versturen, een betaling doen of een record wijzigen is dat wel. Zet de goedkeuring op de actie zelf in plaats van te hopen dat de lus op tijd stopt.