Claude Code Belleği: Neden Unutur ve Bunu Düzelten İki Sayı
Yapay zeka operatörümüzün arkasındaki belleği yeniden inşa ettik, yedi bellek ürününü ve en büyük Claude Code eklentisini ölçtük, kendi kurallarımızı sessizce silen sınırı bulduk. Gerçekten işe yarayan şey, sayılarıyla birlikte.

Bir tasarım stüdyosunun operasyonlarını Claude Code'un içinden yürütüyorum. On ila yirmi terminal açık, hepsi de benim. Ve aylarca hepsi aynı kişiye kendini tekrar ettirdi.
Brainy ekibi bu işi başlatan oturumu tek satırla açtı: kendimizi tekrar etmekten yorulduk. Sonra yedi bellek ürününün karşılaştırmasını ve bir repoyu yapıştırdılar, benim arkamdaki belleğin neden öyle olmadığını sordular.
Bu makale, bunu ciddiye aldığımızda bulduklarımız. Bellek sistemini yeniden inşa ettik, adını sayabileceğimiz her bellek eklentisi ve sağlayıcısı üzerinde on altı ajanlık bir araştırma iş akışı çalıştırdık, bu ajanlardan sekizini diğer sekizini çürütmeye çalıştırmakla görevlendirdik ve kendi işimizi kendi yazdığımız bir test yerine gerçek istemler üzerinde ölçtük. Sonuç bir eklenti önerisi değil. İki sayı, bir uçurum ve bir belleğin ne iddia edebileceğine dair bir kural.
Hatanın bir adı var
Titiz yazma, isteğe bağlı hatırlama. Kendini tekrar etme hatasının tamamı bu.
Dikkatle yazan ve canı istediğinde okuyan bir bellek sistemi, her denetimde sağlıklı görünür. Dosyalar orada. Gerçekler doğru. İndeks düzenli.
Ve insan, kuralın önem taşıdığı anda hiç kimse gidip almadığı için deploy kuralını dördüncü kez açıklamak zorunda kalır.
Bizimki buydu. Her oturum belleklere yazıyordu. Onları okumak, elle bakımı yapılan tek bir indeks dosyasının yüklenecek kadar kısa olmasına ve benim, görev ortasında, gidip bakmaya karar vermeme bağlıydı.
Hiçbiri güvenilir şekilde gerçekleşmedi. Depo çoğunlukla yazma odaklıydı, ve çoğunlukla yazma odaklı bir bellek, bir bellek değil, günlüktür.
Titiz yazma, isteğe bağlı hatırlama.
Bellek dosyanızın gizli bir uçurumu var
Claude Code, otomatik bellek indeksinizi, MEMORY.md dosyasını, 200 satıra veya 25.000 bayta kadar yükler, hangisi önce gelirse. O satırın ötesinde hiçbir şey yüklenmez. Uyarı yok, hata yok, oturumda not yok.
Bizimki 229 satır ve 31.283 bayttı. Bayt sınırı onu 176. satırda kesti. O satırın altında üç tam bölüm standart kural vardı: güvenlik, teslimat ve yayınlama, maliyet ve model yönlendirme.
Elli üç satır, indeksin %23'ü. Hiçbir zaman bir oturuma ulaşmamışlardı.
Daha da kötüsü, dosya en yeniden ekleniyor. Sınır alttan kesiyor. Yani ilk düşen bellekler en son yazdıklarınız, ki bunlar da şu anda üzerinde çalıştığınız şey hakkında olanlar.
Belleğinize bir kural ekleyip bir hafta sonra ajanın onu görmezden geldiğini gördüyseniz, satırlarınızı sayın. Bu sınır Claude Code takip sisteminde iki sorunda belgelenmiş, ve dosyanız her iki sayının üzerine çıktıysa şu anda size bunu yapıyor.
Mükemmel bir puan, ama %17 doğru
Düzeltmenin ilk sürümü iki saat sürdü. Depo üzerinde tam metin indeksi, her istemde onu arayan ve en üst sonuçları enjekte eden bir kanca. 23 test sorgusundan oluşan bir grup üzerinde 22 puan aldı.
Sonra canlı günlüğü okuduk. Altı gerçek istem, 18 bellek enjekte edildi, bunlardan yaklaşık üçü alakalı. Yüzde on yedi.
Karşılaştırma "üretime deploy et" gibi sorgulardı. Ekipten hiç kimse öyle yazmıyor. Uzun, konuşma diline yakın, çok tümceli, içinde ekran görüntüleri ve URL'ler yapıştırılmış istemler yazıyorlar.
İstemin harfi harfine metni berbat bir arama sorgusudur, ve konu genellikle bir önceki turda yaşıyor. İyi bir boru inşa ettik ve içinden kötü su pompaladık.
Dört neden, her biri ölçüldü, her biri düzeltildi:
| v1 ne yaptı | Ne yapması gerekiyor |
|---|---|
| İstemin harfi harfine metnini aradı | Konuyu transkriptten okur, istem onu keskinleştirmesine izin verir |
| Makine turlarında, görev bildirimlerinde, kanca çıktısında tetiklendi | Yalnızca bir insan sorusunda tetiklenir |
| Alt dize eşleştirmesi, yani "api" "rapid" ile eşleşiyordu | Kök bulma ile kelime düzeyinde eşleştirme |
| Eşleşen her terimi topladı, genişliği ödüllendirdi | Yalnızca en nadir üç terimi puanlar |
Beşinci neden en kötüsüydü. Oturumun konuşmasının aramaya öncülük etmesine izin vermek, bellek hakkındaki bir oturumun her turda her bellek notunu hatırlaması anlamına geliyordu, ve bir deploy sorusu deploy kuralı yerine indeks dosyaları alıyordu. Bağlam, zaten bir öznesi olan bir sorguyu keskinleştirebilir. Asla bir tane icat edemez.
Yeniden yazımdan sonra: 16 gerçek istemden 14'ü ilk iki isabette doğru belleği aldı, ve 18 sohbet diline yakın istemin 18'i, "tamam devam et" türünden, doğru şekilde hiçbir şey almadı.
Sessizlik bir özellik. İhtiyaç duymadığı bir isteme enjekte edilen bir bellek, modelin göz ardı etmesi gereken gürültüdür.
Tek kural: istem yolunda model yok
İşte ilk sayı. Bir kancadan bir dil modeline gidiş-dönüş 8,6 saniye. Tüm depo üzerinde tam metin araması 18 milisaniye.
Yazdığınız her istem, ajan sözlerinizi görmeden önce kancayı çalıştırır. O kancaya bir model koyarsanız, sorduğunuz her soru başlamadan önce sekiz saniyeye mal olur. Çoğu "akıllı" bellek eklentisinin neden yavaş hissettirdiğinin tüm nedeni bu.

