Agent-MIRUPD: Operationalizing LLM Agents for Microservices Incident Response Under Performance Degradation
Het artikel stelt Agent-MIRUPD voor, een op LLM gebaseerd agent-framework dat observabiliteitsgegevens verenigt met gestructureerde meerstapsredenering om de volledige levenscyclus van incidentrespons bij microservices te automatiseren, waarbij significante verbeteringen worden bereikt in diagnosesnelheid, mitigatie-nauwkeurigheid en token-efficiëntie vergeleken met bestaande baselines.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
Moderne digitale diensten, van bankieren-apps tot gezondheidsplatforms, leunen steeds vaker op een complexe architectuur waarbij een enkele applicatie wordt opgedeeld in tientallen kleine, onafhankelijke programma's die microservices worden genoemd. Deze stukjes draaien in containers en worden beheerd door een geautomatiseerd systeem genaamd Kubernetes, dat fungeert als een verkeersregelaar om ervoor te zorgen dat als een onderdeel crasht, het wordt herstart en de dienst doorgaat. Hoewel deze opzet een ongelooflijke flexibiliteit biedt, creëert het een nieuw soort probleem: soms crasht een service niet volledig, maar vertraagt deze simpelweg of gedraagt zich onvoorspelbaar. Deze subtiele problemen, vaak grijs falen (gray failures) of prestatievermindering genoemd, zijn moeilijk te detecteren omdat het systeem technisch gezien nog steeds "leeft", maar wel niet goed zijn werk doet. Voor menselijke technici is het diagnosticeren van de vraag waarom een specifieke service vertraagt een taak die het doorzoeken van bergen aan datalogboeken, prestatiemetrieken en netwerktraces vereist, een taak die traag, foutgevoelig en uitputtend is.
Onderzoekers van de Umeå University en de Vrije Universiteit Amsterdam hebben een nieuwe aanpak ontwikkeld om dit probleem op te lossen, waarbij ze een systeem hebben gecreëerd dat een kunstmatige intelligentie-agent gebruikt om het volledige proces van het vinden en oplossen van deze problemen te beheren. In plaats van alleen te zoeken naar evidente crashes, is dit systeem ontworpen om te detecteren wanneer een service degradeert, uit te zoeken precies waarom dit gebeurt, en vervolgens een oplossing voor te stellen. De kern van hun werk is een framework genaamd Agent-MIRUPD, dat fungeert als een digitale assistent die door complexe situaties kan redeneren, vergelijkbaar met een ervaren ingenieur, maar dan met de snelheid van een computer. De onderzoekers testten dit systeem in een gecontroleerde omgeving die real-world microservice-fouten nabootst, inclusie scenario's waarin services verouderen en in de loop van de tijd vertragen, en ontdekten dat het de volledige cyclus van incidentrespons met een hoge nauwkeurigheid kon afhandelen.
Het systeem werkt door het probleemoplossend proces onder te verdelen in vier afzonderlijke fasen: detectie, lokalisatie, analyse en mitigatie. Eerst monitort de agent constant het systeem om te zien of er iets mis is. Als hij een probleem signaleert, gaat hij naar de tweede fase, waar hij probeert exact te pinpointen welke service de boosdoener is. In de derde fase graaft hij dieper om de grondoorzaak te begrijpen, zoals een geheugenlek of een configuratiefout. Ten slotte, in de mitigatiefase, beslist hij welke actie ondernomen moet worden om het systeem te herstellen. Een cruciaal kenmerk van dit ontwerp is hoe het met onzekerheid omgaat. Voor duidelijk afgebakende problemen, zoals een verkeerd ingestelde instelling, kan de agent automatisch de oplossing toepassen. Echter, voor meer subtiele kwesties waarbij de juiste oplossing niet voor de hand ligt, pauzeert het systeem en vraagt het om goedkeuring van een menselijke operator voordat er wijzigingen worden aangebracht. Deze "human-in-the-loop"-aanpak zorgt ervoor dat de AI de situatie niet per ongeluk verergert terwijl hij probeert te helpen.
Om dit werkbaar te maken, hebben de onderzoekers de AI uitgerust met een reeks gespecialiseerde tools die de AI in staat stellen om het systeem te bevragen voor specifieke informatie, zoals het controleren van de status van draaiende programma's of het lezen van foutenlogs. In plaats van de AI ruwe data te voeden, bieden deze tools samengevatte, gestructureerde antwoorden, wat de AI helpt effectiever te redeneren zonder overweldigd te raken. Het systeem maakt ook gebruik van een techniek genaamd stage-context propagation, wat betekent dat de conclusie die in één fase is bereikt, direct wordt doorgegeven aan de volgende. Bijvoorbeeld, zodra de agent een defecte service heeft geïdentificeerd, wordt die informatie onmiddellijk gebruikt als startpunt voor de analysefase, waardoor de AI niet zijn onderzoek vanaf nul hoeft te beginnen. Deze continuïteit zorgt ervoor dat het systeem door het diagnostische proces veel sneller beweegt dan eerdere methoden.
Toen de onderzoekers hun systeem testten tegenover bestaande tools en andere AI-agents, waren de resultaten significant. In scenario's met functionele fouten, waarbij services volledig uitvallen, behaalde het systeem een nauwkeurigheid van tot wel 90 procent. Voor de moeilijkere scenario's van prestatievermindering, waarbij services vertragen maar niet stoppen, behaalde het 85 procent nauwkeurigheid. Het systeem bleek ook veel sneller en efficiënter dan zijn concurrenten. Het verminderde de tijd die nodig is om de grondoorzaak van een probleem te vinden van 244 seconden naar 52 seconden. Bovendien gebruikte het 51,3 procent minder computationele middelen, gemeten in tokens, wat de basiseenheden van data zijn die de AI verwerkt om na te denken. Wat betreft het oplossen van de problemen, verbeterde het systeem de nauwkeurigheid van mitigatieacties van 40 procent naar 70 procent vergeleken met een standaard baseline-agent.
De studie benadrukte ook het belang van menselijk toezicht. Wanneer het systeem werd toegestaan om volledig zelfstandig te handelen bij prestatiegerelateerde problemen, had het soms moeite om de beste oplossing te kiezen, omdat deze problemen vaak meerdere mogelijke oplossingen hebben, elk met verschillende afwegingen. Door een menselijke expert te betrekken om de voorgestelde acties te beoordelen en goed te keuren, kon het systeem meer betrouwbare herstelstrategieën selecteren. De onderzoekers vonden dat wanneer de AI een duidelijke uitleg gaf van zijn redenering en de menselijke operator de keuze valideerde, de algehele effectiviteit van het herstel toenam. Dit suggereert dat de krachtigste aanpak niet is om menselijke ingenieurs te vervangen, maar om hen een slimme assistent te geven die het zware werk van data-analyse en initiële diagnose afhandelt, waardoor het uiteindelijke besluit over complexe fixes overblijft aan het menselijk oordeel.
De onderzoekers erkennen dat hun werk nog een simulatie is en dat real-world productieomgevingen nog complexer zijn. Ze zijn van plan het systeem te testen met werkelijke industriële workloads en manieren te verkennen om de AI efficiënter te maken door kleinere, minder dure modellen te gebruiken. De huidige bevindingen demonstreren echter dat het mogelijk is om AI-agents te operationaliseren voor de volledige levenscyclus van incidentrespons in microservices. Door automatische detectie te combineren met menselijk toezicht, biedt het systeem een praktisch pad naar meer veerkrachtige digitale infrastructuur, in staat om de subtiele, langzaam smeulende fouten aan te pakken die vaak onopgemerkt blijven totdat ze grote verstoringen veroorzaken. Het werk laat zien dat, met het juiste ontwerp, kunstmatige intelligentie een vertrouwde partner kan worden in het soepel laten verlopen van de kritieke systemen van het moderne leven.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.