2026-08-01T12:22:34.288Z
PostHog LLM Observabilidade: Teste a chave de ligação
Comparar sessões frontend, sessões AI e IDs de trabalho duradouros em retries e tarefas simultâneas, em seguida, expor erros de atribuição com HogQL.
A observabilidade PostHog LLM precisa de uma chave de união deliberada uma vez que o trabalho do agente possa retomar, deixar uma sessão de navegador ou compartilhar uma sessão com outra tarefa. $session id , $ai session id e $ai trace id são úteis, mas nenhum é automaticamente a identidade do trabalho aceito. Em um experimento de 14 eventos, o agrupamento pela sessão frontend criou dois grupos conflitos e dois pares errados de geração a resultado. O agrupamento pela sessão AI dividiu uma tarefa repetida em duas sessões e ainda produziu um emparejamento errado. Um work id duradouro ligou todos os três resultados verificados esperados, preservou a retomada como uma tarefa e isolau um recibo de trabalho errado como órfão em vez de anexá lo a um rastro saudável. A regra de operação é específica: usar sessões PostHog para navegação e agregação, rastrear a atividade do modelo causal e um work id seguro para a privacidade para a unidade que eventualmente deve produzir um resultado. Então consulta esses campos juntos. É assim que os rastreamentos, custos e análises de produtos se tornam um contrato de evidências em vez de uma coleção de painéis. Quatro identificadores respondem a quatro perguntas diferentes O Modelo de rastreamento AI do PostHog requer o $ai trace id para os eventos de observabilidade AI. Um grupo de vestígios relacionado a gerações e períodos. Responde: que modelo e ferramenta pertenciam a esta interação? O Guia de sessão AI define o $ai session id como um agrupamento opcional, escolhido pela aplicação, entre traços. Pode representar um fluxo de trabalho, um fio, uma conversa ou outro limite lógico. O mesmo guia distingue o do frontend padrão $session id , que geralmente é capturado no navegador. PostHog também utiliza o distinct id para associar eventos a uma pessoa ou identidade de serviço. Isso responde quem ou o que emitiu o evento; não deve ser sobrecarregado com um identificador de tarefa. Uma unidade aceita de trabalho de agente precisa de uma quarta identidade: Identificador Boa fronteira Falha quando utilizada como chave de trabalho distinct id Pessoa, conta ou serviço Um ator pode possuir muitas tarefas simultâneas $session id Visita de frente Trabalho de fundo pode sobreviver; uma visita pode iniciar várias tarefas $ai session id Sessão AI definida pela aplicação Uma nova tentativa ou reinicialização pode criar outra sessão $ai trace id Uma traça causal Fragmentos de trabalho de várias traças em retrospectivas e entregas work id Uma tarefa aceita e o seu resultado Deve ser criado e propagado pela aplicação Criar work id quando o sistema aceitar a tarefa, antes da primeira chamada de modelo. Torne o opaco e estável. Deve sobreviver a uma nova tentativa, reiniciar o trabalho, esperar a aprovação, fechar o navegador e mudar o modelo. Não o obtenha a partir de um endereço de e mail, um prompt, um caminho ou um nome de destino. O Documentação de geração do PostHog define o modelo de eventos de geração. Seu Documentação sobre as propriedades aduaneiras mostra exemplos de envelopes JavaScript usando posthogProperties e posthogDistinctId , enquanto o guia de sessão documenta $ai session id como um agrupamento escolhido pela aplicação. A versão do pacote observada através da tag npm latest foi @posthog/ai 8.4.0 em 27 de julho de 2026; trate isso como um instantâneo datado e verifique a documentação atual para o seu provedor e versão instalada. Reproduzir o experimento de chave combinada de 14 eventos O dispositivo contém cinco identidades de trabalho aceites e uma identificação de resultado deliberadamente errada. Modela três formas de falha que os painéis de painel de sessão apenas muitas vezes escondem: 1. O work 102 começa na sessão do navegador browser b , retrata se após o contexto do frontend desaparecer e continua sob uma nova sessão AI. O resultado verificado chega com o work id , mas sem ID de sessão. 2. work 103 e work 104 começam dentro da mesma sessão do navegador. Apenas o work 103 tem um resultado verificado, enquanto o work 104 tem um evento de produto, mas nenhum resultado. 3. work 105 completa sob sessão AI ai run d , mas um evento de resultado posterior carrega work 999 mantendo os mesmos valores de sessão frontend e AI. Não são truques sintéticos de nomeação. Eles representam mudanças de topologia comuns: uma retropraça de fundo, tarefas simultâneas de uma visita e um evento cuja correlação com os metadados discorda. Carrei os eventos em forma de PostHog numa tabela SQL na memória e avaliei três estratégias. Uma estratégia só recebe crédito quando um grupo contém uma geração e o resultado esperado para o mesmo trabalho. Ele registra um par errado quando uma geração para uma ID de trabalho compartilha um grupo com um resultado para outro. O resultado medido foi: Estratégia de correlação Trabalho correto verificado Perda de trabalho esperado Grupos conflitos Paros errados Reintentos fragmentados : : : : : Frontend $session id 2 de 3 1 2 2 0 $ai session id 2 de 3 1 1 1 1 Durabilidade work id 3 de 3 0 0 0 0 A sessão frontend juntou work 103 com work 104 e juntou work 105 com o resultado errado work 999 . A junção de sessão AI evitou a colisão do navegador simultâneo, mas dividiu work 102 em ai run b1 e ai run b2 ; seu resultado não teve sessão AI para ligar. Ele também se juntou a work 105 para work 999 porque ambos carregavam ai run d . A consulta work id produziu seis linhas: cinco unidades de trabalho aceitas mais work 999 . Essa sexta fila teve um resultado e zero gerações. Em vez de transformar o work 105 em verde, a consulta expôs um evento final órfão. Construir a matriz de trabalho em HogQL PostHog documenta o acesso ao SQL como HogQL, um envolvente em torno do ClickHouse SQL com acesso simplificado à propriedade de eventos. Propriedades de eventos usam notação de pontos, incluindo propriedades PostHog prefixadas em dólar. Os agregados apoiados incluem o countIf , o uniqExactIf e o groupUniqArray . Esta consulta cria uma linha por chave de trabalho durável: O Guia SQL PostHog mostra a tabela events , acesso a propriedades, insights SQL e a forma de API HogQLQuery . O Referência de agregação enumera as funções de singularidade condicional e exata utilizadas aqui. Interpretar a forma da linha antes de calcular uma pontuação: O generation count = 0 e o outcome count 0 são resultados órfãos, não trabalhos verificados. O ai session count 1 pode ser uma retomada ou transferência legítima; inspecione o retry count antes de chamá lo de duplicado. frontend session count = 0 é normal para o trabalho de fundo. O product event count 0 mostra o comportamento do produto, não a verificação do destino. trace count 1 pode ser esperado quando uma tarefa aceita é repetida. Para o work 102 , a matriz relata dois traços, duas sessões do AI, uma nova tentativa e um resultado. A fila permanece intacta porque a chave de trabalho sobreviveu a ambas as alterações de sessão. Esse é o resultado central da experiência. Controle de colisões antes de confiar em um painel Uma matriz de trabalho mostra o que agrupou com sucesso. Uma auditoria de colisão pergunta se as chaves alternativas teriam agrupado trabalhos não relacionados. Correr isto contra sessões frontend: Repita com o $ai session id . Na fixação, a auditoria frontend retorna browser c com work 103 e work 104 , mais browser d com work 105 e work 999 . A auditoria da sessão AI apresenta o ai run d com o work 105 e o work 999 . Isto não prova qual evento está errado. Identifica um limite em que a atribuição baseada em sessões não é segura e confere ao operador um pequeno conjunto de investigações. Adicionar uma segunda verificação na outra direcção: contar o número de valores de sessão distintos por work id . Uma chave de trabalho com duas sessões AI e um evento de retest é provavelmente a continuidade entre as tentativas. Uma chave de trabalho que aparece em muitas sessões sem uma nova tentativa, entrega ou registro de currículo pode indicar reutilização da chave. O equipamento e o corredor podem ser deliberadamente inspecionados. O corredor local executa uma matriz de trabalho SQL em todos os 14 eventos, depois avalia as três estratégias de junção e afirma cinco descobertas: Não é um ponto de referência do PostHog ao vivo. Não mede a latência de ingestão, as permissões da API de consulta, a retenção ou os tipos de propriedades específicos do inquilino. Teste a afirmação relacional por trás do painel. Antes de usar a consulta em produção, execute a como uma visão SQL em um conjunto de canários inofensivos e compare as colunas devolvidas com o seu dispositivo. Instrumentar a chave sem vazamento de conteúdo da tarefa Anexar a mesma chave de trabalho opaca a cada evento relevante. Nos exemplos de envelopes JavaScript suportados, a página de propriedades personalizadas documenta o posthogProperties e o posthogDistinctId , a página de sessões coloca o $ai session id dentro do posthogProperties e a página de privacidade documenta o posthogPrivacyMode . Combinando essas opções documentadas, a forma do pedido parece: Use as opções exatas suportadas pela integração do seu provedor e pela versão instalada. O modo de privacidade da PostHog exclui o $ai input e o $ai output choices ; não desinfecta as propriedades de aluguel arbitrárias. Mantém uma lista de alojamento. Os bons campos são IDs opacos, números de tentativa, versões de fluxo de trabalho, estados de baixa cardinalidade, timestamps e hashes. Os campos ruins são pedidos, conclusões, segredos, e mails, caminhos de arquivo bruto e cargas úteis do provedor. Emite eventos de aplicação com o mesmo work id somente após o seu facto subjacente existir. Um evento report view opened pertence à análise de produtos. Um evento agent outcome verified deve seguir uma leitura de volta autorizada e incluir uma referência de destino hashada mais o conteúdo verificado ou o hash de versão. Os dois eventos podem compartilhar uma pergunta sem fingir que significam a mesma coisa. Mantenha o distinct id estável para o ator que quer analisar. Manter o $session id e o $ai session id para os seus limites de navegação documentados. O modelo torna se mais fácil de depurar porque nenhum campo está fazendo três trabalhos. Usar o experimento como um teste de operação Comece com três canários em vez de um grande painel: Uma tarefa que começa e termina num único navegador e numa sessão AI; Uma tarefa que retenta uma nova sessão AI após a sessão do navegador ter terminado; Duas tarefas começaram a partir da mesma sessão do navegador, com um resultado para apenas uma. Adicionar um evento de resultado deliberadamente incompatível em um ambiente de ensaio. A tua matriz de trabalho deve aparecer como órfã. As consultas de colisão de sessão devem marcar os grupos compartilhados. Se um painel de controle fizer a tarefa incomparável parecer verificada, a chave de união ainda está errada. Monitorar o próprio contrato: Contar os eventos AI que faltam no work id ; Contar os eventos de resultado sem fila de geração; Contagem de identificação de trabalho aceita dividida em sessões sem provas de retomada ou de entrega; Medir o atraso na ingestão de eventos antes de tratar uma ausência recente como falha; Alerta sobre aumentos repentinos de colisões de sessões ou de teclas de trabalho reutilizadas. Os custos tornam se então mais seguros de interpretar. Custo de geração de soma por work id , não apenas por sessão, e dividir apenas pelo trabalho com o status de resultado que a sua empresa aceita. O resultado é o custo por unidade de trabalho verificada através de retrospectivas, não o custo por rastreamento ou visita ao navegador. Onde se encaixa o Sidewisp PostHog é bem adequado para captura de eventos, análise de produtos, insights SQL e investigação. O experimento aqui mantém esses pontos fortes enquanto torna a unidade de julgamento operacional explícita. O Sidewisp destina se a tornar se uma camada de saúde em torno dos tempos de execução dos agentes existentes, utilizando evidências, frescura, incerteza, limites de aprovação e verificação. Não é um tempo de execução de substituição, gateway modelo obrigatório ou substituto PostHog. Os adaptadores de monitorização da produção e recuperação não são enviados hoje. A Sidewisp está atualmente em prévia privada. Se este problema de chave conjunta coincidir com o seu ambiente, junte se à lista de espera de pré visualização privada e descreva quais os horários de execução, os limites das sessões e os resultados do seu trabalho cruzam. Até lá, mantenha os identificadores do PostHog honestos: as sessões navegam, os vestígios explicam a atividade, e a chave de trabalho duradoura carrega o resultado operacional.