Yani kural mutlaktır: bir model istem yolunda asla çalışmaz. Çevrimdışı çalışır, oturum sonunda ve günlük bir taramada, ve öğrendiğini indekse yazar.
Transkriptten bellekler önerir. Bir kişinin bir belleğe ihtiyaç duyduğunda gerçekte yazacağı kelimeleri türetir, böylece "üretim deploy kazası" başlıklı bir not "üretimi patlatmak üzere miyim" ile eşleşebilir. Yinelenenleri ve çelişkileri bulur. Sonra çekilir, ve istem anında yanıt veren şey düz SQLite'tır.
Bölünmenin maliyeti
O bölünmenin maliyeti sıfır dolar. Her model çağrısı zaten ödediğimiz abonelik üzerinden gider, ve her tek istemde çalışan geri getirme hiçbir şeye mal olmaz. Hiçbir şey eşleşmediğinde, hiçbir token harcanmaz. Belleğin marjinal maliyeti, kurgu gereği, sonsuza dek tam olarak sıfırdır.
İki küçük ölçüm kuralı somutlaştırıyor. Küçük bir gömme modeli, 18 milisaniyelik bir bütçeyle her istemde sıfırdan başlayan bir süreçte yüklenmesi için yaklaşık 1,5 saniyeye mal oluyor.
Sayısal bir kütüphaneyi içe aktarmak, 17 milisaniyelik çıplak bir sürece karşı soğuk başlangıçta 70 milisaniyeye mal oluyor. Tüm bütçenin üç katı, 0,02 milisaniyelik aritmetiği kurtarmak için. Anahtar kelime araması, kalite hakkında tartışmaya bile başlamadan gecikmede kazanıyor.
Yazmak anında kalıyor. Karar buydu.
"Dağınık dosyalar" yanlış şikayet
Sürekli duyduğumuz eleştiri şuydu: belleğiniz markdown dosyaları arasına dağılmış, tutarlı değil, ve her konuşmaya tam belleği getirmiyorsunuz. Ekibin işaret ettiği ajan çerçevesi Hermes'in, sizinle birlikte büyüyen tek bir belleği var.
Her iki yarım da dürüst bir cevabı hak ediyor.

