Quando usar RAG, fine-tuning ou contexto: o mapa — Blog Beer And Code
Quando usar RAG, fine-tuning ou contexto: o mapa definitivo (e por que seu reflexo de 2026 pode estar errado)
Você já ouviu a frase: “Joga um RAG nisso.” Virou o reflexo padrão de 2026. Cliente quer que o chatbot saiba das políticas internas? RAG. Quer que o modelo responda no tom da empresa? RAG. Quer que ele lembre de um PDF de 12 páginas? RAG de novo.
E na metade das vezes, um bom contexto ou um fine-tuning resolvia melhor, mais barato e com menos peça pra quebrar em produção.
O problema não é o RAG. RAG é uma ferramenta fantástica – a Geração Aumentada por Recuperação é, de longe, o caso de uso de IA generativa mais amplamente adotado entre clientes de plataformas como Databricks. O problema é usá-lo como martelo para todos os pregos. Neste artigo, vamos desenhar um mapa claro de quando usar contexto simples, RAG, fine-tuning e como modelos de contexto longo – como Claude (200k tokens) e GPT-4-turbo (128k) – se encaixam (ou não) nessa equação.
O Mapa da Decisão: Contexto, RAG, Fine-Tuning
A escolha entre as três técnicas depende de três variáveis principais: volume de conhecimento externo, necessidade de personalização de comportamento e restrições de latência/custo. Vamos a cada uma.
1. Contexto (In-Context Learning)
Quando o conhecimento necessário cabe na janela de contexto do modelo (tipicamente 4k a 200k tokens atualmente) e você não precisa alterar o comportamento do modelo, o contexto é a abordagem mais simples. Basta incluir as instruções e os dados relevantes no prompt.
- Quando usar: Respostas pontuais com base em documentação pequena (ex.: FAQ, políticas curtas), tarefas únicas sem necessidade de memória de longo prazo.
- Vantagens: Zero custo de infraestrutura adicional, implementação imediata.
- Limitações: Janela de contexto finita (mesmo com 200k tokens, documentos muito longos degradam a atenção do modelo – estudos mostram queda de desempenho em recuperação no meio da janela), sem persistência entre sessões.
2. RAG (Retrieval-Augmented Generation)
RAG resolve o problema de escala de conhecimento. Quando você precisa que o modelo acesse uma base de documentos que não cabe no contexto (ou que muda constantemente), um pipeline de recuperação – busca semântica, full-text ou híbrida – traz os trechos relevantes na hora.
A busca híbrida (semântica + full-text) é a abordagem mais robusta: embeddings capturam significado, enquanto busca textual pega palavras-chave exatas (como nomes de produtos ou códigos). Ferramentas como LangChain, LlamaIndex e bancos vetoriais (Pinecone, Weaviate, pgvector) tornam isso acessível.
- Quando usar: Chatbots corporativos com milhares de páginas de documentação, assistentes de suporte técnico, sistemas de recomendação baseados em conteúdo.
- Vantagens: Escalabilidade horizontal, atualização em tempo real dos dados, transparência (você pode inspecionar quais documentos foram recuperados).
- Limitações: Complexidade de pipeline (chunking, embeddings, ranking), latência adicional (recuperação + geração), possibilidade de ruído na recuperação.
3. Fine-Tuning
Fine-tuning altera os pesos do modelo para especializá-lo em um domínio, tom ou tarefa específica. É caro e exige curadoria de dados, mas produz um modelo que internaliza o conhecimento.
- Quando usar: Você precisa que o modelo reproduza um estilo de escrita (ex.: tom da marca, linguagem jurídica), respostas consistentes sem depender de recuperação externa, ou tem dados de pares (pergunta-resposta) de altíssima qualidade.
- Vantagens: Latência baixa (sem etapa de recuperação), respostas mais consistentes, menor propensão a alucinações no domínio treinado.
- Limitações: Custo de treinamento (tempo, GPU, dados rotulados), dificuldade de atualização (requer retreinamento), risco de overfitting.
Matriz de Decisão Rápida
| Cenário | Abordagem Recomendada |
|---|---|
| Documentos < 50 páginas, estáticos, baixa variação | Contexto |
| Grande volume de documentos > 100 páginas, dinâmicos | RAG |
| Necessidade de estilo/tom específico, respostas consistentes sem contexto externo | Fine-Tuning |
| Conhecimento muito específico + tom personalizado + volume moderado | RAG + Fine-Tuning (híbrido) |
Modelos de Contexto Longo: O Fim do RAG? (Spoiler: Não)
Com Claude 3 (200k tokens) e GPT-4-turbo (128k), alguns acham que RAG perdeu o sentido. Por que montar um pipeline de recuperação se o modelo pode engolir um livro inteiro de uma vez?
A verdade é que modelos de contexto longo não tornam o RAG obsoleto. Existem três problemas fundamentais:
1. Efeito "Lost in the Middle"
Pesquisas da equipe da Stanford e da Databricks mostram que LLMs têm desempenho significativamente pior ao recuperar informações que estão no meio de uma janela de contexto muito longa. Se você joga 200 páginas no prompt, o modelo presta mais atenção ao início e ao fim – exatamente onde as informações críticas podem não estar.
2. Custo e Latência
Calcular atenção sobre 200k tokens é caro. Cada requisição consome muito mais memória e tempo de GPU. RAG, ao contrário, recupera apenas os trechos mais relevantes (dezenas ou centenas de tokens), reduzindo o custo por consulta e a latência.
3. Atualização em Tempo Real
Se sua base de conhecimento muda diariamente (preços de produtos, políticas, documentos legais), você teria que mandar o documento inteiro atualizado a cada consulta – ou fazer fine-tuning. RAG permite que você simplesmente adicione ou remova documentos do banco vetorial sem tocar no prompt ou no modelo.
Conclusão: Modelos de contexto longo são ótimos para cenários onde todo o conhecimento cabe na janela e é estático (ex.: análise de um contrato de 500 páginas). Mas para sistemas que precisam escalar em volume e dinamismo, RAG continua sendo a arquitetura correta.
Desempenho de RAG com Contexto Longo: Otimizações Práticas
O Databricks, em seu blog sobre desempenho de RAG, destaca que a maioria dos clientes ainda opta por RAG mesmo com LLMs de contexto longo – mas com ajustes finos. Aqui estão as melhores práticas atuais:
1. Busca Híbrida é Obrigatória
Apenas embeddings semânticos perdem match em siglas, códigos ou nomes próprios. A busca full-text (BM25) captura esses casos. A combinação (score ponderado) aumenta o recall em 15-30% em benchmarks internos.
2. Chunking Inteligente
Divida documentos em chunks que não ultrapassem 512-1024 tokens. Use técnicas como recursive character text splitter com sobreposição (overlap) de 10-20% para não perder contexto entre chunks.
3. Re-ranking
Após recuperar os chunks iniciais por similaridade, use um modelo cross-encoder (como o BAAI/bge-reranker-v2-m3) para reordenar os resultados. Isso melhora a precisão final da geração.
4. Hipótese de Documentos (HyDE)
Gere uma resposta sintética para a pergunta do usuário antes de fazer a busca, use essa resposta como query de busca. Funciona bem quando a pergunta original é curta ou ambígua.
5. Cache de Embeddings
Pré-calcule embeddings para chunks e armazene em banco vetorial. Evite calcular embeddings na hora da consulta.
Conclusão: O Mapa Não É Preto no Branco
Não existe bala de prata. O reflexo de “jogar um RAG” pode custar caro – em complexidade, latência e custos de infra. Por outro lado, ignorar RAG quando você precisa escalar conhecimento é igualmente perigoso.
A decisão correta passa por entender três perguntas:
- Quanto conhecimento preciso expor? (volume)
- Com que frequência esse conhecimento muda? (dinamismo)
- Que tipo de comportamento espero do modelo? (personalização)
Use contexto para tarefas pequenas e estáticas. Use RAG para bases grandes e dinâmicas. Use fine-tuning para personalização de tom e comportamento. E, quando necessário, combine RAG com fine-tuning – o modelo fine-tuned pode gerar respostas melhores mesmo com o contexto recuperado.
O futuro não é RAG versus contexto longo versus fine-tuning. É entender as vantagens complementares de cada um e montar a arquitetura certa para o seu problema. E, acima de tudo, evitar o reflexo automático de 2026: pare, pense, então escolha a ferramenta certa.