Aberto a posições de AI Engineer remoto ou híbrido
Competência

Observabilidade de LLMs: o que registro em cada chamada e por quê

No AgendaGo, que está em produção, cada chamada ao modelo deixa um registro de custo, latência e resultado. O Langfuse ainda faz parte de um design, numa plataforma em construção.

Onde a apliquei

O que é observar um sistema com LLM

É poder responder, depois que aconteceu, o que foi chamado, com qual modelo e qual prompt, quanto custou, quanto demorou e como terminou. Sem esses dados não dá para explicar um gasto que sobe, uma latência que piora nem uma resposta ruim.

AgendaGo: a tabela ai_usage_log (em produção)

Para cada chamada a tabela guarda: negócio, agente, usuário, modelo, versão do prompt, tokens de entrada, de saída e de cache, custo em dólares, latência, intenção, ferramentas usadas e resultado. O resultado pode ser ok, fallback, encaminhamento, erro, orçamento esgotado, rejeição de um guardrail ou rejeição do modelo.

  • Não guarda texto de clientes.
  • Os prompts são versionados no repositório, e a versão é guardada em cada chamada.
  • Um teste exige que cada insert declare modelo e versão do prompt.
  • O orçamento mensal por negócio é imposto por um único controle no banco.

A decisão: se não dá para registrar, não se atende

O registro é fail-closed: se o insert de uso falha, o turno é cortado. É um compromisso explícito. Aceita-se que uma falha do registro interrompa uma resposta, em troca de nunca ter chamadas sem medição nem um orçamento que não se consegue controlar.

Langfuse e Nux: em construção

A plataforma de agentes de IA para empresas está em construção, na fase 0. O design dela inclui o Langfuse para traces e custos, e avaliações sobre um conjunto de perguntas. Ainda não há código nem dados.

O Nux, o assistente do Bonuxo, tem um registro de uso e tetos de custo por plano, com a integração do Langfuse em andamento. A camada de LLM dele está construída, mas desligada em produção.

Stack relacionado

  • PostgreSQL
  • Supabase
  • Langfuse