Thought leaders
Ze beloofden ons agenten, maar alles wat we kregen waren statische ketens
In het voorjaar van 2023 was de wereld enthousiast over de opkomst van LLM-gebaseerde AI-agenten. Krachtige demos zoals AutoGPT en BabyAGI toonden het potentieel van LLM’s die in een lus draaien, de volgende actie kiezen, de resultaten observeren en de volgende actie kiezen, stap voor stap (ook bekend als het ReACT-kader). Deze nieuwe methode zou agenten moeten aandrijven die autonoom en generisch multi-stap taken uitvoeren. Geef het een doel en een set tools en het zal de rest voor zijn rekening nemen. Tegen het einde van 2024 zal het landschap vol zijn van AI-agenten en AI-agent-bouwframeworks. Maar hoe meten ze zich tegen de belofte?
Het is veilig om te zeggen dat de agenten die worden aangedreven door het naive ReACT-kader last hebben van ernstige beperkingen. Geef ze een taak die meer dan een paar stappen vereist, met meer dan een paar tools en ze zullen jammerlijk falen. Buiten hun voor de hand liggende latentieproblemen zullen ze het spoor bijster raken, instructies niet volgen, te vroeg of te laat stoppen en wild verschillende resultaten produceren bij elke poging. En het is geen wonder. Het ReACT-kader neemt de beperkingen van onvoorspelbare LLM’s en vermeerdert ze met het aantal stappen. Echter, agent-bouwers die echte use-cases in de enterprise willen oplossen, kunnen niet met dat niveau van prestaties werken. Ze hebben betrouwbare, voorspelbare en verklarende resultaten nodig voor complexe multi-stap workflows. En ze hebben AI-systemen nodig die de onvoorspelbare aard van LLM’s mitigeren, in plaats van verergeren.
Dus hoe worden agenten vandaag de dag in de enterprise gebouwd? Voor use-cases die meer dan een paar tools en een paar stappen vereisen (bijv. conversational RAG), hebben agent-bouwers het dynamische en autonome belofte van ReACT grotendeels verlaten voor methoden die zwaar leunen op statische ketening – de creatie van vooraf gedefinieerde ketens die zijn ontworpen om een specifieke use-case op te lossen. Deze benadering lijkt op traditionele software-engineering en is ver verwijderd van de agent-belofte van ReACT. Het bereikt hogere niveaus van controle en betrouwbaarheid, maar ontbeert autonomie en flexibiliteit. Oplossingen zijn daarom ontwikkelingsintensief, smal in toepassing en te stijf om hoge niveaus van variatie in de invoerruimte en de omgeving aan te pakken.
Om zeker te zijn, kunnen statische ketenpraktijken variëren in hoe “statisch” ze zijn. Sommige ketens gebruiken LLM’s alleen om atomaire stappen uit te voeren (bijv. om informatie te extraheren, tekst samen te vatten of een bericht op te stellen), terwijl anderen ook LLM’s gebruiken om dynamische beslissingen te nemen op runtime (bijv. een LLM die tussen alternatieve stromen in de keten routeert of een LLM die de uitkomst van een stap valideert om te bepalen of deze opnieuw moet worden uitgevoerd). In elk geval, zolang LLM’s verantwoordelijk zijn voor enige dynamische beslissing in de oplossing – zijn we onvermijdelijk gevangen in een compromis tussen betrouwbaarheid en autonomie. Hoe statischer de oplossing is, hoe betrouwbaarder en voorspelbaarder, maar ook minder autonoom en dus smaller in toepassing en ontwikkelingsintensiever. Hoe dynamischer en autonomer de oplossing is, hoe generischer en eenvoudiger om te bouwen, maar ook minder betrouwbaar en voorspelbaar.
Dit compromis kan worden weergegeven in de volgende grafiek:

Dit roept de vraag op, waarom we nog geen agent-kader hebben gezien dat in het bovenste rechterquadrant kan worden geplaatst? Zijn we voorbestemd om voor altijd een compromis te sluiten tussen betrouwbaarheid en autonomie? Kunnen we geen kader krijgen dat de eenvoudige interface van een ReACT-agent biedt (neem een doel en een set tools en figureer het uit) zonder betrouwbaarheid op te offeren?
Het antwoord is – we kunnen en we zullen! Maar hiervoor moeten we beseffen dat we het allemaal verkeerd hebben gedaan. Alle huidige agent-bouwframeworks delen een gemeenschappelijk gebrek: ze vertrouwen op LLM’s als het dynamische, autonome component. Echter, het cruciale element dat we missen – wat we nodig hebben om agenten te creëren die zowel autonoom als betrouwbaar zijn – is planningsTechnologie. En LLM’s zijn GEEN goede planners.
Maar eerst, wat is “planning”? Door “planning” bedoelen we de mogelijkheid om expliciet alternatieve actiepaden te modelleren die leiden tot een gewenst resultaat en om deze alternatieven efficiënt te exploreren en te exploiteren onder begrotingsbeperkingen. Planning moet worden gedaan op zowel macro- als microniveau. Een macro-plan breekt een taak af in afhankelijke en onafhankelijke stappen die moeten worden uitgevoerd om het gewenste resultaat te bereiken. Wat vaak over het hoofd wordt gezien, is de noodzaak van micro-planning om gewenste resultaten te garanderen op stapniveau. Er zijn veel beschikbare strategieën om de betrouwbaarheid te verhogen en garanties te bereiken op het niveau van één stap door meer berekeningskracht te gebruiken. Bijvoorbeeld, je kunt semantische zoekopdrachten meerdere keren parafraseren, je kunt meer context per gegeven zoekopdracht ophalen, je kunt een groter model gebruiken en je kunt meer berekeningen uit een LLM krijgen – allemaal resulterend in meer resultaten die aan de eisen voldoen, waaruit je het beste kunt kiezen. Een goede micro-planner kan berekeningskracht efficiënt gebruiken om de beste resultaten te bereiken onder een gegeven begroting en latentiebegroting. Om de resource-investering te schalen zoals nodig is voor de specifieke taak. Zo kunnen planmatige AI-systemen de probabilistische aard van LLM’s mitigeren om garanties te bereiken op stapniveau. Zonder dergelijke garanties zijn we terug bij het compacteringsfoutprobleem dat zelfs het beste macro-niveau-plan zal ondermijnen.
Maar waarom kunnen LLM’s geen planners zijn? Ze zijn immers in staat om hoge instructies te vertalen in redelijke ketens van gedachten of plannen gedefinieerd in natuurlijke taal of code. De reden is dat planning meer vereist dan dat. Planning vereist de mogelijkheid om alternatieve actiepaden te modelleren die redelijkerwijs tot het gewenste resultaat kunnen leiden EN om de verwachte utiliteit en verwachte kosten (in berekenings- en/of latentiebegroting) van elk alternatief te beredeneren. Terwijl LLM’s potentieel representaties van beschikbare actiepaden kunnen genereren, kunnen ze de corresponderende verwachte utiliteit en kosten niet voorspellen. Bijvoorbeeld, wat zijn de verwachte utiliteit en kosten van het gebruik van model X versus model Y om een antwoord te genereren per een bepaalde context? Wat is de verwachte utiliteit van het zoeken naar een bepaald stuk informatie in de geïndexeerde documentenverzameling versus een API-aanroep naar de CRM? Je LLM heeft geen flauw idee. En met goede reden – historische sporen van deze probabilistische trekjes worden zelden in het wild aangetroffen en zijn niet opgenomen in LLM-trainingsgegevens. Ze zijn ook specifiek voor de specifieke tool en gegevensomgeving waarin het AI-systeem zal werken, in tegenstelling tot de algemene kennis die LLM’s kunnen verwerven. En zelfs als LLM’s de verwachte utiliteit en kosten konden voorspellen, is het beredeneren over hen om de meest effectieve actie te kiezen een logische beslissingstheoretische deductie, die niet kan worden aangenomen om betrouwbaar te worden uitgevoerd door LLM’s next token predicties.
Dus wat zijn de ontbrekende ingrediënten voor AI-planningtechnologie? We hebben planner-modellen nodig die van ervaring en simulatie kunnen leren om expliciet alternatieve actiepaden en corresponderende utiliteit- en kostenwaarschijnlijkheden per een bepaalde taak in een bepaalde tool en gegevensomgeving te modelleren. We hebben een Plan Definition Language (PDL) nodig die kan worden gebruikt om over actiepaden en waarschijnlijkheden te beredeneren. We hebben een uitvoeringsmotor nodig die een gegeven plan gedefinieerd in PDL deterministisch en efficiënt kan uitvoeren.
Sommige mensen zijn al hard aan het werk om deze belofte waar te maken. Tot die tijd, blijf statische ketens bouwen. Maar alstublieft, noem ze geen “agenten”.












