Quick answer: La mayoría de stacks de agentes atornillan el seguimiento de coste a posteriori: un wrapper alrededor de la llamada al modelo que escribe tokens en un sistema aparte que, con el tiempo, se separa de...

El registro de sesión de DeepSeek Harness como registro de costes

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

La mayoría de stacks de agentes atornillan el seguimiento de coste a posteriori: un wrapper alrededor de la llamada al modelo que escribe tokens en un sistema aparte que, con el tiempo, se separa de la realidad. DeepSeek Harness lo hace al revés. El registro de sesión es el artefacto primario y el uso de tokens vive dentro de él.

La sesión es un log de eventos append-only

Una sesión es una secuencia ordenada y solo-anexable de entradas SessionEvent tipadas. Cada evento lleva cuatro campos:

CampoQué significa
typeLa clase de evento, por ejemplo assistant/message
seqNúmero de secuencia monótono dentro de la sesión
timeMarca de tiempo
dataLa carga útil específica del tipo

Los eventos de superficie (lo que una interfaz muestra) añaden dos campos más: sourceEventSeqs, que apunta de vuelta a los eventos crudos de los que se derivaron, y surfaceOp. Esos punteros son la razón por la que una cifra de coste puede rastrearse hasta exactamente los eventos que la produjeron.

Los eventos que le importan a un modelo de coste

La regla rectora de la documentación es: lo visible para el modelo queda registrado. Todo lo que entra en el contexto del modelo deja un evento. Eso hace el log completo por construcción, en vez de completo mientras nadie olvide instrumentarlo.

El uso viaja con la salida

El uso de tokens no se escribe en un canal lateral: viaja con la salida a la que pertenece. Prefiera los chunks de uso (assistant/chunk con { type: 'usage' }) porque están lo más cerca posible de lo que el proveedor facturó realmente; recurra a assistant/message.usage cuando no haya chunk. Un modelo de coste que lea así nunca puede atribuir una cifra a un paso que no la generó.

Historia derivada, no duplicada

El historial de mensajes que ve el modelo se proyecta desde el log de eventos en vez de mantenerse al lado como una segunda verdad. Esa es la diferencia entre un sistema cuyas cifras de coste concuerdan con su ejecución y uno donde ambas divergen y nadie puede decir cuál tiene razón.

«Lo visible para el modelo queda registrado» es la única regla que hace posible reconstruir el coste. Sin ella, toda cifra de atribución es una estimación con una barra de error desconocida.

Qué construir encima

  1. Una step/start con step/end para formar spans de paso: la unidad contra la que reportará coste.
  2. Adjunte request/context (proveedor, modelo, ventana de contexto) y el precio a partir del uso del chunk a cada span.
  3. Cuente el fan-out de tool/call por paso: la ramificación de herramientas es la razón habitual de que un turno cueste de pronto diez veces más.
  4. Vigile la distribución de TurnEndReason. Los turnos abortados y truncados son trabajo pagado sin resultado, y son la primera métrica que no tiene sin un 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