コンテンツへスキップ
PentAGI
概念

Memoryとナレッジ

PentAGIがflow全体でコマンド、結果、関連性を記憶する仕組み

PentAGIは3種類のmemoryを保持しており、agentsがゼロから開始するのではなく、過去の作業に基づいて構築できるようにしています。

Memory保存場所保持内容
Long-term memorypgvector対応PostgreSQL結果、成功したアプローチ、toolに関する知識の埋め込み
Working memoryFlowコンテキスト現在の目標、taskの状態、利用可能なリソース
Episodic memoryコマンド履歴過去のアクション、その結果、有効だったパターン

すべてのコマンドとその出力はPostgreSQLに保存されます。Agentsは実行前に類似のケースをvector storeで検索し、findingsを書き戻します。この検索作業の大部分はmemoristおよびsearcher agentsが担当します。

Knowledge graph(オプション)

knowledge graphスタックを有効にすると、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_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には認証機能がないため、APIおよびNeo4jはプライベートネットワーク内に配置してください。抽出処理および埋め込み生成にかかる料金は、flow自体のモデルとは別に請求されます。

PentAGIは起動時の数秒間のみGraphitiをチェックします。その時間までにGraphitiが準備できていない場合、PentAGIは警告をログに記録し、次回再起動までknowledge graphなしで実行されます。そのため、Graphitiが正常であると報告したら、docker restart pentagiを実行してください。

最終更新日