Memory 与知识
PentAGI 如何在 flow 中记忆命令、结果及关联关系。
PentAGI 保留三种 memorymemory — 记忆智能体保留的信息,以便基于先前的工作继续推进,而非从头开始:包括长期记忆、工作记忆和情景记忆。,使 agentsagent — 智能体PentAGI 的智能体:一种拥有独立提示词、设置和工具的人工智能模型,在流程中执行特定类型的工作,例如测试、编写代码或搜索网络。 能够在先前工作的基础上继续推进,而无需从头开始。
| Memory | 存储位置 | 存储内容 |
|---|---|---|
| 长期 memory | 带 pgvector 的 PostgreSQL | 结果、成功方法及 tooltool — 工具智能体执行操作所用的手段:终端、隔离浏览器或网络搜索等内置功能,或沙箱中的程序,例如 nmap、metasploit 或 sqlmap。 知识的向量嵌入 |
| 工作 memory | Flowflow — 流程PentAGI 的一次运行:一个目标、根据您的消息创建的任务,以及智能体在此过程中执行的所有操作。 上下文 | 当前目标、tasktask — 任务流程中的一个请求:其第一条消息,或并非回答智能体提问的后续消息。PentAGI 将每个任务拆分为子任务。 状态及可用资源 |
| 情景 memory | 命令历史 | 过往操作、执行结果及有效的模式 |
每条命令及其输出均存储在 PostgreSQL 中。Agents 在执行操作前会查询 vector storevector store — 向量存储嵌入数据库,使智能体能够按语义搜索记忆和文档。 以检索相似案例,并将 findingsfinding — 发现项测试中发现并记录的内容,例如主机、正在运行的服务或漏洞。 写回——memorist 和 searcher agents 承担了大部分此类检索工作。
Knowledge graph(可选)
启用 knowledge graphknowledge graph — 知识图谱启用此可选功能后,PentAGI 在测试期间构建的主机、服务、漏洞及其之间访问关系的图谱。它展示了发现项之间的关联。 技术栈后,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_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(openai 对应 OPEN_)。2.2.0 之前的 .env 缺少这些行和 GRAPHITI_ 规则:请从当前的 .env.example 中复制它们。
Graphiti 为测试版集成,默认处于关闭状态。检索范围仅限于当前活跃 flow;内置的 Graphiti API 未提供身份验证,因此请务必将其与 Neo4j 部署在私有网络中。提取与向量嵌入的费用与 flow 自身的模型费用分开计算。
PentAGI 仅在启动时检查 Graphiti,持续几秒钟。如果届时 Graphiti 尚未就绪,PentAGI 将记录警告并在下次重启前不使用 knowledge graph 运行,因此一旦 Graphiti 报告健康状态,请运行 docker restart pentagi。
最后更新于