# TD-073 · AI'ın değişikliğini insanınkinden ayırt et

AI'ın yazdığı satır onu çağıran kişinin adıyla kayda geçince belgede ve kodda kimin neyi yazdığı kayboluyor. AI'ın her değişikliğini yazıldığı anda araç tarafından işaretleyen ve bu işareti içerikle taşıyan kayıt bu ayrımı korur.

- Adres: https://tandem.komunite.com.tr/desen/ai-degisikligini-insaninkinden-ayirt-et
- Yer: Eylemde > İz
- Seviye: Temel. Her AI özelliğinde olmalı.
- Son inceleme: 27 Ekim 2026, Komünite editörlüğü

## 30 saniyede dene

1. Ortak bir belgede ya da kod deposunda AI'a bir paragraf ya da bir fonksiyon yazdır, sonra o bölümün bir kelimesini kendin değiştir.
2. Sürüm geçmişine ya da commit geçmişine bak. AI'ın yazdığı kısım kimin adıyla görünüyor?
3. Bir hafta sonra ekipten birine o satırı göster ve kimin yazdığını sor. Cevabı belgeden ya da geçmişten bulabiliyor mu?
4. İçeriği dışa aktar ya da başka bir dala birleştir. AI'a ait olduğu bilgisi bu yolculuktan sağ çıkıyor mu?

## Sorun

Bir ekip hizmet sözleşmesini ortak bir belgede yazıyor. Ayşe asistandan üç maddeyi yazmasını istiyor ve metni kabul ediyor. Mert ertesi gün maddelerden birini düzeltiyor. Bir hafta sonra müşteri bir iade koşulunu soruyor: bunu kim yazdı, neye dayanarak? Belgenin geçmişi tek bir cevap veriyor, Ayşe. Asistanın yazdığı her cümle onu çağıran kişinin adıyla kayda geçmiş.

Kodda aynı şey her gün oluyor. Geliştirici ajanın yazdığı fonksiyonu commit ediyor ve commit onun adını taşıyor. Git'in `blame` komutu her satırı [o satırı son değiştiren sürümle](https://git-scm.com/docs/git-blame) eşleştiriyor, sürümün yazarı da commit'i atan kişi. Altı ay sonra bir hata çıktığında satırın sahibi görünen kişi o satırı hiç yazmamış olabiliyor. Satırı okuyup okumadığını kendisi de hatırlamayabilir.

Kim yazdı sorusu incelemenin ilk sorusu. İnsanın yazdığı satır yazarın niyetini taşır ve yazar onu savunabilir. AI'ın yazdığı satır bir isteğe verilmiş cevaptır ve belki kimse onu baştan sona okumadan kabul etmiştir. İkisi aynı adla kayda geçince inceleme yanlış satıra, soru da yanlış kişiye gidiyor.

## Neden atlanıyor

Araç insanın kimliğiyle çalışır. Asistan belge düzenleyicisinin içinde, kullanıcının oturumuyla yazar. Düzenleyici her değişikliği oturum sahibine yazar, çünkü elinde başka bir yazar tanımı yoktur. Kodlama ajanı da çoğu zaman geliştiricinin git kimliğiyle commit eder. Ekip AI için ayrı bir kimlik tanımlamazsa AI hiçbir kayıtta görünmez.

İkinci neden, işaretin kullanıcının hatırlamasına bırakılması. Gönüllü etiket tutmuyor. Linux çekirdeği AI yardımıyla hazırlanan yamalara bir etiket eklenmesini istemişti ve Ekim 2026'da bu kuralı kaldırdı. Gerekçe, etiketin gerçek kullanımı yansıtmamasıydı. Ayrıntısı Kanıt bölümünde.

Üçüncü neden yazarlığın parçalı olması. AI bir paragraf yazar, insan iki kelimesini değiştirir, ertesi gün AI aynı paragrafı yeniden düzenler. Commit ya da sürüm düzeyindeki tek bir etiket bu karışımı taşıyamaz. Doğru ayrıntıyı kurmak iş istediği için ekip çoğu zaman hiç işaret koymamayı seçiyor.

## Desen

