Quick answer: A maioria das stacks de agentes aparafusa o rastreio de custo depois: um wrapper em volta da chamada ao modelo que escreve tokens num sistema separado, o qual acaba divergindo da realidade. O DeepSeek...

O log de sessão do DeepSeek Harness como registro de custos

Updated August 16, 2026 · first published August 16, 2026

A maioria das stacks de agentes aparafusa o rastreio de custo depois: um wrapper em volta da chamada ao modelo que escreve tokens num sistema separado, o qual acaba divergindo da realidade. O DeepSeek Harness faz o contrário. O log de sessão é o artefato primário, e o uso de tokens mora dentro dele.

A sessão é um log de eventos append-only

Uma sessão é uma sequência ordenada e apenas-acrescentável de entradas SessionEvent tipadas. Cada evento carrega quatro campos:

CampoO que significa
typeO tipo de evento, por exemplo assistant/message
seqNúmero de sequência monotônico dentro da sessão
timeCarimbo de tempo
dataA carga útil específica do tipo

Eventos de superfície (o que uma interface exibe) acrescentam dois campos: sourceEventSeqs, que aponta de volta para os eventos brutos dos quais derivam, e surfaceOp. Esses ponteiros são a razão de um número de custo poder ser rastreado até exatamente os eventos que o produziram.

Os eventos que interessam a um modelo de custo

A regra que guia a documentação é: o que é visível ao modelo fica registrado. Tudo o que entra no contexto do modelo deixa um evento. Isso torna o log completo por construção, em vez de completo enquanto ninguém esquecer de instrumentá-lo.

O uso viaja com a saída

O uso de tokens não é escrito num canal lateral: viaja com a saída à qual pertence. Prefira os chunks de uso (assistant/chunk com { type: 'usage' }) porque ficam o mais perto possível do que o provedor de fato cobrou; recorra a assistant/message.usage quando não houver chunk. Um modelo de custo que lê assim nunca consegue atribuir um número a um passo que não o gerou.

Histórico derivado, não duplicado

O histórico de mensagens que o modelo vê é projetado a partir do log de eventos, em vez de mantido ao lado como uma segunda verdade. Essa é a diferença entre um sistema cujos números de custo concordam com sua execução e um em que os dois divergem e ninguém sabe qual está certo.

«Visível ao modelo significa registrado» é a única regra que torna possível reconstruir custo. Sem ela, todo número de atribuição é uma estimativa com margem de erro desconhecida.

O que construir em cima

  1. Junte step/start e step/end para formar spans de passo: a unidade contra a qual você reportará custo.
  2. Anexe request/context (provedor, modelo, janela de contexto) e o preço a partir do uso do chunk a cada span.
  3. Conte o fan-out de tool/call por passo: a ramificação de ferramentas é o motivo habitual de um turno passar a custar dez vezes mais.
  4. Observe a distribuição de TurnEndReason. Turnos abortados e truncados são trabalho pago sem resultado, e são a primeira métrica que você não tem sem um log.

Related


Want this applied to your own LLM spend? FinOps LLM runs a free audit of your AI costs and shows where the savings are. Book free audit →

Back to research