Memory ve bilgi
PentAGI'nin bir flow boyunca komutları, sonuçları ve ilişkileri nasıl hatırladığı.
PentAGI, agentsagent — ajanPentAGI'nin bir yapay zeka ajanı: Bir akışta test etme, kod yazma veya web'de arama gibi belirli bir işi yapan, kendi istemi, ayarları ve araçlarına sahip bir model.'ın her seferinde sıfırdan başlamak yerine önceki çalışmalar üzerine inşa edebilmeleri için üç tür memorymemory — bellekAjanların sıfırdan başlamak yerine önceki çalışmaların üzerine inşa edebilmesi için sakladıkları bilgiler: uzun vadeli, çalışma ve epizodik bellek. kullanır.
| Memory | Nerede bulunur | Ne içerir |
|---|---|---|
| Uzun vadeli | pgvector ile PostgreSQL | Sonuçların, başarılı yaklaşımların ve tooltool — araçBir ajanın işini yapmak için kullandığı şey: terminal, yalıtılmış tarayıcı veya web araması gibi yerleşik bir yetenek ya da sandbox içindeki nmap, metasploit veya sqlmap gibi bir program. bilgilerinin embedding'leri |
| Çalışma memory'si | Flowflow — akışPentAGI'nin bir çalışması: bir hedef, mesajlarınızdan oluşturulan görevler ve ajanların bu süreçte yaptıkları her şey. bağlamı | Mevcut hedef, tasktask — görevBir akıştaki tek bir istek: ilk mesajı veya bir ajanın sorusunu yanıtlamayan sonraki bir mesaj. PentAGI her görevi alt görevlere böler. durumu ve kullanılabilir kaynaklar |
| Epizodik memory | Komut geçmişi | Geçmiş eylemler, sonuçları ve işe yarayan kalıplar |
Her komut ve çıktısı PostgreSQL'de saklanır. Agents işlem yapmadan önce benzer durumlar için vector storevector store — vektör deposuAjanların belleği ve belgeleri anlam bazında aramasına olanak tanıyan yerleştirme (embedding) veritabanı.'u sorgular ve findingsfinding — bulguTestin keşfedip kaydettiği şey; örneğin bir ana bilgisayar, çalışan bir hizmet veya bir güvenlik açığı.'ini geri yazar — bu arama işleminin büyük kısmını memorist ve searcher agents gerçekleştirir.
Knowledge graph (isteğe bağlı)
Knowledge graphknowledge graph — bilgi grafiğiBu isteğe bağlı özellik etkinleştirildiğinde PentAGI'nin bir test sırasında oluşturduğu ana bilgisayarlar, hizmetler, güvenlik açıkları ve bunlar arasındaki erişim grafiği. Bulguların nasıl bağlantılı olduğunu gösterir. yığını etkinleştirildiğinde, PentAGI agent yanıtlarını ve tool yürütmelerini Neo4j üzerindeki Graphiti adresine gönderir. .env şablonunun ingest kurallarıyla, terminal ve dosya işlemlerinden varlıkları ve ilişkileri — ana makineler, servisler, zafiyetler, teknikler ve bunların zaman içindeki ilişkileri — çıkarır ve diğer olayları çıkarma işlemi olmadan aranabilir tutar.
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 kendi modelini çalıştırır: GRAPHITI_ ön ayarı seçer — openai, gemini, litellm veya custom — modelleri ./ içinde tanımlanır ve ilgili anahtar .env kaynağından gelir (openai için OPEN_). 2.2.0 öncesine ait bir .env bu satırları ve GRAPHITI_ kurallarını içermez; bunları mevcut .env.example dosyasından kopyalayın.
Graphiti beta aşamasında bir entegrasyondur ve varsayılan olarak kapalıdır. Hatırlama kapsamı aktif flow'la sınırlıdır; birlikte gelen Graphiti API'sinde kimlik doğrulama bulunmaz, bu nedenle hem API'yi hem de Neo4j'i özel bir ağda tutun. Çıkarma ve embedding işlemleri, flow'un kendi modelinden ayrı olarak faturalandırılır.
PentAGI, Graphiti'yi yalnızca başlangıçta, birkaç saniye boyunca kontrol eder. Eğer Graphiti bu süre içinde hazır değilse, PentAGI bir uyarı günlüğe kaydeder ve sonraki yeniden başlatmasına kadar knowledge graph olmadan çalışır; bu nedenle Graphiti sağlıklı olduğunu bildirdiğinde, docker restart pentagi komutunu çalıştırın.
Son güncelleme tarihi: