Nota: entender tokens ajuda você a projetar agentes mais rápidos, estáveis e baratos para operar em escala. Veja: Preços
O que é um token
Um token é uma unidade de texto que o modelo processa. Ele não tem correspondência 1:1 com “uma palavra”: pode ser uma palavra completa ou um fragmento. Em uma execução típica, você consome tokens para:- Entrada: a mensagem do usuário + a instrução do agente + o contexto que você injeta.
- Saída: a resposta do modelo.
- Ferramentas e nós: por exemplo, quando um nó busca dados (como um JSON) e esses dados são usados como contexto.
A regra mental: tokens = combustível
1) Mais peso, mais consumo
Se o seu agente carrega muitas instruções, exemplos, regras redundantes ou dados desnecessários, o prompt “pesa” mais. Causas comuns:- Você escreve instruções longas ou repetidas.
- Você inclui muito histórico ou informações “copiadas e coladas” no contexto.
- Você recebe respostas de ferramentas com payloads grandes.
2) Quanto mais longe você vai, mais gasta
Conversas com muitas rodadas tendem a acumular contexto útil… e às vezes ruído também. Se o seu fluxo depende de histórico longo, considere:- Resumir ou normalizar informações-chave.
- Salvar apenas o que você precisa para o próximo passo (não o chat inteiro).
3) O modelo também importa
Modelos “maiores” ou mais capazes tendem a ser mais caros de executar. Em geral:- Use um modelo especializado ou leve para tarefas simples (roteamento, validações, extração).
- Reserve um modelo mais capaz para raciocínio complexo ou geração mais rica.
O que normalmente impulsiona o consumo em um fluxo
- Prompts extensos (especialmente se incluírem texto repetido).
- Integrações/APIs que retornam muito conteúdo (catálogos enormes, logs, JSONs não filtrados).
- Variáveis persistidas sem critério que você inclui novamente em cada etapa.
- Respostas longas quando o usuário precisa apenas de uma saída curta/estruturada.
Sinais de alerta
Se você notar algum desses sintomas, provavelmente está consumindo mais tokens do que o necessário:| Sintoma | Causa provável | Solução |
|---|---|---|
| Alta latência (>5s) | Contexto muito grande | Reduza o histórico, filtre os dados |
| Respostas truncadas | Limite de saída atingido | Solicite respostas mais curtas ou estruturadas |
| Erro “context length exceeded” | Entrada ultrapassa o limite | Reduza instruções ou contexto |
| Respostas inconsistentes | Muito ruído no prompt | Limpe e priorize informações relevantes |
| Custos inesperados | Tokens de ferramenta/API | Filtre as respostas de integração |
Exemplo: antes vs depois
- Antes (pesado)
- Depois (otimizado)
Boas práticas para otimizar (sem perder qualidade)
Faça prompts “enxutos”
Um bom prompt tende a ser:- Breve
- Com regras claras
- Sem exemplos desnecessários
- Com formato de saída explícito (quando aplicável)
Decida onde cada dado vive: Contexto vs Memória
Nem tudo precisa persistir.- Contexto: vive apenas durante a execução atual. Use para cálculos temporários e etapas intermediárias. Veja: Contexto
- Memória: persiste entre conversas/skills com um controle de tempo de vida (TTL). Use para dados que você realmente reutiliza (ex.: preferências ou identificadores). Veja: Memória
Limite as informações que você traz das ferramentas
Se você usa APIs, filtre desde a origem:- Solicite apenas os campos necessários.
- Pagine os resultados.
- Evite buscar blobs ou catálogos completos “por precaução”.