Pular para o conteúdo principal
Modelos de linguagem leem datas bem e contam mal: quantos dias entre 14 de março e 17 de abril, que dia foi o sábado passado, quanto é três semanas antes do dia 5. O @date responde isso pelo calendário, não de cabeça. Todo verbo é puro, offline e somente leitura: nenhum arquivo, rede ou credencial é tocado, e a ferramenta roda em paralelo com outras. Ele conta a partir da data atual, que o CHATCLI_NOW fixa para uma execução inteira, então uma conversa reproduzida do passado lê “sábado passado” contra o dia certo.
As datas são lidas como 2023-03-14, 2023/03/14, 2023-03-14 18:11, RFC 3339 ou a forma que o @session imprime (2023-03-14 (Tue) 18:11); today e now valem a data atual.

O que as respostas dizem

O diff informa dias de calendário (a data posterior menos a anterior, ignorando a hora), então uma sessão salva dia 15 às 18:11 e uma pergunta dia 18 à 01:48 estão a 3 dias, mesmo com 55 horas decorridas:
O resolve diz a regra que usou. “Last Saturday” é o último sábado estritamente antes da data de referência, e “next Friday” a primeira sexta estritamente depois; expressões maiores que uma semana (“3 weeks ago”) vêm marcadas como aproximadas, porque as pessoas querem dizer os dias em volta.

Notas

  • Deslocamentos são limitados a ±100 000 unidades; uma data inválida ou uma expressão desconhecida é um erro que diz o que se esperava, nunca um chute.
  • Os verbos também aceitam argumentos planos ({"from":"2023-04-01","to":"2023-04-22"} é um diff).
  • A orientação de memória dada ao agente manda usar o @date em vez de contar dias por conta própria; veja Memória.