Blogs AI-sanering

Hoe u AI-remediëring kunt gebruiken zonder de technische controle te verliezen

Een praktisch model voor het gebruik van AI om productieoplossingen op te stellen, terwijl bewijsmateriaal, beoordelingen, tests en eigendom in handen van ingenieurs blijven.

AI-saneringtechnische controlecodebeoordelingproductieoplossingenreactie op incidenten

AI-herstel wordt niet betrouwbaar door zelfverzekerd te klinken. Het wordt betrouwbaar als het de delen van het technische werk behoudt die productiewijzigingen al veilig maken: bewijsmateriaal, eigendom, beoordeling, tests en een duidelijk fusiebesluit.

Dat onderscheid is van belang. Een tool die een pull request opent met de juiste context kan uren besparen. Een tool die stilletjes de productiecode wijzigt, vraagt ​​het team een ​​nieuw operationeel risico te accepteren.

Begin met de grens

De eerste ontwerpbeslissing is niet welk model moet worden gebruikt. Dat is wat het model mag doen.

Voor de meeste teams ziet de veilige grens er als volgt uit:

  • AI kan productiesignalen inspecteren.
  • AI kan die signalen in code omzetten.
  • AI kan een patch opstellen.
  • AI kan zijn redenering verklaren.
  • Ingenieurs keuren goed, bewerken, weigeren of voegen samen.

Dat is nog steeds een krachtige workflow. Het elimineert het saaie deel van de respons op incidenten zonder de verantwoordelijkheid weg te halen van de mensen die eigenaar zijn van het systeem.

Waarom "gewoon repareren" de verkeerde standaard is

Productiefouten zijn rommelig. Dezelfde fout kan een slechte implementatie betekenen, een ontbrekende vangrail, een wachtrij die tegendruk nodig heeft, een geval van klantdata of een upstreamprovider die anders handelt dan verwacht.

Wanneer een systeem rechtstreeks van symptoom naar codewijziging springt, krijgen reviewers een patch zonder onderzoek. Ze moeten reverse-engineeren waarom de patch bestaat. Dat vertraagt ​​de beoordeling en zorgt ervoor dat de automatisering riskant aanvoelt, zelfs als de code redelijk is.

De betere standaard is eerst bewijs:

Toon het productiegedrag, toon het vermoedelijke codepad, toon de voorgestelde wijziging en laat zien wat er mogelijk mis is.

Dat laatste is belangrijk. Een herstelsysteem mag geen zekerheid pretenderen als het bewijsmateriaal gedeeltelijk is. Het moet onzekerheid zichtbaar maken.

Controlepunten die menselijk moeten blijven

Er zijn een aantal beslissingen die teams in hun normale workflow moeten nemen.

Eigendom en reikwijdte

De juiste code-eigenaar moet beslissen of een voorgestelde oplossing binnen de servicegrens past. Dit voorkomt dat een klein incident uitmondt in een brede architectonische verandering.

Productoordeel

Sommige storingen zijn technisch eenvoudig te verhelpen, maar productgevoelig. Een fout bij het opnieuw proberen van een betaling, een geval van permissies of een niet-overeenkomende factureringsstatus heeft mogelijk productcontext nodig voordat de code verandert.

Test het vertrouwen

AI kan tests voorstellen, maar ingenieurs moeten beslissen wat vertrouwen betekent. Eén oplossing vereist een unit-test. Een ander heeft een herhaalde gebeurtenis nodig. Een ander heeft een migratiecontrole en een terugdraaipad nodig.

Goedkeuring samenvoegen

De samenvoegingsbeslissing moet zichtbaar blijven in het bestaande pull-aanvraagproces van het team. Hierdoor blijven het beveiligings-, compliance- en eigendomsbeleid intact.

Wat AI absoluut zou moeten doen

