Lore: Kod Yazma Ajanınıza Takım Kararlarını Öğretin
Selamlar, ben Alper. Bugün biraz dertleşelim istiyorum. Son bir yıldır hepimiz Cursor, Windsurf veya GitHub Copilot gibi araçlarla haşır neşir olduk. Bu kodlama ajanları (coding agents) gerçekten inanılmaz işler çıkarıyor; sayfalarca kodu saniyeler içinde yazıyorlar. Ancak hepimizin yaşadığı ortak bir sorun var: Bu ajanlar bizim "neden" öyle yaptığımızı bilmiyorlar.
Bir sabah uyanıyorsunuz, ajanınıza bir özellik ekletiyorsunuz ve bir bakıyorsunuz ki ekipçe iki ay önce "performans sorunları nedeniyle kullanmayalım" dediğiniz o kütüphaneyi projeye dahil etmiş. Ya da projenin geri kalanında takip ettiğiniz o özel tasarım desenini (design pattern) tamamen görmezden gelmiş. İşte tam bu noktada Lore devreye giriyor. Gelin, Lore'un bu sorunu nasıl çözdüğüne ve neden oyunun kurallarını değiştirebileceğine yakından bakalım.
"Kabile Bilgisi" Sorunu ve Yapay Zeka
Yazılım ekiplerinde kabile bilgisi (tribal knowledge) dediğimiz bir kavram vardır. Bu bilgi dokümante edilmemiş, kıdemli yazılımcıların kafasında olan veya geçmişteki uzun toplantılarda alınmış kararlardır. "Neden bu veritabanını seçtik?", "Neden bu API yapısını kullanıyoruz?" gibi soruların cevapları genellikle kodun içinde değil, ekibin hafızasındadır.
Yapay zeka modelleri dünyadaki neredeyse tüm açık kaynak kodları okuduğu için kod yazmayı bilirler. Ancak sizin özel projenizin geçmişini, o "neden"leri bilmezler. Mevcut ajanlar sadece önündeki koda bakarak tahmin yürütür. Bu da bağlam (context) eksikliğine ve dolayısıyla hatalı kararlara yol açar. Lore, işte bu eksik olan "takım hafızasını" ajanlara doğrudan enjekte etmemizi sağlıyor.
Lore Nedir?
Lore, en basit tanımıyla, takımınızın aldığı teknik kararları, mimari tercihleri ve standartları kodlama ajanlarınızın anlayabileceği bir formatta sunan bir araçtır. İsmi, İngilizce'de "halk bilgisi, geleneksel bilgi" anlamına gelen "lore" kelimesinden geliyor; yani projenizin efsanelerini ve kurallarını yapay zekaya anlatıyor.
Lore, projenizdeki Mimari Karar Kayıtları (Architecture Decision Records - ADR) ile entegre çalışır. Eğer daha önce duymadıysanız, ADR'lar bir projede neden belirli bir teknolojinin veya yöntemin seçildiğini açıklayan kısa belgelerdir. Lore, bu belgeleri alır, indeksler ve ajanınız bir kod yazarken ona şu fısıltıyı verir: "Hey, bak bu ekip geçen ay Redux yerine Zustand kullanmaya karar verdi, sakın Redux ekleme!"
Lore Nasıl Çalışır?
Lore'un çalışma mantığı oldukça sade ve etkili. Genellikle şu adımları izler:
- Kararların Toplanması: Projenizdeki
.mddosyaları, ADR'lar veya özel dokümantasyon sayfaları taranır. - Bağlamsal İndeksleme: Bu kararlar, yapay zekanın hızlıca sorgulayabileceği bir yapıya dönüştürülür.
- Ajan Entegrasyonu: Kodlama ajanı (örneğin Cursor) bir görev üzerinde çalışırken, Lore ilgili kararları ajanın istem (prompt) penceresine otomatik olarak ekler.
Bu sayede ajan, sadece "nasıl" kod yazacağını değil, takımın "nasıl" kod yazılmasını istediğini de öğrenmiş olur. Bu sürece bağlam yönetimi (context management) diyoruz ve yapay zeka ile verimli çalışmanın anahtarı tam olarak budur.
Neden Lore Kullanmalısınız?
Bir yazılımcı olarak şunu söyleyebilirim ki; bir yapay zekanın yazdığı kodu düzeltmek, o kodu sıfırdan yazmaktan bazen daha yorucu olabiliyor. Lore kullanmanın getirdiği başlıca avantajlar şunlardır:
- Tutarlılık (Consistency): Projenin her yerinde aynı standartların uygulanmasını sağlar. Bir modülde farklı, diğerinde farklı bir yapı görmezsiniz.
- Hızlı Adaptasyon (Onboarding): Takıma yeni katılan bir yazılımcı, projenin geçmiş kararlarını bilmese bile, kullandığı ajan onu doğru yönlendirir.
- Teknik Borcun Azalması: Yanlış kararlarla yazılan kodlar ileride teknik borç (technical debt) olarak karşımıza çıkar. Lore, bu hataları en başta engeller.
- Gözden Geçirme Süreçlerinin Kısalması: Kod incelemelerinde (Code Review) "Biz bunu böyle yapmıyorduk" deme sıklığınız azalır.
Sonuç: Geleceğin Yazılım Geliştirme Süreci
Yazılım dünyası artık sadece kod yazmaktan, yapay zeka ajanlarını yönetmeye doğru evriliyor. Bu yeni dönemde en başarılı takımlar, en iyi kodu yazanlar değil, yapay zekaya en iyi bağlamı (context) sunabilenler olacak. Lore gibi araçlar, insan zekası ile yapay zeka hızı arasındaki o kritik boşluğu dolduruyor.
Eğer siz de "Ajanım çok hızlı ama sürekli yanlış kütüphaneleri kullanıyor" veya "Takım standartlarımızı ona bir türlü öğretemedik" diyorsanız, Lore'a bir şans vermenizin vakti gelmiş demektir. Unutmayın, bir ajan ne kadar zeki olursa olsun, sizin takımınızın hikayesini (lore) bilmediği sürece her zaman biraz eksik kalacaktır.
Bir sonraki yazıda görüşmek üzere, kodunuz temiz, ajanınız söz dinleyen olsun!