# Memory und Wissen

> Wie PentAGI sich Befehle, Ergebnisse und Beziehungen über einen Flow hinweg merkt.

PentAGI verwaltet drei Arten von [Memory](https://pentagi.com/de/docs/glossary/#memory), damit [Agents](https://pentagi.com/de/docs/glossary/#agent) 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 Store](https://pentagi.com/de/docs/glossary/#vector-store) vor dem Handeln nach ähnlichen Fällen und schreiben ihre [Findings](https://pentagi.com/de/docs/glossary/#finding) zurück – der `memorist`-Agent und der `searcher`-Agent übernehmen den Großteil dieser Suchvorgänge.

## [Knowledge Graph (optional)](https://pentagi.com/de/docs/concepts/memory/#knowledge-graph-optional)

Wenn der Knowledge-Graph-Stack aktiviert ist, sendet PentAGI Agent-Antworten und Tool-Ausführungen an [Graphiti](https://github.com/getzep/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.

```bash
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
```

```bash
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 führt sein eigenes Modell aus: `GRAPHITI_LLM_CLIENT_TYPE` wählt die Voreinstellung — `openai`, `gemini`, `litellm` oder `custom` — deren Modelle in `./graphiti/<preset>.yaml` festgelegt sind, und der passende Schlüssel stammt aus `.env` (`OPEN_AI_KEY` für `openai`). Ein `.env` vor Version 2.2.0 enthält diese Zeilen und die `GRAPHITI_INGEST_*`-Regeln nicht: Kopieren Sie sie aus dem aktuellen `.env.example`.

> [!WARNING]
> Graphiti ist eine Beta-Integration und standardmäßig deaktiviert. Der Abruf ist auf den aktiven [Flow](https://pentagi.com/de/docs/glossary/#flow) 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 Graph](https://pentagi.com/de/docs/glossary/#knowledge-graph) bis zum nächsten Neustart. Sobald Graphiti also einen healthy Status meldet, führen Sie `docker restart pentagi` aus.