Pular para o conteúdo
iauaiiauai — portal de tecnologia, IA e Cloud
IAIntermediário

RAG, fine-tuning ou prompt? Guia de decisão

Compare custo, latência e implementação. Saber quando NOT usar fine-tuning economiza meses.

Por Equipe iauai · 17 de julho de 2026 · 11 min de leitura

Nesta página

O problema real

Você ouve: "Use RAG!", "Fine-tuning vale a pena!", "Basta um bom prompt!". Qual é certa para seu caso? Um CEO quer "treinar a IA em nossas políticas" porque ouviu isso em um podcast. Um engenheiro quer RAG porque é moda. Um PM quer tudo de uma vez.

A verdade: cada uma resolve um problema diferente, custa diferente, e tem limites diferentes. Este artigo te ajuda a tomar a decisão correta sem gambiarra no meio do caminho.

Árvore de decisão: qual técnica usar

Responda estas perguntas em ordem:

1. O conhecimento muda todos os dias?

  • Sim → RAG (você reindexar é fácil; fine-tuning é difícil)
  • Não → continue

2. Você quer controlar exatamente como o modelo responde (tom, formato)?

3. O custo por requisição é crítico (> 10 mil requisições/dia)?

  • Sim → Fine-tuning (reduz custo de tokens significativamente)
  • Não → continue

4. Você precisa de latência < 500ms incluindo I/O?

  • Sim → Prompt estruturado ou fine-tuning (RAG adiciona latência)
  • Não → RAG é aceitável

5. Você tem > 10 mil exemplos de entrada-saída para treinar?

  • Não → RAG ou prompt estruturado
  • Sim → Fine-tuning pode valer

Comparação prática: custos reais em 2026

Fator Prompt estruturado RAG Fine-tuning
Custo inicial USD 0 USD 100 (embeddings + DB) USD 500-5.000
Custo por 1M requisições USD 3-10 USD 10-50 USD 0,50-2,00
Tempo de implementação 1-3 dias 3-7 dias 2-4 semanas
Atualização de conhecimento Imediata Poucas horas Requer retreinamento
Latência p99 400ms 600-1.500ms 400ms
Controle de formato Alto Médio Alto
Risco de alucinação Médio Menor (com reranking) Menor

Cenário 1: Prompt estruturado

Use quando:

  • Conhecimento é fixo (política de empresa que não muda)
  • Você quer controlar saída exatamente
  • Volume é baixo (< 100 requisições/dia)
  • Prazo é curto

Custo:

  • OpenAI GPT-4o-mini: USD 0,15 / 1M input tokens
  • 1M requisições × 500 tokens = USD 75

Exemplo real: classificar tickets de suporte. Você escreve um bom prompt com exemplos, testa, versiona. Pronto.

Código:

from openai import OpenAI

system_prompt = """Você é especialista em política de devolução.
Resonda apenas com: APROVADA, RECUSADA, ou PRECISA_DE_CONTEXTO.
Não explique. Uma palavra só."""

client = OpenAI()
response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[
        {"role": "system", "content": system_prompt},
        {"role": "user", "content": "Cliente quer devolver produto com 45 dias de uso"}
    ],
    temperature=0
)
print(response.choices[0].message.content)

Quando NÃO usar:

  • Conhecimento muda frequentemente
  • Você tem 10 GB de manuais para integrar
  • Precisa de latência ultra-baixa

Cenário 2: RAG

Use quando:

  • Você tem documentação grande e muda com frequência
  • Precisa que o modelo cite a fonte
  • Volume é médio-alto (100-10k requisições/dia)
  • Latência de 600-1.500ms é aceitável

Custo (exemplo real: 50k documentos, 5M requisições/mês):

  • Embeddings iniciais: USD 0,10
  • Armazenamento (Pinecone): USD 100-200/mês
  • Busca + LLM: USD 7-15 por 1M requisições
  • Total: USD 200-300/mês

Exemplo real: FAQ que muda toda semana, manual de API com 500 páginas, base de conhecimento de suporte.

Código:

import chromadb
from openai import OpenAI

# Inicializa coleção
client = chromadb.Client()
collection = client.create_collection(name="faq")

# Indexa documentos (feito uma vez ou periodicamente)
documents = [
    "Devolução é aceita até 30 dias",
    "Reembolso integral se o produto está intacto",
    # ... mais documentos
]

collection.add(
    ids=[f"doc_{i}" for i in range(len(documents))],
    documents=documents
)

# Query
query = "Até quando posso devolver?"
results = collection.query(query_texts=[query], n_results=2)

# Monta prompt com contexto
context = "\n".join(results["documents"][0])
prompt = f"""Baseado neste conhecimento:
{context}

Responda: {query}"""

# Chama LLM
response = OpenAI().chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": prompt}]
)

