Pular para o conteúdo

Design clássico · Sênior

Retrieval-Augmented Generation

Projeto de entrevista clássico. Pontos centrais: chunking, busca híbrida, reranking, grounding, avaliação de fidelidade e ACL.

16 min de leitura · Conteúdo revisado em 23 de outubro de 2026

Resposta curta

Projeto de entrevista clássico. Pontos centrais: chunking, busca híbrida, reranking, grounding, avaliação de fidelidade e ACL. Para ser útil num contexto específico, um modelo de linguagem costuma precisar de conhecimento de fundo; bots de análise jurídica, por exemplo, precisam conhecer uma vasta gama de casos passados.

01 · CONTEXTO

Por que um modelo precisa de uma base de conhecimento

Para ser útil num contexto específico, um modelo de linguagem costuma precisar de conhecimento de fundo; bots de análise jurídica, por exemplo, precisam conhecer uma vasta gama de casos passados. Uma forma de fazer isso é a geração aumentada por recuperação, o RAG, que recupera informação relevante de uma base de conhecimento e a anexa ao prompt do usuário.

Se a base é menor que 200,000 tokens (cerca de 500 páginas), dá para incluí-la inteira no prompt, sem RAG, e o cache de prompt deixa essa abordagem mais rápida e barata. Para bases maiores, que não cabem na janela de contexto, o RAG é a solução típica.

O tema aparece como título de capítulo na página pública do curso de design de sistemas de IA generativa da ByteByteGo.

02 · RAG TRADICIONAL

Fragmentar, embutir e buscar

O pré-processamento divide a base em trechos menores, em geral com no máximo algumas centenas de tokens; um modelo de embeddings converte os trechos em vetores que codificam significado; e os vetores ficam num banco vetorial que permite busca por similaridade semântica. Na consulta, os trechos mais relevantes são adicionados ao prompt enviado ao modelo gerador.

Embeddings captam bem relações semânticas, mas podem perder correspondências exatas importantes. O BM25 é uma alternativa lexical: é uma função de ranking que usa correspondência lexical para achar palavras ou frases exatas e é particularmente eficaz para consultas com identificadores únicos ou termos técnicos. Na consulta Error code TS-999 numa base de suporte técnico, um modelo de embeddings pode achar conteúdo sobre códigos de erro em geral e perder a correspondência exata, enquanto o BM25 procura aquela sequência específica de texto.

A busca híbrida junta as duas: o BM25 acha os melhores trechos por correspondência exata, os embeddings acham os melhores por similaridade semântica, os resultados são combinados e deduplicados com fusão de ranking e os K melhores trechos entram no prompt.

O RAG tradicional tem uma limitação: ele destrói contexto ao codificar a informação, o que muitas vezes faz o sistema falhar em recuperar o que é relevante. No exemplo do texto, um trecho diz apenas que a receita cresceu 3% sobre o trimestre anterior; sozinho, ele não especifica de qual empresa fala, o que dificulta recuperar a informação certa ou usá-la bem.

03 · INDEXAÇÃO

Contextual Retrieval: dar contexto a cada trecho antes de indexar

O Contextual Retrieval resolve o problema anexando ao início de cada trecho um contexto explicativo específico dele antes de gerar o embedding. Quem escreve esse contexto é um modelo, que recebe um prompt para dar um contexto conciso e específico do trecho, explicando-o com o contexto do documento inteiro. O texto resultante costuma ter 50-100 tokens e é anexado ao trecho antes do embedding e antes de criar o índice BM25.

  1. O diagrama começa pelo corpus de documentos, a base de conhecimento que será indexada.

    Diagrama da arquitetura: RAG sobre documentos: indexação
    DBCorpus de documentosbase de conhecimento
    CPDivisor em trechos
    CPGerador de contexto
    CPModelo de embeddings
    DBBanco vetorial
    DBÍndice lexical
  2. O corpus é dividido em trechos de texto menores, em geral com no máximo algumas centenas de tokens.

    Diagrama da arquitetura: RAG sobre documentos: indexação
    DBCorpus de documentos
    CPDivisor em trechosdivide em trechos
    CPGerador de contexto
    CPModelo de embeddings
    DBBanco vetorial
    DBÍndice lexical
  3. Para cada trecho, um modelo escreve um contexto curto que o situa dentro do documento inteiro, e esse contexto é anexado ao início do trecho antes do embedding e do índice lexical.

    Diagrama da arquitetura: RAG sobre documentos: indexação
    DBCorpus de documentos
    CPDivisor em trechos
    CPGerador de contextocontexto por trecho
    CPModelo de embeddings
    DBBanco vetorial
    DBÍndice lexical
  4. Os trechos contextualizados viram embeddings, vetores que codificam significado, e ficam num banco vetorial que permite busca por similaridade semântica.

    Diagrama da arquitetura: RAG sobre documentos: indexação
    DBCorpus de documentos
    CPDivisor em trechos
    CPGerador de contexto
    CPModelo de embeddingsgera vetores
    DBBanco vetorialbusca semântica
    DBÍndice lexical
  5. O mesmo texto contextualizado alimenta o índice lexical, que depois acha palavras e frases exatas.

    Diagrama da arquitetura: RAG sobre documentos: indexação
    DBCorpus de documentos
    CPDivisor em trechos
    CPGerador de contexto
    CPModelo de embeddings
    DBBanco vetorial
    DBÍndice lexicalbusca exata

