AN-08 L2 Niveau de conformité : Memory Groupe : Connaissance
Budgeted Reads lectures avec budget
Lire un fichier sous forme de plan, de section, de plage de lignes ou en entier, avec dégradation pour tenir dans le budget.
Budgeted Reads désigne des lectures mesurées dans un budget de tokens : un même fichier peut être lu à différents niveaux de détail, du plan et de la section à la plage de lignes et au texte intégral. L’agent demande « la meilleure vue qui tient dans N tokens » et reçoit en retour des pointeurs de preuve vers la source exacte.
Le problème
Les agents brûlent leur contexte sur des fichiers entiers et des lectures répétées, et le découpage naïf de RAG perd la structure. Les modèles sont déjà bons avec grep, tail et la lecture par lignes : Cursor écrit dans des fichiers les sorties d’outils trop longues pour que les agents les lisent à la demande, et dans les exécutions qui ont appelé un outil MCP, la découverte dynamique des descriptions d’outils a réduit le total de tokens de 46,9 %.
Le problème n’est donc pas de « construire un autre système de récupération », mais de donner à la lecture au-dessus des fichiers un contrat avec budget et vérifiable.
Fonctionnement
- Les fichiers d’abord. Les lectures standard (y compris par plages de lignes) sont toujours disponibles ; Budgeted Reads est une extension facultative par-dessus et ne remplace pas le système de fichiers.
- Plans déterministes (gratuits) : l’arbre des titres de Markdown, les symboles de code (tree-sitter), les clés de JSON et YAML, les en-têtes et le nombre de lignes de CSV. Aucun LLM n’est nécessaire.
- Budget et dégradation. Une requête porte
budget_tokens; si cela ne tient pas, elle se dégrade vers une vue plus grossière au lieu de tronquer en silence ; la réponse indique la vue réelle, le nombre de tokens et si elle estgenerated. - La recherche renvoie des extraits et des pointeurs, pas des fichiers entiers.
- Pointeurs de preuve :
nas://<node>/<tree>/<path>@<commit>#L12-L18, stables et vérifiables par rapport à un commit ;dereferencerenvoie le contenu exact. - Ce qui a changé depuis la dernière fois : renvoie le diff entre deux commits au lieu du fichier entier.
- Une couche facultative de résumés par LLM : en tant que cache, marquée
generated: trueet avec un marqueur de péremption.
Commencer petit
- N’ajoutez rien d’autre que
nas_read: laissez l’agent lire à l’ancienne, avecrgetsed -n. - Ajoutez ensuite un petit outil de plan pour Markdown et le code.
- Commencez les pointeurs de preuve sous la forme « chemin@commit#ligne » ; aucun nouveau service n’est nécessaire.
Esquisse d’interface
À titre d’illustration seulement. Les noms de champs peuvent changer avant la spécification v0.3.
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" }
] } Ce que demande la spécification
- Une réponse DOIT indiquer la vue réellement renvoyée et son nombre de tokens ; les vues génératives DOIVENT être marquées.
- Quand le budget est trop petit, le NAS DOIT se dégrader vers une vue plus grossière et NE DOIT PAS tronquer en silence.
- Les lectures de fichiers standard (y compris par plages) DOIVENT rester disponibles.
- Les pointeurs de preuve DOIVENT être vérifiables par rapport à un commit.
- Par défaut, la recherche DOIT renvoyer des extraits et des pointeurs plutôt que des fichiers entiers.
Ce qui est emprunté, et ce qui est nouveau
La divulgation progressive et grep ne sont pas nouveaux en soi. Ce qui est nouveau : faire du budget et des pointeurs de preuve un contrat de lecture au niveau du stockage, de sorte que les réponses puissent être vérifiées : on peut remonter d’une phrase aux lignes du commit dont elle provient.
- Cursor: dynamic context discovery
- Agent Skills (progressive disclosure)
- Letta Context Repositories
- RAPTOR
Limites assumées
- Les tokenizers diffèrent d’un modèle à l’autre ; les comptes de tokens sont donc des estimations.
- Cela ne fonctionne que si les clients l’adoptent.
- Les résumés se périment et peuvent être faux ; ils ne sont donc qu’un cache et toujours marqués.
Questions ouvertes
- Comment traiter l’erreur de budget entre les tokenizers de différents modèles ?
- Comment évaluer la qualité des résumés ?
Questions
En quoi est-ce différent de RAG ?
RAG renvoie les extraits les plus proches d’une question. Budgeted Reads laisse un lecteur choisir le niveau de détail pour un objet qu’il connaît déjà, se dégrade honnêtement quand le budget est court et donne des pointeurs vérifiables. Les deux se combinent : les résultats de recherche peuvent aussi revenir sous forme de vues avec budget.
Dois-je l’utiliser pour lire des fichiers ?
Non. Les montages et Git donnent toujours des fichiers ordinaires ; Budgeted Reads est une lecture facultative pour les agents attentifs aux tokens.
Un pointeur de preuve peut-il empêcher les « citations inventées » ?
Il rend les citations vérifiables : un pointeur désigne des lignes précises d’un commit et son hachage de contenu peut être vérifié. Il n’empêche pas un modèle d’inventer, mais il transforme « le passage qu’il cite existe-t-il vraiment ? » en contrôle automatique.
Concepts liés
- Agent Memory (mémoire de l’agent) Des notes que vous pouvez lire et modifier font la vérité. Les index sont un cache que vous pouvez jeter.
- Agent Home (répertoire personnel) Un répertoire par rôle, avec historique. Des fichiers ordinaires que vous emportez.
- Flight Recorder (enregistreur de vol) Un enregistrement par exécution, chaîné par hachage, qui inclut ce que l’exécution a lu.
Citer cette page
Des adresses stables et une citation suggérée, pour les personnes, les moteurs de recherche et les agents.
- URL canonique
- https://agentnas.com/fr/concepts/budgeted-reads/
- Version Markdown
- https://agentnas.com/fr/concepts/budgeted-reads/index.md
- Citation suggérée
- Agent NAS project. “Budgeted Reads (lectures avec budget).” agentnas.com, 2026-11-11. https://agentnas.com/fr/concepts/budgeted-reads/