RAG e embeddings sem mistério

Por que não dá para colocar tudo no prompt — e como a busca por significado encontra o trecho certo do seu material.

Você tem um catálogo de 40 páginas, um manual de procedimentos, um site cheio de conteúdo. Como o agente de IA responde usando esse material? A resposta é a técnica com o nome mais feio e a ideia mais bonita da IA aplicada: RAG (Retrieval-Augmented Generation — "geração com busca embutida"). No ScalaCRM, é o que alimenta as Fontes de conhecimento do agente.

Por que não cabe tudo no prompt

A janela de contexto do modelo é limitada — e mesmo que coubesse, seria má ideia: você pagaria pelos tokens do manual inteiro a cada mensagem, e o modelo se perderia no meio de tanta coisa irrelevante (quanto mais palha, mais difícil achar a agulha).

A solução é óbvia quando dita em voz alta: não entregue o manual — entregue a página certa. O cliente perguntou sobre garantia? Só o trecho de garantia entra no prompt. O RAG é o mecanismo que encontra esse trecho.

Embedding: a coordenada do significado

Como um computador encontra "o trecho que fala disso" sem entender de verdade? Com embeddings: uma técnica que transforma qualquer texto numa lista de números — pense numa coordenada num mapa gigante de significados.

A mágica é que textos de significado parecido caem em pontos vizinhos desse mapa. "Qual o prazo de entrega?" e "quando chega meu pedido?" não têm quase nenhuma palavra em comum — mas os embeddings dos dois ficam praticamente no mesmo lugar. É como um CEP semântico: assuntos parecidos moram no mesmo bairro.

Busca por proximidade

Com o mapa pronto, a busca vira geometria:

  1. Na hora de cadastrar o material, o sistema calcula o embedding de cada pedaço e guarda as coordenadas.
  2. Na hora da pergunta, calcula o embedding da mensagem do cliente.
  3. Busca os pedaços mais próximos no mapa — os vizinhos de significado.
  4. Entrega só esses pedaços ao modelo, junto com a pergunta, e ele redige a resposta com base neles.

Repare que é diferente da busca por palavra-chave: o RAG encontra por significado. "Vocês parcelam?" acha o trecho sobre "condições de pagamento" mesmo sem a palavra "parcelar" aparecer nele.

Chunks: fatiar bem é metade do trabalho

O material não é guardado inteiro — é fatiado em chunks (pedaços de algumas centenas de palavras, com uma pequena sobreposição entre eles para nenhuma informação ficar cortada ao meio). Fatias pequenas demais perdem o contexto; grandes demais trazem palha junto. O ScalaCRM usa um tamanho calibrado para material de atendimento.

💡 Dica: ajude o fatiador escrevendo material organizado por assunto, com títulos claros e um tema por parágrafo. Um "textão" corrido sobre dez assuntos vira fatias confusas; um documento bem estruturado vira fatias certeiras.

No ScalaCRM: Fontes de conhecimento

Na aba Conhecimento do agente, a seção Fontes de conhecimento é o seu RAG sem código: cole um texto, informe a URL de uma página ou envie um arquivo. O sistema fatia, calcula os embeddings e, a cada mensagem de cliente, busca os trechos mais relevantes e os entrega ao agente — automaticamente.

⚠️ Atenção: o RAG responde com o que está escrito nas fontes. Material desatualizado gera resposta errada com confiança. Trocou preço, política ou horário? Atualize a fonte.

Veja também