Kazanimlar:
- Şema ve kural tabanlı çıktı doğrulama katmanları kurabilme
- Yüksek etkili kararlarda insan denetimini (human-in-the-loop) anlamlı biçimde zorunlu kılabilme
- İkinci model ile doğrulama ve güven eşiği tabanlı yönlendirme tasarlayabilme
Bir dil modeli akıcı, ikna edici ve çoğu zaman doğru üretir — ama "ikna edici" ile "doğru" aynı şey değildir. Model bir tutarı, bir tarihi veya bir JSON alanını sessizce uydurabilir; buna halüsinasyon (modelin gerçekte olmayan bilgiyi güvenle üretmesi) denir. Kurumsal bir sistemde bu çıktı bir sonraki adıma — bir ödemeye, bir e-postaya, bir veritabanı yazımına — akarsa hata gerçek dünyaya taşar. Bu ünitede çıktıyı sisteme girmeden önce doğrulama katmanlarıyla süzmeyi ve yüksek etkili kararlarda insan denetimini (human-in-the-loop) zorunlu kılmayı öğreneceğiz.
Neden Çıktı Doğrulama Zorunlu?
Model çıktısı iki temel şekilde bozulabilir: biçim (beklenen JSON şemasına uymaz, alan eksik/fazla) ve içerik (biçim doğru ama değer yanlış — var olmayan bir ürün kodu, mantıksız bir tarih). Güvenlik açısından üçüncü bir boyut daha vardır: kötü niyetli çıktı (injection sonucu üretilmiş zararlı bir komut veya sızıntı). Sağlam bir sistem üçünü de kapıda durdurur.
Dikkat: "Model genelde doğru" bir üretim ölçütü değildir. Doğrulamasız bir sistemde binde bir hata bile, günde 100.000 istekte günde 100 hatalı işlem demektir.
Doğrulama Katmanları: Adım Adım
- Şema doğrulama (schema validation). Çıktının beklenen yapıya uyduğunu makine ile kontrol edin: alanlar var mı, tipleri doğru mu, zorunlu alanlar dolu mu?
- Kural/iş mantığı doğrulama. Değerler iş kurallarına uyuyor mu? (Tutar > 0, tarih gelecekte değil, ürün kodu kataloğa ait.)
- Referans/kaynak kontrolü. Model bir iddia üretiyorsa kaynağa bağlanabiliyor mu? (RAG'de alıntı gerçekten belgede var mı?)
- İkinci model ile doğrulama (LLM-as-judge). Bağımsız bir model çıktıyı "doğru/eksik/riskli" diye değerlendirir.
- Güven eşiği ve yönlendirme. Model veya doğrulayıcı düşük güven bildirirse çıktı otomatik geçmez; insana yönlendirilir.
- İnsan denetimi. Yüksek etkili veya düşük güvenli çıktı, bir uzmanın onayından geçer.
Dört Kopyalanabilir Şablon
Şema + "bilmiyorsan uydurma" birlikte:
Yanıtı YALNIZCA şu JSON şemasında ver:{ "tutar": <sayı>, "para_birimi": "TRY|USD|EUR", "vade": "YYYY-AA-GG", "kaynak_madde": "<metindeki madde no>", "emin_misin": "yuksek|orta|dusuk" }Bir alanı metinden çıkaramıyorsan değerini null yap ve "emin_misin"alanını "dusuk" yaz. ASLA tahmini bir değeri kesinmiş gibi yazma.
İkinci model ile doğrulama (yargıç prompt'u):
Sen bir bağımsız doğrulayıcısın. Aşağıda bir <kaynak> metin ve bir<iddia> var. İddiadaki HER sayı ve tarihin kaynakta birebir geçipgeçmediğini kontrol et. Her biri için: "doğrulandı | kaynakta yok |kaynakla çelişiyor" de. Bir tanesi bile 'yok/çelişiyor' ise sonucu"İNSAN İNCELEMESİ GEREKLİ" olarak işaretle.<kaynak>{{ metin }}</kaynak><iddia>{{ model_ciktisi }}</iddia>
Güven eşiği yönlendirme kuralı:
Yönlendirme kuralı:- emin_misin = "yuksek" VE tutar < 10.000 TL -> otomatik işle- emin_misin = "orta" VEYA tutar 10.000-100.000 TL -> ikinci model doğrulaması- emin_misin = "dusuk" VEYA tutar > 100.000 TL -> insan onayı zorunlu
İnsan denetimi özet kartı (incelemeyi hızlandırır):
Kararı bir insana sunarken şu kartı üret:- Ne öneriliyor? (tek cümle)- Hangi kaynağa dayanıyor? (madde/belge referansı)- En zayıf 2 varsayım nedir?- Onaylanırsa geri döndürülebilir mi? (evet/hayır)
Zayıf Prompt / Güçlü Prompt
Zayıf yaklaşım
Güçlü yaklaşım
"Faturadan tutarı çıkar" (serbest metin)
Katı JSON şeması + null + güven alanı
Çıktıyı doğrudan ödeme sistemine yazmak
Şema → kural → (gerekirse) insan onayı
Modele "emin ol" demekle yetinmek
İkinci modelle sayı/tarih doğrulaması
Her çıktıyı eşit güvenle işlemek
Etki ve güvene göre yönlendirme
Güçlü yaklaşım, modelin doğru olmasını ummaz; yanlış olduğunda yakalayacak bir kapı kurar.
Üç Mini Vaka
Vaka 1 — Şema tek başına yetmedi. Bir muhasebe otomasyonu, faturalardan tutarı JSON olarak çıkarıyordu. Şema doğruydu ama model bir faturada "1.250,00" yerine "125.000" üretti (ondalık kayması). Şema bunu yakalayamadı; kural doğrulaması ("tutar, fatura kalemleri toplamıyla ±%1 uyumlu olmalı") yakaladı ve 112.500 TL'lik hatalı kayıt engellendi.
Vaka 2 — İkinci model halüsinasyonu yakaladı. Bir hukuk destek asistanı, sözleşme özetinde "fesih bildirimi 30 gün" dedi; oysa sözleşmede 90 gündü. Bağımsız yargıç modeli "kaynakla çelişiyor" işaretleyince çıktı insana yönlendirildi ve düzeltildi. Otomatik geçseydi müşteri yanlış tarihe göre iptal bildirimi yapacaktı.
Vaka 3 — Yönlendirme yükü %70 azalttı. Bir sigorta talep sistemi, düşük tutarlı ve yüksek güvenli talepleri otomatik onaylayıp yalnızca eşik üstü/düşük güvenli olanları uzmana gönderdi. Günlük 3.200 talebin yalnızca 950'si insana düştü; uzmanlar zamanlarını gerçekten riskli %30'a ayırdı, ortalama işlem süresi 4 saatten 40 dakikaya indi.
İpucu: İnsan denetimini "her şeyi insan görsün" diye kurgulamayın — bu insanları yorar ve onay bir lastik damgaya döner. Bunun yerine yalnızca yüksek etkili ve düşük güvenli çıktıları insana yönlendirin; bu, dikkati gerçekten önemli olana odaklar.
İnsan Denetimini Anlamlı Kılmak
Human-in-the-loop, kağıt üstünde onay kutusu koymak değildir. İnceleyen kişinin (1) kararı anlayacak bağlamı, (2) kaynağa erişimi ve (3) "hayır" deme yetkisi olmalıdır. Aksi halde denetim kozmetik kalır. İnceleme kartı (yukarıdaki dördüncü şablon) tam da bu bağlamı sağlamak içindir.
Sık yapılan hatalar
- Yalnızca şema doğrulaması yapıp içerik/değer hatalarını atlamak.
- Modele "emin ol" demekle gerçek doğrulama yaptığını sanmak.
- Yüksek etkili, geri döndürülemez kararları otomatik uygulamak.
- İnsan denetimini her çıktıya koyup onayı anlamsız bir lastik damgaya dönüştürmek.
- İnceleyen kişiye kaynağı ve bağlamı vermeden "onayla" demek.
- Güven eşiği ve yönlendirme kurmadan tüm çıktıları aynı riskle işlemek.
Özetle
- Çıktı üç şekilde bozulur: biçim, içerik ve kötü niyet; sağlam sistem üçünü de kapıda durdurur.
- Katmanlar: şema doğrulama, kural/iş mantığı, kaynak kontrolü, ikinci model (LLM-as-judge) ve güven eşiği yönlendirmesi.
- Yüksek etkili ve düşük güvenli çıktılarda insan denetimi (human-in-the-loop) zorunlu olmalı.
- İnsan denetimi anlamlı olmalı: inceleyen kişide bağlam, kaynak erişimi ve "hayır" deme yetkisi bulunmalı.
- Her çıktıyı değil, yalnızca riskli olanı insana yönlendirerek hem güvenlik hem verimlilik kazanılır.
Uygulama görevi
Kendi AI çıktınızdan bir örnek alın. Önce bir JSON şeması tanımlayıp çıktıyı buna zorlayın. Ardından en az iki iş kuralı yazın (örneğin "tutar, kalemler toplamıyla uyumlu"). Son olarak bir yönlendirme tablosu kurun: hangi güven/etki kombinasyonu otomatik geçer, hangisi ikinci modele, hangisi insana gider? Bir hatalı örnek üretip her katmanın onu nerede yakaladığını gözlemleyin.
Kontrol listesi
- [ ] Çıktı için katı bir şema tanımladım ve makine ile doğruluyorum.
- [ ] En az bir iş/kural doğrulaması (değer mantığı) ekledim.
- [ ] İddiaları kaynağa bağlayıp kontrol edebiliyorum.
- [ ] Yüksek etkili/düşük güvenli çıktılar için ikinci model veya insan onayı var.
- [ ] Güven ve etkiye göre yönlendirme kuralı tanımlı.
- [ ] İnceleyen kişiye bağlam, kaynak ve reddetme yetkisi sağlanıyor.