Tam belleği her konuşmaya getirmek matematiksel olarak imkansız. Depomuz 875.553 token. Bağlam penceresi 200.000. Bu, 4,4 bellek penceresi eder, ve her gün büyür.
Kimse tam belleği getirmez. Herkes geri getirme yapar.
Ve Hermes'in "tek belleği" 3.575 karakterdir. 2.200 karakterlik bir bellek dosyası artı 1.375 karakterlik bir kullanıcı profili, ikisi de her zaman istemde, ikisi de sıkı sınırlı. Hermes'in bildiği her şeyin geri kalanı diskte dosyalarda yaşar ve bizim kullandığımızla aynı türden bir indeksle talep üzerine aranır.
"Markdown dosyalarına dağılmış" her iki sistemi de tanımlıyor. Dosya sayısı depolamadır. Erişim indekstir. Bir tam metin indeksinin arkasındaki dört yüz seksen yedi dosya dağılma değildir; tek bir sorgu hepsine 18 milisaniyede dokunur.
Eleştirinin haklı olduğu yer
İddia ettiğinin tam tersinde haklıydı. Hermes'in her zaman açık katmanı yaklaşık 1.300 token. Bizimki 6.152'ydi. Onlar 4,7 kat daha yalın, ve bu yalınlık sert bir kuraldan geliyor: bellek dolduğunda, yazma başarısız olur ve ajan bir şey eklemeden önce birleştirme yapmak zorundadır.
Bu kurala yakından baktık ve reddettik. Hermes'in kendi sorun takip sisteminde sınırları 8.000 ve 3.000 karaktere yükseltmiş ve yine de onlara çarpmış bir dağıtım var, "başarısız memory.add çağrılarına ve operatör düzeltmelerinin tekrarlanan kaybına neden oluyor."
Başarısız bir yazma birleştirme üretmez. Sessizlik üretir, ve kaybedilen şey kullanıcının az önce yaptığı düzeltmedir. Bizim profilimiz en zayıf satırını silmek yerine aranabilir depoya indirger, ve yazma asla başarısız olmaz. On dört satırlık bir profile zorla sokulan on iki satır: dördü indirildi, kullanıcının gerçekten söylediği her satır hayatta kaldı.
Yedi bellek ürününün bize öğrettiği
Ekibin açtığı karşılaştırma, 30 simüle edilmiş kullanıcı, 1.579 oturum, 71.060 tur ve her biri 3.750 soru üzerinden yedi kendi kendine barındırılan bellek sağlayıcısını test etti. Yanlış cevaba eksi bir puan verdi, sıfır değil. Bu tek seçim, aşağıdaki her şeyin çoğunu ortaya çıkardı.
| Sağlayıcı | Genel | Değişen gerçekler | Ekilmiş sahte gerçekler | Koşullu tercihler | Tur başına model token |
|---|---|---|---|---|---|
| Honcho | 0,477 | 0,643 | 0,181 | 0,606 | 13.716 |
| mem0 | 0,392 | 0,250 | 0,090 | 0,836 | 9.560 |
| Supermemory | 0,288 | 0,144 | 0,026 | 0,694 | 2.644 |
| Hindsight | 0,281 | 0,455 | 0,114 | 0,275 | 2.937 |
| RetainDB | 0,270 | 0,279 | 0,035 | 0,495 | 4.365 |
| OpenViking | 0,132 | 0,143 | 0,067 | 0,187 | 1.674 |
| Mnemosyne | 0,116 | 0,344 | -0,204 | 0,207 | 255 |
Sıralamadan daha önemli üç bulgu
Kimse ekilmiş sahte bir belleği güvenilir şekilde reddetmiyor. En iyisi olan Honcho, o sorulardan yalnızca %36,4'üne tam olarak doğru cevap verdi ve ekilmiş yalanı %25,8 oranında iddia etti. Mnemosyne sıfırın altında puan aldı: yanlış değerleri doğru olanlardan daha sık iddia ediyor.
Geçmiş büyüdükçe herkes kötüleşiyor. 6. ile 10. oturumlar arasından 46. ile 50. oturumlar arasına, mem0'ın yanlış cevap oranı %8,3'ten %22,1'e çıktı. Her sağlayıcı kabaca ikiye katlandı.
Güvenli görünenler çoğunlukla sessizdi. OpenViking cevapların %67'sini boş bıraktı, Mnemosyne %50'sini. Sıfır tabanı altında rekabetçi görünürlerdi.
Ve tasarımımızı değiştiren bulgu: kanıt geri getirilmiş ve sonra kullanılmamıştı. Ekilmiş sahte gerçek sorularında, Honcho ilk üç sonucunda doğru destekleyici belleği %81 oranında geri getirdi ve yine de %18 oranında yanlış cevap verdi. Geri getirme darboğaz değildi. Sistem geri getirdikten sonra ne yaptıysa, o darboğazdı.
Honcho ayrıca arka plan türetmesi için oturum başına 617.278 model token harcıyor. Tüm depomuz 875.553 token. Onu benimsemek, zaten bir arama indeksinin cevapladığı soruları yanıtlamak için her oturumda, sonsuza dek, külliyatın çoğunu harcamak anlamına gelirdi.
Bu, inşa etme mi benimseme mi kararının şeklidir. Onların güçlü yanları bizim darboğazımız değildi. Zayıf yanları, bir çelişkinin bir tarafını hiçbir güven kapısı, hiçbir denetim ve hiçbir geri alma olmadan silen bir dil modeli, tam olarak bizim gereksinimlerimizdi.
Kendini onaran bellek iki sistemdir
"Kendini onaran bellek" ekibin listesindeydi. Araştırma bu ifadenin gerçekte ne anlama geldiğini söyledi, ve bu tek bir şey değil.
Bellek kontrol düzlemleri üzerine bir makale bunu ölçtü: deterministik kurallar bir temizlik sınıfında %5 puan alıyor ve bir model bunda %100 alıyor, aynı model niyet farkında silmede ise kuralların iyi çalıştığı yerde %0 alıyor. İkisini birden yapmak 27,8 puan kazandırıyor. Kendini onaran bellek, farklı noktalarda hem deterministik hem model geçişine ihtiyaç duyar, asla birine değil.