AI'ın yaptığı her değişiklik, yazıldığı anda araç tarafından AI'a ait diye işaretlenir. İşaret değişiklikle birlikte yaşar. İnsan satırı değiştirince yazarlık da değişir, içerik başka bir yere taşınınca işaret de onunla gider.

1. **İşareti araç koysun.** AI'ın değişikliği kaydedilirken yazar alanını aracın kendisi doldurur. Kullanıcının hatırlamasına ya da modelin beyanına bırakılmaz.
2. **AI'a kendi kimliğini ver, insanı yanında tut.** AI yazar olarak, işi başlatan insan isteyen ya da ortak yazar olarak kaydedilir. Kimin yazdığı ve kimin isteğiyle yazıldığı iki ayrı soru, ikisinin de cevabı kayıtta durur.
3. **İnce ayrıntıda işaretle.** Yazarlık satır, paragraf ya da madde düzeyinde tutulur. İnsan AI'ın satırını değiştirince son hâl insanındır, AI'ın ilk hâli geçmişte kalır. AI'ın değişikliği insanın bekleyen değişikliğiyle aynı kayda karışmaz.
4. **Yalnız AI'ın yaptığını işaretle.** AI'ın yazmadığı bir satıra AI demek, AI'ın yazdığını gizlemek kadar yanıltır. Araç işareti ancak değişikliğin gerçekten AI çıktısı olduğunu bildiğinde koyar.
5. **İşareti içerikle taşı.** Dışa aktarma, birleştirme ve kopyalama işareti düşürmesin. Görsel, ses ve videoda bunun bir standardı var. C2PA'nın eylem kayıtları bir varlığa [yapılan düzenlemeleri, ne zaman yapıldıklarını ve hangi yazılımın yaptığını](https://spec.c2pa.org/specifications/specifications/2.3/specs/C2PA_Specification.html) taşıyor. Aralık 2025 sürümü bu kaydı düz metin dosyalarına gömmenin yolunu da ekledi.
6. **Yazarlığı sorumlulukla karıştırma.** AI'ı yazar olarak göstermek, değişikliği kabul eden insanın sorumluluğunu kaldırmaz. Linux çekirdeği bunu açık kural yapıyor. AI ajanları Signed-off-by etiketi ekleyemez, çünkü [Geliştirici Kökeni Sertifikası'nı yalnız insanlar yasal olarak onaylayabilir](https://github.com/torvalds/linux/blob/master/Documentation/process/coding-assistants.rst).

Kayıt doğru tutulunca “bunu kim yazdı” sorusunun cevabı belgenin içinde durur ve kimsenin hafızasına kalmaz.

## Önce ve sonra

Aynı sözleşme taslağı, iki geçmiş. Soldaki asistanın yazdığı maddeleri onu çağıran kişinin adına yazıyor ve “bunu kim yazdı” sorusu cevapsız kalıyor. Sağdaki her maddeyi kimin yazdığını, kimin isteğiyle yazıldığını ve sonra kimin değiştirdiğini gösteriyor, hiçbir insanın dokunmadığı AI metnini ayrıca işaretliyor.

Örnek ekran (kurgusal): Bir ekip hizmet sözleşmesi taslağını ortak bir belgede düzenliyor. Ayşe asistana üç maddeyi yazdırıyor, Mert ertesi gün birini düzeltiyor.

### Önce: Belge · sürüm geçmişi

- Bilgi: Hizmet sözleşmesi · taslak 4
- Adım (tamam): Ayşe Demir · 4 değişiklik · dün 14.32 · madde 7.2, 9.1, 9.3, 11
- Adım (tamam): Mert Kaya · 1 değişiklik · bugün 10.05 · madde 9.1
- Kullanıcı: Madde 9.3'teki iade koşulunu kim yazdı? Müşteriyle böyle konuşmamıştık.
- İçerik (Madde 9.3): Teslimde gecikme olursa sözleşme bedelinin tamamı müşteriye iade edilir.

1. Asistanın yazdığı maddeler onu çağıran kişinin adıyla kayda geçmiş. Geçmiş “Ayşe, 4 değişiklik” diyor, bunlardan üçünü asistanın yazdığını söylemiyor.
2. Mert'in sorusunun cevabı belgede yok. Ayşe hatırlamıyorsa kimse bilmiyor ve madde müşteriye bu hâliyle gidebilir.

### Sonra: Belge · sürüm geçmişi

- Bilgi: Hizmet sözleşmesi · taslak 4 · 5 değişiklik
- Adım (bekliyor): Madde 9.3 · asistan yazdı · Ayşe Demir'in isteğiyle · dün 14.30 · sonra kimse değiştirmedi
- Adım (tamam): Madde 9.1 · asistan yazdı, Mert Kaya değiştirdi · asistan dün 14.30 · Mert bugün 10.05 · son hâl Mert'in
- Adım (tamam): Madde 7.2 · asistan yazdı · Ayşe Demir'in isteğiyle · dün 14.30
- Adım (tamam): Madde 11 · Ayşe Demir yazdı · dün 14.32
- Uyarı: Madde 9.3'ü asistan yazdı ve o günden beri hiçbir insan ona dokunmadı.
- Düğmeler: Asistanın satırlarını vurgula · Madde 9.3'e git

1. Her madde kimin yazdığını ve kimin isteğiyle yazıldığını taşıyor. Asistanın yazıp insanın değiştirdiği madde iki adı da gösteriyor, son hâlin kime ait olduğu belli.
2. Hiçbir insanın dokunmadığı AI metni ayrıca işaretli. Mert'in sorusunun cevabı belgenin kendisinde duruyor.

## Piyasada

GitHub'ın kodlama ajanının commit'leri [Copilot'ın adıyla atılıyor, işi başlatan geliştirici ise ortak yazar olarak işaretleniyor](https://docs.github.com/en/copilot/concepts/agents/cloud-agent/risks-and-mitigations). GitHub'ın gerekçesi, ajanın ürettiği kodun ve işi kimin başlattığının böylece ayırt edilebilmesi. Aynı belge bir kural daha koyuyor. Copilot'tan değişiklik isteği açmasını isteyen kişi o isteği kendisi onaylayamıyor.

Claude Code commit'lere varsayılan olarak [o anda kullanılan modelin adını taşıyan bir Co-Authored-By satırı](https://code.claude.com/docs/en/settings-reference) ekliyor. Bulut ve uzaktan denetim oturumlarında commit'e oturumun bağlantısını da ayrı bir satır olarak koyuyor, böylece satırdan onu yazan oturumun kaydına gidilebiliyor. Kullanıcı satırın metnini değiştirebiliyor ya da tamamen kapatabiliyor.

Aider her düzenlemeyi açıklayıcı bir mesajla ayrı bir commit olarak kaydediyor. Düzenlemeden önce kullanıcının commit'e alınmamış değişikliklerini ayrı bir commit'e alıyor ve kendi yazdığı commit'lerde git'teki yazar adının sonuna [“(aider)” ekliyor](https://aider.chat/docs/git.html). Kullanıcının değişikliği ile aracınki git geçmişinde ayrı kayıtlar olarak duruyor.

Google'ın kodlama ajanı Jules değişiklikleri yayımladığında dalda [commit'in yazarı olarak Jules görünüyor](https://jules.google/docs/code/). Kullanıcı dalı kendisi değişiklik isteğine çevirirse isteğin sahibi kullanıcı oluyor.

Dört örnek de kod deposunda ve yazarlığı commit düzeyinde tutuyor. Ayrım, AI'ın ve insanın değişikliği ayrı commit'lerde kaldığı sürece çalışıyor. İkisi tek commit'te birleşirse satır düzeyindeki bilgi kayboluyor.

## Kanıt

**VS Code, Nisan 2026.** Microsoft, VS Code'un commit mesajına “Co-authored-by: Copilot” satırı ekleyen ayarının varsayılanını 1.117 sürümünde kapalıdan “all” değerine çevirdi. Testte bulunmayan bir hata [Copilot'tan gelmeyen kod tamamlamalarını da Copilot'a yazdı](https://github.com/microsoft/vscode/issues/314311), satır AI özelliklerini kapatmış kullanıcıların commit'lerine de girdi. Copilot kullanmadığını söyleyen bir kullanıcı satırın [onayı olmadan commit geçmişine dolduğunu](https://github.com/microsoft/vscode/issues/313064) bildirdi. Microsoft varsayılanı 1.118'de yalnız sohbet ve ajan kullanımına daralttı, ardından yeniden kapattı. Açıklamasında AI ile ilgisi olmayan değişikliğe işaretin hiç konmayacağını ve satır eklenmeden önce kullanıcının onayının isteneceğini yazdı. O haftalarda atılan commit'lerde bu satır tek başına Copilot'un katkısını kanıtlamıyor.

**Linux çekirdeği, Ekim 2026.** Çekirdek, AI yardımıyla hazırlanan yamalara bir Assisted-by etiketi eklenmesini istemişti. Ekim 2026'da etiketi belgelerinden kaldırdı. Kaldıran commit'e göre 7.3 geliştirme döneminde -rc7'ye kadar gelen [18.533 birleştirme dışı commit'in yaklaşık %10'u etiketi taşıyordu](https://github.com/torvalds/linux/commit/1e035297ffdadf2184c3c773b8c098e372324aaf), gerçek LLM kullanımı ise çok daha yaygındı. Kimi katkıcı kuralı bilmiyordu, kimi etiketi bilerek koymuyordu, çok az bakımcı soruyordu. Commit'e göre etiketin yokluğu bir yamanın nasıl yazıldığı hakkında hiçbir şey söylemiyordu. Bakımcılar yamanın nasıl yazıldığını hâlâ bilmek istiyor, ama bunun yerini artık yama dizisinin tanıtım mektubu (cover letter) sayıyor.

Avrupa Birliği aynı sorunu üretilen içerik için yasayla çözmeye çalışıyor. Yapay Zekâ Yasası'nın 50. maddesi sentetik ses, görsel, video ya da metin üreten sistemlerin sağlayıcılarından [çıktıyı makine okunur biçimde işaretlemesini](https://ai-act-service-desk.ec.europa.eu/en/ai-act/article-50) istiyor. Standart düzenlemeye yardım eden ya da girdinin anlamını önemli ölçüde değiştirmeyen sistemler bu yükümlülüğün dışında.

Bu kaynakların hiçbiri yazarlık işaretinin incelemeye etkisini ölçmüyor. Çekirdeğin sayısı yalnız gönüllü etiketin ne kadar az kullanıldığını gösteriyor. Etkiyi kendi ürününde aşağıdaki sinyallerle ölç.

## Ölçüm

- **İşaretlenme payı.** Araç kaydına göre AI'ın yaptığı değişikliklerin ne kadarı belgede ya da commit geçmişinde AI'a ait görünüyor? Hedef hepsi.
- **Yanlış işaret.** AI'a ait görünen ama araç kaydında AI çıktısı olmayan değişiklikler. Hedef sıfır.
- **Kim yazdı testi.** Ekipten birine rastgele bir satır göster ve yazarını sor. Cevabı belgeden ya da geçmişten bulabiliyorsa desen çalışıyor.
- **Taşınmada kayıp.** Dışa aktarılan, birleştirilen ya da kopyalanan içerikte işaretin ne kadarı kalıyor? Squash ile birleştirilen dalları ayrıca örnekle.
- **Dokunulmamış AI metni.** Yayına ya da ana dala giden içerikte hiçbir insanın değiştirmediği AI satırlarının payı. Sayı görünür olsun, kabul edilebilir eşiğe ekip karar versin.

## Ajanına ver

Üç metin var. Denetim promptu AI'ın içerik ya da kod yazdığı yolları bulur, bu değişikliklerin hangi kimlikle kaydedildiğini ve işaretin dışa aktarmada, birleştirmede ve kopyalamada korunup korunmadığını raporlar, hiçbir dosyayı değiştirmez. Uygulama promptu AI'ın değişikliklerine araç tarafından konan bir yazar işareti ekler ve onu arayüzde görünür kılar. Önce planı gösterir, onayınla uygular ve AI'ın yazmadığı bir değişikliğe işaret konursa düşen bir test yazar. Kural kodlama ajanının kendi işi için. Senin deponda commit atarken o da kendi yazdığını kendi adıyla işaretlesin.

## Sınır

Kullanıcının kendi yazdığı ve AI'ın yalnız yazım hatasını düzelttiği metinde her düzeltmeye yazar işareti koymak kaydı gürültüye boğar. İşaret, metni AI'ın kurduğu yerde gerekir. Eşiği ürün belirler ve kullanıcıya açıkça söyler.

İşaret bir satırın nereden geldiğini söyler, iyi ya da kötü olduğunu söylemez. Ekip işareti bir kalite puanı gibi kullanırsa insanlar işaretten kaçmaya başlar. Çekirdekte kimi katkıcının etiketi bilerek koymaması bu kaçışın bir örneği.

İşaret sorumluluğu taşımaz. AI'ı yazar olarak göstermek, değişikliği kabul eden insanın sorumluluğunu ortadan kaldırmaz. Kimin onayladığının kaydı ayrı bir desen.

“AI'ın ürettiğini etiketle” okura bir metni kimin yazdığını söyler. Bu desen ortak bir belgenin ya da deponun içinde, zaman içinde hangi satırın kimden geldiğini tutar. İkisi birbirini tamamlar.

## Promptlar

### Denetim promptu

```
Bu depoda AI'ın içerik ya da kod yazdığı bir ürün var (ortak belge düzenleyicisi, not ya da sözleşme aracı, kod yazan ajan, commit atan otomasyon). Görevin, AI'ın yaptığı değişikliklerin insanın değişikliklerinden ayırt edilebilir biçimde kaydedilip kaydedilmediğini denetlemek. Hiçbir dosyayı değiştirme, yalnız rapor yaz.

1. AI çıktısının kalıcı içeriğe yazıldığı her yolu bul: editöre uygulanan öneri, belgeye eklenen metin, kaydedilen dosya, atılan commit, açılan değişiklik isteği.
2. Her yolda değişiklik hangi kimlikle kaydediliyor? Yazar alanı oturum sahibinin kimliğine mi düşüyor, yoksa AI'ın ayrı bir kimliği ya da işareti var mı? İşi başlatan insan ayrıca kaydediliyor mu?
3. Commit atan kodda yazar, işleyen (committer) ve Co-authored-by gibi satırlar nasıl kuruluyor? AI'ın yazdığı ve insanın yazdığı değişiklikler aynı commit'e karışıyor mu?
4. İşaret neye göre konuyor: aracın bildiği gerçek bir AI çıktısına mı, yoksa bir ayara ya da tahmine mi? AI'ın yazmadığı bir değişikliğin AI'a yazılabileceği bir yol var mı?
5. Yazarlık ne kadar ince tutuluyor: commit, dosya, paragraf, satır? İnsan AI'ın satırını değiştirince kayıt bunu gösteriyor mu?
6. İşaret içerikle taşınıyor mu: dışa aktarma (PDF, DOCX, Markdown), kopyalama, birleştirme (squash dahil), şablona dönüştürme? Hangi adımda düşüyor?
7. Üretilen görsel, ses ve videoda makine okunur bir köken bilgisi (C2PA ya da benzeri meta veri) var mı?

Rapor biçimi: her yazma yolu için dosya ve satır, değişikliğin bugün hangi kimlikle kaydedildiği, AI işaretinin olup olmadığı, işaretin düştüğü adım ve önerdiğin düzeltme. AI'ın yazdığı içeriğin insanın adıyla kaydedildiği yollardan başla, sonra yanlış işaret koyabilecek yolları yaz.

```

### Uygulama promptu

```
Bu depodaki ürüne "AI'ın değişikliğini insanınkinden ayırt et" desenini uygula. Önce planı göster, onayımı aldıktan sonra kodu değiştir.

Hedef davranış:
1. AI'ın yaptığı her değişiklik kaydedilirken aracın kendisi bir yazar işareti koysun: yazar (AI, model ya da ajan adı), işi başlatan insan, zaman. İşaret kullanıcının hatırlamasına ya da modelin beyanına bırakılmasın.
2. AI'ı ayrı bir yazar olarak kaydet, isteyen insanı ayrı bir alanda tut. Commit'te AI yazar ya da ortak yazar satırıyla, belgede değişikliğin yazar alanıyla görünsün.
3. Yazarlığı değişiklik düzeyinde tut: satır, paragraf ya da madde. İnsan AI'ın yazdığı kısmı değiştirince son hâlin yazarı insan olsun, AI'ın ilk hâli geçmişte kalsın.
4. İşareti yalnız aracın kesin olarak bildiği AI çıktısına koy. Kaynağı belirsizse işaret koyma, "kaynak bilinmiyor" diye kaydet. İşaret eklemeden önce kullanıcıya bunu bir kez söyle ve kapatma yolu bırak.
5. Arayüzde AI'ın yazdığı ve hiçbir insanın dokunmadığı kısımları vurgulayan bir görünüm ekle.
6. Dışa aktarma, kopyalama ve birleştirme işareti düşürmesin. Taşıyamayan bir biçim varsa kullanıcıya söyle.

Uygularken:
- AI'ın değişikliğini insanın bekleyen değişikliğiyle aynı kayda karıştırma. Gerekirse önce insanın değişikliğini ayrı kaydet, sonra AI'ınkini.
- Görsel, ses ya da video üretiyorsan C2PA gibi bir standartla makine okunur köken bilgisi ekle.
- İki test ekle. Birincisi: AI'ın yazdığı bir satır AI işaretiyle, isteyen insanın adıyla birlikte kaydediliyor. İkincisi: AI'ın hiç dokunmadığı bir değişiklik kaydedilince AI işareti eklenmiyor. İkinci test, yanlış işaretin de bir hata olduğunu kanıtlar.

```

### AGENTS.md kuralı

```
## AI'ın değişikliğini insanınkinden ayırt et
- Commit attığında kendi yazdığın değişikliği kendi adınla işaretle (Co-authored-by ya da projenin kullandığı satır), işi isteyen insanı da kayıtta bırak.
- Kendi değişikliğini kullanıcının commit'e alınmamış değişiklikleriyle aynı commit'e karıştırma. Önce onunkini ayırmayı öner.
- Yazmadığın bir değişikliği kendine yazma.
- Signed-off-by gibi insanın sorumluluk aldığı satırları kendin ekleme.
- Belgede ya da kodda yazdığın kısmı sorulduğunda geçmişten göster, hafızandan söyleme.

```

## Kaynaklar

1. [git-blame Documentation](https://git-scm.com/docs/git-blame), Git
2. [Content Credentials: C2PA Technical Specification 2.3](https://spec.c2pa.org/specifications/specifications/2.3/specs/C2PA_Specification.html), Coalition for Content Provenance and Authenticity (C2PA), Aralık 2025
3. [AI Coding Assistants](https://github.com/torvalds/linux/blob/master/Documentation/process/coding-assistants.rst), Linux kernel documentation
4. [Risks and mitigations for GitHub Copilot cloud agent](https://docs.github.com/en/copilot/concepts/agents/cloud-agent/risks-and-mitigations), GitHub Docs
5. [All settings](https://code.claude.com/docs/en/settings-reference), Anthropic
6. [Git integration](https://aider.chat/docs/git.html), Aider
7. [Reviewing code changes](https://jules.google/docs/code/), Google (Jules)
8. [Update on "Co-authored-by: Copilot" in commit messages](https://github.com/microsoft/vscode/issues/314311), Microsoft (Visual Studio Code ekibi), GitHub, 5 Mayıs 2026
9. [Keep getting "Co-authored-by: Copilot" in commit messages for no reason](https://github.com/microsoft/vscode/issues/313064), VS Code kullanıcısı (alekseyt), GitHub, 28 Nisan 2026
10. [docs: remove Assisted-by references](https://github.com/torvalds/linux/commit/1e035297ffdadf2184c3c773b8c098e372324aaf), Linux kernel (Sasha Levin, Jonathan Corbet), 13 Ekim 2026
11. [Article 50: Transparency obligations for providers and deployers of certain AI systems (Regulation (EU) 2024/1689)](https://ai-act-service-desk.ec.europa.eu/en/ai-act/article-50), Avrupa Komisyonu, AI Act Service Desk, 13 Haziran 2024

---

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).
