Multi-agent sistemler sadece çok fazla token tüketip bağlamı da sık sık mı kaçırıyor? Bu yüzden 'gazete haber merkezi' yapısını kullanan bir LLM Wiki oluşturdum.
(github.com/alfadur7)- Otonom multi-agent sistemler bugünlerde çok çıkıyor, ama gerçekten çalıştırınca genelde token tüketimini 5–10 kat artırıyor ve bağlamı da sık sık kaçırıyorlar. Bu yüzden multi-agent yapısını bir gazete haber merkezini örnek alarak kurdum.
- Beş farklı agent rolü var, ancak LLM'in kendi başına karar verdiği tek agent desk (denetim) agentı. Geri kalanlar ya yazım işi, ya LLM değil kurallara göre çalışan Python denetimleri (lint), ya da işlerin koordinasyonu (orchestration).
- LLM Wiki fikrinde olduğu gibi önce kaynak belgeleri okuyup kaynak sayfaları oluşturuyor, oradan kişi ve kavram taslakları çıkarıyor, sonra bunları konu bazlı genel bakışlar, çelişki derlemeleri ve sentez sayfaları hâlinde üst üste inşa ediyor. Depolama tarafında sadece Markdown dosyaları ve git kullanılıyor; Python araçlarının tamamı yerelde çalışıyor. Sadece clone ederek API anahtarı olmadan da örnek grafiği hemen çalıştırabilirsiniz.
- Şu anda GitHub'daki örnek, 'yapay zekada açık kaynak nedir?' tartışmasını ele alıyor; ancak framework'ün kendisi konuya bağlı değil.
Agent'ları neden sadece birden fazla serbest bırakarak kullanmadım
- Buna binlerce dolar harcayarak gerçekten çalıştırmış kişilerin yorumları büyük ölçüde aynı sonuca varıyordu: bolca token harcıyorlar, agent'lar birbirleriyle iletişim kurarken bağlamı kaçırıyorlar ve henüz bitmemiş işleri bitmiş gibi işaretliyorlar.
- Bu yüzden kendi kendine karar vermesine bırakmak yerine, önceden tanımlı kurallara ve bağlam izolasyonuna ağırlık verdim. Haber merkezi benzetmesini kullansam da gerçekten serbestçe karar veren tek LLM desk; geri kalanlar yalnızca tanımlı görevlerini yapıyor.
Gelebilecek itirazlara peşinen cevap verecek olursam
- Belgeler sürekli büyüyor ve sonunda kullanılamaz hâle geliyor: Bunun en gerçekçi endişe olduğunu düşünüyorum. Bu yüzden yazma rolüyle, onay verip vermeyeceğine karar veren desk rolünü en baştan ayırdım. Desk'e yalnızca çıktı ve puanlama ölçütlerini gösterdim; yazarın hangi niyetle yazdığını göstermedim. Buna ek olarak kural tabanlı lint, belgelerin şişmesini, yinelenmesini veya yönsüzce uzamasını mekanik olarak filtreliyor. Yine de şişmeyi tamamen 'engelledim' diyemem.
- Düzenleme tekrarlandıkça hatalar birikir ve kendi ürettiği geri bildirimle kendini düzeltirse sonunda sadece mevcut kalıpları tekrar eder: 'Kendini geliştirme' söylemine her zaman eşlik eden bir şüphe bu ve ben de haklı buluyorum. Bu yüzden desk'in tekrar tekrar yakaladığı kusurları yeniden yönergelere yansıtırken, aynı sınav sorularına alışıp kalmayı (overfit) önlemek için doğrulama amaçlı başarısızlık örneklerini her seferinde yenileriyle değiştiriyorum. Yani her defasında daha önce görülmemiş örneklerle kontrol ediliyor. Ayrıca sentez sayfaları tarafına, farklı kaynaklardan gelen içeriklerin tek bir şeymiş gibi gelişigüzel birleştirilip birleştirilmediğini karşılaştıran denetimler de ekledim.
- Bu sonuçta embedding'i elle değiştirilmiş bir RAG değil mi?: Amaç aramaysa, evet denebilir. Fark şu ki sonuç bir vektör indeksi değil, insanın doğrudan okuyabileceği bağlantılı belgeler oluyor; ayrıca kaynaklar arasındaki uyuşmazlıklar örtülmüyor, ayrı çelişki sayfalarında açıkça gösteriliyor. Her soru geldiğinde özgün metinleri yeniden toplayıp getirmek yerine, birikmiş yargıların kalıcı olmasını hedefliyor.
Eski bir kavram: Memex
- Bunu Vannevar Bush'un Memex'ini (1945'te tasarlanan bağlantılı bilgi makinesi) ve Licklider'ın 'Man-Computer Symbiosis' gibi çizgiyi akılda tutarak yaptım.
- Bu yüzden sayfaları birbirine bağlayan trail (çağrışım yolu) ve beklenmedik bağlantıları bulmayı sağlayan discover özelliğini ekledim. Amaç otomatik olarak dizin çıkarmak değil, insanın bizzat takip ederek yürüyebileceği yollar bırakmak.
Kullanırken dikkat edilmesi gerekenler
- 'API anahtarı gerekmiyor' sözü ancak yarı yarıya doğru:
toolsiçindeki Python kodu yerelde çalıştığı için harici anahtar gerekmiyor. Ancak agent'ların kendisi Claude Code üzerinde çalıştığından, herkesin kendi anahtarını bağlaması gerekiyor (BYOK). - Açık repo daha çok fikir ve küçük örnek düzeyinde: İçinde 15 düğümlü İngilizce bir örnek var; yani sadece clone ederek herkes aynı grafiği yeniden üretebilir. Benim her gün kullandığım yaklaşık 2.300 düğümlük gerçek örnek ise ayrı ve özel tutuluyor; bu yüzden açık repoyla aynı şey gibi değerlendirmeyin.
- Korece modu (
WIKI_LANG=ko): Yalnızca gövde metni ve belgelerin üst kısmındaki metadata (frontmatter) Koreceye çevriliyor; belge yapısını gösteren işaretler (## Summary,[fact]gibi) ise özellikle İngilizce bırakılıyor. Yani 'tamamen Korece' değil.
Ortaya çıkış nedeni ve şu anki durumu
- Başlangıç noktası, Karpathy'nin paylaştığı LLM Wiki gist'ine bir uygulama eklemem oldu. Kavramın kendisi daha önce GeekNews'te de tanıtılmıştı: https://tr.news.hada.io/topic?id=28208
- Yazım tarafı ile denetim tarafını ayırmanın gerçekten baştan savma geçişleri azaltıp azaltmadığı ve kendi kendini iyileştiren döngünün gerçekten fayda sağlayıp sağlamadığı konusunda henüz düzgün ölçülmüş sonuçlar yok; şu an deney aşamasındaki bir hipotez.
Henüz yorum yok.