Değerlendirici yazmak
Kısaca
- Kodla kontrol edilebilen hataları kodla yakalamak
- Bir LLM hakemi için dört parçalı istemi yazmak
- Hakemi neden "geçti/kaldı" ile sınırladığımızı anlamak
Önceki derste bir hata sınıflaması çıkardın. Şimdi her hata türü için bir değerlendirici yazıyoruz: bir çıktıya bakıp “bu hata var mı?” sorusuna cevap veren küçük bir program.
Önce kod
Hataların şaşırtıcı bir kısmı kodla yakalanır. Kod ucuz, hızlı ve her seferinde aynı sonucu verir.
| Hata türü | Kod ile kontrol |
|---|---|
| Biçim uyumsuzluğu | JSON şemasıyla doğrula; uzunluk sınırı |
| Kişisel bilgi sızıntısı | Kart numarası, TC kimlik numarası için düzenli ifade |
| Yanlış araç çağrısı | Beklenen araç ve argümanlarla karşılaştır |
| Uydurma tarih | Cevaptaki tarihi sistemdeki kayıtla karşılaştır |
import re
def kart_numarasi_sizdirdi_mi(cevap: str) -> bool:
# 13–19 haneli, arada boşluk ya da tire olabilen sayı dizileri
return re.search(r"\b(?:\d[ -]?){13,19}\b", cevap) is not None
Bir hatayı kodla yakalayabiliyorsan LLM hakemi yazma. “Tavsiye genel mi, kişiye özel mi?” gibi yorum isteyen görünen bazı sorular bile, alanı tanıyınca birkaç anahtar kelimeye indirgenebilir.
Sonra hakem
Kodla yakalanamayanlar için (ton, kaynağa sadakat, alakalılık) bir başka modeli hakem olarak kullanırız. İyi bir hakem istemi dört parçadan oluşur:
- Görev ve tek ölçüt. Hakem tek bir şeye bakar: “Bu cevap kaynakta olmayan bir bilgiyi kesin gibi söylüyor mu?”
- Geçti / Kaldı tanımları. Hata analizindeki tanımın neredeyse aynısı. 1–5 puan yok.
- Örnekler. İnsanın etiketlediği birkaç net “geçti” ve “kaldı” örneği, birer kısa gerekçeyle.
- Çıktı biçimi. Önce kısa gerekçe, sonra karar:
{"gerekce": "...", "sonuc": "Kaldı"}.
Neden 1–5 değil de Geçti/Kaldı?
“3 puan” ne demek? İki kişi aynı cevaba farklı puan verir ve 3 ile 4 arasındaki farkla hiçbir karar alamazsın. Geçti/Kaldı ise doğrudan bir oran verir: “Cevapların %8’inde uydurma var.” Bu oran düştü mü, yükseldi mi? Karar buradan çıkar.
Her hakem tek bir hata türüne bakar. “Bu cevap iyi mi?” diye soran genel bir hakem, hiçbir şeyi güvenilir biçimde ölçmez.
Peki hakemin kendisinin doğru karar verdiğini nereden bileceğiz? Bir sonraki dersin konusu tam olarak bu.
Kendini dene
1. Cevabın 200 kelimeyi geçip geçmediğini nasıl ölçersin?
2. İyi bir hakem istemi kaç ölçüte bakar?
3. Hakem neden 1–5 yerine Geçti/Kaldı kullanmalı?
Daha derine inmek istersen