๐ฐ Economia de Tokens
Cada token custa dinheiro. Um prompt verboso pode custar 3-5x mais que um prompt conciso com a mesma qualidade de resultado. Otimizar tokens e essencial para operacoes em escala โ a diferenca entre um projeto viavel e um inviavel pode estar na eficiencia do prompt.
๐ Tecnicas de Reducao
1. Elimine redundancia: Dizer "resuma o texto de forma breve e concisa" โ "breve" e "concisa" sao redundantes. Use apenas "resuma".
2. Use abreviacoes contextuais: Em contextos tecnicos, "API REST" basta โ nao precisa de "Application Programming Interface baseada em Representational State Transfer".
3. Comprima instrucoes: "Responda em JSON com campos: nome, idade, cidade" em vez de explicar cada campo em uma frase separada.
4. Reutilize system prompts: Instrucoes que se repetem em toda chamada devem ir no system prompt (que pode ser cacheado).
๐ Impacto no Custo
- 1.000 chamadas/dia com prompt de 500 tokens: ~$0.75/dia (GPT-4 input)
- Mesmo resultado com prompt de 200 tokens: ~$0.30/dia โ economia de 60%
- Em 1 ano: Diferenca de ~$164 para uma unica tarefa. Multiplique por dezenas de tarefas e equipes.
- Ferramentas: Use tokenizers como tiktoken (OpenAI) ou a API de contagem do seu provedor para medir antes e depois.
โก Latencia vs Qualidade
Existe um trade-off fundamental entre velocidade e qualidade. Modelos maiores produzem respostas melhores mas sao mais lentos e caros. A escolha depende do caso de uso: um chatbot precisa de velocidade; uma analise juridica precisa de qualidade.
๐ก Estrategias de Otimizacao
Modelo escalonado: Use modelos menores para triagem e modelos maiores para tarefas complexas.
Streaming: Envie tokens conforme sao gerados โ o usuario percebe a resposta como mais rapida mesmo que o tempo total seja igual.
Paralelismo: Divida uma tarefa grande em sub-tarefas e execute em paralelo com modelos menores.
Pre-processamento: Filtre e prepare o contexto antes de enviar ao LLM โ menos input = resposta mais rapida.
โ๏ธ Benchmarks por Caso de Uso
- โขChatbot interativo: Latencia < 2s, modelo medio, streaming obrigatorio
- โขClassificacao de tickets: Latencia < 5s, modelo pequeno, batch processing
- โขAnalise de contrato: Latencia < 30s aceitavel, modelo grande, qualidade maxima
- โขGeracao de relatorio: Latencia < 60s aceitavel, modelo grande, contexto extenso
๐๏ธ Compressao de Contexto
Quando o contexto e longo demais para a janela do modelo, voce precisa comprimir sem perder informacao relevante. Existem varias estrategias, cada uma com trade-offs de fidelidade e custo.
๐ Estrategias de Compressao
Sumarizacao hierarquica: Resuma documentos longos em camadas โ primeiro paragrafos, depois secoes, depois o documento inteiro. Envie o resumo + trechos relevantes.
Chunking + retrieval: Divida o documento em chunks de 500-1000 tokens, indexe com embeddings, e recupere apenas os chunks relevantes para a pergunta.
Sliding window: Para conversas longas, mantenha as ultimas N mensagens + um resumo do historico anterior.
Map-reduce: Processe cada chunk independentemente (map), depois consolide os resultados (reduce). Ideal para extracao de dados de documentos extensos.
โ ๏ธ Riscos da Compressao
Toda compressao perde informacao. Resumos podem omitir detalhes criticos. Chunking pode separar contexto que deveria estar junto. Sempre valide: "A informacao necessaria para responder a pergunta esta presente no contexto comprimido?" Se nao, ajuste a estrategia.
๐พ Caching de Prompts
Se voce faz a mesma pergunta (ou perguntas similares) repetidamente, cachear respostas pode reduzir drasticamente custo e latencia. O desafio e definir quando um cache e valido e quando deve ser invalidado.
โ Caching Exato
- โHash do prompt como chave de cache
- โ100% de precisao โ mesma entrada, mesma saida
- โSimples de implementar com Redis ou similar
- โIdeal para classificacoes, traducoes fixas
๐ Caching Semantico
- ~Embeddings do prompt como chave (similaridade)
- ~Perguntas similares retornam cache do vizinho mais proximo
- ~Threshold de similaridade ajustavel (0.90-0.95)
- ~Ideal para FAQs, suporte ao cliente
๐ก Invalidacao e TTL
Cache sem invalidacao e perigoso โ dados desatualizados podem causar erros. Defina TTL (Time-To-Live) baseado na volatilidade dos dados: informacoes estaticas (TTL longo), precos e estoque (TTL curto), dados em tempo real (sem cache). Invalide o cache quando o modelo ou o prompt mudar.
๐ Metricas de Performance
Voce nao pode otimizar o que nao mede. Defina metricas claras para acompanhar o desempenho dos seus prompts em producao: custo, latencia, qualidade e taxa de erro.
๐ Dashboard de Metricas
Custo por tarefa: Total de tokens (input + output) x preco por token. Acompanhe media diaria e tendencia.
Latencia P50/P95/P99: Tempo de resposta em percentis. P95 > 10s pode indicar problemas.
Taxa de sucesso: % de respostas que passam na validacao (formato correto, conteudo relevante).
Qualidade por dolar: Score de qualidade (humano ou automatico) dividido pelo custo. A metrica mais importante.
Taxa de cache hit: % de requisicoes servidas pelo cache. Meta: > 30% para tarefas repetitivas.
๐ Alertas e Otimizacao Continua
- Alerta de custo: Notifique quando o custo diario exceder o orcamento em 20%.
- Alerta de qualidade: Se a taxa de sucesso cair abaixo de 90%, investigue imediatamente.
- Alerta de latencia: P95 acima do SLA definido dispara revisao do prompt ou modelo.
- Revisao semanal: Analise os prompts mais caros e com menor qualidade. Otimize os top 3 por impacto.
๐งช Exercicio: Otimizar um Prompt
Pegue um prompt verboso e aplique as tecnicas deste modulo para reduzir 50% dos tokens mantendo 95% da qualidade.
๐ Tarefa do Exercicio
Prompt original (verboso):
"Eu gostaria que voce, por favor, analisasse o seguinte texto que vou fornecer abaixo e fizesse um resumo detalhado e abrangente do mesmo. O resumo deve ser completo e cobrir todos os pontos principais. Alem disso, gostaria que voce tambem identificasse e listasse os pontos-chave mais importantes do texto. Por favor, formate a resposta usando Markdown com headers e bullet points para facilitar a leitura."
Passo 1 โ Baseline: Conte os tokens do prompt original. Execute e avalie a qualidade (1-10).
Passo 2 โ Compressao: Reescreva eliminando redundancia, mantendo a intencao. Meta: 50% menos tokens.
Passo 3 โ Teste: Execute o prompt otimizado e compare a qualidade com o baseline.
Passo 4 โ Iteracao: Se a qualidade caiu > 5%, adicione de volta as instrucoes que faziam diferenca.
Resultado esperado: um prompt como "Resuma o texto abaixo. Formato: Markdown com headers e bullets. Inclua: pontos-chave." โ mesma qualidade, metade dos tokens.
๐ Resumo do Modulo
Proxima Trilha:
Trilha 3 โ Avancado: guardrails, tool schemas, RAG, seguranca e arquiteturas de agentes