# Budgeted Reads (budgetiertes Lesen)

*Eine Datei als Gliederung, Abschnitt, Zeilenbereich oder vollständig lesen, abgestuft, damit sie ins Budget passt.*

> **Budgeted Reads** sind Lesezugriffe, die in einem Token-Budget gemessen werden: Dieselbe Datei lässt sich in unterschiedlicher Detailtiefe lesen, von der Gliederung und dem Abschnitt bis zum Zeilenbereich und dem vollen Text. Der Agent bittet um „die beste Ansicht, die in N Token passt“ und erhält Belegzeiger auf die genaue Quelle zurück.

**AN-08** · Konformitätsstufe: L2 Memory · Gruppe: Wissen

## Das Problem

Agenten verbrennen ihren Kontext an ganzen Dateien und wiederholten Lesezugriffen, und naives RAG-Chunking verliert Struktur. Modelle sind bereits gut in `grep`, `tail` und zeilenweisem Lesen: Cursor schreibt zu lange Tool-Ausgaben in Dateien, die Agenten bei Bedarf lesen, und bei Ausführungen, die ein MCP-Tool aufriefen, senkte die [dynamische Entdeckung](https://cursor.com/blog/dynamic-context-discovery) von Tool-Beschreibungen die Gesamtzahl der Token um 46,9 %.

Das Problem ist also nicht, „noch ein Retrieval-System zu bauen“, sondern dem Lesen auf Dateien einen **budgetierten, überprüfbaren** Vertrag zu geben.

## So funktioniert es

- **Zuerst Dateien.** Standardlesezugriffe (auch auf Zeilenbereiche) sind immer verfügbar; Budgeted Reads ist eine optionale Erweiterung obendrauf und ersetzt das Dateisystem nicht.
- **Deterministische Gliederungen (kostenlos):** der Überschriftenbaum von Markdown, Code-Symbole (tree-sitter), Schlüssel von JSON und YAML, Kopfzeilen und Zeilenanzahl von CSV. Ein LLM ist dafür nicht nötig.
- **Budget und Abstufung.** Eine Anfrage trägt `budget_tokens`; passt es nicht, wird auf eine gröbere Ansicht abgestuft **statt stillschweigend abzuschneiden**; die Antwort nennt die tatsächliche Ansicht, die Token-Zahl und ob sie `generated` ist.
- **Die Suche liefert Ausschnitte und Zeiger,** keine ganzen Dateien.
- **Belegzeiger:** `nas://<node>/<tree>/<path>@<commit>#L12-L18`, stabil und gegen einen Commit überprüfbar; `dereference` liefert den genauen Inhalt.
- **Was sich seit dem letzten Mal geändert hat:** liefert den Diff zwischen zwei Commits statt der ganzen Datei.
- **Eine optionale LLM-Zusammenfassungsschicht:** als Cache, mit `generated: true` markiert und mit einer Veraltungsmarkierung.

## Klein anfangen

- Fügen Sie nichts über `nas_read` hinaus hinzu: Lassen Sie den Agenten auf die alte Art lesen, mit `rg` und `sed -n`.
- Ergänzen Sie dann ein kleines Gliederungswerkzeug für Markdown und Code.
- Beginnen Sie Belegzeiger als „Pfad@Commit#Zeile“; ein neuer Dienst ist nicht nötig.

## Schnittstellenskizze

Nur zur Veranschaulichung. Feldnamen können sich vor der Spezifikation v0.3 ändern.

*POST /v1/files/read*

```http
POST /v1/files/read
{ "path": "/agents/cleo/memory/notes/customer-acme.md",
  "view": "outline", "budget_tokens": 400 }

200 OK
{ "view": "outline", "tokens": 212, "generated": false, "truncated": false,
  "content": "# Acme\n## Renewal (L12-L18)\n## Contacts (L19-L31)\n## Open issues (L32-L40)",
  "evidence": [
    { "pointer": "nas://home-box/agents/cleo/memory/notes/customer-acme.md@9f2c1de#L1-L40" }
  ] }
```

## Was die Spezifikation verlangt

- Eine Antwort MUSS die tatsächlich gelieferte Ansicht und ihre Token-Zahl nennen; generative Ansichten MÜSSEN markiert sein.
- Ist das Budget zu klein, MUSS das NAS auf eine gröbere Ansicht abstufen und DARF NICHT stillschweigend abschneiden.
- Standard-Dateilesezugriffe (auch auf Bereiche) MÜSSEN verfügbar bleiben.
- Belegzeiger MÜSSEN gegen einen Commit überprüfbar sein.
- Die Suche MUSS standardmäßig Ausschnitte und Zeiger statt ganzer Dateien liefern.

## Was übernommen ist und was neu ist

Schrittweises Offenlegen und grep sind an sich nicht neu. **Neu ist:** Budgets und Belegzeiger zu einem **Lesevertrag auf der Speicherebene** zu machen, sodass sich Antworten überprüfen lassen: Man kommt von einem Satz zurück zu den Zeilen des Commits, aus denen er stammt.

- [Cursor: dynamic context discovery](https://cursor.com/blog/dynamic-context-discovery)
- [Agent Skills (progressive disclosure)](https://agentskills.io/specification)
- [Letta Context Repositories](https://www.letta.com/blog/context-repositories/)
- [RAPTOR](https://arxiv.org/abs/2401.18059)

## Ehrliche Grenzen

- Tokenizer unterscheiden sich zwischen Modellen, daher sind Token-Zahlen Schätzungen.
- Es funktioniert nur, wenn Clients es übernehmen.
- Zusammenfassungen veralten und können falsch sein, daher sind sie nur ein Cache und immer markiert.

## Offene Fragen

- Wie soll der Budgetfehler über unterschiedliche Modell-Tokenizer hinweg behandelt werden?
- Wie wird die Qualität von Zusammenfassungen bewertet?

## Fragen

### Wie unterscheidet sich das von RAG?

RAG liefert die Ausschnitte, die einer Frage am nächsten sind. Budgeted Reads lässt einen Leser die Detailtiefe für ein Objekt wählen, das er schon kennt, stuft ehrlich ab, wenn das Budget knapp ist, und liefert überprüfbare Zeiger. Beides lässt sich stapeln: Suchergebnisse können ebenfalls als budgetierte Ansichten zurückkommen.

### Muss ich es nutzen, um Dateien zu lesen?

Nein. Mounts und Git geben Ihnen immer gewöhnliche Dateien; Budgeted Reads ist ein optionales Lesen für Agenten, denen Token wichtig sind.

### Kann ein Belegzeiger „erfundene Zitate“ verhindern?

Er macht Zitate überprüfbar: Ein Zeiger nennt bestimmte Zeilen in einem Commit, und sein Inhalts-Hash lässt sich verifizieren. Er hindert ein Modell nicht daran, etwas zu erfinden, aber er macht aus „Gibt es die zitierte Passage tatsächlich?“ eine maschinelle Prüfung.

## Verwandte Konzepte

- [Agent Memory (Agentengedächtnis)](https://agentnas.com/de/concepts/agent-memory/): Notizen, die Sie lesen und bearbeiten können, sind die Wahrheit. Indizes sind ein Cache, den Sie wegwerfen können.
- [Agent Home (Home-Verzeichnis)](https://agentnas.com/de/concepts/agent-home/): Ein Verzeichnis pro Rolle, mit Verlauf. Gewöhnliche Dateien, die Sie mitnehmen können.
- [Flight Recorder (Flugschreiber)](https://agentnas.com/de/concepts/flight-recorder/): Ein Protokoll pro Ausführung, per Hash verkettet, das auch festhält, was gelesen wurde.

---

Kanonische URL: https://agentnas.com/de/concepts/budgeted-reads/
Aktualisiert am: 2026-11-11 · Spezifikationsentwurf v0.2 · CC BY 4.0
