Перейти к содержимому
PentAGI
Концепции

Memory и знания

Как PentAGI сохраняет команды, результаты и связи в рамках flow.

PentAGI использует три вида memory, чтобы agents могли опираться на результаты предыдущей работы, а не начинать каждый раз с нуля.

MemoryГде хранитсяЧто содержит
ДолгосрочнаяPostgreSQL с pgvectorВекторные представления результатов, успешных подходов и знаний о tool
РабочаяКонтекст flowТекущую цель, состояние task и доступные ресурсы
ЭпизодическаяИстория командПрошлые действия, их результаты и выявленные эффективные паттерны

Каждая команда и её вывод сохраняются в PostgreSQL. Перед выполнением действий agents обращаются к vector store для поиска похожих случаев, а затем записывают туда свои findings — основную часть этой работы по поиску выполняют agents memorist и searcher.

Knowledge graph (опционально)

При включённом стеке knowledge graph PentAGI отправляет ответы agent и результаты выполнения tool в Graphiti на Neo4j. С помощью правил импорта шаблона .env он извлекает сущности и взаимосвязи — хосты, сервисы, уязвимости, техники и динамику их взаимосвязей во времени — из операций в терминале и с файлами, а остальные события сохраняет доступными для поиска без извлечения.

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 использует собственную модель: GRAPHITI_LLM_CLIENT_TYPE выбирает пресет — openai, gemini, litellm или custom, — чьи модели заданы в ./graphiti/<preset>.yaml, а соответствующий ключ берётся из .env (OPEN_AI_KEY для openai). В .env версии до 2.2.0 отсутствуют эти строки и правила GRAPHITI_INGEST_*: скопируйте их из текущего .env.example.

Graphiti — это бета-интеграция, которая по умолчанию отключена. Область поиска ограничена активным flow; встроенный API Graphiti не имеет аутентификации, поэтому размещайте его и Neo4j только в приватной сети. Извлечение данных и создание векторных представлений тарифицируются отдельно от модели самого flow.

PentAGI проверяет Graphiti только при запуске, в течение нескольких секунд. Если к этому моменту Graphiti не готов, PentAGI регистрирует предупреждение и работает без knowledge graph до следующего перезапуска, поэтому, как только Graphiti сообщит о работоспособности, выполните docker restart pentagi.

Последнее обновление: