Quick answer: Die meisten Agenten-Stacks bekommen Kostenverfolgung nachträglich angeschraubt: ein Wrapper um den Modellaufruf, der Tokens in ein separates System schreibt, das dann irgendwann von der Realität...

Das Sitzungsprotokoll von DeepSeek Harness als Kostennachweis

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

Die meisten Agenten-Stacks bekommen Kostenverfolgung nachträglich angeschraubt: ein Wrapper um den Modellaufruf, der Tokens in ein separates System schreibt, das dann irgendwann von der Realität abdriftet. DeepSeek Harness geht anders vor. Das Sitzungsprotokoll ist das primäre Artefakt, und der Token-Verbrauch steckt darin.

Die Sitzung ist ein append-only Ereignisprotokoll

Eine Sitzung ist eine geordnete, nur anhängende Folge typisierter SessionEvent-Einträge. Jedes Ereignis trägt vier Felder:

FeldBedeutung
typeDie Ereignisart, etwa assistant/message
seqMonoton steigende Sequenznummer innerhalb der Sitzung
timeZeitstempel
dataDie typspezifische Nutzlast

Oberflächenereignisse (das, was eine Benutzeroberfläche darstellt) ergänzen zwei weitere Felder: sourceEventSeqs, das auf die Rohereignisse zurückzeigt, aus denen sie abgeleitet wurden, und surfaceOp. Die Rückverweise sind der Grund, warum sich eine Kostenzahl bis zu genau den Ereignissen zurückverfolgen lässt, die sie erzeugt haben.

Die Ereignisse, die ein Kostenmodell interessieren

Der Leitsatz aus der Dokumentation lautet: was für das Modell sichtbar ist, wird protokolliert. Alles, was in den Kontext des Modells gelangt, hinterlässt ein Ereignis. Damit ist das Protokoll per Konstruktion vollständig, statt vollständig zu sein, solange niemand vergisst, es zu instrumentieren.

Verbrauch reist mit der Ausgabe

Der Token-Verbrauch wird nicht in einen Nebenkanal geschrieben, sondern reist mit der Ausgabe, zu der er gehört. Bevorzugen Sie die Usage-Chunks (assistant/chunk mit { type: 'usage' }), weil sie am nächsten an dem sitzen, was der Anbieter tatsächlich abgerechnet hat; fallen Sie auf assistant/message.usage zurück, wenn kein Chunk vorliegt. Ein Kostenmodell, das auf diese Weise liest, kann nie eine Zahl einem Schritt zuordnen, der sie nicht erzeugt hat.

Abgeleitete Historie, keine duplizierte Historie

Der Nachrichtenverlauf, den das Modell sieht, wird aus dem Ereignisprotokoll projiziert, statt daneben als zweite Wahrheit gepflegt zu werden. Das ist der Unterschied zwischen einem System, dessen Kostenzahlen mit seiner Ausführung übereinstimmen, und einem System, in dem beide auseinanderdriften und niemand sagen kann, welches recht hat.

„Modellsichtbar heißt protokolliert“ ist die eine Regel, die eine Kostenrekonstruktion überhaupt möglich macht. Ohne sie ist jede Attributionszahl eine Schätzung mit einem unbekannten Fehlerbalken.

Worauf man darauf aufbauen sollte

  1. Verbinden Sie step/start und step/end zu Schritt-Spans — die Einheit, gegen die Sie Kosten berichten.
  2. Hängen Sie request/context (Anbieter, Modell, Kontextfenster) und den Preis aus dem Chunk-Verbrauch an jeden Span.
  3. Zählen Sie die tool/call-Verzweigung pro Schritt: Werkzeug-Fan-out ist der übliche Grund, warum ein Zug plötzlich das Zehnfache kostet.
  4. Beobachten Sie die Verteilung von TurnEndReason. Abgebrochene und abgeschnittene Züge sind bezahlte Arbeit ohne Ergebnis, und sie sind die erste Kennzahl, die Sie ohne Protokoll nicht haben.

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