Sluit de cyclus met gecontroleerde verbetering
Zet productiebewijs om in eisen, tests, gecontroleerde wijzigingen en gemeten resultaten. Definieer wat zelfverbeterende software op een verantwoorde manier kan betekenen.
Gepubliceerd door TaigaHoe we schrijven
Wat u leert
- Verbind een beheerwaarneming met een verifieerbare engineeringwijziging.
- Scheid runtimeherstel, workflowverbetering en modeltraining.
- Meet een geclaimde verbetering zonder de beoordeling te verzwakken.
Definieer welke cyclus u wilt sluiten
Software levert tijdens gebruik bewijs op: fouten, vertragingen, supportverzoeken, incidenten, onderhoudsbevindingen en herhaald handmatig werk. Een volledige levenscyclus brengt dat bewijs terug naar engineeringbeslissingen.
Zelfverbeterende software kan betekenen dat automatisering helpt wijzigingen te herkennen, voor te stellen, te implementeren en te verifiëren. Het betekent niet noodzakelijk dat een model zichzelf traint. Benoem welk deel verandert: applicatiecode, configuratie, tests, instructies, workflow of modelparameters.
Self-healing herstelt een bekende bedrijfstoestand. Self-improvement verandert het systeem om in de toekomst een beter resultaat te leveren. Die tweede claim vereist een vergelijking en bescherming tegen regressies.
Volg één waarneming door de levenscyclus
De onderstaande reeks is een voorgestelde engineeringmethode. Het is geen claim dat een product elke stap autonoom uitvoert.
| Fase | Vereist resultaat | Fictief exportvoorbeeld |
|---|---|---|
| Waarnemen | Bewijs met versie, reikwijdte en onzekerheid | Het geheugenverbruik van de worker stijgt tijdens grote exports |
| Diagnosticeren | Testbare oorzaak en concurrerende verklaringen | Vastgehouden rijbuffers kunnen de geheugengroei verklaren |
| Specificeren | Gewenst resultaat en voorwaarden | Rijen streamen zonder rechten of uitvoer te wijzigen |
| Reproduceren | Een test die de oorspronkelijke storing zichtbaar maakt | Een representatieve grote synthetische export overschrijdt de limiet |
| Wijzigen | Een correctie die kan worden gereviewd | Afgeronde rijbuffers tijdens het streamen vrijgeven |
| Beoordelen | Oude storing aangepakt; andere eisen behouden | Geheugentest, uitvoervergelijking, autorisatie- en herhaalcontroles slagen |
| Uitbrengen | Gecontroleerde blootstelling met herstelcriteria | Beperkte uitrol van een geïdentificeerd artefact |
| Verifiëren | Vergelijkbaar productiebewijs en een verantwoordelijke | Geheugen stabiliseert terwijl correctheid en latentie aanvaardbaar blijven |
Behoud koppelingen tussen deze resultaten. Een postmortemactie als ‘monitoring verbeteren’ is moeilijk te verifiëren. Een gedefinieerd signaal, een verantwoordelijke, een drempel en een geteste respons maken afronding waarneembaar.
Houd beoordeling onafhankelijk van het voorstel
Een agent kan een patch maken en tests voorstellen. Het team moet nog steeds controleren of die tests het oorspronkelijke probleem detecteren. Bewaar een evaluatieset met versiebeheer die de wijziging niet stilzwijgend kan verzwakken.
Vergelijk voor het fictieve geheugenlek gelijkwaardige workloads en versies. Neem grote exports, annuleringen, herhaalpogingen en geweigerde toegang mee. Gebruik synthetische gegevens met de relevante structuren zonder klantrecords bloot te stellen.
Wijs een snellere export af als die records weglaat, autorisatie omzeilt of de toegestane kosten overschrijdt. Definieer deze voorwaarden vóór optimalisatie. Anders kan het systeem de gekozen meetwaarde verbeteren terwijl de service slechter wordt.
Als u de instructies of het model van een agent wijzigt, beoordeel dan het gedrag op representatieve taken en bekende fouten. Houd de vorige versie beschikbaar. Bijgewerkte instructies bewijzen niet dat het onderliggende model van een incident heeft geleerd.
Breng de wijziging uit en meet het resultaat
Een canary release stelt een beperkte groep bloot aan een kandidaatversie. Vergelijk signalen van de kandidaat en de controlegroep, en definieer wanneer u uitbreidt of stopt. Weinig verkeer of verschillende workloads kunnen de vergelijking onbeslist laten. Richtlijnen voor canary releases.
Het fictieve team legt een nulmeting vast met een vaste synthetische workload. Het test de correctie, brengt die binnen een goedgekeurde grens uit en vergelijkt overeenkomstige productieperioden. Als het bewijs onvoldoende blijft, legt het onzekerheid vast in plaats van winst te melden.
Meet ook herhaald handmatig werk. Automatisering kan routinematig werk verminderen, maar vereist zelf onderhoud en foutafhandeling. Neem deze kosten mee bij de beoordeling van het resultaat. Richtlijnen voor routinematig werk.
Maak het feedbackverslag bruikbaar
Gebruik deze velden voor de oefening: waarneming en versie; nulmeting; voorgestelde oorzaak; acceptatiecriteria; regressiecontroles; wijziging en review; releasegrens; gemeten resultaat; verantwoordelijke en volgende review.
Taiga Maintaining verbindt repositorybevindingen met herstelwerk. Initiatives verbindt een beoogde wijziging met planning en levering. Dit zijn onderdelen van een bewijsketen. Uw serviceverantwoordelijke moet nog steeds de deployment en het operationele resultaat controleren. Maintaining, Initiatives.
Een volwassen softwarefabriek verbindt dit werk over producten heen. Houd beslissingsrechten en beoordelingscriteria zichtbaar naarmate automatisering toeneemt. Het uiteindelijke bewijs is een aantoonbaar betere service, niet een groter aantal gegenereerde wijzigingen.
Maak de oefening
Vul het feedbackverslag in deze les in voor het fictieve geheugenlek. Definieer een nulmeting, acceptatietest, regressiecontroles, releasegrens, productiemeting en verantwoordelijke. Voeg een regel toe die een snellere maar minder correcte export afwijst.
Werkblad downloaden (Markdown)Controleer uw begrip
Bronnen en verder lezen
- Google SRE: Postmortem Culture ↗
- Google SRE: Canarying Releases ↗
- Google SRE: Eliminating Toil ↗
- Taiga docs: Maintaining ↗
- Taiga docs: Initiatives ↗
Gerelateerd leesmateriaal van Taiga
Als u deze selectie wist, verwijdert u alle voortgang die in deze browser is opgeslagen.
Voortgang blijft in deze browser. Geen account, geen tracking.