Het menselijk houden van goedkeuring betekent niet dat de workflow timide is. AI zou het werk moeten overnemen dat mensen te vaak herhalen:

  • het clusteren van vergelijkbare foutgebeurtenissen in plaats van vijf afzonderlijke onderzoeken te openen
  • het samenvatten van stacktraces en luidruchtige logs in één leesbare incidentnotitie
  • het vinden van de meest relevante repository, bestand, functie en eigenaar
  • het vergelijken van de fout met recente implementaties en codewijzigingen
  • het opstellen van een minimale patch met een duidelijke Engelse uitleg
  • het toevoegen van voorgestelde tests of beoordelingscontroles
  • routering van niet-code-opvolging van Jira-, lineaire- of GitHub-problemen

Dit is waar de tijdsbesparing vandaan komt. De reviewer begint met een opgemaakt dossier in plaats van een stapel losse signalen.

Het pull-verzoek is de interface

Voor technische teams is het pull-verzoek al de plaats waar over risico's wordt onderhandeld. Het bevat het verschil, opmerkingen, CI, eigendom en goedkeuringsgeschiedenis. AI-sanering zou dat oppervlak moeten gebruiken in plaats van een nieuw oppervlak te creëren.

Een nuttig herstel-PR moet het volgende omvatten:

  1. Het productiesignaal dat aanleiding gaf tot het onderzoek.
  2. Het codepad dat volgens het systeem verantwoordelijk is.
  3. De voorgestelde patch.
  4. De redenering achter de patch.
  5. De tests die zijn uitgevoerd of zouden moeten worden uitgevoerd.
  6. Het betrouwbaarheidsniveau en eventuele aannames.

Die structuur geeft reviewers iets concreets om te evalueren. Ze kunnen het niet eens zijn met de diagnose, de pleister verbeteren of snel samenvoegen als het bewijs sterk is.

Een eenvoudig beleidsmodel

Teams kunnen starten met drie beleidsniveaus.

Alleen concept

Het systeem kan pull-aanvragen maken, maar kan niet automatisch een beoordeling aanvragen. Dit is een goede eerste stap voor teams die de signaalkwaliteit evalueren.

Klaar voor recensie

Het systeem kan een pull-verzoek openen, eigenaren toewijzen en om beoordeling verzoeken als er sterk bewijs is. Dit is de standaard waar de meeste teams naar moeten streven.

Beperkte wijzigingen automatisch samenvoegen

Het systeem kan alleen beperkte, omkeerbare veranderingen samenvoegen die passen bij een strikt beleid. Dit zou zeldzaam moeten zijn, geregistreerd en gemakkelijk uit te schakelen zijn.

De meeste organisaties hoeven niet op niveau drie te beginnen. Ze krijgen betekenisvolle waarde op niveau twee omdat het dure deel vaak de diagnose en het eerste ontwerp is.

Let op voor vals vertrouwen

De foutmodus is niet in abstracte zin 'AI schrijft slechte code'. De scherpere faalwijze is een gepolijste plek met dun bewijs.

Reviewers moeten kunnen vaststellen of het systeem de hoofdoorzaak heeft gevonden of eenvoudigweg een bestand in de buurt heeft gevonden. Een goede workflow legt de keten bloot van productiesignaal tot codewijziging. Een zwakke workflow verbergt die keten achter een zelfverzekerde samenvatting.

Als het bewijs zwak is, moet de tool dit melden en het probleem als een onderzoek beschouwen en niet als een oplossing.

Hoe goed eruit ziet

Een goede AI-sanering voelt alsof een senior engineer het voorbereidende werk vóór de beoordeling heeft gedaan. Het pull-verzoek is geen magie. Het is gewoon ongewoon goed gemonteerd:

  • de kwestie is ontdubbeld
  • de relevante logs worden samengevat
  • het codepad krijgt een naam
  • de pleister is klein
  • de redenering is zichtbaar
  • de recensent heeft nog steeds de leiding

Dat is de balans. Laat AI het onderzoek comprimeren. Laat het het technische oordeel niet uitwissen.

Voer de loop uit

Zet productiesignalen om in gereviewde fixes.

Start een gratis proefperiode en zie hoe Prilog echte incidenten koppelt aan pull requests op codeniveau.