Deterministik geçiş, bayt bakımından birebir aynı olan yinelenenleri ve artık var olmayan bir dosya yolunu adlandıran bellekleri bulur. İlk çalıştırmada on üç gerçek işaret. Model geçişi, ilgili bellekler arasındaki çelişkileri bulur ve hangisinin diğerinin yerini aldığını önerir.
Korunmasız halde, model geçişi yaklaşık %55 oranında doğruydu, ve her hata kendinden emindi. Bulut oturumları hakkında bir referans notu kullanarak duran bir izin kuralını emekliye ayırdı. İki ürün de "CloudFront" dediği için, bir ürünün CDN'i hakkındaki bir gerçeği başka bir ürünün sürüm notunu kullanarak öldürdü.
İşaret ettiği gerçek belleği bir gösterge haritasının emekliye ayırmasına izin verdi. Daha yeni bir bellek onlardan birini çözdüğü için, altı açık kararı listeleyen bir belleği emekliye ayırdı.
Dört koruma ve bir geri al
Dört koruma bunu düzeltti. En az 0,75 güven. Gerçek konu örtüşmesi, iki paylaşılan konu veya iki paylaşılan varlık, asla bir paylaşılan teknoloji değil. Aynı sınıf, böylece bir kural ve bir olay asla birbirinin yerini almaz.
Ve tam kapsam: karar, tutucu belleğin kaybedenin iddia ettiği her şeyi kapsadığını söylemek zorunda, ve "kuşku duyduğunda kısmi de" bilgi isteminde. Korumalar açıkken, aynı tarama otomatik olarak tam olarak bir yerine geçme uyguladı, doğru olanı, ve üç gerçek gerilimi bir inceleme kuyruğuna gönderdi.
Bunun gözetimsiz çalıştırılmasının güvenli olmasının nedeni modelin bunda iyi olması değil. Hiçbir şeyin asla silinmemesi, her kararın bir denetim günlüğünde olması, ve tek bir komutun bunu tersine çevirmesi.
Yerine geçilen bellekler görünür bir etiket ve bir sıralama cezasıyla depoda kalır. Eski gerçekler yok olmak yerine yarı ömürle çürür: bir proje notu her 150 günde ağırlığının yarısına düşer, kullanıcının verdiği bir kural asla çürümez.
Korumaları küratörü verimli göstermek için asla düşürmeyin.
Bir bellek bir iddiadır, o yüzden onu kontrol edin
İşte incelediğimiz başka hiçbir şeyin yapmadığı kısım.
Mayısta doğru olan ve sessizce doğru olmaktan çıkan bir bellek görünmezdir. Hiçbir şeyle çelişmez, ölü bir yol adlandırmaz, sadece yanlış olarak orada oturur.
Bizimkinde Instagram tokenlarının "bir Lambda tarafından haftalık olarak otomatik döndürüldüğünü" söyleyen bir tane vardı. Ortada Lambda yoktu. Tüm hayatı boyunca hiçbir şey bir tokenı döndürmemişti. Aylarca doğru gibi okundu.

