Where Does the Accuracy of LLM-Based Root-Cause Analysis Come From? An Empirical Study on Microservice Benchmarks
Deze empirische studie onthult dat de nauwkeurigheid van op LLM gebaseerde oorzaakanalyse in microservices primair wordt gedreven door de kwaliteit van het bewijs dat door de onderliggende pipeline wordt geëxtraheerd in plaats van door het model zelf, terwijl het tegelijkertijd de aanzienlijke kwetsbaarheid van het systeem voor misleidende tekst en timingfouten benadrukt.
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
In de uitgestrekte, onzichtbare steden van moderne software, waar duizenden kleine programma's genaamd microservices samenwerken om alles van online winkelen tot bankieren aan te sturen, gaat er wel eens iets mis. Wanneer een fout optreedt, moeten ingenieurs de enkele kapotte component snel vinden om deze te kunnen repareren. Dit proces wordt root-cause analyse genoemd. Jarenlang was de standaardmethode om dit te doen het gebruik van automatische detectoren die zoeken naar vreemde getallen in de gegevens van het systeem — zoals een plotselinge piek in het geheugengebruik of een vertraging in een bericht — en vervolgens tellen welke service het meest problemen geeft. Onlangs is er een nieuw idee naar voren gekomen: in plaats van alleen te tellen, kunnen we de gegevens invoeren in een large language model, een type kunstmatige intelligentie dat kan lezen en redeneren, en het model vragen om de schuldige te benoemen. De hoop is dat deze modellen het verhaal achter de cijfers beter kunnen begrijpen dan een eenvoudige teller. Maar een cruciale vraag blijft: als het model het juiste antwoord geeft, komt dat dan omdat het echt slim is, of leest het simpelweg de aanwijzingen die de automatische detectoren het heeft aangereikt?
Een team van onderzoekers zette zich in om dit te beantwoorden door een gecontroleerd experiment op te zetten met een echt softwaresysteem en een publieke collectie van 360 gesimuleerde storingen. Ze namen een bestaand systeem waarbij detectoren de gegevens samenvatten in een kort tekstverslag en dit vervolgens aan een model van kunstmatige intelligentie doorgeven om een diagnose te stellen. Hun doel was om de lagen af te pellen en precies te zien waar de nauwkeurigheid vandaan kwam. Ze wilden weten of het model werkelijk enige toegevoegde waarde bood, of dat het antwoord al verborgen zat in de tekst die de detectoren hadden geschreven. Om dit te ontdekken, lieten ze hetzelfde model door verschillende versies van de test lopen. In sommige gevallen verwijderden ze de interpretatieve zinnen die de detectoren toevoegden. In andere gevallen vervingen ze de echte servicenamen door neutrale labels. Ze plantten zelfs een valse aanwijzing door het model te vertellen dat een specifieke service de oorzaak was, terwijl die service eigenlijk onschuldig was, om te zien of het model die suggestie blindelings zou volgen.
De resultaten onthulden een verrassende waarheid over hoe deze systemen werken. Wanneer de onderzoekers het model testten op een set van 270 storingen die te maken hadden met netwerk- en resourceproblemen, was het model minder nauwkeurig dan de eenvoudige telling van de afgegane detectoren. De detectoren, die simpelweg telden hoeveel alarmen er voor elke service afgingen, hadden in 60% van de gevallen het juiste antwoord, terwijl het model slechts in 44% van de gevallen gelijk had. Dit suggereert dat het model bij dit type problemen de diagnose niet verbeterde; het stond de diagnose soms zelfs in de weg. De onderzoekers ontdekten dat de prestaties van het model sterk afhankelijk waren van de tekst die de pipeline voor het model schreef. Wanneer zij de interpretatieve opmerkingen verwijderden die het systeem toevoegde om de gegevens toe te lichten, daalde de nauwkeurigheid van het model aanzienlijk. Nogzegender was dat wanneer zij een valse opmerking plaatsten waarin werd beweerd dat een specifieke service de oorzaak was, het model in bijna de helft van de gevallen die leugen volgde en de onschuldige service als de schuldige aanwees. Dit toonde aan dat het model zeer gevoelig was voor het narratief dat eraan werd voorgelegd, en vaak de bewering in de tekst prioriteit gaf boven het feitelijke bewijs.
Het verhaal veranderde echter toen de onderzoekers naar een andere set van 90 storingen keken die te maken hadden met fouten diep in de computercode. Hier presteerde het model beter dan de eenvoudige detectortelling, met een score van 60% tegenover 38% voor de detectoren. De onderzoekers ontdekten dat deze verbetering bijna volledig voortkwam uit de ruwe logtekst — de werkelijke foutmeldingen die door de software werden gegenereerd — die het model kon lezen en begrijpen, terwijl de detectoren deze slechts konden tellen. Wanneer zij de ruwe tekst uit de input van het model verwijderden, daalde de nauwkeurigheid terug naar het niveau van de eenvoudige detectoren. Dit geeft aan dat de "intelligentie" van het model in dit scenario geen algemeen redeneervermogen was, maar een specifieke vaardigheid in het lezen van de ruwe foutlogs die de detectoren tot getallen hadden samengevat.
De studie testte ook hoe deze systemen omgaan met onzekerheid over wanneer een fout begon. Ze ontdekten dat de krachtigste statistische methoden, die vertrouwen op het vergelijken van gegevens vóór en na een bekende fouttijd, instortten toen de onderzoekers de starttijd met slechts twee minuten verschoven. Het model was iets robuuster tegen deze fout, maar had er nog steeds moeite mee. Toen de onderzoekers een volledig andere, eenvoudigere pipeline bouwden die de gegevens presenteerde zonder de complexe interpretatieve noten, bereikte hetzelfde model een veel hogere nauwkeurigheid van 87%. Dit bewees dat het model zelf in staat was tot hoge prestaties, maar dan alleen wanneer het bewijs duidelijk en zonder misleidende interpretatieve tekst werd gepresenteerd. In het oorspronkelijke systeem fungeerden de interpretatieve noten als een filter die de waarheid soms vertroebelde.
Uiteindelijk concludeert het onderzoek dat de nauwkeurigheid van deze agenten van kunstmatige intelligentie niet een eigenschap van het model alleen is. Het is een combinatie van wat de detectoren extraheren, hoe de tekst wordt geschreven en de reactie van het model op die tekst. In het geval van het systeem dat zij bestudeerden, deed het model vaak minder werk dan de eenvoudige detectoren die het zou moeten vervangen. De interpretatieve zinnen die de pipeline toevoegde, waren krachtige hefbomen die het antwoord in de goede richting konden trekken, of net zo gemakkelijk in de verkeerde richting. De onderzoekers betogen dat we, om deze systemen echt te begrijpen, moeten stoppen met het behandelen van het model als een zwarte doos die magisch problemen oplost. In plaats daarvan moeten we de tekst die het leest net zo streng testen als de code zelf, om te controleren of het model redeneert of simpelweg de leiding volgt van de tekst die het heeft gekregen. De bevindingen suggereren dat voor deze instrumenten de manier waarop we informatie aan hen voeden net zo zorgvuldig ontworpen moet zijn als de modellen zelf.
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.