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

Budgeted Reads budgetiertes Lesen

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

Definition

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.

v0.2 Spezifikationsentwurf Aktualisiert am

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 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
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.

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.

Diese Seite zitieren

Stabile Adressen und ein Zitiervorschlag für Menschen, Suchmaschinen und Agenten.

Zitiervorschlag
Agent NAS project. “Budgeted Reads (budgetiertes Lesen).” agentnas.com, 2026-11-11. https://agentnas.com/de/concepts/budgeted-reads/