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 memorymemory — memóriaO que os agentes mantêm para poder construir sobre trabalhos anteriores em vez de começar do zero: memória de longo prazo, de trabalho e episódica. para que os agentsagent — agenteUm agente de IA do PentAGI: um modelo com seu próprio prompt, configurações e ferramentas que realiza um tipo de trabalho em um fluxo, como testar, escrever código ou pesquisar na web. possam aproveitar o trabalho anterior em vez de começar do zero.
| Memory | Onde fica armazenada | O que contém |
|---|---|---|
| Longo prazo | PostgreSQL com pgvector | Embeddings de resultados, abordagens bem-sucedidas e conhecimento sobre tooltool — ferramentaAquilo por meio do qual um agente age: um recurso integrado como o terminal, o navegador isolado ou a busca na web, ou um programa no sandbox como nmap, metasploit ou sqlmap. |
| Trabalho | Contexto do flowflow — fluxoUma execução do PentAGI: um objetivo, as tarefas criadas a partir das suas mensagens e tudo o que os agentes fizeram no caminho. | O objetivo atual, estado da tasktask — tarefaUma solicitação em um fluxo: sua primeira mensagem, ou uma mensagem posterior que não responde a uma pergunta de um agente. O PentAGI divide cada tarefa em subtarefas. e recursos disponíveis |
| Episódica | Histórico de comandos | Açõ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 storevector storeO banco de dados de embeddings que permite aos agentes buscar memória e documentos por significado. em busca de casos semelhantes antes de agir e registram seus findingsfinding — achadoAlgo que o teste descobriu e registrou, como um host, um serviço em execução ou uma vulnerabilidade. de volta — os agents memorist e searcher realizam a maior parte desse trabalho de consulta.
Knowledge graph (opcional)
Com a pilha do knowledge graphknowledge graph — grafo de conhecimentoO grafo de hosts, serviços, vulnerabilidades e o acesso entre eles que o PentAGI constrói durante um teste quando esse recurso opcional está ativado. Ele mostra como os achados se conectam. 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_passwordgit 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 -dO Graphiti executa seu próprio modelo: GRAPHITI_ escolhe o preset — openai, gemini, litellm ou custom — cujos modelos são definidos em ./, e a chave correspondente vem de .env (OPEN_ para openai). Um .env anterior à versão 2.2.0 não tem essas linhas nem as regras do GRAPHITI_: 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