Gustavo é gerente de contas na Eximia. Ele é responsável pela conta da Acme.
João trabalha na Acme como gerente de TI e é o principal contato do Gustavo. Maurício é gerente de suprimentos na Acme.
Gustavo quer conhecer o Maurício. A resposta parece óbvia: pedir ao João que faça a apresentação.
Mas como um agente de IA chegaria a essa conclusão?
Uma possibilidade seria enviar todas essas informações no contexto de uma LLM. Para um exemplo pequeno como esse, provavelmente funcionaria. Mas, à medida que a quantidade de informações cresce, o custo com contexto e tokens cresce junto.
Outra alternativa seria manter esse conhecimento fora da LLM e consultá-lo por meio de uma API.
O componente mais comum para isso seria um banco relacional. Empresas. Pessoas. Cargos. Relacionamentos.
Só que o problema não é armazenar os dados.
É descobrir conexões.
Encontrar o menor caminho entre Gustavo e Maurício é simples nesse exemplo. Em um ambiente corporativo, porém, esse caminho pode envolver cinco, dez ou vinte relacionamentos.
Bases relacionais são excelentes para representar relações diretas. Já para descobrir conexões arbitrárias entre entidades, deixam de ser a ferramenta ideal.
É aí que entram as bases de grafos e os motores de inferência. Grafos respondem quem está conectado a quem. Motores de inferência respondem o que pode ser concluído a partir dessas conexões.
Como tenho dito, arquitetura é escolher a ferramenta certa para o problema certo. Não é nada inteligente pensar que a essência da inteligência artificial são LLMs.