Quando NÃO usar:

  • Conhecimento é fixo (prompt é melhor)
  • Você tem < 100 documentos (custo/complexidade não se justifica)
  • Precisa de latência < 500ms

Cenário 3: Fine-tuning

Use quando:

  • Você tem 10k+ exemplos de entrada-saída reais
  • Padrão de resposta é muito específico (estilo, formato)
  • Domínio é muito especializado (linguagem muito técnica, contexto muito específico)
  • Volume justifica o custo (> 1M requisições/mês)

Custo (exemplo: 10k exemplos, 5M requisições/mês):

  • Treinamento inicial: USD 500-2.000 (para GPT-3.5 small)
  • Por 1M requisições: USD 0,50-1,50 (reduz custo vs. GPT-4)
  • Total primeiro mês: USD 3.000-5.000
  • A partir do mês 2: USD 2.500-4.000/mês

Rentável se você tiver > 2M requisições/mês. Abaixo disso, prompt + RAG é mais barato.

Exemplo real (REAL mesmo): Um chatbot de e-commerce com:

  • 15 mil pares (pergunta, resposta esperada)
  • Respostas sempre no mesmo formato (JSON com campos específicos)
  • Linguagem muito técnica de catálogo
  • 2M requisições/mês

Fine-tuning economiza USD 500-1.000/mês em tokens, e melhora velocidade em 20%.

Código:

# 1. Prepara dados em JSONL
# {"messages": [{"role": "user", "content": "qual é a cor?"}, 
#              {"role": "assistant", "content": "azul"}]}

# 2. Cria job
openai api fine_tunes.create \
  -t fine_tune_data.jsonl \
  -m gpt-3.5-turbo

# 3. Monitora treinamento
openai api fine_tunes.get --id <id>

# 4. Usa modelo fine-tuned
from openai import OpenAI
client = OpenAI()
response = client.chat.completions.create(
    model="gpt-3.5-turbo:ft-...",  # Seu modelo fine-tuned
    messages=[{"role": "user", "content": "qual é a cor?"}]
)

Quando NÃO usar:

  • Você tem < 10k exemplos (dados insuficientes)
  • Conhecimento muda frequentemente (retreinar é caro)
  • Precisa atualizar conhecimento em dias/horas (RAG é mais rápido)
  • Custo não é principal (prompt + RAG é mais simples)

Combinando técnicas: o melhor dos três mundos

A verdade é que não é "um ou outro". Você pode combinar:

Padrão 1: Prompt + RAG

  • Usa um prompt estruturado bem escrito (controla formato)
  • Recupera documentos com RAG (conhecimento atualizado)
  • Resultado: controle + flexibilidade + latência razoável

Padrão 2: Fine-tuning + RAG

  • Fine-tunes para o estilo/formato específico
  • Usa RAG para conhecimento dinâmico
  • Resultado: qualidade máxima, custo moderado

Padrão 3: Apenas fine-tuning

  • Se tem dados +10k exemplos e custo justifica
  • Sem RAG (mais rápido, mais barato)
  • Risco: alucinações aumentam, precisa retrair quando conhecimento muda

Armadilhas comuns

"Vou fazer fine-tuning com 500 exemplos"

Insuficiente. Precisa 10k+. Com 500, o modelo overfita e falha em produção.

"Fine-tuning resolve alucinação"

Não completamente. Fine-tuning melhora formato, não garante factualidade. Combine com RAG.

"RAG é lento, então vou fazer tudo com fine-tuning"

Fine-tuning não escala para conhecimento muito grande (> 1 GB). RAG + cache é melhor.

"Prompt é de graça"

Prompt ruim é caro: taxa de erro alta, más experiências, suporte manual. Invista em good prompts.

Guia de decisão resumido

Cenário Técnica Por quê
FAQ estático, volume baixo Prompt Rápido, barato, nenhuma config
Base de conhecimento dinâmica RAG Atualização fácil, escalável
Muitos exemplos, padrão específico Fine-tuning Custo reduzido, qualidade alta
Combinação de acima Prompt + RAG Melhor relação custo/benefício

Próximos passos

  1. Estruture seu prompt com Engenharia de prompt em produção.
  2. Implemente um retriever com RAG na prática.
  3. Monitore custo com FinOps para IA.
  4. Avalie qualidade com Observabilidade em aplicações com LLM.

A escolha certa economiza meses e milhares de dólares. Escolha bem.

Aprenda jogando

Rede Neural

Conecte neurônios, ajuste pesos e descubra por que o XOR precisa de camada oculta.

Jogar Rede Neural

Teste seu conhecimento

Teste o que você aprendeu sobre RAG vs Fine-tuning vs Prompt

Pergunta 1 de 5

Seu retriever devolve um trecho que corta no meio de uma frase importante, perdendo contexto. Qual é a causa mais provável?

Continue lendo