2026-08-01T02:45:17.687Z

LangSmith LLM Osservabilità: dimostrare l'albero traccia attraverso i servizi

Controllare una traccia di LangSmith attraverso i confini del servizio, catturare radici divisi e spazi orfani, preservare le attese valide e richiedere un risultato verificato.

LangSmith può mostrare un set pulito di spazi di successo e lasciare comunque un operatore con la conclusione sbagliata. La prova mancante può essere un lavoratore la cui durata non è mai stata raggiunta dalla traccia, una seconda radice creata dopo un salto di servizio o una traccia completata senza alcuna prova che l'artefatto richiesto abbia raggiunto la destinazione. Il default pratico è semplice: trattare la richiesta dell'agente accettato one come un tracciato affidabile , quindi testare quell'albero contro un manifesto di servizio atteso. Un buon verdetto richiede una radice, collegamenti con i genitori risolvibili, le fasi di servizio attese, un nuovo progresso o una esplicita attesa, e una ricevuta di destinazione separata. Il solo completamento di tracce non è il completamento del compito. Questa guida trasforma tale regola in un'audit di otto casi per langsmith llm osservabilità . L'apparecchio non contiene richieste, risposte, segreti o carichi utili di strumenti. Confronta una regola ingenuo ogni intervallo dice ok con una decisione operativa più rigorosa ed espone cinque casi false green. Il default: conservare una radice tra i hop di servizio affidabili LangSmith definisce le tracce come alberi di corse, e il suo documentazione di tracciamento distribuita descrive come una richiesta può continuare attraverso i servizi. Il servizio originario serializza l'albero di esecuzione corrente in un intestazione langsmith trace , con baggage opzionale per i metadati e le tag. Il servizio interno ricevitore ripristina tale contesto e continua a rintracciare. Questa è la ragionevole implementazione predefinita per un API che consegna il lavoro a un pianificatore e poi a un lavoratore. Esso dà all'operatore un albero causale invece di tracce locali non correlate. La stessa documentazione pone un importante limite al di là della caratteristica: tali intestazioni sono affidabili per tracciare il contesto. Un punto di destinazione pubblico non deve accettarli come genitori autorizzati o accettare bagagli arbitrari da parte di un chiamatore non fidato. Sbarazzarli al bordo, avviare una nuova radice per la richiesta accettata e propagare il contesto appena creato solo attraverso i trusted service to service hops. Per ogni richiesta accettata, registrare un manifesto senza contenuti come: requestKey dovrebbe essere un identificatore opaco, non un nome di cliente o di richiamo. Il manifesto è il denominatore: senza di esso, una traccia non può dirti che un servizio atteso non ha emesso nulla. Struttura dell'audit prima di valutare lo stato di span Inizia con la struttura perché una raccolta di spazi locali di successo può ancora descrivere l'esecuzione sbagliata. Applicare i controlli in ordine: Controllo Le prove Stato di insufficienza Limiti di fiducia La radice è stata creata dopo il margine pubblico; il bagaglio propagato proveniva solo da un servizio interno UNTRUSTED CONTEXT Numero di radici Esattamente una mappa radicale della richiesta accettata SPLIT TRACE L'integrità dei genitori Ogni parent run id non radicale si risolve all'interno della stessa traccia ORPHAN SPAN Copertura dei servizi Ogni fase di manifesto richiesta ha almeno una corsa prevista TRACE GAP Freschezza Il lavoro aperto ha un recente progresso o una scadenza di dipendenza valida STUCK o WAITING Risultato La destinazione nominata ha una ricevuta deterministica OUTCOME UNVERIFIED Verdetto finale Passo di tutti i controlli applicabili HEALTHY Questo ordine conta. Se un richiamatore pubblico può fornire bagagli affidabili, l'albero non è una prova sicura anche quando la sua forma è perfetta. Se esistono due radici, controllare i bambini sotto una sola radice può nascondere la metà dell'esecuzione. Se non è presente un documento di identificazione dei genitori, i timestamp non ripara il divario causale. Non costringere una pista di corsa a includere stadi che non ha raggiunto. La copertura del servizio è valutata al limite del ciclo di vita pertinente. Prima che il progettista spedica il lavoro, l'assenza di un lavoratore è normale. Dopo il completamento delle segnalazioni di esecuzione, la stessa assenza costituisce un intervallo di traccia. Mantenere la pietra miliare del ciclo di vita accanto al manifesto invece di dedurla solo dal tempo di orologio. Anche le riprovazioni hanno bisogno di una regola esplicita. Un secondo periodo di lavoro non è automaticamente un fallimento duplicato. Registrare una chiave di operazione stabile e il numero di tentativo, quindi chiedere se la riprova è rimasta sotto la stessa radice accettata e se è stato commesso solo un effetto. Questa audit trace tree verifica la copertura causale; un audit di idempotenza o di ricezione di effetti gestisce duplicati effetti collaterali. Riproduci otto tracce inconvenienti L'artefatto di ricerca utilizza quattro servizi necessari api , planner , tool worker e verifier e sostituisce otto casi: 1. una traccia completa distribuita con un artefatto verificato; 2. una durata di lavoro scomparsa; 3. un lavoratore la cui identità genitoriale è assente; 4. due radici per una richiesta accettata; 5. una nuova attesa con un proprietario e una scadenza futura; 6. un lavoratore aperto con progresso stallato; 7. una traccia completa senza ricevuta di destinazione; 8. bagaglio accettato da una fonte di diffusione pubblica. Eseguire il classificatore deterministico con Node: La fissazione esatta prodotta: Il risultato falsificabile è il divario tra sei greens ingenui e una corsa sana verificata. Cinque casi contenevano solo spazi di ok , ma non sono riusciti a verificare la struttura, la fiducia o i risultati. Il lavoratore obsoleto non era ingenuo perché rimaneva aperto. L'attesa legittima è rimasta aperta, ma è stata indirizzata a WAITING piuttosto che etichettata erroneamente come fallimento. Questo non significa che sette agenti siano stati rotti. Significa che solo un caso aveva prove sufficienti per una conclusione sana. WAITING è uno stato operativo valido, e gli stati di lacuna identificano quali prove devono essere ripristinate prima di decidere. Un classificatore compatto può applicare la priorità: La priorità conserva la differenza tra attività e progressi utili. Inoltre impedisce che una condizione verde successiva cancella un fallimento delle prove precedenti. Inquire l'albero senza esportare contenuti immediati La Guida di query SDK ufficiale di LangSmith raccomanda list runs o l' API /runs/query . Documenta is root=True per la selezione di root run e read run(..., load child runs=True) per l'idratazione di un albero candidato quando un predicato bambino locale ha bisogno di campi che i filtri laterali del server non espongono. Un percorso di raccolta Python minimo è: Adattare l'elenco select al SDK installato. La foto di ricerca ha osservato il rilascio ufficiale langsmith sdk V0.10.11, pubblicato il 28 luglio 2026; verificare il riferimento corrente prima di copiare i nomi di campi nel codice di produzione. L'audit non richiede inputs o outputs . Attraversare l' albero idratato e mantenere solo: identificativi di esecuzione e tracciamento; l'identità di conduzione dei genitori; un'etichetta di servizio o di scena emessa dalla domanda; i tempi di inizio, fine e ultimo progresso; stato o presenza di errore; chiavi di funzionamento opache e chiavi di richiesta; attesa del proprietario e della scadenza; l'identificatore e il risultato di verifica della ricevuta di destinazione. Il Overview dell' osservabilità di LangSmith separa correttamente le indagini sui tracciati, le schede di controllo, gli avvisi, le automazioni, le valutazioni online e il feedback. L'audit delle tracce strutturali integra tali superfici; non sostituisce le valutazioni né afferma che ogni fallimento sia visibile dai metadati. Continuate ad aspettare, rimanete bloccati e verificate i risultati separatamente. Un lungo periodo di tempo non basta per chiamare un agente bloccato. Richiede sia una violazione della freschezza che l'assenza di un contratto di attesa valido. Un contratto di attesa richiede un proprietario, una dipendenza e una scadenza. Nel sistema, il lavoratore ha avuto un recente progresso, ha aspettato un revisore e ha portato una scadenza futura. Lo stato corretto era WAITING . Il lavoratore obsoleto non aveva alcuna spiegazione e aveva superato la finestra di freschezza di cinque minuti, quindi divenne STUCK . Nessun Stato è HEALTHY . L'attesa ha bisogno di essere indirizzata al proprietario nominato; il lavoro bloccato ha bisogno di indagini e forse di una proposta di recupero limitata. Non riprovare semplicemente perché una traccia non si muove più, specialmente vicino al confine degli effetti collaterali. Infine, richiedono prove fuori delle tracce. Un intervallo di verifica che si è concluso con successo dimostra che il codice è stato eseguito. Non dimostra l'esistenza del fascicolo richiesto, l'arrivo di una distribuzione alla revisione prevista o l'arrivo di un messaggio alla destinazione prevista. Definire il ricevimento deterministico più forte disponibile: un hash di oggetto immutabile, una riga di database più invariante, una revisione remota o una lettura di API. La limitazione è deliberata. Questo audit non può ricostruire spazi che non sono mai stati emessi, giudicare la qualità semantica a partire dai metadati o dimostrare un effetto strumento senza una ricevuta prodotta dall'applicazione. Può dimostrare che le prove sono incomplete e impedire che l'incertezza diventi verde. Sidewisp utilizza questo stesso limite di salute nella sua direzione del prodotto: le tracce sono prove, mentre i progressi utili e i risultati attesi richiedono controlli personali. Sidewisp è attualmente in anteprima privata. Il suo sito in diretta è un'esperienza di accesso precoce e una dimostrazione interattiva; generalmente non vengono spedite le raccolte e il recupero automatico degli agenti di produzione. Unisciti all'anteprima privata se vuoi contribuire a plasmare uno strato di salute che funzioni insieme ai tempi di esecuzione esistenti piuttosto che sostituire LangSmith o il tuo stack di agenti.