2026-08-01T10:18:24.568Z

OpenAI Agent SDK Tracing: Aggiungi le ricevute sanitarie mancanti

Strumento OpenAI Agents SDK 0.19.0 tracciamento, quindi unirlo al battito cardiaco, programma, approvazione, effetto, e risultati ricevute in modo che una traccia completa non può nascondere il falso successo.

Il tracciamento SDK dell'agente OpenAI è il primo record per spiegare cosa è successo all'interno di una corsa di agenti. Non è, per sé, la prova che il lavoratore sia raggiungibile ora, che una corsa programmata sia iniziata, che un effetto esterno sia sbarcato una volta, o che il prodotto promesso esista. Il default affidabile è mantenere la traccia integrata, dare a ogni corsa un'identificazione stabile non segreta, e unirsi a quella traccia per separare le ricevute di esecuzione e risultati prima di assegnare un verdetto sanitario. Questa guida è collegata al Python openai agents 0.19.0 rilascio di metadati recuperato il 28 luglio 2026. Il pacchetto era stato caricato il 27 luglio, quindi verifica il riferimento per la versione installata prima di copiare la configurazione in un servizio di lunga durata. Inizia con la traccia che il SDK ti dà già L'attuale Integrazioni OpenAI e guida all'osservabilità dice che il tracciamento è abilitato per impostazione predefinita nel percorso SDK del lato del server normale. Una corsa può emettere registrazioni strutturate per le chiamate di modello, chiamate di strumento, consegne, guardrails e span personalizzati. Il Referenza per il tracciamento di Python aggiunge attività, turno, agente, generazione, funzione, manovra, guardrail e dettagli di intervallo audio. Questa è una prova di esecuzione preziosa. Risponde a domande come: Quale turno di agenti e modelli ha corso? Quali strumenti funzionali venivano chiamati, e in quale ordine di nidificazione? E' successo una barricata o una consegna? Dove è emersa un'eccezione o una lunga durata? Quali corse appartengono allo stesso flusso di lavoro o alla stessa conversazione? Utilizzare una traccia di livello superiore quando più chiamate Runner.run() implementano una sola operazione aziendale. Metti un ID di esecuzione casuale e non segreto sia in group id che in metadati in modo che la traccia possa essere unita ai registri dell'applicazione. Non inserire contenuti dei clienti, credenziali o un prodotto completo in quel documento. La configurazione dei dati sensibili è importante. Il riferimento ufficiale di Python afferma che gli intervalli di generazione e gli intervalli di funzione possono contenere input e uscite di modelli e strumenti, e che la cattura sensibile è abilitata per impostazione predefinita. trace include sensitive data=False riduce tale esposizione. Non elimina i dati che si inseriscono deliberatamente in metadati personalizzati, quindi mantenere anche le prove personalizzate minime. Il blocco finally risolve un problema più stretto. Il processore di batch predefinito esporta in background ogni pochi secondi e scarica all'uscita del processo. Per un lavoratore in coda che deve rendere visibile la sua traccia prima di riconoscere un lavoro, chiamare flush traces() dopo che il contesto di traccia è chiuso. Un flush conferma che i dati tracciati a buffer sono stati consegnati al loro processore; non dimostra ancora il risultato commerciale esterno. Tracciare il confine dove si ferma la traccia Una traccia descrive il percorso osservato dalla sua strumentazione. L'agente sanitario chiede se il sistema circostante funziona ora e se il lavoro utile ha raggiunto la destinazione. Quegli orologi e le fonti di prove sono diversi. Considerate una traccia che finì pulito alle 10:00. Alle 10:05, il lavoratore può essere offline. Un programma di 10:15 può essere mancato senza produrre alcuna nuova traccia. Una durata degli strumenti può contenere una risposta HTTP di successo mentre la destinazione rifiuta la transazione in seguito. Una risposta finale del modello può dire done mentre il file atteso è assente. Trattare la traccia come una colonna di prova si unisce a: Domanda sanitaria Cosa può mostrare la traccia SDK Richiesta di ricevimento aggiuntivo La corsa con strumenti si e' eseguita? Ciclo di vita della traccia e della durata Traccia della freschezza delle esportazioni e dell'identità dell'esercizio L'orario di esecuzione è raggiungibile ora? Niente dopo l'ultimo intervallo osservato Ritmo cardiaco con soglia di scadenza Il lavoro previsto è iniziato in tempo? Una traccia se la corsa inizia. Registrazione prevista e scadenza di inizio L'agente sta aspettando legittimamente? Un percorso in pausa o un'attività relativa all'approvazione Proprietario dell'approvazione, scadenza, ID di decisione e token di ripresa E' successo un effetto collaterale una volta? Tentativo dello strumento e dati restituiti Risultato di indennizzo o di riconciliazione sul lato della destinazione Il consegnabile richiesto è corretto? Modello e attività degli strumenti Controllo deterministico degli artefatti o regola di accettazione esplicita Questa separazione evita tre errori costosi. Innanzitutto, non convertire trace ended in healthy. Significa che il percorso di esecuzione strumentale è terminato. La salute richiede nuove prove e una ricevuta dei risultati. In secondo luogo, non convertire immediatamente tracce assenti in fallite. L'esportatore di fondo può essere ancora all'interno della sua finestra di consegna. Confronta l'età dell'esportazione con un periodo di grazia documentato; classifica la corsa come incerta mentre le prove sono in ritardo. In terzo luogo, non convertire paused in stuck. Una pausa con un proprietario autorizzato, una scadenza di vita, e un token di decisione riavviabile è in attesa. Si blocca quando il contratto di dipendenza viene rotto o il progresso non riesce dopo la decisione. Eseguire un audit di copertura su cinque casi Per rendere falsificabile il confine, ho costruito un sistema di cinque giri normalizzato. Ogni riga contiene un ID di esecuzione e sei gruppi di prove: traccia, tempo di esecuzione, programma, approvazione, effetto e risultato. L'audit applica la priorità sanitaria in questo ordine: 1. Preserva una buona attesa di approvazione. 2. Segna un battito cardiaco non raggiungibile. 3. Tenere incerta una recente scomparsa di esportazione. 4. Controlla il programma previsto. 5. Confronta il ricevimento e la digestione. 6. Chiamare la corsa sana solo quando traccia, effetto e risultati sono d'accordo. La regola fondamentale del falso successo è deliberatamente piccola: La prova ha prodotto cinque verdetti attesi da cinque casi: I singoli risultati rivelano il motivo per cui la fusione è importante: Fabbricazione Presunzione di solo tracce Verdetto congiunto Le prove che hanno modificato la decisione Salute Salute Salute Il battito cardiaco fresco e l'effetto corrispondente e le ricevute di risultato confermano . Falso successo Salute Falso successo Manca il ricevimento dell' artefatto atteso. Atteggiamento dell'approvazione Inchiodato . In attesa Il proprietario autorizzato e la scadenza rendono legittima la pausa Tempo di esecuzione perso Salute Non raggiungibile L'età del battito cardiaco è di 900 secondi rispetto al limite di 120 secondi Esportazione in sospeso Fallimento delle tracce Esportazione incerta L'età di esportazione è di 2 secondi all'interno di una finestra di grazia di 10 secondi Non si tratta di un'affermazione secondo la quale tutte le domande hanno bisogno delle stesse soglie. Un batch di lavoro che si svolge ogni notte ha bisogno di un'involucro di battito cardiaco diverso da un agente di supporto interattivo. Una ricerca di carattere solo per lettura potrebbe non richiedere un ricevimento di effetto. Un rapporto generato potrebbe richiedere una somma di controllo, la convalida dello schema, il piano di conteggio delle righe e HTTP 200 al suo URL finale. La parte riutilizzabile è la forma e la priorità delle prove, non i numeri del campione. L'audit utilizza anche registri normalizzati piuttosto che download privati di traccia della piattaforma o una chiamata live a pagamento. Questo lo mantiene ispezionabile, ma lascia l'implementazione dell'esportatore, la conservazione della scheda di controllo e la politica del conto al di fuori dell'esperimento. Provali nel tuo ambiente. Utilizzare un solo documento di identificazione, ma mantenere magazzini di prove separati La progettazione pratica della produzione è una combinazione, non un carico utile più grande. Mantenere le intervalli diagnostici dove siano utili per il debug. Tenere il sistema che possiede l'operatore o l'adattatore in tempo di esecuzione fresco. Mantenete le aspettative di programmazione accanto al programmatore. Tenere l'autorità di omologazione nella domanda che può riprendere la corsa. Conservare le ricevute di effetto al livello di destinazione o di riconciliazione. Tenere i controlli di consegna vicino all'artefatto. Unisciti a loro attraverso l'identificazione non segreta e esponi la freschezza per ogni fonte. Una cartella sanitaria può essere compatta: Non trattare in silenzio un campo non disponibile come verde. Se non si può leggere il battito cardiaco del runtime, lo stato del runtime è sconosciuto. Se un'organizzazione utilizza Zero Data Retention, si noti che l'attuale riferimento di tracciamento di Python dice che il tracciamento non è disponibile per quella politica API; utilizzare un processore interno approvato o un design di prova diverso solo dopo aver confermato la politica applicabile e il comportamento SDK. La regola di funzionamento finale è semplice: utilizzare OpenAI Agents SDK tracing per spiegare l'esecuzione, non per pretendere troppo la salute. Un verdetto sano richiede una traccia recente quando si prevede, un tempo di corsa raggiungibile, uno stato di attesa onesto, effetti riconciliati ove applicabile e un risultato verificato. Elimina un incidente solo dopo che le prove fallite diventano fresche e passano di nuovo. Sidewisp è attualmente in anteprima privata. Il suo ruolo previsto è quello di trasformare le prove come la raggiungibilità, il progresso, l'accesso agli strumenti e i risultati verificati in una visione chiara della salute; il monitoraggio della produzione OpenAI Agents SDK non è generalmente spedito oggi.