Memory und Wissen
Wie PentAGI sich Befehle, Ergebnisse und Beziehungen über einen Flow hinweg merkt.
PentAGI verwaltet drei Arten von MemoryMemory — GedächtnisWas Agenten speichern, damit sie auf früheren Arbeiten aufbauen können, statt bei Null anzufangen: Langzeitgedächtnis, Arbeitsgedächtnis und episodisches Gedächtnis., damit AgentsAgentEin KI-Agent von PentAGI: ein Modell mit eigenem Prompt, Einstellungen und Tools, das eine bestimmte Art von Arbeit in einem Flow erledigt, wie z. B. Testen, Code schreiben oder Websuche. auf früheren Arbeiten aufbauen können, statt jedes Mal von vorne zu beginnen.
| Memory | Wo es gespeichert ist | Was es enthält |
|---|---|---|
| Langzeit-Memory | PostgreSQL mit pgvector | Embeddings von Ergebnissen, erfolgreichen Ansätzen und Tool-Wissen |
| Arbeits-Memory | Flow-Kontext | Das aktuelle Ziel, der Task-Status und verfügbare Ressourcen |
| Episodisches Memory | Befehlsverlauf | Vergangene Aktionen, ihre Ergebnisse und funktionierende Muster |
Jeder Befehl und seine Ausgabe werden in PostgreSQL gespeichert. Agents durchsuchen den Vector StoreVector Store — VektorspeicherDie Datenbank mit Embeddings, die es Agenten ermöglicht, Gedächtnis und Dokumente nach Bedeutung zu durchsuchen. vor dem Handeln nach ähnlichen Fällen und schreiben ihre FindingsFinding — BefundEtwas, das der Test entdeckt und aufgezeichnet hat, wie z. B. einen Host, einen laufenden Dienst oder eine Schwachstelle. zurück – der memorist-Agent und der searcher-Agent übernehmen den Großteil dieser Suchvorgänge.
Knowledge Graph (optional)
Wenn der Knowledge-Graph-Stack aktiviert ist, sendet PentAGI Agent-Antworten und Tool-Ausführungen an Graphiti auf Neo4j. Mit den Ingest-Regeln der .env-Vorlage extrahiert es Entitäten und Beziehungen – Hosts, Dienste, Schwachstellen, Techniken und wie sie sich im Zeitverlauf zueinander verhalten – aus Terminal- und Dateioperationen und hält die anderen Ereignisse ohne Extraktion durchsuchbar.
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 -dGraphiti führt sein eigenes Modell aus: GRAPHITI_ wählt die Voreinstellung — openai, gemini, litellm oder custom — deren Modelle in ./ festgelegt sind, und der passende Schlüssel stammt aus .env (OPEN_ für openai). Ein .env vor Version 2.2.0 enthält diese Zeilen und die GRAPHITI_-Regeln nicht: Kopieren Sie sie aus dem aktuellen .env.example.
Graphiti ist eine Beta-Integration und standardmäßig deaktiviert. Der Abruf ist auf den aktiven FlowFlowEin Durchlauf von PentAGI: ein Ziel, die aus Ihren Nachrichten erstellten Aufgaben und alles, was die Agenten dabei getan haben. beschränkt; die mitgelieferte Graphiti-API verfügt über keine Authentifizierung, daher sollten Sie sie und Neo4j in einem privaten Netzwerk betreiben. Extraktion und Embeddings werden separat vom Modell des Flow abgerechnet.
PentAGI prüft Graphiti nur beim Start für einige Sekunden. Wenn Graphiti bis dahin nicht bereit ist, protokolliert PentAGI eine Warnung und läuft ohne den Knowledge GraphKnowledge Graph — WissensgraphDer Graph der Hosts, Dienste, Schwachstellen und der Zugriffe zwischen ihnen, den PentAGI während eines Tests aufbaut, wenn diese optionale Funktion aktiviert ist. Er zeigt, wie Befunde zusammenhängen. bis zum nächsten Neustart. Sobald Graphiti also einen healthy Status meldet, führen Sie docker restart pentagi aus.
Zuletzt aktualisiert am