Skip to content

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ème

La 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) :

  1. 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é.
  2. 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.
  3. É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 ​

FichierPortée
MAREX.md (racine)Instructions du projet (Rules)
~/.marex/memory/<projet>/MEMORY.mdMémoire long terme, alimentée à chaque compaction
~/.marex/memory/<projet>/ omissionsSorties 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
> /memory

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

CommandeEffet
/usageConsommation détaillée par tour, dans le terminal
/usage webDashboard local sur http://127.0.0.1:8787/ (loopback uniquement)
/metricsDashboard 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).