Utveckling

AI-agent för bevakning och triage av buggar som rapporteras av användare

En autonom AI-agent bevakar kontinuerligt produktionsfel och supportärenden, grupperar det som liknar varandra och skapar en redan triagerad issue i ert uppföljningsverktyg, innan en utvecklare ens har öppnat sin övervakningspanel.

Skriven av Atakos agenter · Granskad och godkänd av Romain Laodicina · CTO på Atako

Vanlig fråga

Hur upptäcker och triagerar en AI-agent buggar som rapporteras av användare?

En AI-agent för bugbevakning övervakar kontinuerligt produktionsfelflöden och supportärenden, grupperar rapporter som beskriver samma problem, utvärderar deras verkliga påverkan genom att korsa båda källorna, och skapar sedan en strukturerad och prioriterad issue i teamets uppföljningsverktyg. Den larmar jouren bara för incidenter vars allvarlighetsgrad överstiger en tröskel definierad i förväg.

Anslutna verktyg

Arbetsflöde steg för steg

Vad agenten kan göra

  1. Bevaka kontinuerligt produktionsfelflöden, latensmått och applikationsloggar
  2. Bevaka parallellt öppna supportärenden för att upptäcka användarrapporter som beskriver en teknisk avvikelse
  3. Gruppera fel och ärenden som beskriver samma problem, i stället för att behandla varje förekomst isolerat
  4. Utvärdera frekvensen, den uppskattade användarpåverkan och allvarlighetsgraden för varje avvikelsegrupp
  5. Skapa en strukturerad issue i GitHub eller Linear: beskrivning, stack trace, uppskattad påverkan, prioritetsnivå
  6. Notifiera berört team på Slack med kontexten redan sammanställd
  7. Eskalera till jouren om de förinställda allvarlighetsgraderna överskrids

Vad människan gör

  • Definierar allvarlighetsgränser och eskaleringsregler vid konfigurationen av agenten
  • Tar emot redan triagerade och kontextualiserade issues, och fokuserar på att skriva rättningen
  • Justerar prioriteringsreglerna i takt med att produkten och dess svaga punkter förändras

En bugg i produktion signalerar sig aldrig vid rätt tillfälle. Den dyker upp som ett fel förlorat i ett loggflöde som ingen bevakar i realtid, eller som ett supportärende öppnat av en kund som beskriver symptomet utan att känna till den tekniska orsaken. Mellan de två finns ofta ingen automatisk koppling: engineeringteamet upptäcker problemet när supporten till slut eskalerar, ibland timmar efter att de första användarna stötte på det. En autonom AI-agent som bevakar båda flödena samtidigt sluter det gapet.

Problemet

Tiden utvecklare lägger på att rätta buggar, i stället för ny kod, är fortfarande en av de bäst dokumenterade produktivitetsförlusterna inom mjukvaruteknik. En global undersökning från Rollbar bland 950 utvecklare (via Propeller Insights) visade redan att 32 procent av utvecklarna lägger upp till 10 timmar i veckan på att rätta buggar i stället för att skriva kod, och att 38 procent lägger upp till en fjärdedel av sin totala arbetstid på det (källa). Undersökningen är från 2021 och bör läsas som en storleksordning snarare än ett aktuellt mått, men slutsatsen den dokumenterar, att en betydande del av ingenjörstiden absorberas av rättning snarare än byggande, återkommer konsekvent i nyare studier om utvecklarproduktivitet.

Den verkliga utmaningen är inte bara rättningstiden, det är tiden mellan att ett problem uppstår och att det upptäcks. DORA State of DevOps 2024-rapporten sätter tydliga riktmärken här: de mest högpresterande teamen återställer en försämrad tjänst på under en timme, de högpresterande på under en dag, mellanteamen mellan en dag och en vecka, och de lägst presterande teamen kan behöva mellan en vecka och en månad (källa). Spannet mellan toppen och botten på denna skala räknas alltså i veckor, inte timmar, och den här tiden beror direkt på hur snabbt en avvikelse upptäcks och prioriteras korrekt, redan innan den rättas.

Den här tiden har en direkt kostnad när problemet drabbar produktionen. ITIC 2024-studien, genomförd bland över 1 000 företag världen över mellan november 2023 och mars 2024, visar att den genomsnittliga kostnaden för en timmes driftstopp överstiger 300 000 dollar för mer än 90 procent av medelstora och stora företag, och att 41 procent av de stora företagen uppskattar denna timkostnad till mellan 1 och 5 miljoner dollar (källa). Dessa siffror gäller större driftstopp och gäller inte varje isolerad bugg, men de visar storleksordningen på vad som står på spel när ett problem som kunde ha upptäckts tidigt förblir osynligt för länge, dränkt i ett loggflöde som ingen bevakar kontinuerligt.

En punkt bör förtydligas för att inte blanda ihop två närliggande användningsområden. CI-uppföljningen, som gäller build- och testfel innan en driftsättning når produktionen, är ett annat problem än det som behandlas här. Den här sidan täcker bevakningen efter driftsättning: fel som verkligen uppstår hos användarna, och supportärenden de öppnar för att beskriva dem, två flöden som ofta beskriver samma incident utan att någonsin stämmas av automatiskt.

Denna brist på avstämning har en konkret effekt på prioriteringen. En bugg som genererar fem diskreta tekniska fel i loggarna men orsakar tjugo identiska supportärenden förtjänar brådskande behandling, medan en bugg som genererar hundra tekniska fel utan att en enda kund klagar ofta kan vänta till nästa cykel. Utan att korsa de två källorna prioriterar ett engineeringteam blint, enbart på teknisk volym, vilket inte alltid speglar den verkliga påverkan användarna upplever.

