Um modelo de linguagem admite, no papel, centenas de milhares ou milhões de tokens, mas na prática aproveita muitos menos. Norman Paulsen mediu isto de forma sistemática: define uma janela de contexto máxima efetiva (MECW, pelas siglas em inglês) —o troço de entrada a partir do qual acrescentar tokens já não melhora a resposta, e muitas vezes a piora— e compara-a com a janela que os fornecedores anunciam. Na sua amostra, a maioria dos modelos degrada com clareza por volta dos mil tokens de contexto; alguns falham com centenas. A distância relativamente ao máximo arquitetónico chega a ser de mais de 99 por cento, e o tipo de problema desloca esse limiar, de modo que não há um número único (Paulsen, 2025).
Isso não é um argumento contra o RAG; é um dado sobre quanto contexto convém dar ao modelo, e quando.
O que o RAG resolve, e onde fica curto
O RAG (geração aumentada por recuperação) parte de uma ideia sã: o modelo não tem de memorizar o acervo. Recuperam-se um punhado de fragmentos próximos da consulta e entregam-se-lhe para que redija uma resposta. Bem delimitado —poucos fragmentos, relevantes, abaixo da janela efetiva— o mesmo estudo encontra que a exatidão pode aproximar-se dos cem por cento. Esse é o uso que vale a pena defender: uma pergunta em linguagem natural sobre um conjunto de documentos, com uma resposta sintetizada.
O limite aparece quando se trata o RAG como o índice do acervo. Recuperar mais para «não perder nada» empurra o prompt para além da janela efetiva: Paulsen observa que um RAG que injeta contagens altas de tokens baixa o desempenho em vez de o subir. A isso soma-se o que já se sabia: o modelo atende pior o que fica no meio do contexto (Liu et al., 2023), e o corte do documento decide o que se pode recuperar. Um fragmento demasiado grande dilui; um demasiado pequeno corta a frase que importava.
Para perguntar «o que diz este expediente sobre a cláusula X?» isso mitiga-se. Para encontrar num catálogo —o autor, a matéria, o título exato, todas as obras de uma pessoa, o volume que começa por uma letra— o gargalo não é a redação de uma resposta, mas ter pontos de acesso estáveis sobre os quais procurar e folhear.
O que o Collect deixa pronto para procurar
O Collect usa o modelo no momento de descrever, não em cada consulta. Lê o material —um PDF, uma imagem, uma folha, uma gravação— e identifica a obra. Do documento aflora os pontos de acesso: os cabeçalhos pelos quais se vai encontrar o registo —nomes, matérias, títulos, datas— e, quando há coincidência, deixa-os em forma autorizada. Não são um parágrafo para o modelo: são as entradas que o Janium carrega nos seus índices.
É o que o catálogo já sabe procurar, em três vias que a ficha comercial do Janium distingue:
- Por palavra-chave nos índices especializados que esses cabeçalhos alimentam.
- Alfabética em autoridades: todas as obras de um autor, todas as matérias que começam por uma letra, o título na sua forma normalizada.
- Texto completo nos objetos digitais vinculados, quando há um corpo a indexar.
Extensões corporativas
Num livro, os pontos de acesso bastam com autor, título e matéria. Num contrato, numa ata ou num relatório de gestão, o que é preciso encontrar não cabe nesses três. O Collect, quando o formato de saída leva extensões corporativas (Dublin Core ou ISAD-G), extrai do documento um bloco à parte de cabeçalhos:
- pessoas com o seu papel (signatário, representante, acreditado)
- organizações e o papel que desempenham
- montantes, com conceito e moeda
- datas críticas (vencimento, assinatura, vigência) e a sua criticidade
- garantias e colaterais
- cláusulas citadas, obrigações de fazer e restrições
- relações entre entidades que o texto declara
- lugares e matérias
Não são uma análise jurídica nem uma segunda leitura do modelo no momento da consulta, mas campos: o Collect aflora-os uma vez e o Janium carrega-os como índices especializados, de modo que a consulta «contratos com esta pessoa, esta empresa e montantes acima de um limiar, assinados em tal ano» se resolve contra esses índices, não percorrendo o texto nem injetando-o outra vez no modelo.
O que o documento não declara não se preenche. Uma cláusula cita-se se está e uma relação societária só se o texto a diz — o mesmo critério de sempre: completar o identificável, marcar proveniência e deixar vazio o que não se sustenta.
O modelo intervém uma vez, ao catalogar, e a consulta do leitor não volta a passar por um LLM nem por um teto de tokens. O resultado mantém-se embora o acervo cresça, porque o custo de descrever não se paga outra vez em cada busca.
Esse enriquecimento tem o risco que já dissemos: um dado plausível pode ser falso. Por isso o registo marca proveniência quando há autoridade, classifica cada ficha e assinala as que convém rever. O ponto de acesso fica inspecionável; um fragmento recuperado num RAG, não.
O markdown, se se precisa do texto
O Collect pode entregar, além do registo, o texto extraído em markdown: o que o documento dizia, já numa forma que se pode indexar. Isso não substitui os pontos de acesso; cobre outra pergunta: «em que página aparece esta frase?».
Esse markdown indexa-se em texto completo no Janium (ou noutro motor léxico). A busca por palavra-chave deixa de se limitar aos campos do registo e alcança o corpo. Continua a ser um índice, não uma geração: não há janela de contexto que se sature quando o fundo passa de milhares a centenas de milhares de páginas.
O mesmo markdown serve, se a instituição o quiser, para embeddings. Aí o RAG volta a fazer sentido —como camada opcional, sobre um texto já limpo e já ancorado a um registo— não como único caminho para encontrar uma obra. Quem precisa de uma resposta redigida («compara estas três cláusulas») recupera poucos passos e fica abaixo da janela efetiva. Quem precisa do autor ou da cota não tem de passar por aí.
Três camadas, um só acervo
Não é Collect ou RAG, mas uma ordem:
- Pontos de acesso no catálogo — o que o Collect aflora e o Janium procura em alfabético, por palavra-chave e, se há extensões corporativas, por montante, vencimento, cláusula ou obrigação. É a camada que um acervo tem de sustentar embora ninguém faça uma pergunta em linguagem natural.
- Texto completo do markdown — quando é preciso localizar uma frase, não só a ficha.
- Embeddings / RAG — quando é preciso sintetizar ou comparar, com poucos fragmentos e a sabendas do limiar efetivo do modelo.
O estudo de Paulsen não diz que o RAG esteja esgotado. Diz que o modelo deixa de aproveitar o contexto muito antes do que anuncia a ficha técnica, e que um RAG que ignora esse teto prejudica-se sozinho. O Collect usa o modelo onde rende —identificar e completar um registo, uma vez— e deixa no Janium um catálogo que não depende de voltar a caber nessa janela.
Se a tua instituição está a avaliar se «pôr o acervo num RAG» substitui catalogá-lo, a pergunta útil é outra: que consultas tens de resolver todos os dias. As que se contestam com um ponto de acesso ou com uma frase do documento não precisam de gerar um parágrafo. As que sim, podem apoiar-se no markdown que o Collect já deixou pronto. Se queres vê-lo com uma amostra do teu próprio material, escreve-nos para info@janium.com.