← Voltar à lista

Janela de contexto vs RAG vs fine-tuning: o que escolher

Três formas de ensinar um LLM a trabalhar com seus dados e tarefas - colocar tudo na janela de contexto, conectar RAG (retrieval-augmented generation) ou fine-tunar o modelo. Cada abordagem tem seu custo, velocidade de atualização do conhecimento e teto de precisão. Abaixo: como funcionam, como diferem e como escolher estratégia para chatbot, assistente de suporte ou copilot interno sem gastar demais.

Três abordagens para um mesmo problema

O objetivo é o mesmo: o modelo deve responder sobre seu produto, documentação, políticas ou domínio - não só o que veio do pre-training. Opções:

Abordagem Ideia Onde ficam os conhecimentos
Janela de contexto Todo texto necessário no prompt Em cada requisição
RAG Buscar fragmentos relevantes + gerar No índice / base de conhecimento
Fine-tuning Retreinar pesos do modelo Nos pesos do modelo

Muitas vezes não se escolhe «ou», e sim uma combinação: RAG para fatos, fine-tuning para estilo e formato, contexto longo para poucos documentos em uma requisição.

Janela de contexto: tudo no prompt

A janela de contexto é a quantidade de texto (em tokens) que o modelo «vê» em uma requisição: system prompt, histórico do chat, arquivos anexados e instruções.

Como funciona

Você coloca no prompt:

  • instruções de sistema («responda como advogado da empresa X»);
  • documentos relevantes inteiros ou em blocos grandes;
  • exemplos few-shot («aqui um exemplo de boa resposta»).

Modelos atuais (GPT-5.6, Claude Fable 5, Gemini 3.5 Flash) suportam 1-2M tokens de contexto - centenas de páginas. Para muitos cenários isso basta sem infraestrutura separada.

Vantagens

  • Infraestrutura mínima - sem índice vetorial nem pipeline de embeddings.
  • Atualização instantânea - muda o texto do prompt e o conhecimento atualiza na hora.
  • Transparência - você sabe exatamente o que o modelo «vê» nesta requisição.
  • Few-shot sem treinar - exemplos no prompt definem o formato da resposta.

Desvantagens

  • Custo cresce com o tamanho - tarifas long-context costumam ser x1,5-x2 sobre a base.
  • Teto de volume - mesmo 2M tokens não cabem toda uma base enterprise.
  • Qualidade no meio - o modelo pode «perder» detalhes no centro de contextos muito longos (lost-in-the-middle).
  • Latência - mais tokens de input significam primeiro token mais lento.

Quando escolher contexto

  • Corpus pequeno e estável: 5-50 documentos, um produto, um FAQ.
  • Protótipo ou MVP - validar hipótese em um dia sem stack RAG.
  • Tarefas que exigem texto completo em uma requisição: comparar dois contratos, code review de um PR inteiro.
  • Precisa de controle total sobre o que entra no prompt (auditoria, compliance).

RAG: busca + geração

RAG (Retrieval-Augmented Generation) - antes de responder, o sistema busca fragmentos relevantes na sua base (busca vetorial, BM25, híbrida), insere no prompt e o modelo gera resposta baseada no que foi encontrado.

Como funciona

Pipeline típico:

  1. Ingestion - documentos divididos em chunks (300-1000 tokens), embeddings criados.
  2. Index - BD vetorial (Pinecone, Qdrant, pgvector, Chroma) + índice keyword opcional.
  3. Query - pergunta do usuário -> embedding -> top-k chunks.
  4. Generation - chunks + pergunta -> LLM -> resposta (idealmente com citações de fonte).

Atualização do conhecimento: reindexar documentos alterados - sem retreinar o modelo.

Vantagens

  • Escala - milhões de páginas com indexação e chunking bem feitos.
  • Atualidade - documento novo no índice em minutos, não semanas.
  • Menos alucinações - modelo se apoia em fragmentos fornecidos; citações aumentam confiança.
  • Economia de input - só chunks relevantes no prompt, não toda a base.

