O problema real
Você ouve três conselhos ao mesmo tempo. "Use RAG." "Faça fine-tuning." "Um bom prompt resolve." Um diretor quer "treinar a IA com as nossas políticas" porque ouviu isso num podcast. Uma engenheira quer RAG porque é a tendência. Cada técnica resolve um problema diferente, e escolher a errada custa semanas.
Depois deste artigo você terá um roteiro de perguntas para decidir entre prompt, RAG e fine-tuning, com a ordem em que vale tentar cada um. A regra geral é começar pelo mais barato de mudar e só subir de complexidade quando uma avaliação mostrar que precisa.
O que cada técnica muda no sistema
- O prompt altera as instruções e os exemplos que o modelo vê em cada chamada. Muda comportamento, formato e tom, e é a mudança mais rápida de fazer e de desfazer.
- O RAG busca informação fora do modelo e a coloca no prompt a cada pergunta. Muda o conhecimento disponível, sem tocar nos pesos.
- O fine-tuning ajusta os pesos do modelo com exemplos de entrada e saída. Muda o comportamento de forma persistente, como estilo, formato e padrões de decisão.
Uma frase que ajuda: RAG ensina fatos, fine-tuning ensina hábitos, e o prompt dá as instruções do dia. Fine-tuning é uma forma ruim de colocar fatos novos no modelo, porque ele pode não os lembrar com precisão e você não consegue atualizá-los sem treinar de novo.
Roteiro de decisão
Responda em ordem.
- O modelo, com um prompt bem escrito e alguns exemplos, já acerta o suficiente? Se sim, pare aqui. Antes de qualquer outra coisa, monte um conjunto de avaliação com casos reais, como descrito em Avaliação de LLM com evals.
- O erro vem de falta de informação, como documentos internos, preços ou dados que mudam? Use RAG.
- O erro vem de formato, estilo ou de uma tarefa muito específica que o prompt não consegue ensinar, mesmo com muitos exemplos? Considere fine-tuning.
- A conta de tokens ou a latência incomoda, porque o prompt ficou enorme com tantas instruções e exemplos? Fine-tuning de um modelo menor pode reduzir os dois. Antes, teste também o cache de prompt e um modelo menor sem ajuste.
- Você tem exemplos de qualidade suficientes? O fine-tuning supervisionado funciona com algumas centenas de bons exemplos em muitos casos, e melhora com mais. A qualidade e a variedade pesam mais que a quantidade. Confira os requisitos do provedor ou da ferramenta que usará.
Prompt estruturado
Use quando o conhecimento cabe no prompt, a tarefa é clara e você quer iterar rápido. Classificar tickets, extrair campos de um texto e padronizar respostas são exemplos típicos. O truque é pedir saída estruturada e testar com seus casos.
from openai import OpenAI
client = OpenAI()
SYSTEM = """Você classifica pedidos de devolução.
Responda só com uma destas palavras: APROVADA, RECUSADA ou PRECISA_DE_CONTEXTO.
Regra: devoluções são aceitas em até 30 dias, e produto danificado pelo cliente é recusado."""
resp = client.chat.completions.create(
model="SEU_MODELO_PEQUENO", # troque pelo modelo que você usa
temperature=0,
messages=[
{"role": "system", "content": SYSTEM},
{"role": "user", "content": "Quero devolver um produto comprado há 45 dias."},
],
)
print(resp.choices[0].message.content)
Sinais de que o prompt sozinho não basta são o conhecimento ser grande demais para caber, mudar toda semana, ou a necessidade de citar a fonte. Veja também Engenharia de prompt em produção.
RAG
Use quando o conhecimento é volumoso, muda com frequência ou precisa de citação. Bases de suporte, manuais de API e políticas internas são os casos clássicos. Atualizar o conhecimento significa reindexar os documentos que mudaram, sem treinar nada. Também é mais fácil controlar acesso, porque você filtra a busca por permissão do usuário.
O custo é complexidade. Você passa a manter um pipeline de chunking, embeddings, banco vetorial e busca, e cada etapa pode degradar a qualidade. Cada consulta ganha uma etapa de busca antes da geração, o que adiciona latência e pede observabilidade. O passo a passo está em RAG na prática.
Como regra de bolso, se o corpus cabe inteiro no contexto do modelo e muda pouco, colocar tudo no prompt (com cache) costuma ser mais simples que montar RAG.
Fine-tuning
Use quando você já esgotou prompt e exemplos e ainda precisa de ganho em uma tarefa estreita e repetitiva. Alguns casos em que ele costuma valer a pena são estes.
- Saída num formato muito específico que o modelo erra com frequência mesmo com bons exemplos.
- Tom de voz ou estilo consistente em grande volume.
- Substituir um modelo grande por um menor, ajustado, em tarefas de alto volume.
- Domínios com vocabulário muito particular.
Algumas ressalvas importantes. Nem todo provedor oferece fine-tuning dos modelos mais recentes, então confira a documentação antes de planejar. Modelos de pesos abertos permitem ajuste com técnicas leves como LoRA, mas exigem GPU e conhecimento de treino. E cada mudança de modelo base pode pedir novo treino e nova avaliação.
Com a API da OpenAI, por exemplo, o fluxo é enviar um arquivo JSONL e criar um job pelo SDK. O comando antigo openai api fine_tunes.create foi descontinuado.
from openai import OpenAI
client = OpenAI()
# Cada linha do JSONL é {"messages": [{"role": ..., "content": ...}, ...]}
arquivo = client.files.create(file=open("treino.jsonl", "rb"), purpose="fine-tune")
job = client.fine_tuning.jobs.create(
training_file=arquivo.id,
model="MODELO_COMPATIVEL_COM_FINE_TUNING", # veja a lista na documentação
)
print(job.id, job.status)
Guarde parte dos exemplos fora do treino para avaliar o resultado. Se o modelo ajustado não vencer o prompt bem trabalhado no seu conjunto de testes, o fine-tuning não se pagou.
Combinando técnicas
Na prática, sistemas maduros misturam as três.
- Prompt com RAG é o ponto de partida mais comum. O prompt controla formato e regras, e a busca traz o conhecimento atualizado.
- Fine-tuning com RAG serve quando o estilo ou o formato exigem ajuste, e os fatos continuam vindo da busca.
- Fine-tuning sozinho é raro, e só faz sentido quando o conhecimento é estável e a tarefa é bem delimitada.
Armadilhas comuns
Treinar com poucos exemplos ruins
Cem exemplos ruins ensinam o modelo a errar com confiança. Revise a qualidade antes de aumentar a quantidade.
Esperar que fine-tuning acabe com alucinação
Ele melhora o formato e o comportamento, mas não garante que os fatos estejam certos. Para respostas fundamentadas em documentos, RAG com instrução de admitir quando não sabe é o caminho mais confiável. Veja Guardrails de saída para camadas extras de proteção.
Pular a avaliação
Sem um conjunto de testes, você não sabe se a técnica nova melhorou ou piorou. Meça antes e depois.
Tratar custo como número fixo
Preços de tokens e de treino mudam com frequência. Consulte a página de preços do provedor na hora da decisão e simule com o seu volume real, usando a calculadora de custo de LLM e as ideias de FinOps para IA.
Guia resumido
| Situação | Comece por | Motivo |
|---|---|---|
| Tarefa clara, conhecimento pequeno e estável | Prompt | Rápido e fácil de ajustar |
| Base grande ou que muda, precisa citar fonte | RAG | Atualiza sem treinar |
| Formato ou estilo específico em grande volume | Fine-tuning | Comportamento persistente |
| Conhecimento dinâmico e formato rígido | Prompt com RAG, depois fine-tuning se faltar | Cada camada resolve uma coisa |
Quer aplicar isso na sua empresa? Marque uma conversa de 45 minutos em https://iauaicloud.com.br/consultoria