Terminal AI için Kendi Kendini Güncelleyen Bir Bilgi Tabanı
Günümün çoğunu terminalde bir yapay zeka kodlama asistanıyla geçiriyorum.
Bir oturum sırasında sık sık zor problemler çözüyorum. Zor bir çözüm veya belirli bir yapılandırma ayarı buluyorum. Sonra sekmeyi kapatıyorum ve bilgi yok olup gidiyor. Bir ay sonra, tam olarak aynı problemi tekrar çözüyorum.
Claude Code kancalarını (hooks) kullanarak asistanımın kendi notlarını tutmasını sağlayan bir sistem kurdum.
Sistem üç bölümden oluşuyor:
- Bağlam sağlamak için her istemde (prompt) küçük bir Markdown bilgi tabanında arama yapmak.
- Bir oturum sona erdiğinde yararlı notları yakalamak.
- Bir oturum başladığında dizini (index) yüklemek.
İş akışınızı yavaşlatmadan bunu nasıl inşa edeceğiniz aşağıdadır.
1. Geri çağırma (retrieval) için UserPromptSubmit kullanın
Bu kanca, her istem gönderdiğinizde çalışır. Metninizi alır ve model yanıt vermeden önce bağlam enjekte edebilir.
Modelin notlarınıza ne zaman bakacağına karar vermesine izin vermeyin. İlgili dosyaları bulmak için grep gibi hızlı bir arama yöntemi kullanın. Sadece en iyi beş eşleşmeyi enjekte edin. Bu, işlemi 100 ms'nin altında tutar.
Arama kancaları için iki kural:
- Ucuz tutun. İlk arama için bir LLM yerine
grepkullanın. - Yalın tutun. Sadece başlıkları ve dosya yollarını enjekte edin. Model, daha fazla ayrıntıya ihtiyaç duyarsa dosyayı açabilir.
2. Ağır görevler için Stop kancasından kaçının
Stop kancası, asistan her yanıtı bitirdiğinde çalışır. Burada uzun bir görev çalıştırırsanız, asistanınız yavaşlar. 30 turluk bir oturum, 30 ağır görevi tetikleyecektir.
Bunun yerine, tüm oturumu tek seferde yakalamak için SessionEnd kullanın.
3. SessionEnd sınırlamasını çözün
SessionEnd bloklamayan (non-blocking) bir yapıdır. Burada uzun bir arka plan görevi başlatırsanız, sistem oturum kapandığında bunu sonlandırabilir.
Çözüm, iki kanca kullanmaktır:
SessionEnd: Transkript yolunu hızlıca bir kuyruk dosyasına ekleyin.SessionStart: O kuyruğu boşaltın ve ağır yakalama görevini arka planda çalıştırın.
Bir sonraki oturum aktif olduğu için arka plan işlemi hayatta kalacaktır.
4. Sonsuz döngüleri önleyin
Not yazmak için bir headless (arayüzsüz) yapay zeka başlattığınızda, bu yapay zeka ortamınızı devralır. Bu, yeni yapay zekanın kendi kancalarını tetikleyeceği anlamına gelir. Bu da sonsuz yapay zeka çağrıları döngüsü oluşturur.
Betiklerinizin başına her zaman bir özyineleme koruması (recursion guard) ekleyin:
[ -n "$KB_CAPTURE" ] && exit 0
Arka plan yakalama görevinizi başlattığınızda KB_CAPTURE=1 olarak ayarlayın.
Kurulum özeti:
- Anlık bağlam enjeksiyonu için
UserPromptSubmitkullanın. - Görevleri kuyruğa almak için
SessionEndkullanın. - Asıl işi yürütmek için
SessionStartkullanın. - Para tasarrufu sağlamak için notları özetlemek üzere ucuz bir model kullanın.
Tek bir tekrar çözülen problemin önlenmesi, birçok yakalama işleminin maliyetini karşılar.
Optional learning community: https://t.me/GyaanSetuAi
