Executando verificação de segurança...
1

🚀 Memory Graph: Knowledge Graph em TypeScript para Memórias de Agentes

Fala, galera! 👋

Quero compartilhar com vocês um projeto que estou desenvolvendo e que já está em testes nos meus agentes: o Memory Graph. Ele é um knowledge graph em TypeScript, pensado para armazenar e buscar memórias de agentes, inspirado na forma como a memória humana funciona – e também no incrível projeto Graphiti.


🌱 A ideia por trás do Memory Graph

O grande desafio de criar agentes mais inteligentes é permitir que eles lembrem de forma contextual e façam conexões naturais entre informações.

Na memória humana, nós:

  1. Vivenciamos eventos → inputs da nossa experiência.
  2. Extraímos fatos → informações relevantes que ficam registradas.
  3. Relacionamos conceitos → formamos conexões mentais entre experiências.
  4. Resgatamos lembranças → buscamos fatos e entidades conectadas quando precisamos.

O Memory Graph funciona exatamente assim, só que em código. ⚡


🧠 Como o Memory Graph trabalha

O processo gira em torno de Episódios, Fatos, Entidades e Relações:

  1. Inputs (Episódios):
    Cada interação entre o humano e a IA gera um episódio – basicamente uma mensagem ou conjunto de mensagens.

  2. Extração de Fatos:
    Desses episódios, são extraídos fatos (informações relevantes).

    • Exemplo: "João pediu um orçamento para um site" → fato sobre João e "orçamento".
  3. Criação de Nodes e Edges:

    • Nodes (Entidades): representam conceitos ou objetos do mundo (ex: "João", "site").
    • Edges (Relacionamentos): representam fatos que conectam entidades.
  4. Busca por Similaridade:
    Quando o agente precisa lembrar de algo, ele busca pelas edges usando similaridade de cosseno.

    • Isso permite encontrar fatos relevantes, mesmo que a consulta não seja idêntica ao que foi salvo.
  5. Retorno final:
    O Memory Graph traz:

    • As entidades relacionadas
    • Os fatos mais relevantes
    • As últimas 5 mensagens do histórico, para contexto imediato

Resultado: uma memória rica, contextual e natural, que o agente pode usar para pensar e responder melhor.


🔗 Exemplo prático

Imagine que um agente tenha o seguinte histórico:

  • "João pediu um orçamento para um site."
  • "Maria perguntou sobre marketing digital."
  • "João quer saber quando o orçamento estará pronto."

Quando buscamos por "informações sobre João", o Memory Graph retorna:

  • Entidade: João

  • Fatos:

    • "João pediu um orçamento para um site."
    • "João quer saber quando o orçamento estará pronto."
  • Últimas 5 mensagens para contexto.

Isso faz com que o agente possa responder de forma inteligente e natural, como se estivesse realmente lembrando de uma conversa.

Carregando publicação patrocinada...