Um dos maiores equívocos sobre LLMs é achar que eles precisam ser treinados do zero com os dados da sua empresa para serem úteis. Esse caminho existe, mas é caro, demorado e raramente necessário.
A realidade é que há três formas principais de fazer um LLM trabalhar com seus dados — e a escolha entre elas tem impacto enorme no custo, no prazo e na qualidade do resultado.
Este artigo explica cada abordagem, quando usar qual, e como evitar os erros que desperdiçam meses de trabalho.
As três abordagens: visão geral
| Abordagem | Quando o conhecimento é injetado | Custo relativo | Prazo típico | Complexidade |
|---|---|---|---|---|
| RAG (Retrieval-Augmented Generation) | Em cada requisição, no contexto | Baixo | Dias a semanas | Média |
| Few-shot prompting | No prompt, como exemplos | Mínimo | Horas a dias | Baixa |
| Fine-tuning | No treinamento do modelo | Alto | Semanas a meses | Alta |
A escolha certa depende do tipo de conhecimento que você quer incorporar, de quanto ele muda com o tempo, e do tipo de tarefa que você está tentando resolver.
Vamos detalhar cada uma.
RAG: a abordagem certa para 80% dos casos empresariais
RAG (Retrieval-Augmented Generation) funciona assim: antes de enviar a pergunta do usuário ao LLM, o sistema busca os documentos mais relevantes em uma base indexada e os inclui no contexto da requisição. O LLM responde com base nesses documentos.
Como funciona tecnicamente
-
Indexação (feita uma vez, atualizada quando necessário):
- Seus documentos são processados e divididos em fragmentos (chunks) de 300-1000 tokens
- Cada fragmento é transformado em um vetor numérico usando um modelo de embedding (como
text-embedding-3-smallda OpenAI ouembed-multilingual-v3.0da Cohere) - Esses vetores são armazenados em um banco de dados vetorial (Pinecone, Weaviate, pgvector)
-
Busca (feita em cada consulta):
- A pergunta do usuário também é transformada em vetor
- O sistema busca os vetores mais similares (usando cosine similarity ou dot product)
- Os documentos correspondentes são recuperados
- Esses documentos são inseridos no contexto enviado ao LLM junto com a pergunta
-
Geração:
- O LLM recebe:
[instruções do sistema] + [documentos recuperados] + [pergunta do usuário] - Gera a resposta baseando-se nos documentos fornecidos
- O LLM recebe:
Por que RAG domina casos empresariais
Conhecimento atualizado em tempo real: você adiciona um documento à base e o sistema já o utiliza na próxima consulta. Não há re-treinamento, não há delay.
Segurança e isolamento: cada cliente pode ter sua própria base de documentos. O conhecimento fica externo ao modelo — você não mistura dados de clientes diferentes.
Auditável e explicável: você sabe exatamente quais documentos embasaram cada resposta. Para compliance, isso é fundamental.
Muito mais barato que fine-tuning: não há custo de treinamento. O custo é só de armazenamento de vetores + custo de API do LLM.
Escalável: adicionar novos documentos é trivial. Não precisa re-treinar nada.
Funciona bem para
- Bases de conhecimento internas: políticas da empresa, manuais de procedimentos, FAQs de produto
- Consulta a contratos e documentos legais: encontrar cláusulas específicas, comparar contratos, identificar riscos
- Suporte ao cliente com catálogo extenso: produtos técnicos com especificações detalhadas
- Análise de documentos regulatórios: compliance, normas setoriais, legislação
- Memória empresarial: decisões passadas, histórico de projetos, lições aprendidas
Não é ideal quando
Volume de informação é muito grande para contexto: LLMs têm limite de contexto (8k-200k tokens dependendo do modelo). Se a informação relevante para uma pergunta ultrapassa esse limite, RAG precisa de estratégias adicionais (re-ranking, hierarchical retrieval).
Você precisa que o modelo adote um estilo de escrita muito específico: RAG injeta conhecimento factual, não comportamento ou estilo de resposta. Para isso, fine-tuning é melhor.
A tarefa requer raciocínio profundo sobre relações implícitas: RAG funciona bem para buscar fatos, não para sintetizar padrões complexos que exigem “entender” relações profundas nos dados.
Few-shot prompting: simples e subestimado
Se o que você precisa é que o modelo entenda um padrão específico — um formato de saída, um estilo de resposta, uma lógica de classificação — few-shot prompting frequentemente resolve sem nenhuma infraestrutura adicional.
Você simplesmente inclui 2-5 exemplos de entrada e saída no prompt:
Exemplo prático: classificação de e-mails
Você é um sistema de triagem de e-mails para uma empresa de software B2B.
Classifique os e-mails abaixo por urgência (Alta/Média/Baixa) e departamento responsável.
Exemplo 1:
E-mail: "O servidor de produção está fora do ar desde às 14h. Clientes estão reportando erro 503."
Classificação: {"urgência": "Alta", "departamento": "TI", "motivo": "Sistema crítico fora do ar afetando clientes"}
Exemplo 2:
E-mail: "Precisamos revisar o contrato com o fornecedor X antes do fim do mês para renovação."
Classificação: {"urgência": "Média", "departamento": "Jurídico", "motivo": "Prazo definido mas não imediato"}
Exemplo 3:
E-mail: "Sugestão: adicionar modo escuro no painel administrativo."
Classificação: {"urgência": "Baixa", "departamento": "Produto", "motivo": "Melhoria não-urgente"}
Agora classifique:
E-mail: "Nosso maior cliente ameaçou cancelar o contrato se o bug reportado há 2 semanas não for corrigido."
O modelo consegue inferir o padrão e aplicar corretamente, sem fine-tuning e sem RAG.
Quando few-shot é suficiente
- Tarefas de classificação com categorias claras
- Extração de dados estruturados com formato específico
- Tradução de um formato para outro (ex: converter descrição em JSON)
- Aplicação de regras de negócio explícitas
Limitações
- Não escala para conhecimento factual extenso (para isso, use RAG)
- Não funciona bem para tarefas muito complexas onde o padrão não é capturável em 3-5 exemplos
- Aumenta o custo de cada requisição (você paga pelos tokens dos exemplos)
Fine-tuning: quando faz sentido (e quando não faz)
Fine-tuning é o processo de continuar o treinamento de um modelo base com seus dados específicos. O resultado é um modelo que internalizou os padrões dos seus dados — sem precisar recebê-los a cada requisição.
Como funciona
- Você prepara um dataset de pares entrada-saída (tipicamente milhares de exemplos)
- O modelo base (GPT-4, Claude, Llama, etc.) passa por treinamento adicional com esses dados
- O resultado é uma versão do modelo especializada na sua tarefa
Casos onde fine-tuning genuinamente agrega
1. Estilo e voz muito específicos
Você quer que o modelo escreva exatamente como a sua marca, com terminologia proprietária que não existe em lugar nenhum online, seguindo guidelines complexos de tom e estrutura.
Exemplo: um escritório de advocacia que quer que o modelo redija pareceres jurídicos seguindo o estilo específico dos sócios seniores — não só correto legalmente, mas com a “voz” da empresa.
2. Tarefas altamente especializadas com muitos exemplos
Você tem 10.000+ exemplos de pares entrada-saída de uma tarefa complexa e específica do seu domínio. O fine-tuning permite que o modelo aprenda padrões sutis que são difíceis de capturar em prompt.
Exemplo: classificação de tickets de suporte em 50+ categorias específicas do seu produto, com nuances que exigem conhecimento profundo de como clientes descrevem problemas.
3. Redução de custo em escala massiva
Um modelo menor e fine-tunado (como GPT-3.5 ou Llama 70B) pode substituir um modelo grande (como GPT-4) em tarefas específicas, com custo de inferência muito menor.
Se você está rodando milhões de requisições/mês, fine-tunar um modelo menor pode reduzir o custo mensal de APIs em dezenas de milhares de reais.
4. Latência crítica
Modelos menores fine-tunados respondem mais rápido que modelos grandes. Se você precisa de resposta em menos de 500ms, fine-tuning de um modelo pequeno pode ser a solução.
Fine-tuning NÃO faz sentido quando
Você quer que o modelo “saiba” informações atualizadas
Fine-tuning não é busca — o modelo aprende padrões, não fatos. Se você fine-tunar com contratos de 2023 e adicionar contratos novos em 2024, o modelo não vai “saber” sobre os novos sem re-treinar.
Para conhecimento factual que muda, use RAG.
Você tem menos de 1.000 exemplos de qualidade
Com poucos exemplos, o modelo não aprende padrões robustos — e pode overfittar (decorar os exemplos sem generalizar). Few-shot ou RAG resolvem melhor.
Seu conhecimento muda frequentemente
Cada atualização de conhecimento exige re-treinar o modelo. Se você atualiza a base semanal ou mensalmente, RAG é muito mais prático.
Você está no início do projeto
O custo de fine-tuning raramente se justifica antes de validar que o caso de uso tem valor. Comece com prompt engineering ou RAG, valide a utilidade, e só então considere fine-tuning se houver justificativa técnica ou econômica clara.
A combinação mais poderosa: RAG + fine-tuning
Para sistemas de alto desempenho em produção, as abordagens se complementam:
- Fine-tuning para que o modelo adote o estilo, a terminologia e o comportamento desejado
- RAG para injetar conhecimento específico e atualizado em cada requisição
Exemplo concreto
Uma empresa de logística quer um assistente de IA para suporte ao cliente.
Fine-tuning: treina o modelo para:
- Responder com o tom e estilo de comunicação da marca
- Usar a terminologia interna da empresa (siglas, nomes de processos)
- Seguir o fluxo de atendimento padrão (cumprimentar, qualificar, resolver, confirmar)
RAG: injeta em cada consulta:
- Políticas operacionais atuais
- Informações do cliente (histórico, contratos vigentes)
- Base de conhecimento de produtos e serviços
- Status atual de pedidos e entregas
O modelo fine-tunado sabe “como” responder. O RAG fornece “o que” responder. Juntos, criam uma experiência consistente, precisa e atualizada.
Como estruturar seus dados para RAG (checklist técnico)
A qualidade do RAG depende da qualidade dos dados indexados. Pontos críticos:
1. Chunking (divisão de documentos)
Documentos longos precisam ser divididos em fragmentos menores. O tamanho ideal varia com o tipo de documento:
- Documentos técnicos/legais: 400-600 tokens por chunk (preserva contexto denso)
- FAQs/artigos: 200-400 tokens (cada chunk é auto-contido)
- Conversas/logs: 300-500 tokens (mantém contexto conversacional)
Overlap entre chunks: sempre mantenha 50-100 tokens de sobreposição entre chunks consecutivos para não perder contexto nas bordas.
2. Metadados
Cada chunk deve ter metadados ricos para permitir filtros na busca:
{
"chunk_id": "doc_123_chunk_5",
"source_document": "contrato_cliente_abc.pdf",
"document_type": "contrato",
"date": "2024-03-15",
"department": "juridico",
"client_id": "abc_corp",
"page_number": 5,
"section": "cláusulas_rescisão"
}
Com metadados, você pode fazer buscas filtradas: “contratos do cliente ABC com cláusulas de rescisão”.
3. Limpeza de dados
HTML, cabeçalhos de PDF, rodapés repetidos, números de página, formatação desnecessária — tudo isso deve ser removido antes da indexação.
Lixo na entrada = lixo na saída. Vale investir tempo em limpeza de dados.
4. Atualização e versionamento
Defina um processo claro para:
- Adicionar novos documentos: automático via trigger ou manual com aprovação?
- Atualizar documentos existentes: substituir chunks ou versionar?
- Remover documentos desatualizados: soft delete (marcado como inativo) ou hard delete?
Um RAG com documentos desatualizados é pior do que não ter RAG — gera confiança falsa.
Comparativo: quando usar qual abordagem
| Se você precisa… | Use… |
|---|---|
| Responder perguntas com base em documentos internos | RAG |
| Classificar/extrair dados seguindo padrão específico | Few-shot prompting |
| Gerar texto no estilo exato da sua marca | Fine-tuning + RAG |
| Consultar informações que mudam frequentemente | RAG |
| Processar milhões de requisições com baixo custo | Fine-tuning de modelo pequeno |
| Validar caso de uso rapidamente com baixo investimento | Few-shot prompting |
| Personalizar para cliente específico mantendo isolamento | RAG com namespaces por cliente |
Custos comparativos (ordem de magnitude)
| Abordagem | Custo de setup | Custo operacional mensal (estimativa para 10k requisições/mês) |
|---|---|---|
| Few-shot prompting | $0 | $50-200 (só API calls) |
| RAG | $500-5.000 | $100-500 (API calls + vector DB) |
| Fine-tuning | $5.000-50.000 | $50-300 (modelo tunado é mais barato por requisição) |
Valores variam com volume, complexidade e provedor.
Se você está avaliando como usar os dados da sua empresa com IA e não sabe por onde começar, fale com a gente. Ajudamos a escolher a abordagem certa para o seu caso de uso específico e a implementar com qualidade de produção, evitando os erros comuns que desperdiçam tempo e dinheiro.