Pular para o conteúdo
PentAGI
Conceitos

Memory e conhecimento

Como o PentAGI memoriza comandos, resultados e relações ao longo de um flow.

O PentAGI mantém três tipos de memory para que os agents possam aproveitar o trabalho anterior em vez de começar do zero.

MemoryOnde fica armazenadaO que contém
Longo prazoPostgreSQL com pgvectorEmbeddings de resultados, abordagens bem-sucedidas e conhecimento sobre tool
TrabalhoContexto do flowO objetivo atual, estado da task e recursos disponíveis
EpisódicaHistórico de comandosAções anteriores, seus resultados e padrões que funcionaram

Cada comando e sua saída são armazenados no PostgreSQL. Os agents consultam o vector store em busca de casos semelhantes antes de agir e registram seus findings de volta — os agents memorist e searcher realizam a maior parte desse trabalho de consulta.

Knowledge graph (opcional)

Com a pilha do knowledge graph habilitada, o PentAGI envia as respostas do agent e as execuções de tool para o Graphiti no Neo4j. Com as regras de ingestão do template .env, ele extrai entidades e relacionamentos — hosts, serviços, vulnerabilidades, técnicas e como eles se relacionam ao longo do tempo — de operações de terminal e de arquivo, e mantém os outros eventos pesquisáveis sem extração.

GRAPHITI_ENABLED=true
GRAPHITI_URL=http://graphiti:8000
GRAPHITI_CONFIG_DIR=llm_configs
GRAPHITI_LLM_CLIENT_TYPE=openai
NEO4J_URI=bolt://neo4j:7687
NEO4J_PASSWORD=replace_with_a_strong_password
git clone --depth 1 https://github.com/vxcontrol/pentagi.git pentagi-src
cp -r pentagi-src/examples/graphiti ./graphiti
cp -r pentagi-src/examples/neo4j ./neo4j
rm -rf pentagi-src
curl -O https://raw.githubusercontent.com/vxcontrol/pentagi/main/docker-compose-graphiti.yml
docker compose -f docker-compose.yml -f docker-compose-graphiti.yml up -d

O Graphiti executa seu próprio modelo: GRAPHITI_LLM_CLIENT_TYPE escolhe o preset — openai, gemini, litellm ou custom — cujos modelos são definidos em ./graphiti/<preset>.yaml, e a chave correspondente vem de .env (OPEN_AI_KEY para openai). Um .env anterior à versão 2.2.0 não tem essas linhas nem as regras do GRAPHITI_INGEST_*: copie-as do .env.example atual.

O Graphiti é uma integração beta e está desativado por padrão. A recuperação é restrita ao flow ativo; a API do Graphiti incluída não possui autenticação, portanto mantenha-a e o Neo4j em uma rede privada. A extração e os embeddings são cobrados separadamente do modelo do próprio flow.

O PentAGI verifica o Graphiti apenas na inicialização, por alguns segundos. Se o Graphiti não estiver pronto nesse período, o PentAGI registra um aviso e executa sem o knowledge graph até a próxima reinicialização; portanto, assim que o Graphiti informar que está saudável, execute docker restart pentagi.

Última atualização em