compaction: decider sur le VRAI decompte de tokens (ctx_used du client) au lieu de l'estimation

L'heuristique ~4 char/token sous-estimait le contexte (elle ne voit ni le prompt
systeme injecte ni le gabarit de chat), donc le seuil 75% n'etait jamais franchi.
Le client envoie desormais ctx_used (prompt_tokens_total deja affiche) ; repli sur
l'estimation quand inconnu (terminal).
This commit is contained in:
nathaninline committed 2026-07-21 16:18:50 +02:00
1 parent e6c0bbe3b7
commit 2daea32ade
4 files changed
+20 -5

No files matched your search

+1 -1
View File
@@ -69,7 +69,7 @@ func cmdChat(args []string) error {
caps := globalCaps()
// Compaction proactive (façon Hermes) : on résume les vieux tours quand
// l'historique dépasse le seuil, au lieu d'imposer un /reset.
if compacted, changed := MaybeCompact(context.Background(), msgs, caps); changed {
if compacted, changed := MaybeCompact(context.Background(), msgs, caps, 0); changed {
msgs = compacted
fmt.Println(dim("[contexte compacté pour tenir dans la fenêtre]"))
}