2026-08-01T17:27:22.466Z

AI Osservabilità dell'agente Sotto l'orologio Skew: Ricostruire l'ordine dell'evento

Un'audit deterministica di undici eventi mostra come la sequenza di sorgente, i bordi di dipendenza, il tempo del collezionista e la durata monotonica impediscano le false linee temporali di salute dell'agente.

Un agente AI puo' produrre una traccia perfettamente plausibile il cui timestamp racconta una storia impossibile. Un risultato dell'utensione viene visualizzato prima della richiesta che l'ha causata. Un completamento atterrà prima dell'inizio della corsa. Dopo il risultato arriva un record di progresso ritardato e fa sembrare di nuovo attiva una corsa finita. La risposta pratica non è quella di fix la linea temporale ordinando più duramente. Non dedurre lo stato dell'agente solo dai timestamp dell'orologio di parete. Tenere quattro prove event at , observed at , source seq e depends on e utilizzare ciascuna per il lavoro che può effettivamente supportare. Ricostruire l'ordine causale dalle dipendenze e dalla sequenza per sorgente. Utilizzare l'orologio del collezionista per la freschezza delle prove. Misurare le durate con un orologio monotono all'interno di un processo. Se manca un predecessore richiesto, il verdetto sanitario è uncertain , non bloccato, sano o completo. Questa regola è abbastanza piccola da poterla testare. Il dispositivo di sotto mette due tipi di disturbo dell'orologio e una catena causale rotta in undici eventi. Un audit deterministico recupera due flussi di lavoro e rifiuta di inventare un ordine per il terzo. Un tipo di orologio di parete può invertire il lavoro Il lavoro degli agenti distribuiti attraversa gli orologi: l'host runtime, un server utensili, una coda, un verificatore e il collezionista possono stampare tutti la stessa corsa. La sincronizzazione dell'orologio riduce il loro disaccordo; non rende questi orologi un'unica autorità causale. NTP stesso modella il clock offset, il ritardo di rete, la dispersione e la distanza di sincronizzazione piuttosto che promettere il tempo identico ovunque (RFC 5905). Il primo flusso di lavoro delle installazioni rende visibile il problema. Il suo orologio agente è veloce di 45 secondi, mentre il suo orologio utensili è lento di 30 secondi. L'attuale catena di dipendenza è: La classificazione degli stessi registri per event at mette g3 prima di g1 . Un dashboard costruito su tale ordine può calcolare una durata negativa dello strumento, mostrare un risultato terminale prima del start o errare le prove successive per una nuova transizione di stato. Nessuna di queste conclusioni deriva dal lavoro. Essi derivano dal confronto di orologi murali che hanno diversi offset. Il modello di dati di registro stabile di OpenTelemetry conserva la distinzione necessaria qui. Timestamp è quando l'evento è avvenuto secondo l'orologio di origine; ObservedTimestamp è quando il sistema di raccolta l'ha osservato (Modello di dati OpenTelemetry Logs). Tenere entrambi è utile, ma nessuno dei due campi è una chiave di ordine universale: Campo Uso sicuro Insegure non sicure event at Visualizzazione dell'orario sorgente locale; correlazione con le prove dell'ospite Ordine causale o latenza tra host observed at Freschezza relativa al collezionista e ritardo nell'ingestione Il tempo in cui il lavoro è realmente avvenuto source seq Ordine emessa da un'incarnazione fonte Ordine tra fonti non correlate depends on L'esistenza di un sistema di controllo delle informazioni e delle informazioni di cui all'allegato I, paragrafo 1, del regolamento (UE) n. 575/2013 La prova che un evento omesso è avvenuto trascorso monotono Durata all'interno di una durata di vita del processo Stampolo di tempo comparabile tra le macchine La fonte dell'incarnazione conta. Un contatore deve essere scoped da qualcosa come (source id, boot id) , perché un processo riavviato può ricominciare alla sequenza 1. Un numero intero di apparenza globale invita un falso allarme diverso: il collezionista legge un ripristino atteso come replay o regressione. La distinzione tra tempo murario e tempo monotono è anche operativa, non accademica. Il pacchetto time di Go spiega che gli orologi di parete sono soggetti a variazioni di sincronizzazione mentre gli orologi monotonici sono per misurare il tempo; i valori restituiti da time.Now possono trasportare entrambe le letture in modo che le operazioni di tempo trascorso rimangano robuste quando il tempo di parete cambia (Vai monotonico orologi). Altri tempi di esecuzione espongono API diverse, ma la decisione rimane la stessa: calcolare una durata locale dello strumento da un intervallo monotono locale, quindi esportare quella durata come prova. Non sottrarre i tempi di parete di due macchine non correlate e chiamare il risultato latenza. Ricostruire la causalità prima di classificare la salute Il contratto è deliberatamente compatto: dependsOn crea il margine cross source dalla richiesta al risultato. I valori consecutivi sourceSeq creano bordi locali all'interno di un flusso (source, bootId) . L'audit unisce questi bordi, verifica i predecessori mancanti e le lacune di sequenza, quindi esegue una sorta topologica. Le inversioni dell'orologio di parete e del tempo del collettore diventano diagnostiche attaccate ai bordi; non riscrivono il grafico. Eseguire l' artefatto dalla sua directory: Il suo riassunto fisso è: Il primo flusso di lavoro viene ricostruito nonostante l'inversione dell'orologio di origine. Il secondo ha un diverso fallimento di ordinamento ingenuo: d3 raggiunge il collezionista prima del suo predecessore d2 , quindi la classificazione da observed at invertisce la loro dipendenza. Il grafico riprende ancora l'ordine previsto. Il terzo flusso di lavoro contiene un risultato strumento che dà il nome di b missing request , un evento assente nel set di prove. Sembra anche terminal prima avvio sotto una classificazione di orologio di parete, ma l'audit non lo ripara indovinando. Il suo status è uncertain . Che produce un utile ordine decisionale per la salute degli agenti: 1. Valizzare l'identità. Rifiutare i duplicati ID degli eventi e i numeri di sequenza di ambito ad un'incarnazione sorgente. 2. Build local edges. Valori consecutivi della sequenza sorgente stabiliscono l'ordine delle emissioni; un gap è perdita di prove, non il permesso di chiudere il gap. 3. Build cross source edges. Unisciti alle richieste, ai risultati degli strumenti, ai lavori delegati, alle approvazioni e ai controlli dei risultati con ID espliciti del predecessore. 4. Reject ha inventato la certezza. Un predecessore mancante, una lacuna di sequenza o un ciclo rende il verdetto interessato incerto. 5. Ordina il grafico ammissibile. Ordina topologicamente la porzione completa; conserva le inversioni dell'orologio da parete come prova della qualità dell'orologio. 6. Classificare solo ora. Applicare le regole di lavoro, attesa, bloccata e risultato all'ordine causale piuttosto che all'ordine di arrivo. Questo mantiene l'attività separata dal progresso utile. Un battito cardiaco tardivo può essere fresco presso il collezionista ma causalmente più vecchio di un risultato già verificato. Non dovrebbe riaprire la corsa. Un risultato di uno strumento può essere osservato recentemente ma dipende da una richiesta che il collezionista non ha mai visto. Non dovrebbe dimostrare la sua conclusione. Un evento di approvazione umana può legittimo lasciare una corsa in attesa anche se non segue un nuovo evento di esecuzione; la dipendenza nomina il bloccatore. Un dettaglio di implementazione impedisce molte regressioni accidentali: rendere monotono il riduttore di salute dove il contratto di flusso di lavoro lo consente. Una volta che il risultato invoice 42 è verificato in modo indipendente per eseguire r7 , un precedente evento tool requested non può ridurre tale risultato a working. Può aggiornare il libro dei dati, rivelare un ritardo nella consegna o sollevare un problema di qualità telemetrica, ma non può cancellare un fatto verificato più forte. Tratta il tempo come prova con un limite La ricostruzione causale non è un sostituto della sincronizzazione dell'orologio. Hai ancora bisogno di host sincronizzati per i tempi di incidente leggibili, la convalida dei certificati, il comportamento degli schedulatori e la correlazione operativa. La regola impedisce semplicemente al modello sanitario di affermare di più di quanto provino gli orologi. Ha anche quattro limiti acuti. Innanzitutto, observed at è autorevole solo rispetto al collezionista che l'ha stampato. La fila, i ripeti tentativi, la contrapposizione e il fallimento del collettore possono aumentare il ritardo osservato. Usalo per chiedere Da quanto tempo questo collezionista ha visto prove ammissibili? Non segnalare automaticamente observed at event at come latenza di rete. In secondo luogo, un grafico di dipendenza è solo così completo quanto la sua strumentazione. Un predecessore mancante può significare perdita di pacchetti, campionamento, errore all'esportatore o un produttore che non ha mai emesso l'evento. Il risultato sicuro e' l'incertezza e un'assenza di prove. Non è la prova che l'agente abbia fallito. In terzo luogo, l'ordine causale non conferma l'esito previsto. tool succeeded dice che lo strumento è stato restituito con successo in base al proprio contratto. Non dimostra che il file esista alla destinazione, che l'e mail è arrivato al destinatario previsto o che la distribuzione serve la versione attesa. Tenere la verifica dei risultati come un evento separato con le sue prove. Quarto, l'ordine topologico può essere parziale. I rami indipendenti potrebbero non avere un ordine significativo tra di loro. Non ne fabbricare uno per una linea temporale più bella. Presenta i rami concorrenti insieme e richiede un quorum esplicito di adesione o di completamento prima di dichiarare il parent completo. L'affermazione falsificabile per questo articolo è ristretta: per il dispositivo di undici eventi fornito, l'audit deve ricostruire due flussi di lavoro, segnalare l'incertitudine della catena rotta, mantenere una inversione del tempo di origine e una inversione del tempo di raccolta come diagnostica e esporre entrambi i casi ingenuo terminal prima avvio. Se uno di questi numeri cambia, l'artefatto fallisce. Ciò significa per Sidewisp Sidewisp ha lo scopo di aggiungere uno strato di salute intorno ai tempi di esecuzione degli agenti esistenti: distinguere gli stati di lavoro, di attesa, di blocco, di incertezza e di verifica dei risultati utilizzando le prove con freschezza e fiducia. L'evidenza causale consapevole dell'orologio si adatta a questa direzione perché una traccia verde non è utile se il suo ordine è stato dedotto da orologi incompatibili. Sidewisp è attualmente in anteprima privata. Il sito pubblico e il sistema di articoli sono in diretta, ma la raccolta dell'agente di produzione, gli adattatori di runtime, la gestione cron, l'analisi dei costi dei token e il recupero non vengono generalmente spediti. Il presente articolo descrive un modello di funzionamento e un artefatto di prova, non una affermazione secondo cui Sidewisp attualmente ricostruisce le linee temporali di produzione o corregge la distorsione dell'orologio. Il prodotto previsto non è un sistema di ricarica di sostituzione, un gateway obbligatorio, un prodotto di tracciamento grezzo, un piano di controllo aziendale o un fissatore autonomo. Dovrebbe stare accanto agli agenti esistenti, mostrare incertezza quando la catena è incompleta e mantenere l'autorità umana su qualsiasi azione di recupero. Se l'orologio e il disturbo delle consegne nascondono lo stato reale dei vostri agenti, unirsi alla preview privata è il prossimo passo restritto; non è una promessa che il monitoraggio della produzione sia disponibile oggi. Il default operativo è quindi semplice: conservare il tempo di origine per il contesto, il tempo di raccolta per la freschezza, il tempo trascorso monotono per le durate locali e i bordi espliciti per la causalità. Quando quei bordi sono incompleti, dimmelo. Un uncertain onesto e' piu' sano di una bella storia falsa.