Bir deneyin izlediği yol

Bir kodlama eylemcisi uzun bir eniyileme işine dönerken önceki konuşmasını yeniden okumak zorunda mı? Stateless Language Agents, yani SLA, bu soruya başka bir çalışma düzeniyle yanıt veriyor. Araştırmanın önerdiği yapıda aday kod, deney sonucu ve başarısız girişim dış yönetim katmanında saklanıyor. Eylemci her çağrıda yeni bir oturumla başlıyor. Geliştirici için ilginç olan, biriken çalışmayı korurken o çalışmanın bütün konuşmasını taşımak zorunda kalmamak. Kalıcı ilerleme, konuşmanın devam etmesine bağımlı olmaktan çıkıyor.[1]

Bir deneyi bu düzenin içinde izleyelim. Danışman, görevi, en iyi aday kodu ve araştırma yönlerine göre hazırlanmış sonuç özetini alıyor; bunlardan somut deneyler seçiyor. Çalışan eylemci kendi atamasını, korunmuş adayını ve son yerel geri bildirimini görüyor. Diğer çalışanların dizinlerine ya da tam geçmişe erişemiyor. Adayı, çalışan ortamının dışındaki değerlendirici puanlıyor. Sonuç tekrar kalıcı duruma yazılıyor ve sonraki çağrının başlangıcını oluşturuyor. Böylece aynı işin sürmesi için aynı oturumun sürmesi gerekmiyor.[1]

Sonuçsuz denemenin anlamı

Bu ayrımın bakım açısından değerli tarafı, çalışmayan kodla işe yaramayan fikri birbirinden ayırabilmek. Danışmana sunulan özet, ölçülmüş başarısız iyileştirmeleri; uygulama, çalıştırma veya doğruluk hatası yüzünden sonuçlanamayan denemelerden ayırıyor. Bir yönün henüz sınanamamış olması, o yönden kazanç çıkmayacağı anlamına gelmiyor. Bence yeni sorumluluk tam burada: geliştirici, yalnızca hangi mesajların özetleneceğini değil, denemenin neden sonuç vermediğinin nasıl sınıflandırılacağını da tasarlıyor. Yanlış sınıflandırma, yeni oturumda aynı yanlış kararı yeniden üretebilir.[1]

Araştırmacılar yazılım mühendisliği, çekirdek eniyileme ve algoritma tasarımını sınadı; toplam bütçeler bir milyar belirtece kadar uzandı. Aynı kontrol noktalarından başlayan deneylerde danışmanın bağlamını yeniden kurma, çalışanları birbirinden ayırma ve açık deney ataması ayrı ayrı kaldırıldı. Bu, mimarinin parçalarını incelemek için yararlı bir karşılaştırma. Yine de sonuçların görev seçimine veya uzun bütçenin bazı yöntemleri kayırmasına bağlı olması mümkün. Çoğu yapılandırmanın yalnızca bir kez çalıştırılması, etkiyi başka projelere taşırken temkin gerektiriyor.[1]

Kalıcı çalışmanın sahibi

Danışman, ölçülen yapılandırmalarda belirteçlerin yüzde 0,24–0,51’ini ve model maliyetinin yüzde 1,2–2,3’ünü tüketiyor. Bu, koordinasyonu ayrı bir katmanda tutmanın bu deneylerde düşük model gideriyle mümkün olduğunu gösteriyor. Fakat deneyleri çalıştıran hesaplamanın maliyeti bu hesaba dahil değil. İnsan incelemesi, hata ayıklama ve yönetim katmanını sürdürme işi de bu oranlardan okunamaz. Küçük bir ekip için danışmanın ucuz görünmesi, bütün çalışma düzeninin ucuzladığı sonucunu vermiyor; masrafın hangi katmana taşındığını ayrıca görmek gerekiyor.[1]

Bu yapıyı seçen geliştiricinin eline geçen seçenek, danışmanı ve çalışanları kendi konuşmalarından bağımsız yenileyebilmek. Karşılığında adayların, sonuçların ve geri dönüş noktalarının güvenilir biçimde saklanması gerekiyor. Ben ilk denemeyi, zaten çalıştırılabilir testi bulunan tek bir eniyileme işiyle sınırlardım. Aynı model, başlangıç kodu ve değerlendirme korunurken oturum kesildikten sonra hangi adayın geri geldiği incelenebilir. Asıl kazanım, daha uzun konuşabilmekten önce, yarım kalan çalışmanın nereden sürdüğünü açıklayabilmek. SLA bu sahipliği modele değil, geliştiricinin yönettiği çalışma düzenine veriyor.[1]