Kodlama Aracım Oturumları Hatırladı, İşleri Değil
Bir kodlama aracı bir sohbet dizisini canlı tutabilir ama yine de unutkan hissedebilir.
CliGate'i geliştirirken bu sorunla karşılaştım. Oturum sürekliliğini düzelttim ancak tekrarlanan görevler hâlâ çok yavaştı.
Araç konuşmayı hatırlıyordu ama işi hatırlamıyordu.
Oturum sürekliliği bir sorunu çözer. Şu gibi takip komutlarında yardımcı olur:
- devam et
- aynısını bu dosya için yap
- onu tekrar dene
Bu kullanışlıdır. Ancak bir iş akışını günler sonra tekrarladığınızda yardımcı olmaz.
Bir aracın, son çalıştırmayı neyin başarılı kıldığını hatırlaması gerekir. Şunları bilmesi gerekir:
- hangi düğmenin çalıştığı
- hangi adımın bir çıkmaz sokak olduğu
- hangi alanın özel işlem gerektirdiği
- hangi kuralın her zaman uygulanmasını istediğiniz
İlk çalıştırma en maliyetli olanıdır. Aracın keşif yaptığı ve isteminizde (prompt) yer almayan ayrıntıları bulduğu an budur.
Düzeltmemden önce, bu ayrıntılar sadece ham kayıtlarda (logs) yaşıyordu. Aracın geçmişi vardı ama yeniden kullanılabilir bir belleği yoktu. Her seferinde her şeyi yeniden keşfetmek zorundaydı.
Bu zeka değildir. Bu, aynı hata ayıklama maliyetini iki kez ödemektir.
Yanlış yaklaşım, daha fazla geçmiş kaydedip modelin bunu kullanacağını ummaktır. Bu, gürültü yaratır.
Bunun yerine daha küçük, yeniden kullanılabilir bir bellek katmanı inşa ettim. Şunlara odaklandım:
- prosedürler
- gerçekler
- direktifler
- referanslar
Olan her şeyi kaydetmeye çalışmayı bıraktım. Hatırlanması gerekenleri kaydetmeye başladım.
Artık asistan, şunları hatırlamak için dosya tabanlı bir bellek katmanı kullanıyor:
- bir prosedür: en iyi adımlar ve bilinen çıkmaz sokaklar
- bir gerçek: bir URL veya belirli bir ayar
- bir direktif: işlerin nasıl yapılmasını istediğiniz
- bir referans: dokümantasyonun nerede olduğu
İnsanlar bu şekilde çalışır.
Geçmişin mükemmel bir tekrarını istemiyorum çünkü arayüzler değişir ve düğmeler yer değiştirir. Aracın şunları yapmasını istiyorum:
- Bilinen en iyi prosedürü hatırlamak
- Önce onu denemek
- Her adımı doğrulamak
- Başarısız olursa keşif moduna geri dönmek
- Başarıdan sonra belleği güncellemek
Bu, kırılgan otomasyonu yararlı bir operasyonel belleğe dönüştürür.
Ayrıca sabit kuralları konuşma geçmişinden ayırdım. "Her zaman Çince yanıt ver" veya "canlı veriye dokunma" gibi kurallar oturum bağlamı (context) değildir. Bunlar çalışma kurallarıdır.
Bunları ayırdığımda asistan öngörülebilir hale geldi. Artık bir görevin ortasında tercihlerinizi yeniden keşfetmek zorunda kalmıyor.
Tekrarlanan görevler artık daha kısa. Asistan daha hızlı hareket ediyor çünkü her seferinde boş bir modelle başlamıyor.
Sürekli bir sohbet dizisini, öğrenen bir sistemle karıştırmayın.
Bir oturum konuşmayı canlı tutar. Bellek ise yararlı dersleri canlı tutar.
Eğer kodlama araçları geliştiriyorsanız kendinize şunu sorun: Sisteminiz sohbet dizisini mi hatırlıyor, yoksa başarılı prosedürü mü?
Kaynak: https://dev.to/codekingai/my-coding-agent-remembered-sessions-not-work-that-was-the-bug-2fig
