01
Por que cortar por idade perde o que importa
A janela deslizante, manter só os últimos N turnos, é a compressão mais barata e a mais enganosa. Ela assume que a mensagem mais recente é sempre a mais importante, e isso é falso numa conversa real. O cliente diz o número do pedido no segundo turno e volta a falar dele no vigésimo; a decisão de trocar o produto foi tomada no meio e precisa valer até o fim; a instrução de sistema que define o tom do bot está no começo de tudo. Cortar por idade descarta esses trechos justamente porque eles são antigos, sem olhar se ainda são necessários. O resultado é um bot que parece ter amnésia: ele responde bem os últimos turnos e comete erros grosseiros sobre fatos que a própria conversa já estabeleceu, porque o fato saiu da janela sem que ninguém verificasse se ele ainda era preciso.
A idade de um turno não mede o seu sinal. Um "ok, obrigado" recente ocupa espaço e não carrega quase nada; a definição do escopo do pedido, dita há muitos turnos, carrega o fio inteiro da conversa. Compressão por idade trata os dois igual, e é por isso que ela quebra. A compressão que preserva sinal separa duas perguntas que a janela deslizante confunde numa só: o que é recente e o que é importante. Nem todo recente é importante, e o mais grave, nem todo importante é recente. Uma vez que você aceita que essas duas perguntas são diferentes, fica claro que a régua do corte não pode ser o relógio, tem que ser o sinal.
| Estratégia | Régua do corte | O que quebra |
|---|---|---|
| Janela deslizante (últimos N) | Idade do turno | Perde fato antigo ainda necessário, mantém turno recente vazio |
| Corte por token bruto | Estourou o limite, trunca no meio | Corta frase pela metade, separa pergunta da resposta |
| Compressão por sinal | Importância do turno, não idade | Custa um resumo, exige classificar o que preservar |