Pular para o conteúdo

Gestão de contexto e memória, RAG e bancos vetoriais

Prioridade Média 16 min de leitura Status: Não visto Lido Praticado Dominado

Do zero

Um LLM, sozinho, não tem memória entre uma conversa e outra. É como um consultor brilhante com amnésia: a cada reunião, ele só sabe o que está nos papéis em cima da mesa. Se o chat parece “lembrar” do que você disse antes, é porque a aplicação coloca de novo na mesa, a cada pergunta, o histórico da conversa.

Daí três tipos de memória num sistema com IA:

  • Curto prazo: a própria janela de contexto, com a conversa atual. Acaba quando a sessão termina ou quando a mesa enche e é preciso resumir.
  • Longo prazo: o que a aplicação guarda fora do modelo e traz de volta quando é útil: um arquivo de notas do projeto, preferências do usuário, decisões já tomadas.
  • Conhecimento externo: documentos, normas e código que o sistema busca na hora da pergunta e entrega ao modelo. Isso é o RAG (geração aumentada por recuperação), e o lugar onde se busca por significado é o banco vetorial.

Pense num bom arquivista. Ele não lê o arquivo inteiro para cada pedido. Ele mantém fichas organizadas (os trechos, com etiquetas), sabe procurar tanto pelo assunto quanto pelo número exato do processo e entrega ao consultor só as três pastas que importam.

Frase para guardar: o modelo não lembra; quem lembra é a aplicação. O RAG busca os trechos certos e põe na mesa; a qualidade da resposta depende da qualidade da busca.

Em 1 minuto

  • Modelos são sem estado entre chamadas: a aplicação reenvia o histórico (inteiro ou resumido) a cada chamada.
  • Gestão do contexto: janela deslizante (manter só as últimas mensagens), compactação (resumir o que ficou para trás), extração de fatos para a memória de longo prazo e descarte do que não serve mais.
  • Cuidados com a memória: dados pessoais guardados sem necessidade, informação desatualizada e memória envenenada (uma instrução maliciosa gravada como se fosse fato, que volta em toda sessão).
  • Indexação do RAG: dividir os documentos em trechos (chunking), de preferência pela estrutura (uma seção da norma, uma função do código), com alguma sobreposição entre trechos de texto corrido; guardar metadados (arquivo, versão, vigência, quem pode ler); gerar os embeddings com o mesmo modelo usado para as perguntas.
  • Recuperação: buscar os k trechos mais parecidos (top-k); busca híbrida, que combina a lexical (termos exatos, como nomes de funções e números de artigos) com a vetorial (significado); reranqueamento (um modelo mais preciso reordena os candidatos); filtros por metadados (só documentos vigentes, só o que o usuário pode ler).
  • Avaliação: recall@k (o trecho certo veio entre os k primeiros?), precisão e fidelidade da resposta aos trechos (sem inventar além deles).
  • Manutenção: reindexar quando os documentos mudam e tirar do índice o que foi revogado.
  • Em agentes de código: muitas vezes a busca por ferramentas (procurar texto e abrir arquivos) é melhor que a vetorial, porque é exata e sempre atual; a vetorial ajuda nas perguntas por conceito.

Exemplo concreto: o assistente técnico da equipe de sistemas

A equipe criou um assistente que responde dúvidas sobre os sistemas internos, com base no código e nos manuais.

1. Indexação. O código é dividido por função e classe; os manuais, por seção, com sobreposição de algumas frases. Cada trecho recebe metadados: arquivo, sistema, versão e data. Tudo vira embedding e vai para o banco vetorial (pgvector, no PostgreSQL que a equipe já usa), e o texto também vai para um índice de busca lexical.

2. A pergunta: “Como o sistema calcula o total de diárias de um servidor?”

  • A busca vetorial acha a seção do manual “Cálculo das diárias”, mesmo sem as mesmas palavras.
  • A busca lexical acha a função total_por_servidor, porque “total” e “servidor” aparecem no nome da função e “diarias” no nome do arquivo (o índice ignora acentos e separa os nomes nos sublinhados).
  • O reranqueador recebe os 20 candidatos e escolhe os 4 mais relevantes.
  • O LLM responde com base nesses 4 trechos e cita o arquivo e a seção de cada informação.

