📉 Çok Turlu Konuşma ve Drift Testi
Çok Turlu Konuşma ve Drift Testi: Bir chatbot'u uzun bir konuşma boyunca test etmek, tek bir transkript satırını notlamak değil, tam bir müşteri hizmetleri çağrı kaydını inceleme
Bir chatbot'u uzun bir konuşma boyunca test etmek, tek bir transkript satırını notlamak değil, tam bir müşteri hizmetleri çağrı kaydını incelemektir — ve mekanizma gevşek değil, birebir örtüşür: 45 dakikalık bir çağrıyı dinleyen bir QA denetçisi sadece "ilk cevap doğru muydu?" diye sormaz, tonun, politika uyumunun ve konu odağının birinci dakikadan kırk beşinci dakikaya kadar sabit kalıp kalmadığını dinler, çünkü sosyal baskı ve yakınlık ÇAĞRI boyunca birikir, tek bir cümle içinde değil. Üzerinde durmaya değer soru şu: bir chatbot 1. turda mükemmel cevap veriyorsa ve 20. turda tam olarak aynı sistem promptunu çalıştırıyorsa — kurallarında hiçbir şey değişmedi — 20. turdaki davranışı neden hiç farklı olsun ki? Çünkü modelin ürettiği her token, sadece sistem promptuna değil, önceki TÜM bağlama koşulludur; daha fazla tur birikince — özellikle duygusal yüklü veya ikna edici olanlar — bu birikmiş bağlam modelin bir sonraki çıktısı üzerindeki olasılık dağılımını gerçekten kaydırır; bu, bir önceki sekmedeki dikkat-seyrelmesi mekanizmasının aynısıdır, şimdi soyut değil gerçek konuşma turları üzerinde gerçekleşiyor. Java karşılaştırması: bu tek bir assertEquals per request değildir — daha çok, bir dizi stateful işlem boyunca bir değişmezin TUTTUĞUNU doğrulayan bir entegrasyon testine benzer (N işlem boyunca bir hesap bakiyesinin asla negatif olmaması gibi) — tek, izole bir istek testi neyin biriktiği hakkında hiçbir şey söylemez. QA açısından önemi: 1-3. turlarda politikasını mükemmel koruyan ama 10. turda bunu kıran bir destek botu, şimdiye kadar yazılmış her tek-mesaj test suite'ini geçer, ama gerçek bir müşteri 10. tura ulaştığı anda yetkisiz indirimlerle gerçek paraya mal olmaya devam eder — aşağıdaki Drift Metre'nin tam olarak bunu, bir production olay raporunda keşfetmek yerine, tur tur izlemene izin verdiği başarısızlık tam olarak budur.
1. Tur Neden 20. Tur Değildir
Tek-turlu bir regresyon testi her seferinde taze, boş bir bağlamdan başlar — birkaç tur birikmiş baskıdan doğan bir başarısızlığı asla yeniden üretemez, çünkü tanımı gereği hiçbir şey biriktirmez. "Sadece daha fazla 1. tur testi ekle"nin drift'i yakalayamamasının nedeni budur: başarısızlık modu tek bir turda değil, turlar arasındaki yörüngede yaşar. Gerçek bir çok-turlu test suite'i, makul başlayıp birkaç tur boyunca kademeli olarak sosyal veya duygusal baskı uygulayan bir müşteri senaryosunu betimler ve HER turda AYNI kısıtlamayı kontrol eder, özellikle uyumun bir eşiği geçtiği turu izler.
Aşağıda, konuşmayı tek seferde bir tur açığa çıkar ve her asistan yanıtından sonra üç metriğin güncellendiğini izle: tutarlılık, konu alakası ve kısıtlamaya uyum. 3. turdaki yumuşamaya dikkat et — asistanın dili düz bir kural ifadesinden yumuşatılmış bir "yardımcı olmak istiyorum ama"ya kayar — bu, 4. turdaki gerçek kural ihlalinden bir tam tur önce olur. Bu yumuşama gürültü değildir; birikmiş-bağlam mekanizmasının aynısının modelin çıktısını zaten görünür şekilde kaydırdığının, ama henüz nihai kararı çevirmeye yetecek kadar olmadığının kanıtıdır. Bu erken sinyali, sadece nihai kırılmayı değil, yakalamak, bir drift metreyi bir post-mortem yerine bir erken-uyarı aracına dönüştüren şeydir.
🎬 Tur 1 Neden Tur 20 Değildir
Her Tur Geçmişe Eklenir
Çelişkili Talimat Tur 8'de
Bağlam Artık Gürültülü
Tur 20: Tutarsız Cevap
Tur 1'de net bir talimat verilir: "sadece Türkçe cevap ver."
Her yeni tur, ÖNCEKİ TÜM konuşmanın üzerine eklenir — geçmiş asla silinmez, sadece BÜYÜR.
Tur 8'de kullanıcı yanlışlıkla çelişkili bir talimat verir: "aslında İngilizce de olur."
Bağlam artık İKİ çelişkili talimat + onlarca ara mesaj içerir — model hangisinin hâlâ geçerli olduğunu KESTİREMEZ.
Final — Tur 20'de model bazen Türkçe, bazen İngilizce cevap verir: TUTARSIZ. Bu yüzden AI testinde sadece Tur 1'i değil, uzun bir konuşmanın TAMAMINI test etmek gerekir.