Desvantagens

  • Complexidade - chunking, embeddings, reranking, avaliação, monitoramento de drift.
  • Qualidade do retrieval = qualidade da resposta - busca ruim dá respostas ruins com modelo «perfeito».
  • Latência - dois passos (busca + geração) mais rerank.
  • Duplicatas e conflitos - versões diferentes de documentos no índice confundem o sistema.

Quando escolher RAG

  • Base grande ou que muda com frequência: docs, wiki, tickets, Confluence, arquivo PDF.
  • Precisa de links para fonte nas respostas (suporte, jurídico, médico com ressalvas).
  • Muitos usuários e consultas - mais barato trazer 5 chunks do que 500 páginas ao contexto.
  • Dados não podem ir para os pesos do modelo (confidencialidade, isolamento por tenant).

Fine-tuning: conhecimento nos pesos

Fine-tuning - treinamento adicional do modelo base nos seus dados: pares instruction/response, diálogos, texto de domínio. Os pesos se ajustam para o modelo conhecer melhor estilo, terminologia e tarefas típicas sem prompt longo.

Variantes:

  • Full fine-tuning - todos os parâmetros (caro, raramente necessário).
  • LoRA / QLoRA - adaptadores sobre base congelada (padrão para modelos custom).
  • DPO / RLHF - alinhamento a preferências (tom, segurança, formato).

Como funciona

  1. Monta dataset: Q&A, diálogos de suporte, exemplos de código, respostas JSON.
  2. Treina adaptador ou modelo completo em GPU (horas a dias).
  3. Faz deploy de endpoint fine-tuned ou pesos merged.
  4. Na inference - system prompt curto, modelo já «conhece» padrões.

Fine-tuning não substitui fatos atuais: preços, versões de API, novidades do produto não são «memorizados» de forma confiável sem RAG ou contexto fresco.

Vantagens

  • Estilo e formato - tom unificado, schema JSON, templates de resposta.
  • Menos tokens no prompt - sem instruções longas nem dezenas de exemplos few-shot.
  • Latência e custo por requisição - prompt mais curto para a mesma tarefa.
  • Terminologia especializada - medicina, direito, jargão interno.

Desvantagens

  • Caro e lento - dados, GPU, iterações, eval; exige competência ML.
  • Obsolescência - produto novo = novo ciclo de treino ou híbrido com RAG.
  • Risco de overfitting - modelo «decora» o training set e generaliza mal.
  • Pior em fatos raros - fine-tuning pior que RAG para «ache o parágrafo 4.2 na policy v3».

Quando escolher fine-tuning

  • Tarefa estável com formato repetitivo: classificação, extração, resumos com template.
  • Precisa de prompt curto e baixa latência com milhões de requisições.
  • Grande volume de diálogos rotulados com qualidade (milhares+ de exemplos).
  • On-prem ou air-gapped - um modelo local sem API externa por chunk.

Comparação por critérios-chave

Critério Contexto RAG Fine-tuning
Volume de conhecimento Até limite da janela Praticamente ilimitado Limitado pelo training set
Atualidade Instantânea (novo prompt) Rápida (reindex) Lenta (retrain)
Custo inicial Baixo Médio Alto
Custo por requisição Cresce com tamanho do contexto Busca + contexto curto Prompt baixo
Alucinações Risco médio Menor com bom retrieval Médio, erros «confiantes»
Citações de fonte Manual no prompt Natural Difícil
Infraestrutura API do modelo BD vetorial, pipeline GPU, MLOps
Compliance / auditoria Controle total do prompt Logs de retrieval Caixa preta dos pesos

Matriz prática de decisão

Comece com contexto se:

  • poucos documentos cabem em 100-200K tokens;
  • precisa de POC em um sprint;
  • cada requisição é única e exige «o arquivo inteiro» (diff, contrato).