3. A memória. Na conversa, o desenvolvedor explica que “dinheiro é sempre Decimal neste projeto”. O assistente grava esse fato no arquivo de notas do projeto, e a regra passa a valer nas próximas sessões, sem ninguém repetir.

4. O problema da norma revogada. Meses depois, o assistente cita uma rotina de cálculo já substituída. A causa: o índice não foi atualizado. A correção: reindexar a cada mudança no repositório e nos manuais, marcar a vigência nos metadados e filtrar o que está revogado.

Comparação: memórias, buscas e etapas do RAG

Memória Onde fica Dura Exemplo
Curto prazo Na janela de contexto A sessão (ou até a compactação) A conversa de agora
Longo prazo Fora do modelo: arquivos, banco de dados Entre sessões “Dinheiro é sempre Decimal neste projeto”
Conhecimento externo Documentos indexados (RAG) Enquanto o índice estiver atualizado Manuais, normas, código
Busca lexical Busca vetorial Busca híbrida
Compara Palavras e termos exatos Significado (embeddings) As duas, combinadas
Acerta bem Nomes de funções, siglas, números de artigos Perguntas com outras palavras Os dois tipos de pergunta
Falha em Sinônimos e paráfrases Termos exatos raros Pede mais processamento e ajuste da combinação
Etapa O que faz Erro comum
Chunking Divide os documentos em trechos Trechos que cortam uma regra ao meio
Embeddings Transforma cada trecho em vetor Modelos diferentes para documentos e perguntas
Recuperação (top-k) Busca os trechos mais parecidos Só vetorial, perdendo termos exatos
Reranqueamento Reordena os candidatos com mais precisão Mandar 20 trechos direto ao LLM
Geração Responde com base nos trechos, citando Responder além do que os trechos dizem
Manutenção Reindexa e remove o que mudou Índice desatualizado

Como a FCC cobra

As etapas do RAG (indexar, recuperar, gerar), o papel do banco vetorial e dos embeddings, e a gestão de contexto e memória (o modelo não guarda estado; a aplicação gerencia histórico e memória).

  • Chunking e metadados.
  • Busca lexical × vetorial × híbrida; reranqueamento.
  • Memória de curto e de longo prazo; compactação.
  • Riscos: índice desatualizado, permissões, memória envenenada.

Pegadinhas

  • “O LLM guarda nos seus parâmetros cada conversa com o usuário.” Falso: o modelo não muda com o uso; a aplicação é que reenvia o histórico ou guarda memórias fora dele.
  • “A busca vetorial é sempre melhor que a lexical.” Falso: para termos exatos, como nomes de funções e números de artigos, a lexical costuma acertar mais; por isso se combinam as duas.
  • “Basta indexar os documentos uma vez.” Falso: documentos mudam; sem reindexar, o assistente cita versões antigas ou revogadas.
  • “Pergunta e documentos podem ser convertidos por modelos de embedding quaisquer, sem relação entre si.” Falso: os vetores só são comparáveis no mesmo espaço; na prática, usa-se o mesmo modelo para os dois (alguns têm um modo para pergunta e outro para documento).
  • “Tudo o que o usuário disser deve ir para a memória de longo prazo.” Falso: guarda-se só o útil, sem dados pessoais desnecessários e com cuidado para não gravar instruções maliciosas.

Explique com suas palavras

Explique a um gestor como o assistente técnico consegue responder com base nos manuais e no código da equipe, e por que ele passou a citar uma rotina que já tinha sido substituída.

  1. Escreva sem olhar a lição, com frases curtas e um exemplo seu.
  2. Onde travar ou precisar de jargão, há uma lacuna: releia só essa parte.
  3. Compare com a explicação-modelo e reescreva o que faltou.

