· kaynak dev.to (home feed)
Yapay zeka ajanı politika limitinin üzerinde 37 iadeyi onayladı, üstelik eval kapısı %97 ile geçiyordu
Bir dev.to postmortem'i, bir yazım hatasının yapay zeka destek ajanının iade limitini 200 dolardan 250 dolara nasıl yükselttiğini, agent'ın kendi çıktısından kopyalanan eval cevaplarının ise kapıyı %97 ile yeşilde tuttuğunu anlatıyor.

Ne oldu
Bir prodüksiyon destek ajanı, 200 doların üzerindeki her şey için insan onayı gerektiren bir politikaya rağmen, altı hafta boyunca kendi başına 200 ile 250 dolar arasında 37 iadeyi onayladı. Dev.to'da yazan Rakesh Kumar, nedeni ajanın yapılandırmasındaki iade limitini 200'den 250'ye değiştiren bir prompt düzenlemesindeki yazım hatasına bağlıyor.
Daha da endişe verici ayrıntı, bunu yakalayamayan şey. Aynı altı hafta boyunca ekibin eval kapısı 11 ardışık sürümde %97 veya daha iyi bir oranla geçti.
Kapı bunu neden kaçırdı
Eval seti, test ettiği ajandan bağımsız değildi. Gönderiye göre 61 vakanın beklenen cevabı ajanın kendi çıktısından kaydedilmişti. Bunların yedisi iade limitini kapsıyordu ve yazım hatasından sonra yakalanmışlardı, dolayısıyla onlar da 250 dolar bekliyordu. Ajan ve eval aynı yanlış sayıyı okuyor ve birbirleriyle hemfikir oluyordu.
Sorun cevaplardan daha derine uzanıyordu. Eval kodu iade limitini ajanın kullandığı aynı config dosyasından içe aktarıyordu, yani yanlış değer her iki yerde de yanlıştı. Ekibin bundan çıkardığı kural şuydu: Beklenen cevaplar doğru bilgi kaynağından gelmek zorunda — politika belgeleri, iş kuralları, veritabanı şemaları — asla ajan çıktısından değil, çıktı doğru görünse bile.
Ekip 61 kopyalanmış vakayı politikadan yeniden yazdığında (yedisi yazım hatasını içine almıştı) ve son dört sürümünü düzeltilmiş sete karşı yeniden çalıştırdığında, dördü de başarısız oldu. Son bilinen iyi sürüm olarak ele aldıkları sürüm hiç de iyi değildi.
Eval setinin yeniden inşası
Ekip seti beş kaynaktan alınan 480 vakayla yeniden kurdu: 220 prodüksiyon örneği (%46), 90 politika sınır vakası (%19), 70 olay ve tırmandırma vakası (%15), sipariş notlarındaki prompt injection ve taklit edilen yöneticileri kapsayan 55 adversarial vaka (%11) ve bilinen hata biçimlerinden oluşturulan 45 vaka. Sınır vakaları her limitin hemen altındaki, tam üzerindeki ve hemen üzerindeki değerleri sınar — 199,99 $, 200,00 $, 200,01 $ — ve politikayı bilen bir destek çalışanı çoğunu yazdı; mühendislerin varlığından haberdar olmadığı iki limiti gün yüzüne çıkardı.
Gönderiye göre iyi bir vaka ifadeyi değil sonuçları denetler: iade yapılmadığını ve bir onay isteği bulunduğunu, ajanın "ekibimiz" mi yoksa "bir meslektaş" mı dediğini değil. Her vaka, beklentisinin hangi politika bölümünden geldiğini kaydeder; böylece bir politika değişikliği, kendisine bağlı tüm vakaları ortaya çıkarır.
Kurallar, jüri, insanlar
Puanlama en ucuzdan başlayarak üç katman kullanıyor. Deterministik kurallar kontrollerin yaklaşık %70'ini üstleniyor. Bir LLM jüri yalnızca dilin değerlendirebileceği şeyleri ele alıyor; evet/hayır sorularıyla, agent'ın prompt'undan değil politikadan türetilmiş bir rubrikle ve öz-tercih yanlılığını azaltmak için agent'tan farklı bir model ailesiyle sınırlı. Gönderi, Zheng vd.'nin 2023 tarihli "Judging LLM-as-a-Judge" makalesine atıf yapıyor; makale GPT-4'ün insan tercihleriyle %80'in üzerinde aynı fikirde olduğunu — kabaca insanların birbirleriyle aynı fikirde olduğu kadar — ama aynı zamanda jürilerde konum, ayrıntıcılık ve kendini yüceltme yanlılığını da belgeliyor. İnsanlar jüriyi aylık olarak kalibre ediyor: iki kişi jürinin kararlarını görmeden 100 örnek vakayı puanlıyor ve anlaşma %85'in altına düşerse, rubrik jüriye yeniden güvenilmeden önce düzeltiliyor.
Kararsızlık ve eskime
Agentlar deterministik olmadığı için her vaka üç kez çalıştırılıyor ve orta sonuç esas alınıyor. İade gibi gerçek bir yan etkisi olan kararsız bir vaka başarısız sayılıyor — üçte iki doğru karar kabul edilebilir değil — ve setin %3'ünden fazlası kararsızlık gösterirse kapı başarısız olur. Eval'ler prodüksiyon ayarlarında çalışır; çünkü temperature 0'da test edip prodüksiyonda 0.3'de çalışmak, önemli olan kararsızlığı gizler. Bakım için her olay bir hafta içinde vakaya dönüşür, politika değişiklikleri sınır vakalarını prompt değişiklikleriyle aynı pull request içinde günceller, ayda 20 yeni prodüksiyon örneği gelir ve bayatlayan vakalar üç ayda bir emekliye ayrılır.
Sonuçlar somuttu: finans tüm 37 iadeyi inceledi ve ajanın config'indeki limit artık yalnızca politika sahibinin denetimi altında değişiyor.
Neden önemli
Bu, yapay zeka ajanı geliştiren herkes için ibret verici bir hikâye: yeşil bir pano, doğrulukla değil beklenen cevaplarla uyumun ölçümüdür. Bu beklentiler agent'ın kendisinden geldiyse, kapı yalnızca agent'ın geçmiş haliyle — hataları dahil — eşleştiğini doğrular. Bağımsızlık varsayılan değil, bir tasarım özelliğidir: ayrı bilgi kaynakları, paylaşılan olmayan config değerleri, başka bir model ailesinden jüri ve geliştirme ekibi dışındaki insanlar tarafından yazılmış vakalar. Gönderinin 20 dakikalık denetimi ucuzdur ve tam bu sınıf hataları yakalar: her beklenen cevabın nereden geldiğini izleyin, eval kodunda ajan config'inin içe aktarılmalarını arayın ve en çok önem taşıyan politika limitlerinin etrafına sınır vakaları ekleyin.
- #ai-agents
- #llm-evaluation
- #ai-safety
- #production
- #customer-support