Vad agenten gör, steg för steg

Agenten bevakar kontinuerligt produktionsfelflöden, latensmått och applikationsloggar, samma råmaterial som ett klassiskt övervakningsverktyg. Skillnaden börjar i nästa steg: den bevakar parallellt öppna supportärenden från användare, för att upptäcka rapporter som beskriver en teknisk avvikelse i vanligt språk snarare än stack trace. Den grupperar sedan fel och ärenden som beskriver samma problem, i stället för att behandla varje förekomst isolerat som ett rått larmsystem skulle göra. Utifrån denna gruppering utvärderar den frekvensen, den uppskattade användarpåverkan och avvikelsens allvarlighetsgrad. Den skapar en strukturerad issue i GitHub eller Linear med problembeskrivning, stack trace, en uppskattning av påverkan och en redan satt prioritetsnivå. Den notifierar berört team på Slack med denna redan sammanställda kontext, och eskalerar till jouren bara om de förinställda allvarlighetsgränserna överskrids.

Integrationerna som används

Upptäckten bygger på Datadog, eller Sentry för team som föredrar ett verktyg specialiserat på felspårning och stack traces. Korrelationen med användarupplevelsen sker via Intercom, eller Zendesk beroende på vilket supportverktyg som redan finns på plats, för att stämma av öppna ärenden mot tekniska fel upptäckta i övervakningen. Skapandet av issues sker i GitHub eller Linear beroende på teamets uppföljningsverktyg, med beskrivning, stack trace och prioritetsnivå redan ifyllda. Slack bär teamnotiserna, och en eskalering till PagerDuty kan utlösas för incidenter vars allvarlighetsgrad överskrider den definierade tröskeln.

Det som är kvar för människan

Engineeringteamet definierar allvarlighetsgränser och eskaleringsregler vid konfigurationen av agenten, en initial avstämning som sedan avgör vad som utlöser eller inte utlöser ett jourlarm. Det tar emot redan triagerade och kontextualiserade issues, stack trace och uppskattad påverkan inräknat, och behöver bara skriva rättningen i stället för att återskapa kontexten från råa loggar. Det justerar prioriteringsreglerna i takt med att produkten utvecklas, en ny modul eller en ny integration förändrar oundvikligen vad som räknas som kritiskt vid en given tidpunkt. Själva rättningen, avgörandet om vad som förtjänar en omedelbar hotfix framför en planerad rättning, förblir helt ett mänskligt beslut.

Mätbart resultat

Den mest direkta vinsten är en kortare tid mellan att ett problem uppstår i produktion och att det når fram som en användbar issue, i stället för att drunkna i ett loggflöde eller spridas mellan flera supportärenden som beskriver samma symptom utan att kopplas samman. Med tanke på skillnaden som DORA-rapporten dokumenterar mellan en tjänsteåterställning på under en timme för de mest högpresterande teamen och flera dagar för mellanteamen, påverkar en kortare upptäckts- och triagetid direkt ett teams förmåga att närma sig toppen av den skalan i stället för att fastna i mitten. Den andra vinsten är mindre brus för jouren: genom att bara lyfta fram avvikelser vars allvarlighetsgrad överstiger en definierad tröskel minskar agenten onödiga avbrott för mindre fel, en särskilt känslig punkt för mindre team som saknar en utökad jourrotation och där varje nattlig uppvakning direkt påverkar nästa dags tillgänglighet och koncentration, med en kumulativ effekt över flera veckor om bruset förblir dåligt filtrerat.

Vanliga frågor

Vad skiljer den här agenten från ett klassiskt larmverktyg som PagerDuty?

PagerDuty notifierar, det triagerar inte. En autonom agent analyserar först vad som händer: den grupperar liknande fel, utvärderar deras verkliga påverkan genom att korsa flera källor, och utlöser en eskalering till jouren bara för de incidenter som verkligen är kritiska. Det konkreta resultatet är mindre brus och färre onödiga nattliga uppvakningar för ett mindre fel.

Ersätter den här agenten uppföljningen av CI och driftsättningsincidenter?

Nej, det är en annan användning. CI-uppföljningen gäller build- och testfel som blockerar en driftsättning, innan koden når användarna. Den här agenten bevakar i stället vad som sker efter driftsättningen: fel i produktion och ärenden som skapas av verkliga användare på en produkt som redan är i drift. Båda kan köras parallellt utan att överlappa.

Hur lång tid tar det att sätta upp en agent för bugbevakning?

Att koppla Datadog eller Sentry sker via en API-nyckel på några minuter. Sedan behöver man definiera önskade allvarlighetsgränser och eskaleringsregler tillsammans med agenten, en avstämning som i regel tar några utbyten innan bevakningen körs kontinuerligt helt själv.

Passar den här agenten ett litet engineeringteam?

Det är just för ett litet team den ger mest värde. Ett litet team kan inte bevaka loggar och supportärenden hela tiden. En agent som körs kontinuerligt fungerar som en permanent jourhavande ingenjör på upptäckts- och triagedelen, utan kostnaden för en utökad jourrotation.

Läs härnäst

Källor

Romain Laodicina

CTO på Atako

Det här innehållet skrevs av Atakos AI-agenter och granskades, korrigerades och godkändes sedan av Romain Laodicina, CTO för Atako.

Driftsätt dina första AI-agenter

Skapa ditt konto gratis och starta en agent på några minuter, utan kod.

Ligg steget före inom AI.

Få produktnyheter, nya agenter och våra AI-analyser direkt i din inkorg. Ingen spam, avsluta prenumerationen när du vill.