2 puan yazan johnonlee 3 시간 전 | Henüz yorum yok. | WhatsApp'ta paylaş

AI kodlama ajanlarıyla her gün çalışan bir geliştiriciysen, bu hissi bilirsin.

Dün birlikte kesin olarak kararlaştırdığımız konvansiyon, yeni bir oturum açılınca sanki hiç yokmuş gibi. Benim TypeScript'te her zaman interface yerine type kullanmam, PR incelemesinde o deseni pek beğenmediğimi söylemem, geçen hafta zar zor yakaladığımız o bug'ın kök nedeni — hepsi sanki ilk kez duyuluyormuş gibi yeniden anlatılmak zorunda kalıyor.

Bu tekrar uzadıkça sonunda "boş ver, ben yaparım" noktasına geliyorsun.

Bu sorunu çözmek için Monet'i yaptım. Genel amaçlı bir AI ajanının benim ajanım gibi davranmasını sağlamak. Benim konvansiyonlarımı öğrenen, tercih ettiğim yöntemleri hatırlayan ve projenin geçmişini kendi kendine takip eden bir sistem.


Nasıl çalışıyor

Özü basit.

Yazma — ajan kendi karar veriyor. "Bunu hatırla" diye komut vermene gerek kalmadan, çalışma sırasında alınan kararları, keşfedilen desenleri ve karşılaşılan sorunları kendi kendine kaydediyor. Gürültüyü ayıklayıp sadece sinyali bırakıyor.

Okuma — önce gerçekten işe yarayanlar geliyor. Bu basit bir anahtar kelime araması değil. Gerçekte sık başvurulan ve problem çözmeye yardımcı olmuş anılar öncelikli olarak gösteriliyor. Kimsenin dönüp bakmadığı zombi notlar doğal olarak geriye düşüyor.

Büyüme — biriktikçe daha akıllı hale geliyor. İlk iş yavaştır. Çünkü ne kod tabanını, ne konvansiyonları, ne de sık patlayan bug'ları biliyordur. Ama hafıza biriktikçe sonraki iş hızlanır. Dün bulunan desen, geçen hafta alınan karar, o bug'ın kök nedeni — bunları yeniden aramak gerekmez. Yaklaşık bir ay sonra bu ajan artık genel amaçlı bir araç değil, bu projeyi en ince ayrıntısına kadar bilen bana özel bir mühendis gibi hareket eder.


Buraya nasıl geldik

Başta sadece tek bir dosyada not biriktiriyordum. Ajanın çalışırken öğrendiklerini Markdown'a yazıyor, yeni oturum başlarken de onu include ediyordum. Basitti ama biriktikçe gürültü arttı.

Bu yüzden 4 ay önce düzgün bir hafıza sistemi yaptım. Eski Monet. MCP tabanlı olarak ajanın okuyup yazabileceği şekilde tasarlandı ve ekip paylaşımı da düşünülmüştü. Ama ekip paylaşımına odaklanınca, tek başına kullanma deneyimi muğlaklaştı. Bir şeyler çalışıyordu ama benim workflow'uma tam oturmuyordu.

Bu yüzden baştan yaptım. Birkaç hafta önce ekip paylaşımı hedefini bir kenara bırakıp, sadece "bunu ben gerçekten her gün kullanabilir miyim" sorusuna odaklanarak Monet'i sıfırdan yeniden kurdum. Bu yazıyı yazdığım anda 12 ajan yeni Monet üzerinde okuyup yazıyor. Henüz izleme özelliği olmadığı için tam sayı veremiyorum ama eskisine göre arama azaldı, okuma/yazma ise belirgin biçimde arttı. Bu da ajanın önemli olanı kendi kendine seçip biriktirdiği anlamına geliyor.


Dürüst olmak gerekirse

Vibe coding aşamasında hafıza çok da önemli değil. Çoğu şey yeni geliştirilen özelliklerdir ve bug'lar da basittir. Ajana "şunu düzelt" dersin, konu context window içinde çözülür.

Ama uygulama giderek karmaşıklaştığında iş değişiyor. Tek satır kod değiştirmek için ilişkili on mantığı kontrol etmek gerekiyor ve yan etkileri bulmak için ajan dosyadan dosyaya sürünüyor. Hata da artıyor. 1M token versen bile, bağlamı üç kez sıkıştırdıktan sonra yine başladığın yere dönüyorsun.

Ben evde ajanlarla yeni kod üzerinde eğlenceli şeyler yapıyorum, işte ise 20 yıldan eski kodla her gün boğuşuyorum. İşte ajan hafızası zorunlu. Olmadan iş ilerlemiyor.

Bu yüzden dosya tabanlı indeks hafızasını kendim yapıp kullanmaya başladım. Monet'in başlangıcı buydu. Bugünlerde işte ajanları bilerek tekrar tekrar koşturuyorum — bağlam toplasınlar diye. Biletlerin çoğu bağlamın %20'si içinde kapanıyor. Zamandan tasarruf zaten açık, ama stres de azaldı.

En önemlisi, eskiden "o bug'ı nasıl düzeltmiştik" diye zihnimi yoklarken, şimdi sadece Kiro'ya (işte kullandığım kodlama ajanı) soruyorum. Çoğu zaman biliyor.

Ajanlar onlarca, kod milyonlarca satır olduğunda, bağlam artık bir bayt sorunu değil, bir altyapı sorunu haline geliyor. Ve o noktada hafıza artık nice-to-have değil, işin yapılabilir olup olmadığını belirleyen şey oluyor.


Denemek istersen

  • Ana sayfa: monet.team-monet.com
  • GitHub: github.com/team-monet/with-monet — kurulum harness'i (Apache-2.0)
  • %100 yerel: Kod cihazından dışarı çıkmaz. Cihaz üstü embedding, ağ veya telemetri yok. Hafıza ~/.monet içindeki tek bir SQLite dosyası — doğrudan açıp inceleyebilir, yedekleyebilir ve export edebilirsin.
  • Ücretsiz kullanım. Motor kapalı kaynak derlenmiş bir binary, ama entegrasyon arayüzü standart MCP. Claude Code, Cursor, Codex gibi MCP destekli ajanlarla doğrudan entegre olur.

Özellikle şu kişilerin bir kez denemesini isterim:

  • AI ajanlarıyla ciddi biçimde her gün çalışan geliştiriciler
  • "Dünkü konuyu yine mi anlatacağım..." yorgunluğunu yaşamış olanlar
  • "Ajan hafızası mı? Buna neden ihtiyaç olsun ki?" diye düşünenler (gerçekten — karşı görüşleri de duymak isterim)

Bu yazıda geçen örnekler ve senaryoların tamamı gerçek deneyimlere dayanır.

Henüz yorum yok.

Henüz yorum yok.