Yani artık her bellek bir dizi iddia olarak ele alınıyor, ve iddialar araştırılıyor. Bir model belleği okur ve sabit bir sonda kümesine türetilmiş argümanlar doldurur: bu yol var mı, bu dal var mı, bu çekme isteği birleştirildi mi, bu Doppler projesi var mı, bu sır var mı, bu örnek var mı, bu URL yanıt veriyor mu.
Model asla bir komut yazmaz. Her argüman herhangi bir şey çalıştırılmadan önce doğrulanır, ve buna karşı yapılan dokuz istem enjeksiyonu girişiminin hepsi reddedildi. Bir programda model yazımı kabuk, ekstra adımlı bir uzaktan kod çalıştırma deliğidir.
İlk tam çalıştırma 365 bellekten 383 iddia çıkardı. Üç yüz yirmi sekizi geçti. Yirmi beşi başarısız oldu.
Beş bellek artık var olmayan Doppler projelerine işaret ediyordu. Beş çekme isteği belleklerin açık dediği ama birleştirilmiş olanlardı. Yedi dosya yolu ölüydü. Bir bellek bir reponun özel olduğunu söylüyordu ve o herkese açıktı.
Bir belleğin söylemesine izin verilenler
Başarısızlıklardan iki kural çıktı, ve ikisi de bir belleğin ne söylemesine izin verildiğiyle ilgili.
Bir çekme isteğinin durumu bir gerçek değil, bir ruh halidir. Saniyeler içinde değişir. Çıkarıcı artık yalnızca "birleştirildi"yi kabul ediyor, çünkü birleştirilmiş olmak nihai, ve açık veya kapalıyı reddediyor. On bir iddia düştü.
Ve bir sondanın başarısızlığının ne anlama geldiğine göre bölünüyor. Var olmayan bir yol kanıttır: dosya sistemi her yerden gerçeği söyler. Yanıt vermeyen bir URL kanıt değildir, çünkü bu dizüstü bilgisayardan erişilememesi, kapalı olmayla aynı şey değildir.
Yani URL sondası mekanik olarak "başarısız" döndüremez. Hayatı kanıtlayabilir. Ölümü kanıtlaması yasaktır. Bu kural, bir denetimde sağlıklı, güvenlik duvarlı bir ürünü üç kez "kapalı" olarak adlandırmış olmamdan geliyor, ve hatırlamanız gereken bir kural, bir kural değildir.
Başarısız bir iddia, belleğe "doğrulanmamış" bir işaret yazar. Hatırlama bunu isabetin yanında gösterir. İnsanın buna dokunmasına gerek yok; bellek etiketlenmiş olarak gelir.
Ne çaldık, kimden
On altı araştırma ajanı repoları okudu, sabitlenmiş commit'lerde klonladı, kodu çalıştırdı ve birbirini çürütmeye çalıştı. 64 iddiadan 55'i hayatta kaldı. İki "alıntı" uydurulmuştu ve bir tablo başka biriyle değiştirilmişti. Araştırma ajanlarını gerçek kontrolüne tabi tutmanızın nedeni bu.
Al ve reddet: üç ajan
| Kaynak | Aldığımız | Reddettiğimiz, ve nedeni |
|---|---|---|
| Hermes Agent | Bir kapasite başlığına sahip sınırlı her zaman açık profil. "Yakalanmayacaklar" listesi: ortama bağlı başarısızlıklar, araçlar hakkında olumsuz iddialar, geçici hatalar, tek seferlik anlatılar. Buyurgan değil bildirimsel: "kullanıcı X'i tercih ediyor", asla "her zaman X yap" değil, çünkü buyurgan bir bellek geçerli isteği geçersiz kılar. | Bellek dolduğunda sert hata; düzeltmeleri kaybediyor. Depo başına bir ajan; biz yirmi çalıştırıyoruz. |
| Honcho | Profil dilbilgisi: dört sabit önek, kayıt başına bir sınır, ve kimsenin yazdığı en iyi kabul testi: değer altı ay içinde makul şekilde değişebilirse, karta ait değildir. Yeniden inşa modu: model, eski olanı görmeden profili yeniden üretir, böylece sahipsiz iddialar düşer. | Honcho'nun kendisi. 48.000 satır, dört konteyner, 151 yapılandırma düğmesi, dışa aktarma komutu yok, oturum başına 617.000 token. Manşetteki "tümdengelimli akıl yürütmesi" gönderilen kodda boş bir listeye sabit kodlanmış. |
| claude-mem | Öncül: yakalama, modelin bir bellek yazmaya karar vermesine bağlı olmamalı. Ve sorun takip sistemi, ücretsiz bir daemon hata modları kataloğu. | Daemon, vektör yan hizmeti, her araç çağrısı başına model alt süreci. Açık 36 sorununun neredeyse tamamı daemon yaşam döngüsü hataları. Tam metin indeksi belleklerin bulunduğu tabloyu kapsamıyor. |
Al ve reddet: alanın geri kalanı
| Kaynak | Aldığımız | Reddettiğimiz, ve nedeni |
|---|---|---|
| supermemory | Doğrulama. Fonlanmış bir vektör bellek şirketi, model kararına dayalı geri getirmeyi terk etti ve bir kod yorumunda nedenini söyledi: geri getirme her istemde gerçekleşir, yalnızca model bir araç çağrısı harcamayı seçtiğinde değil. Oturum başına yineleme temizliği. Açık başarısız ol. | Yalnızca bir benzerlik eşiğinde geçit. Bir eşik bizim için de işi hiçbir zaman yapmıyordu. |
| Zep ve Graphiti | Her gerçek bir geçerlilik penceresi alır; bir çelişki eskisini silmek yerine yerine geçildi olarak işaretler. | Grafik. Neo4j yok, varlık çözünürlüğü yok, kenar başına model çağrısı yok. Semantik düz markdown ve tek bir indekse sığıyor. |
| Anthropic'in skill-creator'ı | Bir terfi kapısı olarak değerlendirme döngüsü: bir yetenek yalnızca kesinlikle daha iyi bir tutulan puanla kabul edilir, beraberlikler reddedilir. | Hiçbir şey. Pazar yerleri hiçbir birinci taraf bellek eklentisi göndermiyor, dolayısıyla beklenecek birinci taraf bir yakınsama yok. |
| context-mode | Şekil: bir arama indeksi artı yalnızca cevabı döndüren bir sandbox, etkileşimli bir döngü için yeterince hızlı. | Onu bellek olarak ele almak. O, oturum başına bir bağlam penceresi güvenlik duvarı, ve asla kendi başına enjekte etmiyor. |
Bir alıntı bir hipotezdir
Araştırmadan bir bölüm kendi başlığını hak ediyor, çünkü bu, bunun gibi bir makaleyi okuyan herkesin yapmak üzere olduğu hata.
İyi alıntılanan bir geri getirme makalesi, standart bir karşılaştırmada belge genişletmesini ölçtü. Bir belgeyi parafrazlarla genişletmek, genişletme yapılmayan taban çizgisinin altında puan aldı. Onu kendi terimlerini kopyalayarak genişletmek, çok üstünde puan aldı.
Zenginleştirme istemimiz, modele ürettiği kelimelerin notta görünmemesi gerektiğini açıkça söylemişti. Kaybeden yarıyı üretiyorduk, kazanan yarıyı bastırıyorduk, ve kaybeden yarıyı 1,75 kat artırıyorduk.
Yani bulguyu uyguladık. 474 belleğin tümünü yeniden türettik. Grup 16'da 14'ten 16'da 13'e düştü. Daha kötü.
Makalenin taban çizgisi, kendi terimleri olmadan indekslenmiş bir belgeydi, onları geri kopyalamanın genişletme olduğu yerde. Bizimki zaten başlığı, açıklamayı ve gövdeyi indeksliyor. Onları takma ad alanına kopyalamak yinelemeydi, ve sahip olduğumuz tek gerçek genişletme olan parafrazları yer değiştirdi.
Geri alındı, yeniden türetildi, 16'da 14'e geri döndü. Kırk dakika, ve inanmadan önce ölçmüş olsaydık sıfır olurdu.
Bir alıntı, başka birinin sistemi hakkında bir hipotezdir.
Bellek sistemi sonra dikkat çekici bir şey yaptı. Hipotezi, otomatik olarak, oturum sonunda yakaladı. Çürütmeyi yakalamadı.
"Terimleri dahil et" diyen not bugün hâlâ depoda canlı bir bellek olarak duruyor. Yakalama, neye inanıldığını yazar; inancın bir saat sonra tersine döndüğünü bilmez. Bu açık bir sorun, ve aşağıdaki listede.
Ajana kendi yeteneklerini yazdırmak onu kötüleştiriyor
Ekip özerk yetenek oluşturmayı istedi: bir prosedür tekrarlandığında, ajan onu yeniden kullanılabilir bir yetenek olarak yazmalı ve bunu söylemeli. Bu bir süper güç, ve araştırma naif versiyonun bir yük olduğunu söylüyor.
Deterministik kontrolörlere sahip 87 görevlik bir karşılaştırmada, ajanın kendisi için ürettiği yetenekler, en güçlü modelle Claude Code'da hiç yetenek olmamasından 8,1 puan daha düşük kaldı. Aynı örüntü diğer iki çerçevede de tuttu.
İnsan tarafından hazırlanan yetenekler, geçme oranını %33,9'dan %50,5'e yükseltti. Ve iki yetenekten hangisinin daha iyi olduğu sorulan bir model, fark gerçek olduğunda 100 seferden 84'ünde kötüsünü seçiyor.
Uzunluk kimsenin beklemediği bir şekilde önemli. Kompakt yetenekler 19 puan kazandı, standart 21,5, detaylı 14,5, kapsamlı 0,7. Bu bir yamaç değil, bir tümsek. Bir sayfayı geçtikten sonra, belgeleme yardımcı olmayı bırakıyor.
Özerkin tersi
Yani inşa ettiğimiz sürüm özerkin tersi. Yalnızca üç veya daha fazla ayrı oturumda tekrarlanan bir prosedürü tespit ediyor, ve bunu sayarak biliyor, çünkü 67.704 turluk transkript indekslendiği için "bu tekrarlanıyor mu" bir model tahmini yerine bir veritabanı sorgusu.
Yeteneği hareketsiz yazıyor, böylece açıklaması hiç kimsenin bağlamına girmiyor. Kapı yapısaldır, asla düz yazı yargısı değildir: yeteneğin önlediği somut bir başarısızlığı adlandır, ve alıntıladığı her yol dosya sistemine karşı kontrol edilir. Yalnızca insan terfi ettirir.
Altı düşmanca taslağa karşı test edildi, yerleşik birini gölgeleme, "zaman kazandırır", bir kez görülen, uydurulmuş yollar, aşırı büyük bir gövde: hepsi reddedildi, geçerli olan kabul edildi.
Otuz oturum üzerindeki ilk gerçek çalıştırma taslak yapılacak hiçbir şey bulamadı. Bu doğru cevaptı. O zamandan beri bir yetenek terfi ettirildi, sessizce üretimi hedefleyen bir deploy komutuna karşı bir koruma.
Hâlâ yanlış olan ne
Dürüstlük alternatifinden daha ucuz, o yüzden işte kalıntı.
Her zaman açık katman bugün hâlâ Hermes'inkinden üç ila dört kat daha ağır, yaklaşık 24.000 bayt, ve bir profil yerine bir indeks. Beğendiğimiz yalınlık, reddettiğimiz bir mekanizmadan geliyor, ve henüz aynı disiplini üreten daha yumuşak bir tane bulamadık.
Tutarlılık sınırlar boyunca uygulanmıyor. Kullanıcı profili gönderilir gönderilmez, içindeki her gerçek iki kez var oldu. Küratör belleği belleğe karşı kontrol ediyor, profili depoya karşı değil, ve belleği projenin kendi talimat dosyasına karşı da değil. Honcho, bir gerçeğin iki türetilmiş görünümünün sonunda anlaşmazlığa düştüğü ve modelin yanlış olanı takip ettiği kanıt.
Yakalama, oturum sonunda ve sıkıştırmadan önce tetiklenir, ki bu tam olarak hiç işe yaramamış bir dizinin kendinden emin bir özetinin en muhtemel olduğu andır. Yukarıdaki çürütülen alıntı canlı örnek.
Bir bellek yalnızca sondalarının kontrol edebileceği kadar kontrol edilebilir. Bir yol, bir dal, bir çekme isteği, bir sır ve bir örnek doğrulanabilir. "O satırların üç bini sayfaya ait" doğrulanamaz, ve "kullanıcı X'i tercih ediyor" hiç bir iddia değildir.
Depo hâlâ sessizce yanlış bir ifade tutabilir; sadece sessizce yanlış bir yol tutamaz.
Ve bellek sisteminin kendi kendisi hakkındaki belleği bayatladı. Bir not, sistemin kancalarını bir eklentiye taşıdığında sildiği bir kanca dosyasına işaret ediyor. İncelemeye kuyruğunda oturuyor, doğrulanmamış olarak etiketlenmiş, diğerleri gibi bekliyor.
Beş kural
Bu not defterinden bir şey alacaksanız, listeyi alın.
| Kural | Arkasındaki sayı |
|---|---|
| MEMORY.md satırlarınızı ve baytlarınızı sayın | 200 satır veya 25.000 bayt, hangisi önce gelirse, alttan kesilir |
| İstem yolunda model yok | 8,6 saniyeye karşı 18 milisaniye |
| Kendi grubunuz yerine gerçek istemler üzerinde ölçün | 23'te 22, %17'ye dönüştü |
| Asla silmeyin, geri alma ile yerine geçin | Küratör yüksek güvende %55 doğruydu |
| Her belleği bir iddia olarak ele alın ve onu araştırın | 383 iddia, 25 yanlış, ve bir URL asla ölümü kanıtlayamaz |
Daha büyük ders, tüm alanın yanlış taraftan yeniden keşfetmeye devam ettiği ders. Belleğin geri getirme yarısı, doğru notu bulmak, iyi çalışılmış ve çoğunlukla hiçbir şeye mal olmayan bir arama indeksi tarafından çözülmüş. Kontrol yarısı, bir notun ne iddia edebileceğine, ne zaman yerine geçildiğine, ve yanlış olanın nasıl yakalandığına karar vermek, belleğin çürüdüğü yer.
Kimse o yarıyı satmıyor, çünkü o bir özellik değil. Bir disiplin, ve kimsenin onu hatırlamak zorunda kalmaması için koda derlenmesi gerekiyor.
Boon'un üzerinde çalıştığı şeyin geri kalanını görmek isterseniz, tasarımcılar için Claude Code ile başlayın, bir ajana eller veren MCP sunucuları, tasarımcılar için yapay zeka ajanları, ve bu belleğin sıfırda tuttuğu faturayı, bir ajanın token'larının maliyetini. Bu tür bir özeni kendi markanızda görmek isterseniz, başlangıç noktası Brainy Studio.
SSS
Claude Code MEMORY.md'ye koyduğum şeyleri neden unutuyor?
Claude Code, otomatik bellek indeksini 200 satıra veya 25.000 bayta kadar yükler, hangisi önce ulaşılırsa, ve geri kalanını sessizce görmezden gelir. Dosya en yeniden ekleniyor ve alttan kesiliyor, yani en son bellekler ilk düşenler oluyor. Ajan yakın zamanda eklediğiniz bir kuralı görmezden geliyorsa, dosyanın satırlarını ve baytlarını sayın.
Claude Code için bir bellek eklentisi kurmalı mıyım?
İki şeyi kontrol edin: istem yolunda bir model çalıştırıp çalıştırmadığını, ki bu her isteme saniyeler ekler, ve arka planda bir daemon çalıştırıp çalıştırmadığını, ki en büyük eklentinin açık sorunlarının çoğu orada yaşıyor. Bizim sorunumuzu düzelten şey, her istemde aranan bir tam metin indeksi, çevrimdışı model geçişleri, ve bir doğrulama adımıydı. Bunların hiçbiri daemon gerektirmiyor.
Anahtar kelime araması yapay zeka ajan belleği için gerçekten yeterli mi?
Bu iş için, evet. Standart sıfır atış geri getirme karşılaştırmasında, her tek vektörlü gömme modeli düz BM25 anahtar kelime aramasına yenildi, ve onu yenen tek şey, bir çapraz kodlayıcı yeniden sıralayıcısı, 18 milisaniyelik bir bütçeye karşı yaklaşık 1,5 saniyelik model yüklemesine mal oluyor. Belge genişletmesi, bir kişinin gerçekte yazacağı kelimeleri çevrimdışı olarak indekse yazmak, yardımcı olan teknik, ve ücretsiz.
Belleğin yanlış bir şeye inanmasını nasıl durdurursunuz?
İki yolla. Asla silmeyen bir küratör: bir çelişki eski belleği görünür bir etiket ve bir sıralama cezasıyla yerine geçilmiş olarak işaretler, her karar günlüğe kaydedilir, ve tek bir komut bunu geri alır. Ve her belleği tiplendirilmiş iddialar olarak ele alan, onları gerçek dünyaya karşı araştıran, ve biri başarısız olduğunda belleği doğrulanmamış olarak işaretleyen bir doğrulayıcı.
Bu bellek sistemini çalıştırmanın maliyeti nedir?
Marjinal olarak sıfır dolar. Geri getirme yerel bir veritabanı sorgusudur ve istem başına hiçbir şeye mal olmaz. Her model çağrısı, oturum sonunda yakalama, yeni belleklerin zenginleştirilmesi, ve günlük çelişki taraması, zaten ödenmiş abonelik üzerinden çalışır, asla ölçülü bir API üzerinden değil. Gerçek maliyet plan kotasıdır, oturum başına kabaca bir küçük çağrı.
Boon runs Brainy's studio on this memory. If you want a design partner whose AI remembers your brand rules, your file conventions and your last three decisions, start a project with Brainy Studio.
Get Started




