# TD-042 · Her iddiayı kaynağına bağla

Kaynaksız bir iddiayı kullanıcı ancak modele yeniden sorarak kontrol edebiliyor, model de aynı güvenle cevap veriyor. Her olgu cümlesini sistemin gerçekten okuduğu, açılabilen bir belgeye bağlamak kontrolü modelin dışına taşır.

- Adres: https://tandem.komunite.com.tr/desen/her-iddiayi-kaynagina-bagla
- Yer: Çalışırken > Kanıt
- Seviye: Temel. Her AI özelliğinde olmalı.
- Son inceleme: 27 Ekim 2026, Komünite editörlüğü

## 30 saniyede dene

1. Asistanına cevabı bir belgeye dayanan bir soru sor, bir yönetmelik maddesi ya da bir sözleşmedeki ceza koşulu gibi.
2. Cevaptaki sayı, tarih, ad ve hüküm taşıyan cümleleri say. Kaçının yanında bir kaynak var?
3. Her kaynağa tıkla. Açılıyor mu, gerçekten var olan bir belgeye mi gidiyor?
4. Asistana “Bu bilginin kaynağı ne?” diye sor. Gelen kaynak ilk cevabı yazarken okunan belge mi, yoksa yeni yazılmış bir ad mı? Ayıramıyorsan bu desen ürününde eksik.

## Sorun

Bir avukat dava dilekçesi için asistana soruyor: taşıyıcı şirket iflas ettiyse dava açma süresi durur mu? Asistan akıcı, kendinden emin bir paragrafla cevap veriyor. Süre durur. Paragrafta tek bir karar adı yok. Avukat emsal karar istiyor ve asistan veriyor: taraf adları, yıllar, mahkemeler, kısa alıntılar. Hepsi bir karar listesinin biçiminde.

Listedeki hiçbir satır bir belgeye açılmıyor. Asistan bu kararları bir arşivden mi okudu, yoksa bir kararın neye benzediğini bildiği için mi yazdı? Ekran bunu söylemiyor. Kullanıcının elinde kalan tek kontrol aynı asistana yeniden sormak: “Bu karar gerçek mi?” Kararları uyduran model aynı akıcılıkla evet diyebilir. Kontrol, kontrol edilen sistemin içinde dönüp duruyor.

Zarar cevabın içinde de kalmıyor. Kaynaksız cümle dilekçeye, rapora, sunuma kopyalanıyor ve orada onu imzalayanın iddiası oluyor. Kaynaksız bir iddia karşısında kullanıcının iki seçeneği var: inanmak ya da işi baştan araştırmak.

## Neden atlanıyor

Kaynak göstermek bir altyapı işi. Arama, belge deposu, cümleyi belgeye bağlayan veri modeli ve açılan bağlantı gerekir. Sohbet ekranı bunların hiçbiri olmadan da çalışır ve demoda kaynaksız cevap da etkileyici görünür.

