跳到主要内容
PentAGI
概念

Memory 与知识

PentAGI 如何在 flow 中记忆命令、结果及关联关系。

PentAGI 保留三种 memory,使 agents 能够在先前工作的基础上继续推进,而无需从头开始。

Memory存储位置存储内容
长期 memory带 pgvector 的 PostgreSQL结果、成功方法及 tool 知识的向量嵌入
工作 memoryFlow 上下文当前目标、task 状态及可用资源
情景 memory命令历史过往操作、执行结果及有效的模式

每条命令及其输出均存储在 PostgreSQL 中。Agents 在执行操作前会查询 vector store 以检索相似案例,并将 findings 写回——memorist 和 searcher agents 承担了大部分此类检索工作。

Knowledge graph(可选)

启用 knowledge graph 技术栈后,PentAGI 会将 agent 响应和 tool 执行发送至 Neo4j 上的 Graphiti。借助 .env template 的摄取规则,它会从终端和文件操作中提取实体与关系——包括主机、服务、漏洞、技术以及它们随时间演变的关联——并保持其他事件可搜索而不进行提取。

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(openai 对应 OPEN_AI_KEY)。2.2.0 之前的 .env 缺少这些行和 GRAPHITI_INGEST_* 规则:请从当前的 .env.example 中复制它们。

Graphiti 为测试版集成,默认处于关闭状态。检索范围仅限于当前活跃 flow;内置的 Graphiti API 未提供身份验证,因此请务必将其与 Neo4j 部署在私有网络中。提取与向量嵌入的费用与 flow 自身的模型费用分开计算。

PentAGI 仅在启动时检查 Graphiti,持续几秒钟。如果届时 Graphiti 尚未就绪,PentAGI 将记录警告并在下次重启前不使用 knowledge graph 运行,因此一旦 Graphiti 报告健康状态,请运行 docker restart pentagi。

最后更新于