Vai al contenuto
PentAGI
Concetti

Memory e conoscenza

Come PentAGI memorizza comandi, risultati e relazioni durante un flow.

PentAGI mantiene tre tipi di memory in modo che gli agents possano basarsi sul lavoro precedente invece di ricominciare da zero.

MemoryDove risiedeCosa contiene
A lungo terminePostgreSQL con pgvectorEmbedding di risultati, approcci efficaci e conoscenze sui tool
Di lavoroContesto del flowL'obiettivo corrente, lo stato del task e le risorse disponibili
EpisodicaCronologia dei comandiAzioni passate, i loro esiti e i pattern che hanno funzionato

Ogni comando e il relativo output vengono memorizzati in PostgreSQL. Gli agents interrogano il vector store per cercare casi simili prima di agire e vi salvano i findings: sono gli agents memorist e searcher a svolgere la maggior parte di queste ricerche.

Knowledge graph (opzionale)

Quando lo stack del knowledge graph è abilitato, PentAGI invia le risposte degli agent e le esecuzioni dei tool a Graphiti su Neo4j. Con le regole di ingestione del template .env, estrae entità e relazioni — host, servizi, vulnerabilità, tecniche e come si relazionano nel tempo — dalle operazioni sul terminal e sui file, e mantiene gli altri eventi ricercabili senza estrazione.

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

Graphiti esegue il proprio modello: GRAPHITI_LLM_CLIENT_TYPE sceglie il preset — openai, gemini, litellm o custom — i cui modelli sono impostati in ./graphiti/<preset>.yaml, e la chiave corrispondente proviene da .env (OPEN_AI_KEY per openai). Un .env precedente alla 2.2.0 non ha queste righe e le regole di GRAPHITI_INGEST_*: copiale dall'attuale .env.example.

Graphiti è un'integrazione in versione beta ed è disattivata per impostazione predefinita. Il ricordo è limitato al flow attivo; l'API Graphiti inclusa non prevede autenticazione, pertanto mantienila insieme a Neo4j su una rete privata. L'estrazione e gli embedding vengono addebitati separatamente rispetto al modello utilizzato dal flow.

PentAGI controlla Graphiti solo all'avvio, per alcuni secondi. Se Graphiti non è pronto entro quel tempo, PentAGI registra un avviso ed esegue senza il knowledge graph fino al suo prossimo riavvio, quindi una volta che Graphiti segnala di essere sano, esegui docker restart pentagi.

Ultimo aggiornamento il