Wat gebeurt er als je agent halverwege stopt?
Een agent die halverwege stopt, kan wijzigingen achterlaten of werk dubbel uitvoeren. Lees hoe je voortgang opslaat, veilig hervat, fouten zichtbaar maakt en een mens de regie geeft.
Als een agent halverwege stopt, kan een taak half uitgevoerd zijn. Een document is misschien aangepast, maar nog niet opgeslagen; een deel van een reeks acties is wel afgerond en de rest niet. Bij een herstart kan de agent werk dubbel doen, of ongemerkt verdergaan op basis van onvolledige gegevens.
Je beperkt dat risico door taken op te delen in controleerbare stappen, de voortgang op te slaan en herhaling veilig te maken. Geef elke taak een duidelijke status, meld onderbrekingen aan een mens en bied een gecontroleerde manier om te hervatten of terug te draaien. Helemaal voorkomen kun je een stop niet altijd; zorgen dat je weet wat er is gebeurd, is wel haalbaar.
Waarom stopt een agent halverwege?
Een agent is afhankelijk van meer dan het model dat de taak uitvoert. Een time-out kan een lang proces afbreken. Een netwerkfout kan de verbinding met een dienst verbreken. Ook een gebruikslimiet, crash, uitgevallen tool of fout in de invoer kan de taak onderbreken. Soms stopt een mens de taak bewust, bijvoorbeeld omdat een voorstel eerst gecontroleerd moet worden.
De oorzaak bepaalt niet automatisch welke stappen al zijn uitgevoerd. Een verbinding kan bijvoorbeeld wegvallen nadat een externe dienst een wijziging heeft verwerkt, maar voordat de agent de bevestiging ontvangt. De agent weet dan mogelijk niet of de actie is gelukt. Daarom moet een systeem de werkelijke status controleren voordat het een stap opnieuw probeert.
Wat kan er misgaan?
De eenvoudigste fout is een gedeeltelijke wijziging: sommige bestanden, records of berichten zijn bijgewerkt en andere niet. Daardoor kunnen gegevens elkaar tegenspreken. Een herstart zonder controle kan hetzelfde bericht opnieuw versturen, een tweede record aanmaken of een wijziging overschrijven. Ook kan de agent stoppen zonder een zichtbare fout te melden. Dan lijkt de taak klaar, terwijl er werk ontbreekt.
De gevolgen hangen af van de taak. Een onafgemaakte samenvatting vraagt meestal om minder herstelwerk dan een reeks wijzigingen in klantgegevens of een workflow die vervolgacties start. Bepaal daarom vooraf welke stappen gevolgen hebben buiten de agent en welke extra controle nodig hebben.
Sla voortgang op en maak hervatten veilig
Bewaar na elke belangrijke stap een checkpoint: een korte, duurzame registratie van wat is begonnen, wat is afgerond en welke informatie nodig is om verder te gaan. Dat kan bijvoorbeeld de taakstatus, de gebruikte bron, het resultaat van de laatste stap en eventuele openstaande goedkeuringen bevatten. Sla gevoelige inhoud alleen op als dat nodig is en beperk wie erbij kan.
Ontwerp stappen zo dat opnieuw uitvoeren geen ongewenst dubbel effect heeft. Zo'n stap heet idempotent: herhalen leidt tot dezelfde gewenste eindtoestand, zonder een extra wijziging te veroorzaken. In plaats van blind een nieuw item toe te voegen, kan de agent eerst controleren of het item al bestaat en het zo nodig bijwerken. Als een actie niet veilig te herhalen is, registreer dan het resultaat en vraag de actuele status op voordat je verdergaat.
Voor samenhangende wijzigingen kun je een aanpak gebruiken waarbij alle wijzigingen als geheel worden bevestigd, of helemaal niet. Dat lukt niet bij iedere externe dienst of langere workflow. Soms is een compensatiestap nodig die een eerdere actie ongedaan maakt of herstelt. Leg dan vast welke acties al zijn uitgevoerd en welke herstelactie daarbij hoort.
Maak status, meldingen en overname duidelijk
Geef iedere taak een status die klopt met de werkelijkheid, bijvoorbeeld bezig, gestopt, mislukt of klaar. Gebruik “klaar” alleen als de vereiste stappen zijn afgerond en gecontroleerd. Een gestopte taak is niet hetzelfde als een mislukte taak: er kan al werk zijn gedaan dat behouden moet blijven.
Meld aan een mens wanneer de agent niet veilig zelf kan doorgaan, bijvoorbeeld als een actie onzeker is uitgevoerd, een goedkeuring ontbreekt of hervatten gegevens kan overschrijven. Geef bij die melding de relevante context mee: het doel van de taak, de laatst afgeronde stap, de foutmelding en de mogelijke vervolgstappen. Zo kan iemand de taak beoordelen of overnemen zonder het hele proces opnieuw uit te zoeken. Lees ook hoe je betrouwbare agents ontwerpt en hoe je voortgang en geheugen beheert.
Houd bij wat er gebeurde en test onderbrekingen
Logging en een audittrail maken achteraf zichtbaar welke stappen de agent heeft geprobeerd, welke zijn gelukt en waar de taak is gestopt. Noteer daarvoor relevante gebeurtenissen en tijdstippen, de gebruikte tools, statusovergangen en eventuele menselijke goedkeuringen. Log niet meer persoonsgegevens of vertrouwelijke inhoud dan nodig is. Een logboek vervangt geen statuscontrole, maar helpt wel om een verschil tussen de verwachte en werkelijke uitkomst te onderzoeken.
Test wat er gebeurt als je de agent opzettelijk halverwege stopt. Doe dat in een afgeschermde omgeving met testgegevens en controleer of hervatten geen dubbele acties veroorzaakt, de status klopt en een mens genoeg context krijgt. Test ook wanneer een tool geen antwoord geeft of een bevestiging uitblijft. De aanpak voor agents testen en agentobservability helpt je zulke situaties structureel te controleren.
Korte checklist
- Is duidelijk welke stappen al zijn afgerond?
- Wordt na belangrijke stappen een checkpoint opgeslagen?
- Kan een stap veilig worden herhaald, of wordt eerst de actuele status gecontroleerd?
- Heeft iedere taak een juiste status en krijgt een mens bericht bij onzekerheid?
- Is er een herstel- of terugdraaimogelijkheid voor gedeeltelijke wijzigingen?
- Kan een mens de taak overnemen met de benodigde context?
- Is getest wat er gebeurt wanneer de agent halverwege stopt?
Een agent kan nog steeds worden onderbroken. Met opgeslagen voortgang, veilige herhaling, zichtbare status en getest herstel wordt zo'n onderbreking een beheersbare situatie. Je weet wat er is gebeurd, kunt onderbouwd besluiten of hervatten veilig is en voorkomt dat een stille fout voor een afgeronde taak wordt aangezien.