AI Ajanımıza Hafıza Verdik, Sekiz Ay Sonra Geriye Baktık
AI ajanımıza 8 ay ders biriktirdik. Geriye baktığımızda iki sürpriz: mekanik hatalar lint’e taşınmalı, forward-only bellek çözülen işi açık gösteriyor.
AI ajanımıza 8 ay ders biriktirdik. Geriye baktığımızda iki sürpriz: mekanik hatalar lint’e taşınmalı, forward-only bellek çözülen işi açık gösteriyor.
Fikir basit: AI ajanın her işten bir ders çıkarmasına izin verin, dersi dosyaya yazdırın, sonraki oturumda okutun. Zamanla ajan “projeyi bilen biri” hâline gelir. Bunu yaklaşık sekiz ay uyguladık ve sonra durup biriken şeye baktık. İki sürprizle karşılaştık.
Trivial olmayan her iş biterken ajan dersi üç kategoriden birine yazıyor: hatadan öğrenilen, aktif proje gerçeği, tekrarlanan çözüm deseni. Her not bir index dosyasından tek satırla bağlanıyor, böylece sonraki oturum tamamını okumadan ilgilisini bulabiliyor.
Sekiz ay sonunda depoya commit’lenmiş bellek notu dosyası (çekirdek + modül bazlı birikim).
Notları sınıflandırınca yaklaşık sekizde birinin dört mekanik hata sınıfından geldiğini gördük: yerel saat yerine UTC’ye çeviren tarih dönüşümü, iç içe çeviri nesnesinin üzerine düz metin yazma, para hesabında taban/tavan yuvarlama ve sorgu anahtarlarını sabit yerine elle yazma.
Dördü de proje kurallarında açıkça “yasak” yazıyordu. Ajan yine de ihlal etti — çünkü kural yalnız bir metin dosyasındaydı, derleme hattında değil. Kaç ihlal olduğunu tahmin etmemiz istenseydi elliyi söylerdik. Kod tabanını taradığımızda çıkan sayı bambaşkaydı.
İlk ölçümde bulunan potansiyel ihlal noktası — tahminimizin yaklaşık otuz katı.
Tepkimiz kuralları yeniden yazmak değil, çalıştırılabilir hâle getirmek oldu: mekanik yasakları projeye özel bir lint eklentisine taşıdık. Her yasak ayrı isimli bir kural, çünkü şiddeti bağımsız ayarlanabilsin istedik.
// eslint.config.js — projeye özel eklenti (kısaltılmış)
rules: {
'pafta/no-toisostring-date': 'error', // tarih: UTC kayması
'pafta/no-hardcoded-turkish-jsx': 'error', // i18n: sabit metin
'pafta/require-querykey-factory': 'warn', // sorgu anahtarı borcu
'pafta/no-native-money-math': 'warn', // para: native aritmetik
}Burada dürüst olmak gerekiyor: iki kural hemen “hata” seviyesine çekilebildi ve o iki ihlal sınıfı sıfıra indi. Diğer ikisi hâlâ “uyarı” seviyesinde, çünkü biriken borç binlerce satıra yayılmıştı ve canlı bir finansal sistemde toplu otomatik düzeltme yapmak, düzeltmeye çalıştığı riskten daha büyük bir risk. Uyarı seviyesi yeni ihlali anında yakalıyor; eski borç ayrı ve ölçülü turlarda ödeniyor.
Asıl ders şu: “yasak” yazmak bir niyet beyanıdır, lint kuralı ise bir mekanizma. Niyet ile mekanizma arasındaki fark, bu projede otuz kat olarak ölçüldü.
Bellekte “bu hâlâ açık”, “sonra bakılacak” diye işaretlenmiş notlar vardı. Bir grup örneği tek tek kontrol ettik ve neredeyse hepsinin aylar önce çözülmüş olduğunu gördük.
Sebep yapısal: bellek yalnız ileri yazıyordu. Sorun tespit edilince not düşülüyor, çözülünce kimse geri dönüp kapatmıyordu. Zamanla “açık görünen ama aslında kapalı” bir katman birikti.
Bu, zararsız bir dağınıklık değil. Sonraki oturum bu notları bağlam olarak alıyor; var olmayan bir sorunu çözmeye çalışabiliyor ya da tersine, çoktan değişmiş bir gerçeği doğru sanıp yanlış karar verebiliyor. Bayat bellek, boş bellekten daha tehlikeli — çünkü güven veriyor.
Tepki olarak periyodik bir mutabakat turu ekledik: notlar açılıp “bu hâlâ doğru mu” diye canlı sisteme karşı ölçülüyor, çözülenler kapatılıyor. Kural basit: bir iddiayı önceliklendirmeden önce ölç, çünkü belge bayatlar, kod bayatlamaz.
| Hafıza türü | Değeri | Zayıf noktası |
|---|---|---|
| Alan adı/convention kuralı | Yüksek | Nadiren bayatlar; bir kez öğrenilir, sürekli işe yarar |
| Mekanik hata dersi | Orta | Asıl yeri lint kuralı; metin olarak kaldığı sürece tekrarlanır |
| Proje durumu (açık/kapalı) | Düşük | En hızlı bayatlayan tür; periyodik mutabakat şart |
| Tekrarlanan çözüm deseni | Yüksek | Başka bağlamda yeniden kullanılır, uzun ömürlü |
Ders: hafıza biriktirmek kolay kısmı. Asıl değer onu geri çıkarmakta — mekanik olanı önleyici bir guardrail’e çevirmek ve bayatlayanı periyodik olarak kapatmak. Ders yazma adımını otomatikleştirdik; dersi geri çıkarıp uygulama adımı bilinçli olarak insanda kaldı ve şimdilik denge doğru görünüyor.
PAFTA’yı bu disiplinle geliştiriyoruz: canlı bir ERP’de her değişiklik ölçülüp doğrulanarak gidiyor.
PAFTA’yı ücretsiz denePAFTA’nın kurucusu. KOBİ’ler için ERP, e-fatura ve ön muhasebe süreçlerini sadeleştirme üzerine yazıyor.
LinkedInBulut ERP ile yerinde (on-premise) ERP arasındaki maliyet, güvenlik, kurulum süresi ve esneklik farklarını karşılaştırıyoruz. KOBİ’ler için hangi model daha uygun?
KOBİ’lerin ön muhasebe/ERP seçerken bakması gereken 7 objektif kriter: modül kapsamı, e-Fatura entegrasyonu, fiyatlandırma modeli, kurulum süresi.