Fica salva neste navegador.

Comparar com uma explicação-modelo

O assistente não sabe nada dos nossos sistemas por conta própria. Antes, nós dividimos os manuais e o código em pedaços pequenos e os guardamos num índice, organizado tanto pelas palavras quanto pelo significado. Quando alguém pergunta, o sistema procura os pedaços que mais combinam com a pergunta, escolhe os melhores e os entrega ao modelo, que responde com base neles e diz de onde tirou cada informação.

Ele citou a rotina antiga porque o índice era uma fotografia velha: os manuais mudaram, mas os pedaços guardados não foram atualizados. A solução é atualizar o índice sempre que um documento muda e marcar o que deixou de valer, para que a busca ignore o que foi substituído.

Teste-se

Eng. de Software com IA e agentes · Memória, RAG e vetores · Inédita, estilo FCC

Questão 1 de 3

Numa aplicação de chat que usa um LLM por meio de uma API, o modelo leva em conta as mensagens anteriores da conversa porque

Alternativas

A–E escolhem, Enter confirma. Botão direito ou Shift + letra risca.

Toque longo numa alternativa para riscá-la.

Eng. de Software com IA e agentes · Memória, RAG e vetores · Inédita, estilo FCC

Questão 2 de 3

Ao preparar o código-fonte de um sistema para ser consultado por RAG, a forma mais adequada de dividir o conteúdo em trechos (chunking) costuma ser

Alternativas

A–E escolhem, Enter confirma. Botão direito ou Shift + letra risca.

Toque longo numa alternativa para riscá-la.

Eng. de Software com IA e agentes · Memória, RAG e vetores · Inédita, estilo FCC

Questão 3 de 3

Os usuários de um assistente técnico perguntam tanto por conceitos (“como se calcula a multa por atraso?”) quanto por nomes exatos (“o que faz a função total_por_servidor?”). Para recuperar bem os dois tipos de pergunta, convém usar

Alternativas

A–E escolhem, Enter confirma. Botão direito ou Shift + letra risca.

Toque longo numa alternativa para riscá-la.

Mais duas questões deste tópico estão em Questões.

Flashcards gerados

FrenteVerso
Memória de curto × longo prazo em sistemas com IA A de curto prazo é a janela de contexto da sessão; a de longo prazo fica fora do modelo (arquivos, banco) e é trazida de volta quando útil.
Recall@k Mede se o trecho certo apareceu entre os k primeiros resultados da busca.
Memória envenenada Instrução maliciosa ou dado falso gravado na memória de longo prazo, que volta a influenciar o agente em toda sessão.
Sobreposição entre trechos Repetir algumas frases no fim de um trecho e no começo do seguinte, para não cortar uma ideia ao meio na indexação.
Busca por ferramentas em agentes de código Procurar texto e abrir arquivos é exato e sempre atual; a busca vetorial complementa nas perguntas por conceito.

Ligação com o estudo de caso

Num caso de assistente sobre normas ou sistemas do Tribunal, detalhe o RAG além do básico: chunking pela estrutura (artigo, seção, função), metadados de vigência e de permissão, busca híbrida com reranqueamento, citação obrigatória das fontes, reindexação a cada mudança e avaliação com perguntas de teste (recall@k). Para a memória, diga o que se guarda, por quanto tempo e como se evita guardar dados pessoais. As lições de prompts e RAG (Inteligência Artificial) e de bancos NoSQL e vetoriais (Banco de Dados) cobrem a base.

Fontes da lição

Claude explica

Tire dúvidas sobre este tema no Claude: o site copia o pedido com a lição e abre uma conversa nova, na sua conta. Confira na fonte qualquer fato de lei ou de norma.

Pratique fora do site

Faça questões da FCC sobre este tópico no QConcursos ou no Gran e registre aqui quantas fez: elas contam na meta da semana e no status do tópico.

Registrar questões feitas lá
Errei uma questão lá: criar flashcard