04 · CONSULTA

Busca híbrida, fusão e reranking

O reranking é uma técnica comum de filtragem para garantir que só os trechos mais relevantes cheguem ao modelo. Ele melhora as respostas e reduz custo e latência porque o modelo processa menos informação.

  1. O diagrama começa pela pergunta que o usuário envia à API.

    Diagrama da arquitetura: RAG sobre documentos: caminho de uma pergunta
    CLUsuáriopergunta
    CPAPI de perguntas e respostas
    DBBanco vetorial
    DBÍndice lexical
    CPFusão de ranking
    CPReranker
    CPModelo gerador
  2. A mesma pergunta segue para a busca por embeddings, que acha trechos por similaridade semântica, e para a busca lexical, que acha trechos por correspondência exata.

    Diagrama da arquitetura: RAG sobre documentos: caminho de uma pergunta
    CLUsuário
    CPAPI de perguntas e respostas
    DBBanco vetorialsimilaridade
    DBÍndice lexicalcorrespondência exata
    CPFusão de ranking
    CPReranker
    CPModelo gerador
  3. Os resultados das duas buscas são combinados e deduplicados com técnicas de fusão de ranking.

    Diagrama da arquitetura: RAG sobre documentos: caminho de uma pergunta
    CLUsuário
    CPAPI de perguntas e respostas
    DBBanco vetorial
    DBÍndice lexical
    CPFusão de rankingcombina e deduplica
    CPReranker
    CPModelo gerador
  4. No experimento da Anthropic, a recuperação inicial trouxe os 150 melhores trechos candidatos, e um modelo de reranking deu uma nota de relevância a cada um para escolher os 20 melhores.

    Diagrama da arquitetura: RAG sobre documentos: caminho de uma pergunta
    CLUsuário
    CPAPI de perguntas e respostas
    DBBanco vetorial
    DBÍndice lexical
    CPFusão de ranking
    CPRerankernota de relevância
    CPModelo gerador
  5. Os K melhores trechos entram no prompt do modelo gerador, que produz o resultado final.

    Diagrama da arquitetura: RAG sobre documentos: caminho de uma pergunta
    CLUsuário
    CPAPI de perguntas e respostas
    DBBanco vetorial
    DBÍndice lexical
    CPFusão de ranking
    CPReranker
    CPModelo geradorgera a resposta
  6. O diagrama termina com a resposta devolvida ao usuário.

    Diagrama da arquitetura: RAG sobre documentos: caminho de uma pergunta
    CLUsuárioresposta
    CPAPI de perguntas e respostas
    DBBanco vetorial
    DBÍndice lexical
    CPFusão de ranking
    CPReranker
    CPModelo gerador

05 · RESULTADOS E DECISÕES

O que a combinação rendeu e o que ajustar

A métrica do texto é 1 menos recall@20: a porcentagem de documentos relevantes que não são recuperados entre os 20 primeiros trechos. Os números abaixo são médias de todos os domínios de conhecimento testados, com a melhor configuração de embeddings (Gemini Text 004) e recuperando os 20 primeiros trechos.

Configuração testadaFalha de recuperação no top 20
Ponto de partida5.7%
Embeddings contextuais3.7%, redução de 35%
Embeddings contextuais e BM25 contextual2.9%, redução de 49%
Os dois contextuais com reranking1.9%, redução de 67%

Entre as considerações de implementação, a escolha do tamanho, da fronteira e da sobreposição dos trechos pode afetar o desempenho da recuperação. Os autores testaram 5, 10 e 20 trechos no contexto e 20 foi a opção de melhor desempenho entre elas; embeddings com BM25 foram melhores que embeddings sozinhos; e o texto recomenda sempre rodar avaliações (evals).

Perguntas frequentes

O que é Retrieval-Augmented Generation?

Projeto de entrevista clássico. Pontos centrais: chunking, busca híbrida, reranking, grounding, avaliação de fidelidade e ACL.

O que o design de Retrieval-Augmented Generation cobre?

Ele está organizado nestas seções: Por que um modelo precisa de uma base de conhecimento, Fragmentar, embutir e buscar, Contextual Retrieval: dar contexto a cada trecho antes de indexar, Busca híbrida, fusão e reranking e O que a combinação rendeu e o que ajustar.

Quanto tempo leva Retrieval-Augmented Generation e qual é o nível?

Leva cerca de 16 minutos para ler e tem nível Sênior.

Agora projete você mesmo

Rode este caso como uma entrevista na escola de System Design: você toma as decisões, o tutor as questiona e você vê a nota do seu desenho.