Adicione RAG se:

  • a base cresceu ou atualiza semanalmente;
  • usuários perguntam fatos específicos de milhares de páginas;
  • precisa de citações e menor taxa de alucinação.

Adicione fine-tuning se:

  • formato de resposta é rígido e idêntico em 95% das requisições;
  • RAG funciona mas o prompt incha com instruções e exemplos;
  • tem dataset e orçamento para iterações de eval.

Stack production típico 2026:

Modelo fine-tuned (estilo + routing)
    + RAG (fatos da base de conhecimento)
    + Contexto moderado (system prompt, últimas N mensagens, 1-2 docs completos se necessário)

Erros frequentes

  • «Jogamos tudo em 1M de contexto» - caro, lento; qualidade de retrieval costuma ser melhor com mesmo orçamento.
  • Fine-tune em vez de RAG para FAQ - modelo «memoriza» preços desatualizados; RAG ou contexto é mais simples.
  • RAG sem eval - sem métricas (recall@k, faithfulness, revisão humana) o sistema degrada em silêncio.
  • Chunks pequenos demais - perde sentido do parágrafo; grandes demais - ruído no prompt.
  • Ignorar reranking - top-5 de busca vetorial sem cross-encoder costuma ser pior que híbrido BM25 + rerank.

Conclusão

Janela de contexto - início rápido e controle total para volumes pequenos. RAG - padrão para bases escaláveis com fatos atuais e citações. Fine-tuning - investimento em comportamento e formato estáveis, não enciclopédia de fatos.

Para a maioria dos assistentes corporativos, o ideal é RAG + system prompt curto; fine-tuning entra quando ganhos mensuráveis em qualidade ou custo por requisição justificam o treino. Contexto longo se usa pontualmente - para tarefas que exigem documento inteiro em um shot, não como substituto de busca em toda a organização.

Perguntas frequentes

Dá para substituir RAG por janela de contexto muito longa?

Teoricamente - para corpus pequenos. Na prática - raramente compensa: custo e latência crescem linearmente com o tamanho do prompt, e modelos usam pior informação do meio de contextos longos. RAG traz só o relevante e escala para arquivos grandes. Exceção - tarefas «leia o arquivo inteiro»: code review, comparar duas versões de contrato, analisar um PDF de 200 páginas.

Fine-tuning é obrigatório para chatbot corporativo?

Não necessariamente no início. A maioria dos copilots internos e bots de suporte se resolve com RAG + bom system prompt. Fine-tuning faz sentido com milhares de diálogos de referência, formato unificado (JSON, tickets, campos CRM) ou economia crítica de tokens por requisição. Meça primeiro baseline com RAG - fine-tuning sem métricas muitas vezes não se paga.

O que é mais barato: RAG ou fine-tuning?

RAG mais barato no início: BD vetorial, API de embeddings, sem cluster GPU. Fine-tuning mais caro para começar (dados, treino, deploy) mas pode reduzir custo por requisição se eliminar instruções longas e few-shot de cada prompt com alto tráfego. Compare TCO em 6-12 meses: infra RAG + refresh de embeddings vs custo de retrain e inference do modelo fine-tuned.

Com que frequência atualizar conhecimento em cada abordagem?

Contexto - a cada requisição (prompt atual) ou ao deployar nova versão de template. RAG - conforme documentos mudam: reindex incremental de minutos a horas; rebuild completo no calendário ou ao trocar modelo de embedding. Fine-tuning - quando comportamento ou domínio muda: semanas a meses entre releases; fatos (preços, releases) ainda vêm via RAG ou tool calls.

Dá para combinar as três abordagens?

Sim, e os melhores sistemas em production fazem isso. Modelo fine-tuned define estilo e routing («precisa buscar na base?»). RAG traz fragmentos atuais. Contexto inclui regras de sistema, histórico do chat e às vezes um documento completo para tarefas «ler inteiro». Chave: papéis claros - fatos do RAG, comportamento do fine-tuning, restrições e few-shot do prompt - sem duplicar o mesmo texto em todas as camadas.

Contato