Fiquei abstraindo aqui fora da programação em si, e percebi um detalhe, o problema pelo que entendi ai todo é perder informação na verdade, tipo classificar informações relevantes como se fossem irrelevantes, ou seja o que você chama de relações, que é justamente a cola entre os contextos correto? Eu resolvi isso com um RAG semântico que usa IA local para analisar a "cola" e te devolver os resultados, na epoca chamei de Autoreflex e coloquei no GIT a primeirissima versão. Que em minha stack pessoal gora esta bem mais avançada e ja transformei em uma orquestra de MCPs, mas voltando a questão, o que ele faz é usar um qdrant para indexar e o modelo Gemma Embed do google para fazer buscas semanticas, no caso uso para skills, então eu tenho milhares de skill, mas elas tem um indice com descrição e palavras chaves, cada nova skill criada é indexada, elas podem ser mescladas, apagadas, revisadas. O modelo consulta apenas o indice e devolve resultados curtos aos agentes de IA ou a ser humano mesmo buscando por uma url de api, a resposta são as skills com sua pontuação de relevancia, mas filtradas pelo conteudo e relação sintatica a perguta que pode ser em qualquer idioma e de qualquer forma.
Talvez ache interessante, como disse dá para fazer muito alem, eu coloquei lá bem limitado confesso por falta de tempo: