Herpogingen door thuis-AI-agenten zijn riskant wanneer een actie de externe toestand wijzigt en de agent niet kan bewijzen of de eerste poging al is geslaagd.
Een lokaal model kan het opnieuw proberen na een time-out, een crash van een tool, een netwerkonderbreking, een ongeldig antwoord of een herstart van de orkestratie. Dat herstelgedrag is nuttig voor zoekopdrachten en andere herhaalbare bewerkingen, maar wordt gevaarlijk bij het versturen van berichten, aanmaken van gebeurtenissen, verwijderen van bestanden, ontgrendelen van deuren, starten van aankopen of uitvoeren van scripts die maar één keer mogen worden gestart. De centrale onduidelijkheid is dat het uitblijven van een antwoord niet bewijst dat de actie niet is uitgevoerd. In de onderstaande secties wordt uiteengezet hoe die onzekerheid leidt tot dubbele gevolgen in het huishouden.
Een time-out laat niet zien of het neveneffect heeft plaatsgevonden
De agent kan een verzoek versturen, de tool kan de actie voltooien en het antwoord kan verloren gaan voordat de agent het succes vastlegt. Vanuit het perspectief van de agent blijft de poging onbeslist.
Onderzoek naar veerkrachtige agentnetwerken noemt dit een ambigu uitvoeringsresultaat waarvoor een duurzame bewerkingsidentiteit en bewijs voor herstel nodig zijn.
Blind opnieuw proberen zet onzekerheid om in een tweede uitvoering. Elke herpoging weigeren voorkomt duplicatie, maar kan ertoe leiden dat een actie onvoltooid blijft wanneer de eerste poging daadwerkelijk is mislukt.
Niet-herhaalbare acties veroorzaken bij elke poging een nieuw effect
Een status tweemaal lezen levert doorgaans gewoon een nieuwe waarneming op. Hetzelfde bericht tweemaal versturen, hetzelfde record tweemaal toevoegen of dezelfde instelling tweemaal verhogen creëert extra toestand.
Flux formaliseert idempotentieconsistentie, omdat fouttolerantie op basis van herpogingen anders onverwachte zichtbare neveneffecten kan veroorzaken.
Agentacties moeten daarom worden ingedeeld op basis van hun semantiek, niet op basis van de vraag of de toolaanroep dezelfde JSON-argumenten gebruikt. Identieke verzoeken kunnen nog steeds twee berichten, twee gebeurtenissen of twee afschrijvingen opleveren.
Ook verwijderbewerkingen vereisen zorgvuldigheid. Het verwijderen van een object dat al ontbreekt, is mogelijk onschadelijk, terwijl “verwijder de nieuwste back-up” bij de tweede poging een ander object kan selecteren.
Workflow-engines leveren doorgaans pogingen met ten minste één uitvoering
Hergpingen zijn niet noodzakelijk een fout in de agent. Wachtrijen en workflowsystemen herhalen werk vaak nadat een worker is uitgevallen, omdat ze niet atomair kunnen vaststellen of externe neveneffecten zijn vastgelegd.
Onderzoek naar gedistribueerde uitvoering merkt op dat opnieuw uitgevoerde stateful verzoeken idempotentie op applicatieniveau nodig hebben wanneer de infrastructuur herstel via opnieuw afspelen biedt.
Een thuisagent die na een stroomstoring opnieuw wordt gestart, kan de stap herhalen die tijdens het uitschakelen actief was. De doelservice moet herkennen of die logische actie al is toegepast.
Een idempotentiesleutel moet de logische actie identificeren
De agent kan vóór de eerste poging één stabiele bewerkings-ID genereren en die hergebruiken voor elke herpoging van dezelfde bedoelde actie. De ontvanger slaat de ID samen met het resultaat op en weigert duplicaten of retourneert het eerdere resultaat.
Agentssystemen die beleid als uitgangspunt nemen, gebruiken bewerkingsidentiteit om herpogingen aan één goedgekeurde actie te koppelen, in plaats van elke poging als een nieuw verzoek te behandelen.
De sleutel moet het doel, de actie, belangrijke argumenten, de gebruiker en de goedkeuringscontext omvatten. Het hergebruiken van één sleutel voor gewijzigde parameters kan een legitieme nieuwe actie onderdrukken of het verkeerde eerdere resultaat retourneren.
De ontvangende service moet deduplicatie afdwingen. Een sleutel die alleen in de prompt of het logboek van de agent staat, heeft geen effect op een tool die deze negeert.
Controleer de huidige toestand vóór een herpoging wanneer deduplicatie niet beschikbaar is
Sommige huishoudelijke tools bieden geen idempotentiesleutel of transactieregister. De agent heeft dan een afstemmingsstap nodig die controleert of het bedoelde effect al zichtbaar is.
Crash-only-systeemontwerp benadrukt hersteltoestand die het gedrag bij een herstart expliciet en testbaar maakt.
Zoek vóór een herpoging naar de gebeurtenis-ID, het conceptbericht, het uitvoerbestand, de apparaatstatus, het jobrecord of de transactiemarkering die door de eerste poging is aangemaakt.
Afstemming is onbetrouwbaar wanneer het neveneffect niet onmiddellijk waarneembaar is of wanneer meerdere vergelijkbare acties overeen kunnen komen. Zulke bewerkingen moeten worden stopgezet voor menselijke controle in plaats van dat er wordt gegokt.
Ontwerp agenttools rond contracten voor veilige herpogingen
Scheid leesbewerkingen, van nature idempotente schrijfbewerkingen, door sleutels ondersteunde schrijfbewerkingen, compenseerbare acties en echt eenmalige neveneffecten. Geef elke klasse een eigen time-out- en herpogingsbeleid.
Het artikel van ZimaSpace over veilige herhaalbare automatisering legt uit waarom het instellen van een gewenste eindtoestand veiliger is dan herhaaldelijk commando's uit te voeren die iets aan de toestand toevoegen.
Leg bij niet-herhaalbare acties eerst de intentie vast, koppel één bewerkings-ID toe, registreer het eindresultaat en bied een statusopvraag aan. Gebruik concepten, voorbeelden, quarantaine, vertraagd verzenden of goedkeuring wanneer schade door duplicatie moeilijk terug te draaien zou zijn.
Een betrouwbare agent probeert niet elke fout op dezelfde manier opnieuw. Hij probeert alleen opnieuw wanneer het toolcontract kan bewijzen dat herhaalde pogingen één logische huishoudelijke actie behouden.
Tech & AI HUB
Meer om te lezen

Waarom piekt het GPU-vermogen aan het begin van een lokaal inferentieverzoek?
Bekijk hoe het opvoeren van de GPU-kloksnelheid, het vooraf vullen van het model, kernelinitialisatie, geheugentoewijzing en sample-intervallen stroompieken veroorzaken bij de start van inferentie.

Waarom verandert de rangschikking van vectorzoekopdrachten wanneer meerdere indexsegmenten tegelijk worden doorzocht?
Leer hoe limieten voor kandidaten per segment, benaderende grafieken, scorekalibratie, updates en consolidatie de rangschikking van private vectorzoekopdrachten veranderen.

Waarom worden groepen voor het verwijderen van dubbele foto’s opgesplitst nadat metagegevens zijn bewerkt?
Zie hoe exacte hashes, perceptuele hashes, EXIF-oriëntatie, tijdstempels, drempelwaarden en pipelineversies ervoor zorgen dat groepen met dubbele privéfoto's worden opgesplitst.

