Memoryとナレッジ
PentAGIがflow全体でコマンド、結果、関連性を記憶する仕組み
PentAGIは3種類のmemorymemory — メモリエージェントが以前の作業を基盤として活用するために保持する情報(長期記憶、ワーキングメモリ、エピソード記憶)です。を保持しており、agentsagent — エージェントPentAGI の AI エージェント: 独自のプロンプト、設定、ツールを持ち、フロー内でテスト、コード作成、ウェブ検索など特定の種類の作業を行うモデルです。がゼロから開始するのではなく、過去の作業に基づいて構築できるようにしています。
| Memory | 保存場所 | 保持内容 |
|---|---|---|
| Long-term memory | pgvector対応PostgreSQL | 結果、成功したアプローチ、tooltool — ツールエージェントが作業に使うもの。ターミナル、分離されたブラウザー、ウェブ検索などの組み込み機能や、nmap、metasploit、sqlmap などサンドボックス内のプログラムです。に関する知識の埋め込み |
| Working memory | Flowflow — フローPentAGI の1回のフロー:目標、メッセージから作成されたタスク、およびエージェントが実行したすべての作業。コンテキスト | 現在の目標、tasktask — タスクフロー内の1つのリクエスト:最初のメッセージ、またはエージェントの質問への回答ではない後続のメッセージ。PentAGI は各タスクをサブタスクに分割します。の状態、利用可能なリソース |
| Episodic memory | コマンド履歴 | 過去のアクション、その結果、有効だったパターン |
すべてのコマンドとその出力はPostgreSQLに保存されます。Agentsは実行前に類似のケースをvector storevector store — ベクトルストア意味によるメモリやドキュメントの検索をエージェントに可能にする埋め込みのデータベース。で検索し、findingsfinding — 発見事項テストによって発見・記録された事項(ホスト、稼働中のサービス、脆弱性など)です。を書き戻します。この検索作業の大部分はmemoristおよびsearcher agentsが担当します。
Knowledge graph(オプション)
knowledge graphknowledge graph — ナレッジグラフこのオプション機能を有効にした場合、テスト中に PentAGI が構築するホスト、サービス、脆弱性、およびそれらの間のアクセスのグラフです。発見事項の関連性を示します。スタックを有効にすると、PentAGIはagentの応答とtool実行をNeo4j上のGraphitiに送信します。.env templateの取り込みルールに従って、terminalおよびファイル操作からエンティティと関係性(ホスト、サービス、脆弱性、手法、およびそれらの時間的な関連性)を抽出し、その他のイベントは抽出せずに検索可能な状態に保ちます。
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には認証機能がないため、APIおよびNeo4jはプライベートネットワーク内に配置してください。抽出処理および埋め込み生成にかかる料金は、flow自体のモデルとは別に請求されます。
PentAGIは起動時の数秒間のみGraphitiをチェックします。その時間までにGraphitiが準備できていない場合、PentAGIは警告をログに記録し、次回再起動までknowledge graphなしで実行されます。そのため、Graphitiが正常であると報告したら、docker restart pentagiを実行してください。
最終更新日