2026-08-01T19:16:31.928Z
AI Agente Osservabilità per i tempi di utilizzo degli strumenti: verifica l'effetto
Un intervallo di tempo non dimostra che uno strumento non abbia fatto nulla. Utilizzare un'identità di funzionamento stabile, ricezione degli effetti e sonda di lettura prima di riprovare un agente AI.
Un intervallo di tempo dell'utente dice che il chiamersi ha smesso di aspettare. Znot vi dice se lo strumento ha eseguito il suo effetto collaterale. Per un agente AI che può inviare un messaggio, creare un biglietto, prenotare una slot o caricare un account, trattare timeout come failed può trasformare un errore di rete ordinario in un'azione duplicata nel mondo reale. Il default ragionevole è quello di congelare i retest ciechi, mantenere un'identità operativa stabile e conciliare l'effetto previsto. Accetta una delle tre risposte: verificata applicata, verificata non applicata o indeterminata. Solo la seconda risposta può inserire una decisione di ripetizione, e anche allora il contratto di fornitore deve supportare una ripetizione con la stessa identità e parametri invariati. Questo è un problema di osservabilità perché un verdetto sano dipende da prove al di là della durata delle chiamate degli strumenti. L'agente ha bisogno di una ricevuta per ciò che intendeva, che trasporto è stato restituito, e che cosa il sistema esterno contiene ora. Un intervallo di tempo lascia tre fatti diversi. Un agente di solito registra un fatto conveniente: la chiamata degli strumenti ha aumentato un tempo di interruzione. Il registro operativo utile è composto da tre strati: 1. Intent l'esatta operazione logica che l'agente si è impegnato a eseguire. 2. Transport se l'appaltatore ha ricevuto una risposta, rifiuto o nessuna risposta. 3. Effect se il sistema bersaglio contiene il risultato previsto, non contiene alcun risultato o non può essere consultato con sicurezza. Questi strati possono essere in disaccordo. Una richiesta può raggiungere il fornitore, creare l'oggetto e perdere la risposta nel ritorno. Potrebbe fallire prima della spedizione. Può restituire il successo mentre un passo assincrono a valle non produce mai il risultato promesso. Nessuno di questi casi è ben descritto da un singolo campo success: true false . documentazione avanzata per la gestione degli errori di Stripe rende esplicita l'ambiguità: dopo un errore di rete, il client non sa se il server ha ricevuto la richiesta. Il percorso di riprova raccomandato riutilizza lo stesso tasto di idempotenza e gli stessi parametri fino a quando il cliente non riceve un risultato definitivo. La stessa pagina tratta una risposta 500 come indeterminata perché una richiesta può ancora produrre un effetto collaterale visibile all'utente. AWS documenta un confine correlato nella sua Guida per l'esecuzione duratura. La riproduzione almeno una volta è sicura per le operazioni idempotenti; gli effetti collaterali esterni richiedono una gestione più rapida o un contratto di idempotenza sul lato di servizio. AWS avverte inoltre che nessuna semantica per tentativo significa esattamente una volta per l'intero flusso di lavoro. La conclusione pratica è più ristretta di aggiungere i ripetizioni. Prima decidere se l'operazione è sicura da ripetere. Una lettura, un'upsert con un identificatore di registrazione stabile e una chiamata del fornitore con una chiave di idempotency documentata sono diversi dall'invio di una notifica a una sola volta attraverso un'API che non ha un contratto di deduplicazione. Registrare il ricevimento degli effetti prima di aggiungere le riprese Una ricevuta di effetto è un piccolo registro locale creato prima della spedizione . Non è solo la risposta del fornitore. Essa correla l'intenzione commessa con prove successive: operation id identifica l'azione logica attraverso le riprese del processo. request hash impedisce ad un agente di riutilizzare tale identità per i parametri modificati. La chiave idempotency è separata perché non tutti i provider ne supportano uno, e i provider definiscono diverse finestre di conservazione e comportamento di riproduzione. La sonda descrive il modo in cui l'effetto è stato verificato; un punto finale di lista memorizzato in cache è una prova più debole di una lettura diretta da un riferimento esterno unico. Non memorizzare segreti, corpi immediati, contenuti dei messaggi o argomenti completi di strumenti in questo registro. Hash un'intenzione canonica ed editata e conserva solo i campi necessari per conciliare l'effetto. Se il fornitore accetta i metadati del cliente, allegare l'ID di operazione stabile lì in modo che un ulteriore collegamento web o lettura possa correlare un oggetto anche quando la risposta originale è scomparsa. Il verdetto dovrebbe usare prove esplicite. Verdicto Le prove Azione successiva verified applied Un effetto di corrispondenza o un ricevimento da parte di un fornitore di replay affidabile Non riprovare; continuare a verificare i risultati verified not applied Una query autentica dimostra zero effetti di corrispondenza Consulta il contratto con il fornitore prima di un nuovo tentativo limitato indeterminate La risposta è mancata e non è disponibile un controllo autorizzativo degli effetti Aspettate, riconciliatevi, o chiedete a un essere umano. Non inventate certezza. duplicate effect Esistono più di un effetto di corrispondenza Smettere i ripeti tentativi e entrare in un percorso di riparazione compensativa o umana false success Il trasporto ha avuto successo ma l'effetto promesso è assente. Tratta la corsa come insalubre anche se il comando è completato unsafe retry La stessa intenzione è stata ripetuta sotto una nuova chiave o modificato hash richiesta Fermo; il limite di deduplicazione è stato rotto Questa tabella separa l'attività dal progresso utile. Un altro tentativo è l'attività. Un solo effetto confermato è il progresso. Una finestra di riconciliazione legittima sta aspettando, mentre le chiavi fresche ripetute senza ricevuta stabile è un'esecuzione non sicura. Eseguire il classificatore di sei casi Ho costruito un dispositivo NDJSON di sei casi per testare la regola. Essa comprende una risposta persa con un ricevimento del fornitore corrispondente, un timeout con prove non disponibili, un fornitore che crea due effetti nonostante una chiave ripetuta, una risposta di successo senza oggetto risultante, un risultato di effetto zero autorizzato e un nuovo tentativo di chiave modificata. Il classificatore di base è deliberatamente piccolo: Il sistema si risolve per un caso in ogni stato: Tutte le sei affermazioni attese passano. Il risultato più importante è la seconda riga, non il percorso felice: un intervallo di tempo senza percorso di lettura autorizzato rimane indeterminate . Un nuovo tentativo renderebbe il cruscotto più occupato rendendo lo stato del mondo reale più difficile da recuperare. Il dispositivo prende anche una scorciatoia tentabile. Una ricevuta del fornitore è utile solo quando si lega al hash originale della richiesta. Un ricevimento per un carico utile diverso non può dimostrare che l'effetto previsto sia avvenuto. Allo stesso modo, un trasporto 200 non è la verifica dei risultati; il caso ack without deliverable è false success perché l'oggetto esterno è assente. Nella produzione, eseguire la riconciliazione su un programma limitato. Inquesta con l'ID di operazione stabile o la chiave di idempotency del fornitore, registra la freschezza delle prove e fermati dopo una scadenza fissa. Se il risultato rimane indeterminato, indirizza la decisione a qualcuno con autorità sul sistema interessato. Non permettere che una politica generica retry fino a tre volte attraversino un limite di effetti collaterali. Quando il contratto cessa Un ricevimento effettivo riduce l'ambiguità; non crea una garanzia esatta. Il fornitore può scadere le chiavi di idempotency, ignorarle in alcuni endpoint, accettare una richiesta prima di un guasto asincrono interno o esporre un modello di lettura che è in ritardo rispetto alla scrittura. Una sonda può anche essere sbagliata a causa della cache, delle autorizzazioni parziali o di una ricerca non unica. Metti quei limiti al di là del verdetto: mantenere la finestra e l'ambito di applicazione documentati dell'idempotenza del fornitore; utilizzare la stessa chiave and la stessa richiesta canonica durante un nuovo tentativo consentito; la sicurezza e la freschezza della sonda di etichetta; distinguere uno zero autorizzato da non visibile ancora; il tempo di riconciliazione e il numero di ripetizioni; richiedere l'approvazione umana per azioni compensative o irreversibili; verificare l'esito previsto dall'utente dopo la conferma dell'effetto. Questo modello è particolarmente prezioso per gli agenti di lunga durata perché il processo di recupero spesso perde la risposta al trasporto mentre il lavoro esterno continua. La persistenza della ricevuta prima della spedizione dà a un agente riavviato un luogo stabile per riprendere l'indagine. Dovrebbe riprendersi da indeterminate , non da probabilmente fallito. Per l'osservabilità dell'agente AI, la regola operativa è semplice: un timeout è un'osservazione di trasporto, non un verdetto di effetto. Conservare l'identità di una sola operazione, correlare il fornitore e le prove di lettura e rifiutare di definire la corsa sana fino a quando il risultato esterno previsto non è verificato. La direzione del prodotto di Sidewisp comprende la salute dei risultati, i guasti degli strumenti, i retest, le prove e i limiti di approvazione umana. Questo articolo descrive un modello di funzionamento, non un monitor spedito. Sidewisp è attualmente in anteprima privata. Generalmente non vengono spediti i raccolti per la salute dell'agente di produzione, gli adattatori per il tempo di esecuzione, il monitoraggio del ricevimento degli effetti e il recupero. Il sito pubblico e la libreria di articoli sono in diretta, e i lettori possono accedere all'accesso anticipato senza concedere a Sidewisp l'autorità sui loro agenti.