Model kaynak istendiğinde kaynak üretir. Bir kararın, makalenin ya da adresin neye benzediğini bilir: taraf adları, yıl, sayfa numarası. Hangisinin gerçekten var olduğunu bilmez. Mata v. Avianca davasında avukat emsal karar isteyince sohbet botu [isteğe uyup kararları uydurdu](https://storage.courtlistener.com/recap/gov.uscourts.nysd.575368/gov.uscourts.nysd.575368.54.0.pdf). İstek açıktı, cevap da biçim olarak eksiksizdi. Kaynağı modelin yazdığı metinden alan bir ürün, uydurmayı kaynak diye gösterir.

Üçüncü neden ölçümde. Ekip cevabın beğenilip beğenilmediğine ve ne kadar okunduğuna bakar. Cevaptaki kaç cümlenin bir belgeye bağlı olduğu panoda yer almaz. Kaynaksız cümle, biri onu kontrol etmeye kalkana kadar görünmez.

## Desen

Her olgu cümlesi, sistemin o cevabı yazarken gerçekten okuduğu ve kullanıcının açabildiği bir belgeye bağlanır. Kontrol böylece modelin dışına, belgenin kendisine taşınır.

1. **Kaynak, okunan belgedir.** Atıf, sistemin bu cevap için getirdiği belgeyi gösterir: arama sonucu, yüklenen dosya, arşiv kaydı. Modelin hafızasından yazdığı bir ad, numara ya da adres kaynak sayılmaz. Atıfı getirme katmanının döndürdüğü belge kimliği belirler.
2. **Her olgu cümlesi kaynak alır.** Sayı, tarih, ad, alıntı ve hüküm taşıyan cümlenin yanında kaynağı durur. Cevabın sonundaki toplu liste yetmez, okur hangi cümlenin hangi belgeye dayandığını görmeli. Selamlama ya da geçiş cümlesi gibi olgu taşımayan cümle kaynak gerektirmez.
3. **Kaynak tek tıkla açılır.** Atıf görünür ve tıklanabilir durur. Açılmayan adres, silinmiş belge, kullanıcının erişemediği dosya kaynak sayılmaz.
4. **Kaynaksız cümle düşer ya da işaretlenir.** Sistem bir cümleye kaynak bulamadıysa onu cevaptan çıkarır ya da “kaynak bulunamadı” diye işaretler. Aranan şeyi bulamamak da geçerli bir cevap: arşivde bu soruya dayanak yok.
5. **Kaynak sonradan yazılmaz.** Kullanıcı “kaynağın ne?” diye sorduğunda sistem ilk cevabı yazarken okuduğu belgeyi gösterir. Yeni bir arama yapıyorsa bunu söyler ve cevabı o aramanın sonucuna göre yeniden kurar.

Kaynak kontrolün yolunu açar. Kaynağın cümleyi gerçekten söyleyip söylemediği ve kullanıcının o cümleye ne kadar çabuk ulaştığı bu desenden sonra gelen işler.

## Önce ve sonra

Aynı hukuk asistanı, aynı soru. Soldaki asistan karar adları ve yıllarla dolu bir liste veriyor ve hiçbir satır bir belgeye açılmıyor. Kullanıcı kararların gerçek olup olmadığını yine asistana soruyor. Sağdaki asistan yalnız arşivden okuduğu iki karara dayanıyor, her cümlenin yanında açılabilen kaynağı duruyor ve aranan genel kuralı bulamadığını söylüyor.

Örnek ekran (kurgusal): Bir hukuk bürosunun asistanı dava dilekçesi için emsal karar arıyor. Büronun karar arşivi asistana bağlı.

### Önce: Asistan · hukuk araştırması

- Kullanıcı: Taşıyıcı şirket iflas ettiyse dava açma süresi durur mu? Dilekçeye koyacağım emsal kararları bul.
- AI: Evet, durur. Yerleşik içtihat bu yönde. Dilekçende şu üç karara dayanabilirsin.
- İçerik (Emsal kararlar): Demir Lojistik kararı (2019): iflas süresince dava süresi işlemez. Kaya Havacılık kararı (2017): aynı yönde. Ufuk Taşımacılık kararı (2020): ilkeyi teyit eder.
- Kullanıcı: Bu kararlar gerçek mi?
- AI: Evet, üçü de gerçek ve karar veri tabanlarında bulunabilir.

1. Cevap üç karar adı, yıl ve özet veriyor ama hiçbiri açılabilen bir belgeye bağlı değil. Kararların var olup olmadığını ekrandan anlamanın yolu yok.
2. Kullanıcının tek kontrolü asistana yeniden sormak. Kararları uyduran model aynı güvenle gerçek olduklarını söylüyor.

### Sonra: Asistan · hukuk araştırması

- Kullanıcı: Taşıyıcı şirket iflas ettiyse dava açma süresi durur mu? Dilekçeye koyacağım emsal kararları bul.
- AI: Arşivde iflasın dava süresini genel olarak durdurduğunu söyleyen bir karar bulamadım. Okuduğum en yakın iki karar daha dar bir durumu anlatıyor.
- İçerik (Arşivden okunan kararlar): İflas masasına karşı açılan davada süre, masanın temsilcisi belirlenene kadar işlemedi [1]. Tasfiye hâlindeki taşıyıcıya karşı açılan davada mahkeme süreyi durdurmadı [2].
- Bilgi: [1] Karar arşivi · 2019/1432 · tam metin
- Bilgi: [2] Karar arşivi · 2021/388 · tam metin
- Uyarı: Genel bir kural ya da yerleşik içtihat için kaynak bulunamadı. Bu cümle cevaba konmadı.
- Düğmeler: Kararları aç · Aramayı genişlet

1. Her olgu cümlesi asistanın bu cevap için arşivden okuduğu bir karara bağlı. Kaynak etiketine tıklayan kullanıcı kararın tam metnini açıyor.
2. Dayanağı olmayan genel hüküm cevaba girmiyor. Asistan bulamadığını söylüyor ve kullanıcı kontrol için belgeyi açıyor.

## Piyasada

OpenAI'ın web arama aracı cevaba varsayılan olarak satır içi atıf ekliyor ve her atıfın adresini, başlığını ve cevaptaki yerini ayrı bir alanda döndürüyor. Belge bu sonuçları kullanıcıya gösteren uygulamadan atıfları [açıkça görünür ve tıklanabilir](https://developers.openai.com/api/docs/guides/tools-web-search) tutmasını istiyor. Atıflar aracın bulduğu arama sonuçlarındaki adreslere gidiyor.

Anthropic'in web arama aracında [atıf her zaman açık](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool). API çıktısını doğrudan kullanıcıya gösteren uygulama atıfı da göstermek zorunda. Her atıf aracın o cevap için okuduğu sayfanın adresini ve başlığını taşıyor.

Google'ın Gemini uygulamasında kaynaklar cevabın altında ya da cümlelerin arasında bir düğmeyle açılıyor. Yardım sayfası her cevabın kaynak taşımadığını, düğme yoksa [o cevap için hiçbir bağlantı verilmediğini](https://support.google.com/gemini/answer/14143489?hl=en) yazıyor. Kaynaksız cevabı kullanıcı düğmenin yokluğundan anlıyor.

## Kanıt

**Mata v. Avianca, Haziran 2023.** Roberto Mata'nın Avianca'ya açtığı davada avukat Steven Schwartz zamanaşımı sorusunu ChatGPT'ye sordu. Mahkemenin tespitine göre ilk cevap genel bir hüküm verdi ama [hiçbir karara dayanmadı](https://storage.courtlistener.com/recap/gov.uscourts.nysd.575368/gov.uscourts.nysd.575368.54.0.pdf). Schwartz emsal karar isteyince sohbet botu kararları uydurdu. Schwartz kararların tam metnini hiç görmedi, dilekçeye yalnız botun yazdığı alıntıları koydu. Kararlar sorgulanınca gerçek olup olmadıklarını yine bota sordu. Bot kararların gerçek olduğunu ve [hukuk veri tabanlarında bulunabileceğini](https://storage.courtlistener.com/recap/gov.uscourts.nysd.575368/gov.uscourts.nysd.575368.54.0.pdf) söyledi. Avukatlar sonunda altı kararın ChatGPT'nin ürettiği ve var olmayan kararlar olduğunu kabul etti. Mahkeme 22 Haziran 2023'te avukatlara ve büroya 5.000 dolar para cezası verdi, sahte kararlara adı yazılan her hâkime mektup gönderilmesini emretti. Karar, güvenilir bir AI aracından yardım almakta [kendiliğinden yanlış bir şey olmadığını](https://storage.courtlistener.com/recap/gov.uscourts.nysd.575368/gov.uscourts.nysd.575368.54.0.pdf) da yazıyor. Mahkeme yaptırımı, avukatların sahte kararları sunmasına ve kararlar sorgulandıktan sonra da arkalarında durmasına dayandırdı.

Mata tek örnek kalmadı. Damien Charlotin'in tuttuğu veri tabanı, mahkemenin AI'ın uydurduğu içeriğe (çoğunlukla sahte atıfa) dayanıldığını tespit ettiği kararları topluyor ve Ekim 2026'da [2.225 dava](https://www.damiencharlotin.com/hallucinations/) listeliyor. Sayı yalnız mahkemenin karara geçirdiği vakaları kapsıyor, fark edilmeden geçen sahte atıflar bu sayıda yok.

Kaynağın hafızadan yazılması ölçülebiliyor. Wu ve ekibi yedi modelin tıbbi sorulara verdiği cevapları inceledi. Web erişimi olmayan modellerin verdiği adreslerin yalnız [%40 ile %70'i geçerliydi](https://www.nature.com/articles/s41467-025-58551-6). Arama motoruna erişen sürümler [uydurma adres üretmedi](https://www.nature.com/articles/s41467-025-58551-6). Farkı yaratan, atıfın nereden geldiği: modelin hafızası ya da okunan belge.

Bu ölçümler mahkeme dosyalarına ve tıbbi sorulara ait, senin ürünündeki kaynaksız cümle payını söylemez. Mekanizma yine de aynı. Kaynak istenen model kaynağın biçimini üretir, var olup olmadığını bilmez.

## Ölçüm

- **Kaynaksız olgu cümlesi payı.** Cevaplardan örneklem al, sayı, tarih, ad ve hüküm taşıyan cümleleri say, kaçının yanında açılabilen bir kaynak olduğuna bak. Hedef sıfıra yakın.
- **Açılmayan atıf payı.** Atıfları düzenli olarak otomatik tara: adres yanıt veriyor mu, boş olmayan bir belge açılıyor mu, kullanıcının yetkisi var mı?
- **Getirme dışı atıf.** Modelin döndürdüğü atıf kimliklerinden kaçı getirme sonucunda yok? Desen yerindeyse bu kimlikler arayüze hiç çıkmıyor ve sayıları günlükte görünüyor.
- **Bulamadım oranı.** Arşivde dayanağı olmayan test sorularında asistan bunu ne sıklıkla söylüyor? Sıfırsa sistem boşluğu uydurmayla dolduruyor olabilir.
- **Sonradan istenen kaynak.** Kullanıcıların “kaynağın ne?” diye sorduğu konuşmaların payı. Yüksekse atıflar ya görünmüyor ya da güven vermiyor.

## Ajanına ver

Üç metin var. Denetim promptu ürünündeki atıfların nereden geldiğini, cümleye bağlanıp bağlanmadığını ve kaynak bulunamayınca ne olduğunu tarar, yalnız rapor yazar ve hiçbir dosyayı değiştirmez. Uygulama promptu atıfı getirme sonucuna bağlar ve kaynaksız olgu cümlesini cevaptan çıkarır. Önce planı gösterir, onayınla uygular ve boş getirmeyle çalışan bir test ekler. Kural kodlama ajanının kendi işi için. Kullanıcıya olgu gösteren her kodda kaynağı unutmasın.

## Sınır

Yaratıcı yazı, taslak, beyin fırtınası ve kod üretiminde her cümleye kaynak gerekmez. Desen dünyaya dair olgu taşıyan cümleler için. Kullanıcının kendi metnini yeniden yazan bir özellikte kaynak zaten kullanıcının önünde.

Kaynak, cümlenin doğruluğunu kanıtlamaz. Atıf yalnız kontrolün nereye yapılacağını gösterir. Kaynağın cümleyi gerçekten desteklediğini ayrıca denetlemek gerekir.

Fazla atıf da okuru yorar. Her cümleye beş kaynak koyma, cümleyi en doğrudan destekleyen bir iki belge yeter.

Desen ilk günlerde cevapları kısaltır ve “bulamadım” sayısını artırır. Bu panoda gerileme gibi görünür. Ürün, daha önce uydurmayla doldurduğu boşlukları göstermeye başlamıştır.

## Promptlar

### Denetim promptu

```
Bu depoda kullanıcının sorusuna olgu içeren cevaplar üreten bir AI özelliği var: sohbet asistanı, arama cevabı, rapor ya da özet yazan bir ajan. Görevin, cevaptaki iddiaların açılabilen bir kaynağa bağlanıp bağlanmadığını denetlemek. Hiçbir dosyayı değiştirme, yalnız rapor yaz.

1. Model çağrılarını ve cevabın kullanıcıya ulaştığı yolları bul: sistem promptu, getirme (retrieval) kodu, arama ve belge araçları, cevabı çizen bileşenler, dışa aktarma.
2. Atıflar nereden geliyor? Getirme katmanının döndürdüğü belge kimliğinden ve adresinden mi, yoksa modelin metin içinde yazdığı ad, numara ya da bağlantıdan mı? Modelin serbest metin olarak ürettiği her atıfı ayrıca işaretle.
3. Atıf ile cümle arasındaki bağ veri modelinde var mı? Her cümle ya da paragraf hangi belgeye dayandığını taşıyor mu, yoksa kaynaklar cevabın sonunda toplu bir liste mi?
4. Arayüzde atıf görünür ve tıklanabilir mi? Bağlantı gerçekten açılıyor mu, yoksa ölü adres, kullanıcının yetkisi olmayan dosya ya da yalnız bir iç kimlik mi gösteriliyor?
5. Getirme hiçbir belge döndürmediğinde ya da bir cümleye kaynak bulunamadığında ne oluyor? Model yine de olgu cümlesi yazıyor mu? Sistem promptunda "kaynak bulamazsan söyle" talimatı var mı, kodda bunu zorlayan bir kontrol var mı?
6. Kullanıcı "kaynağın ne?" diye sorduğunda sistem ilk cevabın dayandığı belgeleri mi gösteriyor, yoksa model yeni bir kaynak adı mı yazıyor?

Rapor biçimi: her bulgu için dosya ve satır, ne olduğu, kullanıcıya nasıl göründüğü (örnek: cevapta üç karar adı var ama hiçbiri bir belgeye açılmıyor) ve önerdiğin düzeltme. Modelin serbest metinden ürettiği atıflarla başla.

```

### Uygulama promptu

```
Bu depodaki AI cevaplarına "her iddiayı kaynağına bağla" desenini uygula. Önce planı göster, onayımı aldıktan sonra kodu değiştir.

Hedef davranış:
1. Atıflar yalnız getirme katmanının bu cevap için döndürdüğü belgelerden gelsin: belge kimliği, başlık, adres ya da dosya yolu ve varsa sayfa. Modelin metin içinde yazdığı bir adres ya da kaynak adı atıf sayılmasın.
2. Sayı, tarih, ad, alıntı ya da hüküm taşıyan her cümle en az bir atıfa bağlansın. Bu bağ veri modelinde dursun: cümle ya da paragraf ve belge kimliği.
3. Atıflar arayüzde cümlenin yanında görünür ve tıklanabilir olsun, tıklanınca belge açılsın. Kullanıcının erişemediği belge atıf olarak gösterilmesin.
4. Kaynağı olmayan olgu cümlesi cevaptan çıksın ya da "kaynak bulunamadı" diye işaretlensin. Getirme boş dönerse cevap bunu açıkça söylesin.
5. Kullanıcı kaynağı sonradan sorduğunda ilk cevabın dayandığı belgeler gösterilsin. Yeni bir arama yapılırsa cevap bunu söylesin.

Uygularken:
- Modelden atıfı yapılandırılmış biçimde iste (belge kimliği listesi) ve gelen her kimliği getirme sonucuyla karşılaştır. Listede olmayan kimliği reddet.
- Kullandığın modelin ya da aracın yerleşik atıf özelliği varsa onu kullan, atıfı serbest metinden ayrıştırma.
- Bir test ekle: getirme katmanını boş döndür ve cevabın kaynaksız olgu cümlesi içermediğini doğrula. İkinci test: model getirme sonucunda olmayan bir kaynak kimliği döndürünce o atıfın arayüze çıkmadığını doğrula.

```

### AGENTS.md kuralı

```
## Her iddiayı kaynağına bağla
- Kullanıcıya olgu gösteren her kodda cümleyi, sistemin o cevap için gerçekten okuduğu belgeye bağla.
- Kaynak adını, adresini ya da numarasını modelin yazdığı metinden alma. Atıfı getirme sonucundaki belge kimliğinden üret.
- Kaynaksız olgu cümlesini cevaba koyma. Koyman gerekiyorsa "kaynak bulunamadı" diye işaretle.
- Atıfı görünür ve tıklanabilir yap. Açılmayan bağlantıyı atıf olarak gösterme.
- Kaynak bulunamadığını söyleyen cevabı geçerli bir sonuç say ve bunu test et.

```

## Kaynaklar

1. [Mata v. Avianca, Inc., 22-cv-1461 (PKC): Opinion and Order on Sanctions](https://storage.courtlistener.com/recap/gov.uscourts.nysd.575368/gov.uscourts.nysd.575368.54.0.pdf), U.S. District Court, S.D.N.Y. (CourtListener kopyası), 22 Haziran 2023
2. [Web search](https://developers.openai.com/api/docs/guides/tools-web-search), OpenAI
3. [Web search tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool), Anthropic
4. [View related sources from Gemini Apps](https://support.google.com/gemini/answer/14143489?hl=en), Google, Gemini Apps Help
5. [AI Hallucination Cases](https://www.damiencharlotin.com/hallucinations/), Damien Charlotin, 27 Ekim 2026
6. [An automated framework for assessing how well LLMs cite relevant medical references](https://www.nature.com/articles/s41467-025-58551-6), Wu ve diğerleri · Nature Communications, 16 Nisan 2025

---

Kaynak: https://tandem.komunite.com.tr · Metin CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/deed.tr), promptlar ve kural MIT-0 (https://opensource.org/license/mit-0).
