AI Kod Asistanın Neden Yazdığı Kodu Unutuyor?
Yapay Zeka Kodlama Asistanları: Hafıza mı, Süreklilik mi?
Şöyle bir sahne canlandırın: Gece geç saatte bir özellik üzerinde çalışıyorsunuz. Birkaç dosya düzenlediniz, birkaç test koşturdunuz, bir yerde takıldınız ve ertelemeye karar verdiniz. Ertesi gün projeye döndüğünüzde, asistanınıza kaldığınız yerden devam etmesini söylüyorsunuz. Ve beklediğiniz anda, o tanıdık karmaşa başlıyor: "Hangi dosyadaydık? Son test ne sonuç verdi? Auth sorunu halloldu muydu yoksa sadece geçici bir çözüm mü bulmuştuk?"
Bu sahne size tanıdık geliyorsa, yalnız değilsiniz.
Asıl mesele şu: Sorun asistanların yeterli belleğe sahip olmaması değil. Sorun, yanlış türde belleğe sahip olmaları.
Bağlam ve Süreklilik: İkisi Aynı Şey Değil
Şöyle düşünün. Bağlam, bir asistanın o anda erişebildiği her şey: dosyalar, sohbet geçmişi, dokümantasyon, çekilen notlar. Süreklilik ise yarın asistanınızın bugün nerede kaldığınızı tam olarak bilmesini sağlayan şey.
Benzer görünüyorlar, değil mi? Ama aynı şey değiller.
Büyük bir context window, asistanın aynı anda daha fazla bilgiyle çalışmasına izin veriyor. Ancak o oturum kapandığında, farklı bir araca geçtiğinizde veya ertesi sabah sıfırdan başladığınızda, aynı duvara tosluyorsunuz: Gerçekten ne oluyordu? Ne değişti? Nerede takılmıştık? Hangisi sadece görünüşte çalışıyordu?
Daha büyük context window'lar bunu çözmüyor. Sadece daha çok metin arasında kayboluyorsunuz.
Dağınık Çekmece Sorunu
İlk akla gelen çözüm daha büyük depolama alanı kurmak. Daha fazla sohbet geçmişi. Büyük vector database'ler. Asistanın temas ettiği her şeyin kapsamlı arşivleri.
Bazı ekiplerin bunu uyguladığını gördüm. Güçlü hissettiriyor. İlerleme gibi görünüyor.
Ama gerçekte olan şu: Sistem pahalı bir dağınık çekmece haline geliyor. Özetler eskiyor. Başarısız yaklaşımlar, başarılı olanlarla aynı görsel ağırlıkta duruyor. Asistan alakalı görünen bir şey çekiyor, ancak kimse bunun güncel mi, işe yarar mı yoksa geçen haftadan kalma bir halüsinasyon mu olduğunu bilmiyor.
Bir asistanın operasyonel olarak güvenilir bilgiye ihtiyaç duyduğu yerde—bu komut gerçekten geçti mi, hangi dosya düzenlendi—semantik olarak benzer gürültü alıyor.
Bu, hiç bellek olmamasından daha kötü.
Gerçek Süreklilik Nasıl Görünür?
Size gerçek bir sürekliliğin ne gerektirdiğini anlatayım.
"Auth sorunu büyük ihtimalle çözüldü" gibi belirsiz bir not yerine, gerçek operasyonel durumu takip eden yapılandırılmış kayıtlar istiyorsunuz: Hangi dosyalar düzenlendi, hangi komutlar çalıştırıldı, sonuç ne oldu, ne çözülmeyi bekliyor ve sonraki adım ne olmalı.
Bu her şeyi hatırlamakla ilgili değil. Doğru gerçekleri, oturum sınırlarını aşacak formatta korumakla ilgili.
Bir hafıza öğesi şöyle der: "Parser üzerinde ilerleme kaydettik."
Bir süreklilik kaydı şöyle der: "Parser görevi duraklatıldı. tokenizer.py düzenlendi. pytest tests/test_parser.py geçti. Tam test paketi henüz çalıştırılmadı. Sonraki adım: Kapsamı genişletmeden önce tüm parser test grubunu çalıştırmak."
Fark, muğlak bir konuşmayı hatırlayan bir meslektaşla, size detaylı notlar ve net sonraki adımlar veren bir meslektaş arasındaki fark kadar büyük.
Bu Çalışma Düzeniniz İçin Ne Anlama Geliyor?
İşin pratik kısmına gelelim. AI destekli geliştirme workflow'ları kuruyorsanız—ki muhtemelen kuruyorsunuz—bu mimariyi ilk günden düşünmeniz gerekiyor.
Reponuz hakkında statik talimatlar değerli. Asistanlara testleri nasıl çalıştıracaklarını, modüllerin nerede olduğunu, hangi kuralları izleyeceklerini anlatıyorlar. Ama statikler. Bir görevin yarıda kesildiğini, validasyonun başarısız olduğunu veya kapsamı oturum sırasında daralttığınızı bilmiyorlar.
Hem stabil talimatlara hem de değişen iş durumuna ihtiyacınız var. Biri olmadan diğeri eksik.
"Büyük bellek" yaklaşımının neden başarısız olduğu da bu. Yanlış sorunu yanlış araçla çözüyor. Vector database'ler semantik retrieval'da başarılı—ilgili dokümantasyonları bulmada, geçmiş notlarla benzerlik kurmada, bilgi tabanı parçalarını eşleştirmede. Ancak en önemli devam bilgileri küçük, sıradan ve operasyonel şeyler: Hangı komut başarısız oldu, hangi dosya düzenlendi, hangi test geçti, ne yapılacak.
Gerçek Fırsat
Şahsi görüşüm şu: AI destekli geliştirmede bir sonraki sınır, daha büyük modeller veya daha uzun context'ler değil. Daha iyi handoff sistemleri.
Asistanların gerçekten kaldığı yerden devam edebildiği bir dünyaya doğru ilerliyoruz—daha fazla bilgiyle değil, doğru bilgiyle, oturum sınırlarını aşacak şekilde yapılandırılmış bilgiyle.
Bu, hangi durumu koruyacağınızı, nasıl yapılandıracağınızı ve onu semantik olarak olası değil operasyonel olarak güvenilir kılacağınızı dikkatle düşünmek demek.
Vibe coding ve AI destekli geliştirme konusunda NameOcean olarak düşündüğümüzde, tam da bu tür altyapı önemli. Geliştiricilere güçlü araçlar vermek değil sadece—onlara ertesi sabah işinize döndüğünüzde gerçekten ne yaptığınızı hatırlayan araçlar vermek.
Kazanacak olan asistanlar en büyük belleğe sahip olanlar değil. Sizi aynı yönlendirme dansını iki kere yaptırmayanlar olacak.
Sonuç
Bir dahaki sefere bir AI asistanına projenizi yeniden açıklamak zorunda hissettiğinizde, daha büyük bir context window'a uzanmayın. Kendinize sorun: Ona bağlam mı veriyorum, yoksa süreklilik mi?
Bağlam kolay. Süreklilik gerçekten önemli olan.