2026-08-01T17:27:15.152Z

AI Agente Osservabilità per i retest: cattura effetti duplicati

Un'audit deterministico a quattro operazioni mostra come l'identità operativa stabile, gli hash del carico utile e le ricevute degli effetti interrompono i tentativi di riprova non sicuri dopo tempi ambiguosi.

Un agente non dovrebbe riprovare una chiamata solo perché la sua traccia termina in un intervallo di tempo. La richiesta può aver raggiunto il fornitore, modificato lo stato reale e perso solo la risposta. Un secondo tentativo può quindi inviare il messaggio due volte, creare due biglietti o fornire due risorse mentre entrambe le tracce sembrano individualmente ragionevoli. La regola di salute utile è più rigorosa: l'operazione logica di one non deve produrre più di un effetto verificato . Dare all'operazione un'identità stabile, mantenere quell'identità in tutti i tentativi, registrare i ricevute di effetti laterali del fornitore e bloccare la riprova automatica quando l'effetto non può essere esaminato in modo sicuro. Il numero di tentativi e lo stato HTTP continuano ad aiutare con la diagnosi, ma nessuno dei due dimostra il risultato. Questo articolo costruisce questa regola in un piccolo libro degli effetti e la mette alla prova contro quattro operazioni. Il dispositivo contiene otto tentativi e quattro osservazioni del fornitore. Una politica di esclusione dei tentativi prevede tempi di ritardo e ripetizione di tre operazioni. L'audit consapevole degli effetti trova invece una riproduzione sana, un incidente di duplicato effetto, un conflitto chiave di impotenza e un'operazione onestamente incerta. Una pausa non è la prova che non è successo nulla. La finestra pericolosa si trova tra l'esecuzione remota e il riconoscimento locale. Un fornitore può commettere un effetto e poi perdere la risposta nel ritorno. Dal punto di vista dell'agente, queste due storie sono osservativamente simili: 1. la richiesta non è mai arrivata al fornitore; 2. la richiesta è stata completata, ma la risposta non è arrivata all'agente. Solo la prima storia è sicura da ripetere senza un'altra salvaguardia. Il secondo crea un duplicato quando l'operazione non è naturalmente idempotente. La semantica HTTP fornisce un utile confine. RFC 9110 definisce un metodo idempotente come uno il cui effetto server previsto è lo stesso dopo più richieste identiche come dopo una richiesta. Permette la ripetizione automatica dopo un guasto di comunicazione per i metodi idempotenti, ma dice che un cliente non dovrebbe riprovare automaticamente una richiesta non idempotente a meno che non sappia che l'operazione è effettivamente idempotente o possa rilevare che l'originale non è mai stato applicato. Questa distinzione appartiene alla salute degli agenti. Una PUT che sostituisce un record conosciuto e una POST che invia un'e mail possono entrambe uscire, ma non hanno lo stesso limite di riprova. Una politica generica timeout → retry cancella il fatto semantico che conta di più. Il supporto del fornitore aiuta, ma il contratto deve essere letto con precisione. Documenti di striscia che memorizza il codice di stato e l'organismo per la prima richiesta fatta con una chiave di idempotency, quindi restituisce quel risultato a richieste successive con la stessa chiave. Esso confronta anche i parametri e rifiuta il riutilizzo con parametri diversi. La chiave non è quindi un'etichetta casuale collegata a ogni tentativo. Rappresenta un'operazione logica stabile. Documenti di Amazon EC2 un modello di token client simile: un nuovo tentativo con successo con lo stesso token e i parametri non esegue ulteriori azioni, mentre i parametri modificati possono produrre IdempotentParameterMismatch . L'EC2 comprende anche alcune garanzie a livello regionale o zonale. Ha un token non è sufficiente; il record sanitario ha bisogno della portata del token, dell'identità del carico utile, della finestra di conservazione e del comportamento del fornitore. Il default ragionevole è: riutilizzare un'identità operativa in tutti i tentativi; riutilizzare la chiave idempotency del fornitore solo per lo stesso carico utile canonico; dopo un risultato ambiguo, consultazione con tale identità prima di riprovare; se il fornitore non offre né l'idempotenza né la ricerca, richiedono una decisione umana per gli effetti conseguenti. Il back off riduce la pressione su un servizio fallito. Non trasforma un'azione non idempotente in una idempotente. Effetti registrati, non solo tentativi Una traccia ordinaria risponde cosa ha provato l'agente? Un libro dei risultati risponde alla domanda diversa quale cambiamento duraturo possiamo dimostrare? Tenere i due record collegati, perché i tentativi rimangono prove utili, ma non trattare la durata terminale di un tentativo come il risultato commerciale. Un libro più piccolo ha bisogno di questi campi: Campo Scopo Sanguinità che espone operationId Identificazione stabile per l'operazione prevista dall'utente Una nuova ID generata per ogni nuovo tentativo attemptId Identificazione per un solo tentativo di trasporto Tentativi mancanti o sovrapposti idempotencyKey Identificazione di deduplicazione del fornitore, se supportata Cambiamenti chiave nei retries payloadHash Hash di un carico utile canonico edito La stessa chiave riutilizzata per diversi scopi effectRef Identificazione del fornitore o della destinazione dell'effetto effettivo Più di un effetto duraturo result Osservazione dei trasporti come timeout o success Riconoscimento ambiguo observedAt Il tempo in cui le prove sono state raccolte Evidenza obsoleta confusa con lo stato attuale Non inserire segreti, indirizzi e mail, richieste complete o carichi utili di strumenti grezzi in questi campi. Hash una rappresentazione canonica dopo aver rimosso i valori volatili. Conservare la materia prima sensibile all'origine quando l'indagine lo richieda. L'identità dell'operazione deve essere stampata quando l'intenzione diventa duratura, non all'interno del ciclo di riprova. Per esempio: Il frammento è incompleto per design: catturare un'eccezione e continuare non è una prova di sicurezza. L'appaltatore deve inoltre conservare l'ID dell'oggetto restituito del fornitore o richiedere al fornitore la stessa identità aziendale dopo una risposta ambigua. Contare gli effetti unici, non le risposte di successo. Due risposte di successo che entrambi chiamano ticket 908 descrivono un effetto. Un timeout seguito da un successo che chiama delivery a e delivery b descrive due effetti. Al contrario, le ricevute zero non dimostrano effetti zero quando il canale di ricerca non è disponibile. Questo stato è uncertain , non sano e non bloccato automaticamente. L'identità del carico utile è un cancello separato. Se due tentativi condividono una chiave di idempotency ma hanno hash di carico utile canonici diversi, fermati prima di interpretare il numero di effetti. Il richiedente può aver accidentalmente riutilizzato una chiave dopo aver modificato la regione, il destinatario, la quantità o la forma della risorsa richiesta. Gli errori di inadempimento dei parametri del lato del fornitore sono una prova utile di questo errore esatto. Eseguire un audit degli effetti delle quattro operazioni L'apparecchio ispezionabile utilizzato per questo articolo è NDJSON. Ogni linea è un'osservazione attempt o un'osservazione effect . L'artefatto locale completo contiene quattro operazioni logiche: op ticket 42 : due tentativi condividono una chiave e un carico utile; entrambe le osservazioni indicano ticket 908 ; op webhook 77 : due tentativi non hanno una chiave di idempotenza e rivelano delivery a più delivery b ; op vm 5 : due tentativi di riutilizzazione di una chiave con diversi hash di carico utile; op email 3 : due tentativi di interruzione, nessuna ricevuta di effetto è disponibile e il fornitore non ha un percorso di ricerca. I gruppi di audit registrano per operationId , rifiutano la deriva del carico utile prima di contare gli effetti e contano valori distinti di effectRef piuttosto che righe di osservazione degli effetti: L' esecuzione dell' artefatto del deposito: produce: Tre osservazioni modificano la decisione operativa. In primo luogo, op ticket 42 ha due record di tentativi e due osservazioni di effetti, ma entrambe le osservazioni si risolvono con un oggetto fornitore. L'allarme sulle righe di effetto 1 sarebbe falso positivo. Il riferimento del fornitore stabile è ciò che dimostra la deduplicazione. In secondo luogo, op webhook 77 include un secondo tentativo di successo. Un cruscotto solo per il trasporto potrebbe chiudere l'incidente. I due riferimenti agli effetti dimostrano che il recupero ha creato una seconda consegna, quindi lo stato corretto è duplicato e il prossimo compito è la riconciliazione, non un altro tentativo. In terzo luogo, il op vm 5 non ha effetti duplicati nel dispositivo, ma è comunque pericoloso. La chiave riutilizzata copre due diversi hash di carico utile. Aspettare che una seconda risorsa appaia avrebbe rilevato il problema troppo tardi; il conflitto chiave è un guasto preventivo della salute. L'audit ha un'importante limitazione: può classificare solo le prove fornite. Per op email 3 , nessuna ricevuta e nessun percorso di ricerca lasciano inconoscibile il risultato. Il libro maggiore non può produrre certezza. Riprovare potrebbe completare il lavoro mancante o duplicare il lavoro completato, quindi la risposta limitata è far emergere l'ambiguità e chiedere autorità. Convertire il risultato in un limite di ripetizione Utilizzare la classificazione per controllare l'azione successiva, non solo colorare la scheda di controllo: Classificazione Le prove Sicuro per impostazione predefinita healthy Un'identità di carico utile e esattamente un effetto unico Smettere di riprovare; verificare la consegna prevista duplicate Più di un effetto unico per un'operazione Riprova di blocco; riconciliare o compensare con l'approvazione key conflict Una chiave attaccata a più hash di carico utile Blocco di esecuzione; non una nuova operazione solo dopo che l'intenzione è stata riesaminata uncertain Nessuna prova di effetto e nessuna prova di assenza affidabile Chiedete di nuovo, aspettate nuove prove, o chiedete a un essere umano Un limite di tempo è ancora necessario. I registri di idempotenza del fornitore possono scadere, gli indici di ricerca possono ritardare e una destinazione può essere al di fuori dei confini delle transazioni del fornitore. Conservare la conservazione documentata e la portata accanto alla chiave. Dopo la scadenza di tale limite, la stessa richiesta potrebbe non essere più sicura anche se il percorso del codice originale non è cambiato. La verifica del recupero deve raggiungere il risultato originale. Un singolo oggetto di fornitore può comunque essere sbagliato: un biglietto può esistere con il progetto sbagliato, o una risorsa può essere creata ma non essere mai pronta. L'invariante a effetto unico impedisce la duplicazione; un contratto di risultato separato verifica che l'effetto di sopravvivenza sia quello che l'utente intendeva. Per una visione della salute operativa, riportare insieme cinque fatti: 1. il funzionamento logico e l'impronta digitale del carico utile; 2. i tentativi e i loro risultati di trasporto; 3. la portata e la freschezza dell'idempotenza del fornitore; 4. gli effetti duraturi distinti osservati; 5. il limite dell'autorità per la riprova, la compensazione o la riconciliazione. Questo rende il successo di "retro" un pezzo di prova piuttosto che il verdetto. Il verdetto più salutare è un effetto previsto esiste e è stato verificato, o, quando le prove sono incomplete, l'effetto è incerto; il nuovo tentativo automatico è bloccato. Sidewisp è attualmente in anteprima privata. Il suo sistema di articoli pubblici e la dimostrazione di prodotti interattivi sono in diretta, ma la raccolta dell'agente di produzione sanità, gli adattatori runtime, la gestione cron, l'analisi dei costi dei token e il recupero non vengono generalmente spediti. Gli esempi di cui sopra rappresentano un modello di funzionamento, non una affermazione secondo cui Sidewisp attualmente ispezioni o ripara agenti attivi. Sidewisp non è un tempo di esecuzione di sostituzione, un gateway obbligatorio, un prodotto di tracciamento grezzo, un piano di controllo aziendale o un fissatore autonomo. Se una regola sanitaria del libro degli effetti ti aiuterà a gestire gli agenti esistenti, considera di unirti alla preview privata. Mantenere l'esecuzione dove già si svolge; far sì che i tentativi di ripetizione guadagnino la loro sicurezza attraverso le prove.