Fine-tuning vs prompting vs RAG

TL;DR

Três técnicas para adaptar um LLM ao seu caso de uso: prompting (instruções no contexto — custo zero, efeito imediato), RAG (busca e injeta informação relevante no contexto — custo moderado, dados sempre atualizados), e fine-tuning (retreina o modelo nos seus dados — custo alto, muda o comportamento do modelo). Em 2026, a maioria dos engenheiros resolve 95% dos problemas com prompting + RAG. Fine-tuning é reservado para tarefas de alta especialização com volume massivo.

O que é

Cada técnica opera em uma camada diferente:

TécnicaO que modificaPersistênciaCusto
PromptingO input (contexto da chamada)Nenhuma — reconstruído a cada chamadaApenas tokens de input
RAGO input (com dados recuperados dinamicamente)Dados persistem no índiceInfra de retrieval + tokens
Fine-tuningOs pesos do modeloPermanente (novo modelo)Treinamento + hosting

Por que importa

Escolher a técnica errada é o erro mais caro em projetos de LLM:

  • Fine-tuning quando prompting resolve → meses de trabalho desnecessário
  • Prompting quando RAG é necessário → contexto explode e custos sobem
  • RAG quando fine-tuning é necessário → qualidade nunca atinge o nível exigido

Como funciona

1. Prompting (Context Engineering)

O modelo recebe todas as instruções e contexto no input de cada chamada.

graph LR
    A["System prompt<br>+ instruções<br>+ exemplos"] --> B[LLM]
    C["User message"] --> B
    B --> D[Resposta]
VantagemLimitação
Zero setup, efeito imediatoLimitado pela janela de contexto
Fácil de iterar e testarNão “ensina” o modelo — apenas direciona
Sem custo de treinamentoInformação precisa ser reenviada a cada chamada
Funciona com qualquer modeloMuito contexto → custo alto, atenção diluída

Quando usar: A primeira opção para tudo. Só migre para RAG ou fine-tuning quando prompting comprovadamente não resolve.

2. RAG (Retrieval-Augmented Generation)

O sistema busca informação relevante em uma base de dados e injeta no contexto antes de enviar ao modelo.

graph LR
    A[Query do usuário] --> B[Retriever]
    B -->|Busca semântica| C[Vector DB / Index]
    C --> D[Documentos relevantes]
    D --> E[Construir prompt]
    A --> E
    E --> F[LLM]
    F --> G[Resposta com dados atuais]
VantagemLimitação
Dados sempre atualizados (just-in-time)Requer infraestrutura (vector DB, indexação)
Escala para milhões de documentosQualidade depende do retriever
Não precisa retreinar o modeloAumenta input tokens (custo)
Citações e rastreabilidadeRetrieval errado → alucinação com confiança

Quando usar:

  • Base de conhecimento que muda frequentemente
  • Codebase grande demais para caber no contexto
  • Necessidade de citar fontes
  • Múltiplas fontes de dados heterogêneas

3. Fine-tuning

Retreina os pesos do modelo em dados específicos do domínio.

graph LR
    A[Modelo base] --> B[Treinamento SFT]
    C[Seus dados<br>formato: input → output] --> B
    B --> D[Modelo customizado]
    D --> E[Deploy + Hosting]
VantagemLimitação
Muda o “comportamento base” do modeloCusto alto de treinamento (10k+)
Reduz necessidade de prompt longoRisco de “catastrófico forgetting”
Pode aprender padrões complexosPrecisa de dados limpos e abundantes (1k-100k exemplos)
Latência reduzida (sem retrieval)Modelo fica “congelado” nos dados de treino

Quando usar:

  • Tarefa muito específica com padrão consistente (ex: classificação médica)
  • Volume massivo (>10k chamadas/dia com padrão similar)
  • Estilo ou formato de output muito específico
  • Reduzir latência eliminando context longo

Árvore de decisão

graph TD
    A{O modelo base<br>resolve com um bom prompt?} -->|Sim| B["✅ Use PROMPTING"]
    A -->|Não| C{O problema é falta<br>de informação atual?}
    C -->|Sim| D{A informação cabe<br>no contexto?}
    D -->|Sim| B
    D -->|Não| E["✅ Use RAG"]
    C -->|Não| F{O problema é<br>comportamento/estilo?}
    F -->|Sim| G{Volume alto<br>+ dados abundantes?}
    G -->|Sim| H["✅ Use FINE-TUNING"]
    G -->|Não| I["Use prompting com<br>exemplos (few-shot)"]
    F -->|Não| J["Repense o problema<br>ou combine técnicas"]

Comparativo

CritérioPromptingRAGFine-tuning
Tempo de setupMinutosDias–semanasSemanas–meses
Custo inicial$01k (infra)50k (treinamento)
Custo por chamadaTokens de inputTokens + retrievalHosting do modelo
Dados atualizadosManual (reescrever prompt)✅ Automático❌ Retreinar
Escala de dados<100k tokensMilhões de docs1k–100k exemplos
Qualidade em tarefa específicaBoaMuito boaExcelente
FlexibilidadeAlta (muda o prompt)Alta (muda o index)Baixa (retreinar)
Complexidade opsZeroMédiaAlta

Na prática

Cenário 1: chatbot de suporte técnico

  • Solução: RAG sobre documentação + prompting para tom e formato
  • Motivo: Docs mudam semanalmente, precisam estar atualizados

Cenário 2: agente de coding no projeto

  • Solução: Prompting (CLAUDE.md, agents.md, context files)
  • Motivo: O codebase já é o contexto; RAG para buscar arquivos específicos

Cenário 3: classificador de tickets (10k/dia)

  • Solução: Fine-tuning de modelo budget
  • Motivo: Padrão repetitivo, volume alto, latência baixa necessária

Cenário 4: pesquisa sobre papers acadêmicos

  • Solução: RAG com vector DB de papers + prompting
  • Motivo: Base de conhecimento grande e especializada

Armadilhas

  • “Fine-tuning é sempre melhor” — é o mais caro e menos flexível. Use apenas quando prompting + RAG comprovadamente falham.
  • RAG sem avaliação do retriever — se o retriever puxa documentos irrelevantes, o modelo alucina com confiança, citando fontes erradas.
  • “Prompting não escala” — com context engineering disciplinado (caching, state files, context pruning), prompting escala para a maioria dos casos.
  • Fine-tuning com poucos dados — menos de 1000 exemplos de alta qualidade geralmente não produz melhoria significativa. O modelo pode memorizar em vez de generalizar.
  • Combinar errado — RAG + fine-tuning pode degradar se o modelo fine-tuned ignora o contexto retrieved em favor do “conhecimento” aprendido.

Veja também

Referências

  • Lewis et al.Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks (Facebook AI, 2020). Paper fundador de RAG.
  • OpenAIFine-tuning Guide (2026). Guia oficial com melhores práticas.
  • AnthropicPrompt Engineering Guide (2026). Referência para prompting avançado.
  • PineconeRAG Architecture Guide (2026). Referência para implementação de RAG.