Kodlama Aracım Oturumları Hatırladı, İşleri Değil
Bir kodlama aracı bir sohbet dizisini canlı tutabilir ama yine de unutkan hissedebilir.
CliGate'i oluştururken bu sorunla karşılaştım. Oturum sürekliliğini düzelttim ancak tekrarlanan görevler yavaş kalmaya devam etti.
Araç konuşmayı hatırlıyordu ama işi hatırlamıyordu.
Oturum sürekliliği bir sorunu çözer. Şuna benzer takip komutlarına olanak tanır:
- devam et
- aynısını bu dosya için yap
- onu tekrar dene
- hatayı açıkla
Bu, akış için önemlidir. Ancak bir iş akışını günler sonra tekrarladığınızda başarısız olur.
Eğer bir araç hangi düğmenin çalıştığını veya hangi adımın bir çıkmaz sokak olduğunu öğreniyorsa, tek bir açık oturum yeterli değildir. Aracın, son çalışmayı neyin başarılı kıldığını hatırlaması gerekir.
İlk çalıştırma en maliyetli olanıdır. Aracın küçük detayları bulduğu an budur:
- belirli bir menünün bir eylemi gizlemesi
- bir editörün bir iframe olması
- bir projenin belirli yanıt stilleri gerektirmesi
- bir ortam URL'sinin production'dan farklı olması
Düzeltmemden önce bu detaylar sadece ham kayıtlardan (logs) ibaretti. Aracın geçmişi vardı ama yeniden kullanılabilir bir belleği yoktu. Her seferinde aynı gerçekleri yeniden keşfetmek zorundaydı. Bu zeka değildir. Bu, aynı maliyeti iki kez ödemektir.
Yanlış yaklaşım, daha fazla geçmiş kaydedip modelin bunu kullanacağını ummaktır. Bu, gürültü (noise) yaratır.
Daha küçük, yeniden kullanılabilir bir katmana ihtiyacım vardı. Her şeyi kaydetmekten şunları kaydetmeye geçtim:
- prosedürler: en iyi adımlar ve bilinen çıkmaz sokaklar
- gerçekler: URL'ler, kurallar veya ayarlar
- direktifler: işlerin nasıl yapılmasını istediğiniz
- referanslar: dokümantasyonun nerede bulunduğu
Bu, sistemi değiştirdi. Asistan, devasa bir dökümü (transcript) okumak yerine dosya tabanlı bir bellek katmanı kullanıyor.
Mükemmel bir yeniden oynatma (replay) istemedim çünkü arayüzler değişiyor ve düğmeler yer değiştiriyor. Bir döngü istedim:
- önceki en iyi prosedürü hatırla
- önce onu dene
- her adımı doğrula
- başarısız olursa keşfe geri dön
- başarıdan sonra belleği güncelle
Ayrıca sabit kuralları oturum geçmişinden ayırdım. "Production verilerine dokunma" gibi kurallar konuşma bağlamı değildir. Bunlar çalışma kurallarıdır. Bunları ayırmak asistanı öngörülebilir kılar.
Sonuç: tekrarlanan görevler kısaldı. Asistan daha hızlı hareket ediyor çünkü boş bir taktiksel modelle başlamıyor.
Eğer kodlama araçları geliştiriyorsanız, bir sohbet dizisini (thread) öğrenme ile karıştırmayın.
- Bir oturum sürekliliğe yardımcı olur.
- Bellek ise tekrarlanan işlere yardımcı olur.
Oturum konuşmayı canlı tutar. Bellek katmanı ise dersleri canlı tutar.
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
