Appearance
Contexte, compaction et mémoire
Sur cette page
Le budget de contexte
Avant chaque appel modèle, Marexcode calcule le budget disponible :
budget = fenêtre du modèle − réserve de sortie − prompt systèmeLa fenêtre vient des capacités du modèle (découverte, défauts connus ou votre override). Sans fenêtre connue, pas de devinette : l'historique complet est conservé et la compaction automatique ne se déclenche pas.
Compaction automatique
Quand l'historique atteint 65 % du budget (seuil réglable via compactAt, utilisé tel quel) :
- Coupure — uniquement sur un message utilisateur, hors échange d'outils en cours. Les messages récents et leurs outils restent intacts. Si aucune coupe ne ramène sous la cible, rien n'est compacté.
- Résumé — produit par le modèle configuré (sans outils, 1 200 tokens max, température 0.1), réinjecté en tête sous
[Earlier conversation summary]. Le prompt système reste toujours le premier message. - Échec propre — si le résumé échoue ou revient vide : pas de compaction, nouvel essai au tour suivant.
Conditions : autoCompress activé, au moins 6 messages, fenêtre de contexte connue. /compact force la compaction manuellement ; /status affiche le seuil.
Omissions relisibles
Tout payload d'outil de plus de 600 caractères est remplacé dans l'historique par un marqueur :
[omitted omitted-003: tool output, 12 480 chars — retrieve with ReadOmittedContent content_id="omitted-003"]Le contenu intégral reste accessible via l'outil ReadOmittedContent : 200 000 caractères max par entrée, aperçu de 200 caractères, rétention 30 jours (MAREX_MEMORY_RETENTION_DAYS). Les sorties sont aussi plafonnées à ~4 % de la fenêtre dès l'exécution.
Mémoire long terme
| Fichier | Portée |
|---|---|
MAREX.md (racine) | Instructions du projet (Rules) |
~/.marex/memory/<projet>/MEMORY.md | Mémoire long terme, alimentée à chaque compaction |
~/.marex/memory/<projet>/ omissions | Sorties d'outils conservées 30 jours |
Bornes : MEMORY.md plafonné à 1,5 Mo ; seuls ~4 000 caractères (ou 2 % de la fenêtre) sont réinjectés dans le prompt système.
text
> /memoryAffiche ce qui est stocké. /memory clear vide MEMORY.md (les omissions conservées ne sont pas purgées).
Coût et usage
Chaque tour affiche inp / out / cache (tokens) et le coût estimé. L'estimation locale des tokens est approximative : elle sert à décider d'une compaction, pas à facturer.
| Commande | Effet |
|---|---|
/usage | Consommation détaillée par tour, dans le terminal |
/usage web | Dashboard local sur http://127.0.0.1:8787/ (loopback uniquement) |
/metrics | Dashboard LLM/outils : tokens, coût, erreurs, latence |
Données stockées dans .marex/ : usage.jsonl (une ligne par tour) + usage.db (index SQLite, repli JSONL si indisponible).