Memory a znalosti
Jak si PentAGI pamatuje příkazy, výsledky a vztahy v rámci flow.
PentAGI uchovává tři typy memorymemory — paměťInformace, které si agenti uchovávají, aby mohli navazovat na předchozí práci místo začínání od nuly: dlouhodobá, pracovní a epizodická paměť., aby agenti mohli navazovat na předchozí práci namísto toho, aby začínali od nuly.
| Memory | Kde je uložena | Co obsahuje |
|---|---|---|
| Dlouhodobá | PostgreSQL s pgvector | Embeddingy výsledků, úspěšných postupů a znalostí o tooltool — nástrojTo, čím agent jedná: vestavěná funkce, jako je terminál, izolovaný prohlížeč nebo webové vyhledávání, nebo program v sandboxu, například nmap, metasploit nebo sqlmap. |
| Pracovní | Kontext flowflowJeden běh PentAGI: cíl, úkoly vytvořené z vašich zpráv a vše, co agenti během toho provedli. | Aktuální cíl, stav tasktask — úkolJeden požadavek ve flow: jeho první zpráva nebo pozdější zpráva, která neodpovídá na otázku agenta. PentAGI rozděluje každý úkol na dílčí úkoly. a dostupné zdroje |
| Epizodická | Historie příkazů | Minulé akce, jejich výsledky a vzorce, které se osvědčily |
Každý příkaz a jeho výstup jsou uloženy v databázi PostgreSQL. Agenti před provedením akce prohledávají vector storevector store — vektorové úložištěDatabáze vektorových reprezentací, která umožňuje agentům vyhledávat v paměti a dokumentech podle významu. na podobné případy a zapisují zpět své findingsfinding — nálezSkutečnost, kterou test objevil a zaznamenal, například hostitel, běžící služba nebo zranitelnost. — většinu této vyhledávací činnosti zajišťují agenti memorist a searcher.
Knowledge graph (volitelné)
Pokud je povolen zásobník knowledge graphknowledge graph — znalostní grafGraf hostitelů, služeb, zranitelností a přístupů mezi nimi, který PentAGI vytváří během testu, když je tato volitelná funkce povolena. Ukazuje, jak jsou nálezy propojeny., PentAGI odesílá odpovědi agentů a provádění tool do Graphiti nad Neo4j. S pravidly ingestu šablony .env extrahuje entity a vztahy — hostitele, služby, zranitelnosti, techniky a to, jak se v čase vzájemně propojují — z operací terminálu a souborů a ostatní události ponechává vyhledávatelné bez extrakce.
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 spouští vlastní model: GRAPHITI_ vybírá předvolbu — openai, gemini, litellm nebo custom — jejíž modely jsou nastaveny v ./ a odpovídající klíč pochází z .env (OPEN_ pro openai). Soubor .env z verze před 2.2.0 tyto řádky a pravidla GRAPHITI_ postrádá: zkopírujte je z aktuálního .env.example.
Integrace Graphiti je ve verzi beta a je ve výchozím nastavení vypnuta. Přístup k historii je omezen na aktivní flow; dodávané API Graphiti nepodporuje autentizaci, proto jej i Neo4j provozujte výhradně v soukromé síti. Extrakce a embeddingy jsou účtovány odděleně od modelu daného flow.
PentAGI kontroluje Graphiti pouze při spuštění, po dobu několika sekund. Pokud do té doby není Graphiti připraveno, PentAGI zaznamená varování a běží bez knowledge graph až do svého dalšího restartu, takže jakmile Graphiti nahlásí, že je v pořádku, spusťte docker restart pentagi.
Naposledy aktualizováno