İstem değil değerlendirme: 120 örneklik küçük bir test seti kurmak ürünümüzde neyi değiştirdi
Bunu bitirmek için 120 örneklik bir test seti kurduk. Anlatacağım şey karmaşık bir altyapı değil, bir hesap tablosu ve 60 satırlık bir betik.
Örnekleri nereden bulduk: gerçek kullanıcı girdilerinden. Üç ayın kayıtlarını açtık, elle 120 tane seçtik. Seçerken dengeye dikkat ettik: 60 tanesi tipik durum, 30 tanesi zor durum, 20 tanesi kenar durum, 10 tanesi kötü niyetli girdi. Her örnek için beklenen çıktıyı ya da kabul ölçütünü elle yazdık. Bu işi iki kişi üç günde yaptık ve en değerli üç günümüzdü.
Değerlendirme nasıl çalışıyor: üç tip ölçüt var. Birincisi kesin eşleşme, sınıflandırma ve alan çıkarma gibi işlerde. İkincisi kural tabanlı kontrol, mesela cevapta telefon numarası olmamalı ya da çıktı geçerli bir JSON olmalı. Üçüncüsü hakem modelle puanlama, serbest metin için. Hakem modeli kullanırken en kritik şey, hakeme verdiğiniz ölçütün çok somut olması. "İyi bir cevap mı" diye sormak işe yaramıyor, "cevap sorudaki üç bilgiyi de içeriyor mu, her biri için evet hayır yaz" diye sormak işe yarıyor.
İlk çalıştırmada mevcut istemimiz 120 örnekten 78'ini geçti. Bu sayı bizi şaşırttı, çünkü ürün iyi çalışıyor sanıyorduk. Başarısız 42 örneği inceleyince üç ana hata tipi çıktı ve bunlardan ikisi istemdeki çelişkili iki cümleden kaynaklanıyordu. O cümleleri düzeltince skor 97'ye çıktı ve başka hiçbir şey değiştirmedik.
Asıl kazanç bundan sonra geldi. Artık istemde değişiklik yapan kişi, değişikliği gönderirken skoru da gönderiyor. Düşüren değişiklik birleşmiyor. Model sürümü değiştiğinde ilk iş bu seti çalıştırmak oluyor; geçen ay bir sürüm yükseltmesinde skorun 97'den 91'e düştüğünü gördük ve geçişi erteledik. O test seti olmasaydı bunu müşteriden öğrenecektik.
Üç uyarı. Birincisi, test setini büyütme hevesine kapılmayın. 120 iyi seçilmiş örnek, 2.000 rastgele örnekten daha faydalı ve çalıştırması ucuz. İkincisi, seti güncelleyin: canlıda karşılaştığınız her yeni hata tipini sete ekleyin, böylece aynı hata iki kez olmuyor. Üçüncüsü, hakem modelin kendisi de değişiyor; kesin eşleşme ve kural tabanlı kontrolleri mümkün olduğunca çoğaltın.
Bu işi yapmadan önce istem değiştirmek bir sanat gibiydi, şimdi bir mühendislik işi. Sizde değerlendirme seti var mı, kaç örnekle çalışıyorsunuz?



@madda