Aller au contenu
PentAGI
Concepts

Memory et connaissances

Comment PentAGI mémorise les commandes, les résultats et les relations tout au long d'un flow.

PentAGI conserve trois types de memory afin que les agents puissent s'appuyer sur les travaux précédents au lieu de repartir de zéro.

MemoryEmplacementContenu
Memory à long termePostgreSQL avec pgvectorEmbeddings des résultats, des approches réussies et des connaissances sur les tools
Memory de travailContexte du flowL'objectif actuel, l'état de la task et les ressources disponibles
Memory épisodiqueHistorique des commandesActions passées, leurs résultats et les schémas ayant fonctionné

Chaque commande et sa sortie sont stockées dans PostgreSQL. Les agents interrogent le vector store pour trouver des cas similaires avant d'agir, et y inscrivent leurs findings — les agents memorist et searcher effectuent l'essentiel de ce travail de recherche.

Knowledge graph (optionnel)

Lorsque la pile du knowledge graph est activée, PentAGI envoie les réponses des agents et les exécutions de tool à Graphiti sur Neo4j. Avec les règles d’ingestion du template .env, il extrait les entités et les relations — hôtes, services, vulnérabilités, techniques et leur évolution dans le temps — à partir des opérations de terminal et de fichier, et conserve les autres événements consultables sans extraction.

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 exécute son propre modèle : GRAPHITI_LLM_CLIENT_TYPE choisit le préréglage — openai, gemini, litellm ou custom — dont les modèles sont définis dans ./graphiti/<preset>.yaml, et la clé correspondante provient de .env (OPEN_AI_KEY pour openai). Un .env antérieur à la version 2.2.0 ne contient pas ces lignes ni les règles GRAPHITI_INGEST_* : copiez-les depuis le .env.example actuel.

Graphiti est une intégration bêta et est désactivée par défaut. Le rappel est limité au flow actif ; l'API Graphiti incluse ne comporte aucune authentification, veillez donc à la placer ainsi que Neo4j sur un réseau privé. L’extraction et les embeddings sont facturés séparément du modèle utilisé par le flow.

PentAGI vérifie Graphiti uniquement au démarrage, pendant quelques secondes. Si Graphiti n’est pas prêt à ce moment-là, PentAGI journalise un avertissement et s’exécute sans le knowledge graph jusqu’à son prochain redémarrage ; ainsi, dès que Graphiti signale qu’il est sain, exécutez docker restart pentagi.

Dernière mise à jour le