Memory и знания
Как PentAGI сохраняет команды, результаты и связи в рамках flow.
PentAGI использует три вида memorymemory — памятьДанные, сохраняемые агентами для использования предыдущих результатов вместо начала с нуля: долгосрочная, рабочая и эпизодическая память., чтобы agentsagent — агентАгент ИИ PentAGI: модель с собственным промптом, настройками и инструментами, выполняющая один вид работы в рамках флоу, например тестирование, написание кода или поиск в интернете. могли опираться на результаты предыдущей работы, а не начинать каждый раз с нуля.
| Memory | Где хранится | Что содержит |
|---|---|---|
| Долгосрочная | PostgreSQL с pgvector | Векторные представления результатов, успешных подходов и знаний о tooltool — инструментТо, через что действует агент: встроенная возможность вроде терминала, изолированного браузера или веб-поиска либо программа в песочнице, например nmap, metasploit или sqlmap. |
| Рабочая | Контекст flowflow — флоуОдин запуск PentAGI: цель, задачи, созданные на основе ваших сообщений, и все действия агентов в процессе. | Текущую цель, состояние tasktask — задачаОдин запрос в рамках флоу: первое сообщение или последующее сообщение, не являющееся ответом на вопрос агента. PentAGI разделяет каждую задачу на подзадачи. и доступные ресурсы |
| Эпизодическая | История команд | Прошлые действия, их результаты и выявленные эффективные паттерны |
Каждая команда и её вывод сохраняются в PostgreSQL. Перед выполнением действий agents обращаются к vector storevector store — векторное хранилищеБаза данных эмбеддингов, которая позволяет агентам искать информацию в памяти и документах по смыслу. для поиска похожих случаев, а затем записывают туда свои findingsfinding — находкаОбъект, обнаруженный и зафиксированный в ходе теста, например хост, запущенный сервис или уязвимость. — основную часть этой работы по поиску выполняют agents memorist и searcher.
Knowledge graph (опционально)
При включённом стеке knowledge graphknowledge graph — граф знанийГраф хостов, сервисов, уязвимостей и доступа между ними, который PentAGI строит во время теста при включении этой опциональной функции. Он показывает связи между находками. 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_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 использует собственную модель: GRAPHITI_ выбирает пресет — openai, gemini, litellm или custom, — чьи модели заданы в ./, а соответствующий ключ берётся из .env (OPEN_ для openai). В .env версии до 2.2.0 отсутствуют эти строки и правила GRAPHITI_: скопируйте их из текущего .env.example.
Graphiti — это бета-интеграция, которая по умолчанию отключена. Область поиска ограничена активным flow; встроенный API Graphiti не имеет аутентификации, поэтому размещайте его и Neo4j только в приватной сети. Извлечение данных и создание векторных представлений тарифицируются отдельно от модели самого flow.
PentAGI проверяет Graphiti только при запуске, в течение нескольких секунд. Если к этому моменту Graphiti не готов, PentAGI регистрирует предупреждение и работает без knowledge graph до следующего перезапуска, поэтому, как только Graphiti сообщит о работоспособности, выполните docker restart pentagi.
Последнее обновление:
Agents
Специализированные agents, обеспечивающие выполнение flow, и механизмы защиты, удерживающие их на правильном пути.
Управление контекстом
Как PentAGI удерживает длинные flows в пределах контекстного окна модели, суммируя более старые части цепочки каждого agent, и настройки, которые этим управляют.