Yapay Genel Zeka (AGI) geliştirmesine yaklaştıkça, ajanların uzun vadeli bağlamı saklama ve kullanma yeteneği kritik bir ayırt edici faktör haline geliyor. Geleneksel Büyük Dil Modelleri (LLM) sınırlı bağlam pencereleriyle çalıştığından, karmaşık, çok adımlı akıl yürütme görevleri için harici bellek sistemleri zorunlu hale geliyor. Şu anda bu alanda iki temel mimari öne çıkıyor: Vektör Veritabanları ve Grafik Bellek. Bunlardan birini seçmek veya ikisini birleştirmek, bir ajanın uzun süreli süreçlerde olguları hatırlama, ilişkileri sürdürme ve karmaşık planları uygulama yeteneğini belirler.
Vektör Veritabanı Yaklaşımı: Anlamsal Arama ve Ölçeklenebilirlik
Pinecone, Weaviate veya Milvus gibi vektör veritabanları, veri noktalarının gömülmelerini (embeddings) yüksek boyutlu uzaylarda saklar. Benzerlik aramasında üstün performans gösterirler; bu da ajanların tam anahtar kelime eşleşmesine dayalı olarak değil, anlamsal ilgiliye göre bilgi almasını sağlar. Bu, hedefin mevcut sorguya benzer belgeleri veya geçmiş etkileşimleri bulmak olduğu RAG (Getirme Destekli Üretim) sistemleri için idealdir.
Artıları: Yüksek ölçeklenebilirlik, yaklaşık en yakın komşu (ANN) aramaları için düşük gecikme süresi ve mevcut gömülme modelleriyle entegrasyon kolaylığı.
Eksileri: Yapısal farkındalık eksikliği. Vektörler, varlıklar arasındaki ilişkileri doğal olarak anlamaz; bu da çok atlamalı akıl yürütmeyi (örneğin, "Arkadaşımın çalıştığı şirketin CEO'su kimdir?") zorlaştırır.
import pinecone
pc = Pinecone(api_key="YOUR_API_KEY")
index = pc.Index("agent-memory")
# Kullanıcının geçmiş etkileşiminin gömülmesi
embeddings = openai.Embedding.create(input="I met John at the tech conference.")
vector = embeddings["data"][0]["embedding"]
# Belleğe ekleme
index.upsert([(
"interaction_001",
vector,
{"metadata": {"content": "I met John at the tech conference.", "timestamp": "2023-10-27"}}
)])
# İlgili bağlamı sorgulama
query_vec = openai.Embedding.create(input="Who did I meet recently?")["data"][0]["embedding"]
results = index.query(vector=query_vec, top_k=5, include_metadata=True)
Grafik Bellek: Yapılandırılmış Akıl Yürütme ve İlişkiler
Neo4j veya Amazon Neptune gibi grafik veritabanları, veriyi düğümler (varlıklar) ve kenarlar (ilişkiler) olarak modeler. Bu yapı, insanların bilgiyi saklama biçimiyle doğal olarak uyumludur: insanları, yerleri ve olayları bir ilişki ağı içinde bağlarız. AGI ajanları için grafik bellek, vektör veritabanlarının zorlandığı çok atlamalı akıl yürütmeyi ve karmaşık mantıksal çıkarımları mümkün kılar.
Artıları: İlişkilerin açık temsili, karmaşık gezinmeleri destekleme ve işlem verisi için güçlü tutarlılık.
Eksileri: Kurulumda daha yüksek karmaşıklık, hibrit indeksleme olmadan yapılandırılmamış anlamsal aramada daha yavaş sorgu süreleri ve ön işleme olmadan gürültülü, yapılandırılmamış metni işleme güçlüğü.
from neo4j import GraphDatabase
driver = GraphDatabase.driver("bolt://localhost:7687", auth=("neo4j", "password"))
with driver.session() as session:
# İlişkileri oluşturma
session.run("""
CREATE (j:Person {name: 'John'})
CREATE (c:Company {name: 'TechCorp'})
CREATE (conf:Event {name: 'TechConf 2023'})
CREATE (j)-[:WORKS_AT]->(c)
CREATE (me:Person {name: 'Agent'})
CREATE (me)-[:MET {location: conf}]->(j)
""")
# Çok atlamalı akıl yürütme sorgusu
query = """
MATCH (me:Person {name: 'Agent'})-[m:MET]->(friend:Person)-[:WORKS_AT]->(company:Company)
RETURN friend.name AS friend, company.name AS company
"""
result = session.run(query)
print(result.single())
Hibrit Mimariler: Sağlam AGI Belleğine Giden Yol
Uzun vadeli bağlam saklama için en etkili çözüm, ikili bir seçim değil, hibrit bir yaklaşımdır. Önde gelen AGI araştırmaları, kademeli bir bellek sistemini önermektedir:
- Kısa Vadeli Bellek: Anlık konuşma için LLM'in bağlam penceresi.
- Orta Vadeli Bellek (Vektör DB): Hızlı anlamsal getirme için konuşmaların, belgelerin ve gözlemlerin gömülmelerinin saklanması.
- Uzun Vadeli Bellek (Grafik DB): Kalıcı ve mantıksal akıl yürütme için vektörle getirilen veriden varlıkların ve ilişkilerin çıkarılıp bir bilgi grafiğine yapılandırılması.
Bu iş akışında, vektör veritabanı hızlı hatırlama için bir "ön kapı" görevi görürken, grafik veritabanı yapılandırılmış bilgi için "omurga" işlevi görür. Bir ajan karmaşık bir soruyu yanıtlamak gerektiğinde, önce ilgili ham veriyi belirlemek için vektör aramasını kullanır, ardından ilişkileri çözmek ve mantığın birden fazla adımını gerektiren yanıtları çıkarmak için grafik gezinmelerini kullanır.
Uygulama İçin Pratik Düşünceler
Bu hibrit sistemin uygulanması özenli bir tasarım gerektirir:
- Varlık Çıkarımı: Yapılandırılmamış metinden yapılandırılmış varlıkları grafiğe eklemelerinden önce çıkarmak için LLM'leri kullanın.
- Zaman Farkındalığı: Her iki sistemin de zaman damgalarını işlemesi gerekir. Vektör DB'leri zamanı meta verilerde içermeli; Grafikler zaman tabanlı kenarlar (örneğin, sadece "MET" yerine "MET_ON") kullanmalıdır.
- Çatışma Çözümü: Vektör deposu ve grafik deposu uyuşmazlık gösterdiğinde, olgusal tutarlılık için grafiğe, bağlamsal nüans için vektör deposuna öncelik verin.
Sonuç
AGI ajanları geliştiren orta ve ileri düzey geliştiriciler için, yalnızca vektör veritabanlarına güvenmek akıl yürütme derinliğini sınırlar, yalnızca grafik bellek kullanmak ise anlamsal aramayı karmaşıklaştırır. İkisini birleştirerek, ajanınızın görev karmaşıklığıyla ölçeklenen sağlam bir bellek mimarisi oluşturursunuz. AGI teorik olmaktan çıkıp pratik hale geldikçe, hibrit bellek sistemleri aracılığıyla uzun vadeli bağlamı yönetme yeteneği, yapay zeka mühendisliğinde temel bir beceri olacaktır.