2026-08-01T12:22:36.704Z

PostHog LLM Osservabilità: testare la chiave di inserimento

Confronta le sessioni frontend, le sessioni AI e gli ID di lavoro duraturi tra retries e attività simultanee, quindi espone gli errori di attribuzione con HogQL.

L'osservabilità di PostHog LLM ha bisogno di una chiave di aderenza deliberata una volta che il lavoro dell'agente può riprovare, lasciare una sessione del browser o condividere una sessione con un'altra attività. $session id , $ai session id e $ai trace id sono utili, ma nessuno è automaticamente l'identità dell'opera accettata. In un esperimento di 14 eventi, il raggruppamento per la sessione frontend ha creato due gruppi confluiti e due abbinamenti sbagliati tra generazione e risultato. Il raggruppamento per la sessione AI ha diviso un'attività ripetuta in due sessioni e ha comunque prodotto un abbinamento sbagliato. Un work id duraturo ha collegato tutti e tre i risultati verificati attesi, ha preservato il nuovo tentativo come un compito e ha isolato una ricevuta per errori di lavoro come orfano invece di attaccarla a una traccia sana. La regola operativa è specifica: utilizzare sessioni PostHog per la navigazione e l'aggregazione, tracce per l'attività del modello causale e un work id sicuro per la privacy per l'unità che deve eventualmente produrre un risultato. Allora consulta questi campi insieme. È così che tracce, costi e analisi dei prodotti diventano un contratto di prove piuttosto che una raccolta scivolata di dashboard. Quattro identificatori rispondono a quattro domande diverse Modello di traccia AI di PostHog richiede $ai trace id per gli eventi di osservabilità AI. Un gruppo di tracce legato alle generazioni e agli intervalli. Risponde: quale modello e quale strumento di attività appartenevano a questa interazione? La Guida di sessione AI definisce la $ai session id come un raggruppamento opzionale scelto per l'applicazione tra tracce. Può rappresentare un flusso di lavoro, un thread, una conversazione o un altro confine logico. La stessa guida lo distingue dalla frontend standard $session id , che di solito viene catturata nel browser. PostHog utilizza anche distinct id per associare gli eventi ad una persona o ad un'identità di servizio. Questo risponde a chi o cosa ha emesso l'evento; non dovrebbe essere sovraccaricato con un identificatore di attività. Un'unità accettata di lavoro di agente ha bisogno di una quarta identità: Identificatore Buone frontiere Fallimento quando viene utilizzato come chiave di lavoro distinct id Persona, conto o servizio Un solo attore può avere molti compiti simultanei $session id Visita di primo piano Il lavoro di fondo può sopravvivere; una visita può avviare diversi compiti $ai session id Sessione AI definita dall'applicazione Una riprova o riavvio può creare un'altra sessione $ai trace id Traccia causale Fragmenti di lavoro multi traccia attraverso retries e manovre work id Un compito accettato e il suo risultato Deve essere creato e propagato dall'applicazione Crea work id quando il sistema accetta il compito, prima della prima chiamata di modello. Rendila opaca e stabile. Dovrebbe sopravvivere a un nuovo tentativo, ripartire il lavoro, aspettare l'approvazione, chiudere il browser e cambiare il modello. Non derivarlo da un indirizzo e mail, un prompt, un percorso o un nome di destinazione. documentazione di generazione di PostHog definisce il modello di evento di generazione. Il suo documentazione sulle proprietà doganali mostra esempi di JavaScript wrapper utilizzando posthogProperties e posthogDistinctId , mentre la guida di sessione documenta $ai session id come un gruppo scelto per l'applicazione. La versione del pacchetto osservata tramite il tag npm latest è stata @posthog/ai 8.4.0 il 27 luglio 2026; trattalo come un'istantanea datata e controlla la documentazione corrente per il tuo provider e la versione installata. Riproduci l'esperimento di 14 eventi L'apparecchio contiene cinque documenti di lavoro accettati e un documento di risultato deliberatamente sbagliato. Modella tre forme di fallimento che le schede di controllo solo in sessione spesso nascondono: 1. work 102 inizia nella sessione del browser browser b , riprova dopo che il contesto frontend è andato via e continua sotto una nuova sessione AI. Il suo risultato verificato arriva con work id ma senza ID di sessione. 2. work 103 e work 104 iniziano all'interno della stessa sessione del browser. Solo work 103 ha un risultato verificato, mentre work 104 ha un evento prodotto ma nessun risultato. 3. work 105 completa sotto AI sessione ai run d , ma un evento successivo risultato porta work 999 pur mantenendo gli stessi valori della sessione frontend e AI. Non sono trucchi di nome sintetici. Essi rappresentano cambiamenti di topologia comuni: un nuovo tentativo di sfondo, compiti simultanei da una visita e un evento la cui correlazione metadati non sono d'accordo. Ho caricato gli eventi a forma di PostHog in una tabella SQL in memoria e ho valutato tre strategie. Una strategia riceve credito solo quando un gruppo contiene sia una generazione che l'esito atteso per lo stesso lavoro. Registra una coppia sbagliata quando una generazione per un lavoro ID condivide un gruppo con un risultato per un altro. Il risultato misurato è stato: Strategia di correlazione Corretto lavoro verificato Mancato lavoro atteso Gruppi confluiti Coppie sbagliate Riprova in frammenti : : : : : Frontend $session id 2 su 3 1 2 2 0 $ai session id 2 su 3 1 1 1 1 work id resistente 3 su 3 0 0 0 0 La sessione front end ha fuso work 103 con work 104 e ha fuso work 105 con il risultato sbagliato work 999 . La riunione di sessione AI ha evitato la collisione del browser contemporaneo, ma ha diviso work 102 in ai run b1 e ai run b2 ; il suo risultato non ha avuto nessuna sessione AI da attaccare. Si è anche unito a work 105 a work 999 perché entrambi portavano ai run d . La query work id ha prodotto sei righe: cinque unità di lavoro accettate più work 999 . Quella sesta fila ha avuto un risultato e zero generazioni. Invece di trasformare work 105 in verde, la query ha rivelato un evento orfano. Costruire la matrice di lavoro in HogQL PostHog documenta l'accesso a SQL come HogQL, un involucro attorno a ClickHouse SQL con accesso semplificato alle proprietà degli eventi. Le proprietà degli eventi utilizzano la notazione dei punti, comprese le proprietà PostHog prefissate in dollari. Gli aggregati supportati includono countIf , uniqExactIf e groupUniqArray . Questa query crea una riga per chiave di lavoro duratura: Il Guida SQL PostHog mostra la tabella events , l'accesso alle proprietà, le informazioni SQL e la forma dell'API HogQLQuery . La riferimento all'aggregazione elenca le funzioni di unicità condizionale ed esatta utilizzate qui. Interpretare la forma della riga prima di calcolare un punteggio: generation count = 0 e outcome count 0 sono risultati orfani, non verificati. ai session count 1 può essere un nuovo tentativo o un trasferimento legittimo; ispezionare retry count prima di definirlo un duplicato. frontend session count = 0 è normale per il lavoro di fondo. product event count 0 mostra il comportamento del prodotto, non la verifica della destinazione. trace count 1 può essere atteso quando un compito accettato si estende di nuovo. Per work 102 , la matrice riporta due tracce, due sessioni AI, un nuovo tentativo e un risultato. La riga rimane intatta perché la chiave di lavoro è sopravvissuta a entrambe le modifiche di sessione. Questo è il risultato centrale dell'esperimento. Controllare le collisioni prima di fidarsi di una dashboard Una matrice di lavoro mostra ciò che è stato raggruppato con successo. Un'audit di collisione chiede se le chiavi alternative avrebbero raggruppato lavori non correlati. Compare questo con le sessioni front end: Ripetere con $ai session id . Nel sistema, l'audit frontend restituisce browser c con work 103 e work 104 , oltre a browser d con work 105 e work 999 . L'audit della sessione AI restituisce ai run d con work 105 e work 999 . Questo non dimostra quale evento sia sbagliato. Identifica un limite in cui l'attribuzione basata sulla sessione non è sicura e dà all'operatore un piccolo set di indagini. Aggiungere un secondo controllo nell'altra direzione: contare il numero di valori di sessione distinti per work id . Una chiave di lavoro con due sessioni AI e un evento di riprova è probabilmente la continuità tra i tentativi. Una chiave di lavoro che appare in molte sessioni senza riprova, consegna o registrazione di ripresa può indicare il riutilizzo della chiave. Il dispositivo e il corridore sono deliberatamente ispezionabili. Il corridore locale esegue una matrice di lavoro SQL su tutti e 14 gli eventi, quindi valuta le tre strategie di unione e afferma cinque risultati: Non è un punto di riferimento di PostHog. Non misura la latenza dell'ingestione, i permessi API di query, la conservazione o i tipi di proprietà specifici per i inquilini. Testare la rivendicazione relazionale dietro il cruscotto. Prima di utilizzare la query in produzione, eseguirla come una visualizzazione SQL su un insieme di canari innocui e confrontare le colonne restituite con il tuo dispositivo. Strumento la chiave senza perdita di contenuto Aggiungere la stessa chiave di lavoro opaca ad ogni evento rilevante. Negli esempi di wrapper JavaScript supportati, la pagina proprietà personalizzate documenta posthogProperties e posthogDistinctId , la pagina delle sessioni colloca $ai session id all'interno di posthogProperties e la pagina privacy documenta posthogPrivacyMode . Combinando queste opzioni documentate, la forma della richiesta sembra: Utilizzare le opzioni esatte supportate dall'integrazione del provider e dalla versione installata. La modalità privacy di PostHog esclude la $ai input e la $ai output choices ; non sanita le proprietà personalizzate arbitrarie. Mantenete un elenco. I campi buoni sono ID opaci, numeri di tentativo, versioni di flusso di lavoro, stati a bassa cardinalità, timestamp e hash. I campi cattivi sono richieste, completamenti, segreti, e mail, percorsi di file grezzi e carichi utili del fornitore. In caso di eventualità di domanda con lo stesso work id , rilasciare solo dopo che il loro fatto sottostante è esistito. Un evento report view opened appartiene all'analisi dei prodotti. Un evento agent outcome verified deve seguire una lettura di ritorno autorizzata e includere un riferimento hash di destinazione più il contenuto verificato o il hash di versione. I due eventi possono condividere una query senza fingere di significare la stessa cosa. Tieni distinct id stabile per l'attore che vuoi analizzare. Tenere $session id e $ai session id per i loro confini di navigazione documentati. Il modello diventa più facile da debug perché nessun campo sta facendo tre lavori. Utilizzare l'esperimento come test operativo Inizia con tre canari piuttosto che una grande scheda: un compito che inizia e termina in un solo browser e in una sessione AI; un'attività che si ripeta con una nuova sessione AI dopo la fine della sessione del browser; due compiti iniziati dalla stessa sessione del browser, con un risultato per uno solo. Aggiungere un evento di risultato deliberatamente incompatibile in un ambiente di prova. La tua matrice di lavoro dovrebbe farla apparire come un orfano. Le query di collisione delle sessioni dovrebbero segnalare i gruppi condivisi. Se una scheda di controllo fa sembrare che l'attività senza pari sia verificata, la chiave di aggiunta è ancora sbagliata. Controllare il contratto stesso: contare gli eventi AI mancanti di work id ; contare gli eventi di risultato senza riga di generazione; Conteggiamo le carte d'identità di lavoro accettate suddivise tra le sessioni senza provare o fornire prove; misurare il ritardo nell'ingestione degli eventi prima di considerare un'assenza recente come un fallimento; avvertimento su un improvviso aumento delle collisioni di sessione o su chiavi di lavoro riutilizzate. I costi diventano quindi più sicuri da interpretare. Il costo di generazione delle somme per work id , non solo per sessione, e dividere solo per lavoro con lo stato di risultato che l'azienda accetta. Il risultato è il costo per unità di lavoro verificata attraverso i ripetizioni, non il costo per traccia o visita al browser. Dove si inserisce Sidewisp PostHog è ben adatto per la cattura di eventi, l'analisi dei prodotti, le informazioni SQL e l'indagine. L'esperimento qui mantiene quei punti di forza rendendo esplicita l'unità di giudizio operativo. Sidewisp è destinato a diventare uno strato di salute intorno ai tempi di esecuzione degli agenti esistenti, utilizzando prove, freschezza, incertezza, limiti di omologazione e verifica. Non è un tempo di esecuzione sostitutivo, un gateway modello obbligatorio o un sostituto PostHog. Gli adattatori per il monitoraggio della produzione e il recupero non vengono spediti oggi. Sidewisp è attualmente in anteprima privata. Se questo problema di chiave comune corrisponde al tuo ambiente, unisciti alla lista d'attesa di anteprima privata e descrivi quali tempi di esecuzione, confini delle sessioni e risultati del tuo lavoro si incrociano. Fino ad allora, mantenete gli identificatori di PostHog onesti: le sessioni navigano, le tracce spiegano l'attività e la chiave di lavoro duratura porta il risultato operativo.