Wo Ausgaben-Leitplanken in DeepSeek Harness hingehören
Updated August 16, 2026 · first published August 16, 2026
Ein Agent, der sein Budget erst aus der Monatsrechnung erfährt, hat kein Budget. Er hat einen Post-mortem-Bericht. Die nützliche Frage an jedes Harness lautet: Wo kann man sich in die Schleife stellen und Nein sagen? DeepSeek Harness beantwortet das mit zwei benannten Waterfall-Erweiterungspunkten.
Zuerst die Form der Schleife
Das Harness nutzt ein Zug-und-Schritt-Modell. Ein Schritt ist eine Modellanfrage plus die Werkzeugaufrufe, die sie erzeugt. Ein Zug enthält null oder mehr Schritte. Der Ablauf eines Zuges lautet grob: Eingabe übernehmen, Prompt zusammenbauen, agent/pre-step, LLM-Stream, Werkzeugausführung, Schrittabschluss, Zugabschluss.
Zwei Ereignisströme laufen nebeneinander. session/event trägt dauerhafte Replay-Fakten — Chunks, Nachrichten, Werkzeugaufrufe, Ergebnisse. agent/* trägt Live-Koordinationssignale — Status, Inbox, Anfrage-Interception. Leitplanken gehören in den zweiten Strom, die Abrechnung in den ersten.
Abfangpunkt 1: agent/pre-step
Das ist der Kontrollpunkt, bevor die Modellanfrage hinausgeht. Die Dokumentation hält fest, dass die zurückgegebene agent/pre-step-Entscheidung autoritativ ist und dass Listener, die next() umschließen, nachgelagerte Nachrichten erhalten, sofern ein Ersetzen nicht beabsichtigt ist. Genau diese Eigenschaft macht den Hook als Budget-Gate brauchbar: Ein Listener kann einen vorgeschlagenen Schritt ablehnen oder verändern, und die Entscheidung hält.
Was hierher gehört:
- Schrittobergrenzen pro Zug. Der Ausreißer-Fehlermodus ist ein Zug, der nie konvergiert. Eine harte Schrittdecke macht aus einer unbegrenzten Rechnung eine begrenzte.
- Kumulative Token-Budgets. Summieren Sie den bisherigen Verbrauch aus dem Sitzungsprotokoll und verweigern Sie den nächsten Schritt jenseits der Schwelle.
- Modell-Downshift. Schreiben Sie den Schritt auf eine günstigere Route um, sobald ein Zug eine weiche Schwelle überschritten hat, statt ihn rundweg abzulehnen.
- Kontextgrößen-Limits. Der Prompt wird vor diesem Hook zusammengebaut, die fertige Anfrage ist hier also sichtbar und messbar.
Abfangpunkt 2: tools/pre-execute
Die Werkzeugausführung ist eine dreiphasige Pipeline. Zuerst läuft der tools/pre-execute-Waterfall, dann die monotonen Guards, und erst danach der Werkzeugrumpf — sandboxed, mit Dateisystem-Gatekeeping. Anschließend kann ein Post-execute-Waterfall das Ergebnis annehmen, blockieren, ersetzen oder um Kontext ergänzen, und ToolDefinition.finalizeContent setzt Inhaltsinvarianten synchron durch.
Die Berechtigungsschicht ist bewusst asymmetrisch. Registrierte monotone Guards verweigern oder enthalten sich, mit geschützter Identität — sie gewähren nie. Verweigert ein Guard, oder fehlt der One-Shot-Prompt von ctx.approval beziehungsweise bleibt er unbeantwortbar, ist das Ergebnis Verweigerung und der Werkzeugrumpf wird übersprungen. Fail closed, nicht fail open.
Dateisystem-Mutationen sind separat abgesichert: Nur fs/write-intent- oder fs/edit-intent-Mutationen kommen durch. Schreibvorgänge sind kein beiläufiger Nebeneffekt eines laufenden Werkzeugs.
Zwei Eigenschaften machen diese Pipeline als Kontrollpunkt vertrauenswürdig: Guards können nur verweigern, und ein unbeantwortbarer Freigabe-Prompt verweigert. Die meisten selbstgebauten Policy-Schichten für Agenten fallen offen aus, wenn der Freigabekanal fehlt — also genau dann, wenn man sie gebraucht hätte.
Was die Pipeline aufzeichnet
Drei Sitzungsereignisse ergeben den Prüfpfad: tool/call vor der Ausführung, tool/code-dispatch für Unteraufrufe und tool/result als endgültiges, autoritatives Ergebnis. Dass Unteraufrufe separat protokolliert werden, ist wichtig — ein einzelner modellsichtbarer Werkzeugaufruf, der sich intern auffächert, verbirgt sein Fan-out nicht.
Ein praxistauglicher Leitplankensatz
| Kontrolle | Hook | Verhindert |
|---|---|---|
| Maximale Schritte pro Zug | agent/pre-step | Nicht konvergierende Schleifen |
| Kumulative Token-Obergrenze | agent/pre-step | Schleichende Mehrausgaben |
| Route-Downshift ab Schwelle | agent/pre-step | Frontier-Preise für billige Arbeit |
| Werkzeug-Allowlist nach Kostenklasse | Monotoner Guard | Teure Werkzeuge in billigen Kontexten |
| Subprozess- und Netzwerksperre | ctx.sandbox-Policy | Ungemessenen Egress |
| Write-Intent-Gating | ctx.fs-Naht | Ungeprüfte Änderungen |
Der Vorbehalt
DeepSeek Harness ist im Developer Preview und die eigene README warnt vor kompatibilitätsbrechenden Änderungen. Diese Hook-Namen und -Semantiken sind der heute dokumentierte Stand; behandeln Sie dagegen gebaute Leitplanken-Plugins als Code, den Sie erneut anfassen werden, und pinnen Sie die Version, gegen die Sie gebaut haben.
Related
- Was ist DeepSeek Harness? Der Leitfaden
- Das Sitzungsprotokoll als Kostennachweis (EN)
- Alles ist ein Plugin: die Architektur (EN)
- Ausgaben-Leitplanken für Agenten (EN)
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 →