# TD-003 · Onayları bütçe gibi harca

Ajanın her adım için açtığı onay kutusu kullanıcıya okumadan onaylamayı öğretiyor ve tehlikeli istek de aynı hızla geçiyor. Desen soruların çoğunu bir sınıra devreder, onayı geri dönüşü olmayan ve sınırı aşan işe saklar.

- Adres: https://tandem.komunite.com.tr/desen/onaylari-butce-gibi-harca
- Yer: Eylemde > Onay
- Seviye: Ajan. AI kullanıcı adına iş yapıyorsa gerekli.
- Son inceleme: 27 Ekim 2026, Komünite editörlüğü

## 30 saniyede dene

1. Ajanınla yarım saatlik sıradan bir iş yap ve açılan her onay kutusunu bir listeye yaz.
2. Her kutunun yanına iki not düş. İş geri alınabiliyor mu? Çalışma alanının dışına çıkıyor mu?
3. Kaç kutuyu reddettiğine ve kararı kaç saniyede verdiğine bak. Hepsini bir saniyede onayladıysan kutular okunmuyor.
4. Geri alınabilen ve sınırın içinde kalan kutuları say. Bu sayı, bir sınıra devredilebilecek soruların sayısı.

## Sorun

Bir geliştirici öğleden sonrayı bir kodlama ajanıyla geçiriyor. Ajan testleri çalıştırmak için izin istiyor, sonra bir paketi kurmak için, sonra bir dosyayı düzenlemek için. Her kutu aynı görünüyor, her kutunun altında aynı iki düğme var. Kırkıncı kutuda ajan uzak depodaki ana dalın geçmişini zorla yeniden yazmak istiyor. Kutu yine aynı. Geliştirici bir saniyeden kısa sürede evet diyor.

O evet, önceki otuz dokuz evetin alışkanlığından geliyor. Kutuların çoğu geri alınabilen, zararsız işler için açıldı ve geliştiriciye kutuları okumadan geçmeyi öğretti. Tehlikeli istek geldiğinde öğrenilmiş el hareketi çalıştı. Bir süre sonra geliştirici kutulardan da kurtulmanın yolunu buluyor. “Bir daha sorma” diyor ya da ajanı hiç sormayan modda başlatıyor. Onayın koruduğu her şey o anda korumasız kalıyor.

Onay sayısı arttıkça her onayın değeri düşer. Gereksiz her soru, gerekli sorunun okunma ihtimalinden harcar.

## Neden atlanıyor

Onay kutusu koymak ekibe hiçbir şeye mal olmaz, bedelini kullanıcının dikkati öder. “Kullanıcıya sorduk” cümlesi ekibe güvenli hissettirir. Oysa Felt ve arkadaşlarının yazdığı gibi insan dikkati [paylaşılan ve sınırlı bir kaynak](https://www.usenix.org/system/files/conference/hotsec12/hotsec12-final19.pdf), denetimsiz kullanılınca ortak mera gibi tükenir. Her ekip kendi kutusunu ucuz sanır, toplamı kimse saymaz.

Ajanlarda buna bir neden daha ekleniyor. Hangi işin tehlikeli olduğunu önceden sınıflamak zor ve sınıflayamayan sistem her şeyi sorar. Claude Code'un varsayılan düzeni de böyle kuruldu. Anthropic'in sandbox yazısına göre ajan değişiklik yapmadan ve komut çalıştırmadan önce izin istiyor ve bu sürekli onay, [kullanıcının neyi onayladığına artık dikkat etmediği bir onay yorgunluğuna](https://www.anthropic.com/engineering/claude-code-sandboxing) yol açabiliyor.

Üçüncü neden ölçümde. Yüksek onay oranı panoda memnuniyet gibi görünür. Anthropic'in Ağustos 2026 verisinde Claude Code kullanıcıları izin isteklerinin [%97'sini onaylıyor](https://claude.com/resources/articles/auto-mode-default-in-claude-code). Aynı kullanıcılar ajanın sunduğu [planların %39'unu reddediyor, tek tek izin isteklerinde ise ret oranı %3](https://claude.com/resources/articles/auto-mode-default-in-claude-code). Ret neredeyse hiç yoksa kutunun topladığı şey karar olmaktan çıkmış, tıklamaya dönmüştür.

## Desen

Onay bir bütçe. Her soru kullanıcının dikkatinden harcanır ve bütçe yalnız geri dönüşü olmayan ya da sınırı aşan işe ayrılır.

1. **Soruyu bir sınırla değiştir.** Geri alınabilen ve çalışma alanının içinde kalan işi sormadan yaptır, ama sınırı sistem çizsin: dosya ve ağ yalıtımı, geri alma noktası, salt okunur kimlik bilgisi. Sınır yoksa soruyu kaldırmak korumayı da kaldırır.
2. **Onayı sınır dışına ve geri dönüşsüze sakla.** Dışarı gönderme, kalıcı silme, ödeme, ağ erişimi, çalışma alanı dışına yazma. Kullanıcı bu kutuyu seyrek görür, o yüzden okur.
3. **Benzer adımları tek kararda topla.** Aynı türden on adım için on kutu açma. İşin kapsamını bir kez göster, onay o kapsamı kapsasın. İş kapsamı aşarsa yeniden sor.
4. **Onayları say.** Oturum başına kaç kutu açıldığını, kaçının reddedildiğini ve kararın kaç saniyede verildiğini kaydet. Bütçe aşılıyorsa yeni kutu ekleme, var olanlardan hangisinin sınıra devredileceğine bak.
5. **Kaçış yolunu sinyal say.** “Bir daha sorma” ve onaysız mod kullanımı artıyorsa kullanıcı bütçeyi kendisi kesiyor demektir.

Kullanıcı ayda birkaç onay kutusu görüyorsa her birini okur. Saatte kırk kutu görüyorsa hiçbirini okumaz.

## Önce ve sonra

Aynı kodlama oturumu, iki ayrı onay düzeniyle. Solda ajan her komut için soruyor ve tehlikeli istek kırk rutin isteğin arasında aynı kutuyla geliyor. Sağda çalışma alanının içindeki işler sınırın içinde sormadan çalışıyor, oturumun tek onayı uzak depoya dokunan adımda açılıyor.

Örnek ekran (kurgusal): Kullanıcı bir kodlama ajanıyla öğleden sonra boyunca bir hatayı düzeltiyor. Ajan sonunda düzeltmeyi uzak depoya göndermek istiyor.

### Önce: Ajan · oturum

- Adım (tamam): Testleri çalıştır · onaylandı · 0,8 sn
- Adım (tamam): Paketi kur · onaylandı · 0,6 sn
- Adım (tamam): Dosyayı düzenle · onaylandı · 0,5 sn
- Bilgi: … 37 onay daha · bu oturumda 41. onay isteği
- İçerik (Komut çalıştırılsın mı?): git push --force origin main
- Düğmeler: Evet · Hayır
- Adım (tamam): Komut çalıştırıldı · onaylandı · 0,4 sn

1. Rutin her adım için aynı kutu açıldı. Kullanıcı kırk kutunun ardından onaylamayı bir saniyenin altına indirdi.
2. Ana dalın geçmişini yeniden yazan istek öteki kutularla aynı görünüyor ve en hızlı onayı alıyor.

### Sonra: Ajan · oturum

- Bilgi: Çalışma alanı yalıtılmış · ağ kapalı · bu oturumda 1. onay isteği
- Adım (tamam): Testler çalıştı · çalışma alanında, onaysız
- Adım (tamam): Paket kuruldu · çalışma alanında, onaysız
- Adım (tamam): 3 dosya düzenlendi · geri alma noktası alındı
- Uyarı: Bu adım çalışma alanının dışına çıkıyor ve uzak depodaki ana dalın geçmişini yeniden yazıyor. Geri alınamaz.
- AI: Düzeltmeyi ana dala zorla göndermek istiyorum. İstersen ayrı bir dala gönderip inceleme açabilirim.
- Düğmeler: Ayrı dala gönder · Ana dala zorla gönder · Vazgeç

1. Çalışma alanının içindeki işler sınırın içinde sormadan çalıştı. Düzenlemeleri geri alma noktası koruyor.
2. Oturumun tek onayı sınırı aşan ve geri dönüşü olmayan adımda açıldı. Kullanıcı onu kırk kutunun arasında aramıyor.

## Piyasada

Anthropic, Claude Code'a işletim sistemi düzeyinde dosya ve ağ yalıtımı ekledi. Ajan bu sınırın içinde sormadan çalışıyor ve şirketin kendi kullanımında sandbox izin isteklerini [%84 azalttı](https://www.anthropic.com/engineering/claude-code-sandboxing). Ağustos 2026'da Claude Code'un otomatik modu Pro, Max ve Team planlarında yeni oturumların varsayılanı oldu. Bu modda her araç çağrısı kullanıcıya sorulmak yerine [geri dönüşü olmayan, yıkıcı ya da ortamın dışına uzanan işleri engellemeye ayarlı bir sınıflandırıcıdan](https://claude.com/resources/articles/auto-mode-default-in-claude-code) geçiyor.

OpenAI Codex'in belgesi aynı bölüşümü tarif ediyor. İş sandbox'ın sınırları içinde kaldıkça ajan [onay için durmadan ilerliyor, sınırı aşması gerektiğinde onay akışı devreye giriyor](https://learn.chatgpt.com/docs/sandboxing).

VS Code'un ajanı varsayılan olarak [yaygın salt okunur komutları kendiliğinden çalıştırıyor, rm ve del gibi riskli komutlar için onay istiyor](https://code.visualstudio.com/docs/agents/approvals).

Üç ürün de aynı yolu seçti. Soruların çoğunu bir sınıra devrettiler, kullanıcıya sınırın dışında kalanı soruyorlar.

## Kanıt

Uyarı yorgunluğunun en uzun kaydı hastanelerden geliyor. van der Sijs ve arkadaşları 2006'da elektronik reçete sistemlerindeki ilaç güvenliği uyarılarını inceleyen 17 çalışmayı derledi. Hekimler uyarıların [%49 ile %96'sını geçiyordu](https://pmc.ncbi.nlm.nih.gov/articles/PMC1447540/). En önemli neden uyarının ciddi olmaması, ilgisiz olması ya da tekrar tekrar gösterilmesiydi. Yazarlara göre güvenilirliği düşük uyarıların çokluğu hekimleri [önemli uyarıları da önemsizlerle birlikte geçmeye](https://pmc.ncbi.nlm.nih.gov/articles/PMC1447540/) itiyor.

Tarayıcı uyarılarında aynı mekanizma ölçüldü. Akhawe ve Felt, Chrome ve Firefox'ta 25 milyondan fazla uyarı gösterimini inceledi ve kullanıcıların [daha sık karşılaştıkları hataları daha hızlı geçtiğini](https://research.google.com/pubs/archive/41323.pdf) buldu. Önerileri, kullanıcının karşılaştığı uyarı sayısını sınırlamak. Anderson ve arkadaşlarının fMRI çalışmasında beynin görsel işlem bölgelerindeki tepki [aynı uyarının daha ikinci gösteriminde belirgin biçimde düştü](https://scholarsarchive.byu.edu/facpub/9306) ve sonraki gösterimlerde düşmeyi sürdürdü.

Ajanlardaki karşılığını Anthropic ölçtü. 1.053 ücretli test katılımcısının oturumunun ortasında bir izin isteği açıkça tehlikeli bir komutla değiştirildi. Katılımcılar bu komutu [%13,6 oranında yakaladı](https://claude.com/resources/articles/auto-mode-default-in-claude-code). Oturum uzadıkça oran düştü. İlk isteklerde [yaklaşık %17 olan engelleme, 50 ve daha fazla istekten sonra yaklaşık %5'e indi](https://claude.com/resources/articles/auto-mode-default-in-claude-code).

Bütçenin nasıl harcanacağını Felt ve arkadaşları 2012'de tarif etmişti. Geri alınabilen ya da zararı küçük izinler sormadan verilir, kullanıcının kendi başlattığı işler arayüzün kendisiyle izin alır, onay kutusu yalnız geri kalan için açılır. Bu ayrımla akıllı telefon izinlerinin [%55'i sormadan verilebiliyor, yalnız %16'sı çalışırken onay gerektiriyordu](https://www.usenix.org/system/files/conference/hotsec12/hotsec12-final19.pdf).

Bu ölçümler hastanede, tarayıcıda ve bir test ortamında yapıldı. Anthropic'in sayıları şirketin kendi deneyinden. Hiçbiri senin ürünündeki oranı söylemez, ama yönleri aynı. Kutu sayısı arttıkça her kutu daha az okunuyor.

## Ölçüm

Onay oranı tek başına yanıltır. Yüksekse işler doğru gidiyor da olabilir, kullanıcı okumadan geçiyor da. Bakılacak yer kutuların sayısı ve kullanıcının onlara gerçekten bakıp bakmadığı.

- **Oturum başına onay.** Bir saatlik işte kaç kutu açılıyor? Sayıyı ürünün bütçesi olarak yaz ve her sürümde izle. Yeni bir kutu eklemek bütçeden harcamaktır.
- **Ret oranı.** Kutuların neredeyse hiçbiri reddedilmiyorsa çoğu gereksiz. Hangilerinin bir sınıra devredilebileceğine bak.
- **Karar süresi.** Bir saniyenin altında verilen onayların payı. Sınırı aşan işlerde bu pay rutin işlerdekinden belirgin biçimde düşük olmalı.
- **Kaçış.** “Bir daha sorma” seçimleri ve onaysız modda başlayan oturumların payı. Artıyorsa kullanıcı bütçeyi kendisi kesiyor.
- **Tuzak testi.** Kontrollü bir denemede rutin bir isteği zararlı bir istekle değiştir ve yakalanma oranını ölç. Oranın oturum uzadıkça düşüp düşmediğine bak.

## Ajanına ver

Üç metin var. Denetim promptu üründeki bütün onay noktalarını bulur, her birini geri alınabilirliğe ve sınıra göre sınıflar, hangilerinin bir sınıra devredilebileceğini raporlar ve hiçbir dosyayı değiştirmez. Uygulama promptu onay sayısını düşürür. Önce planı gösterir, onayınla uygular ve rutin bir işin onaysız, sınırı aşan bir işin onaylı çalıştığını doğrulayan bir test ekler. Kural kodlama ajanının kendi çalışması için. Ajanın senden yalnız gerçekten senin kararın olan işte onay istesin.

## Sınır

Ajan günde birkaç iş yapıyorsa bütçe sorunu yoktur. Kutu seyrek gelir ve okunur. Bu desen saatte onlarca adım atan ajanlar için.

Soruyu kaldırmak ancak yerine bir sınır konduğunda güvenlidir. Sandbox'sız bir sistemde “bu işi sorma” demek o işi korumasız bırakmaktır. Sınıflandırıcı da yanılır. Anthropic kendi otomatik modu için [yüksek riskli altyapıda dikkatli insan incelemesinin yerini tutmadığını](https://www.anthropic.com/engineering/claude-code-auto-mode) yazıyor.

Bütçe seyrek gelen kutunun okunma ihtimalini artırır, okunacağını garanti etmez. Kutunun içinde ne yazdığı ayrı bir konu. Kullanıcı seyrek gelen kutuyu da anlamıyorsa onay ekranı işin sonucunu kullanıcının dilinde söylemeli.

## Promptlar

### Denetim promptu

```
Bu depoda kullanıcı adına araç çağıran bir AI ajanı var ve bazı adımlardan önce kullanıcıdan onay istiyor. Görevin, onay kutularının nerede ve ne sıklıkla açıldığını, hangilerinin gereksiz olduğunu denetlemek. Hiçbir dosyayı değiştirme, yalnız rapor yaz.

1. Onay noktalarını bul: araç çağrısından önce kullanıcıya soru soran kod, izin diyaloğu bileşenleri, "requiresApproval", "confirm", "ask" gibi bayraklar, izin kuralı dosyaları ve varsayılan izin modu.
2. Her onay noktasını iki soruyla sınıfla. İş geri alınabiliyor mu (geri alma noktası, sürüm denetimi, çöp kutusu)? İş çalışma alanının dışına çıkıyor mu (proje dışı dosya, ağ, dış servis, mesaj gönderme, ödeme)?
3. Geri alınabilen ve çalışma alanının içinde kalan işler için onay soruluyor mu? Bunları listele, bunlar kullanıcının dikkatini boşa harcayan sorular.
4. Onayın yerini tutabilecek bir sınır var mı: dosya sistemi ve ağ yalıtımı (sandbox, konteyner), salt okunur kimlik bilgisi, geri alma noktası? Yoksa onay tek koruma mı?
5. Onay telemetrisi var mı? Oturum başına açılan onay sayısı, ret oranı, karar süresi, "bir daha sorma" ve onaysız mod kullanımı kaydediliyor mu?
6. Aynı türden ardışık adımlar tek tek mi soruluyor, yoksa kapsamı gösterilerek tek kararda mı?

Rapor biçimi: her onay noktası için dosya ve satır, işin türü, geri alınabilir mi, çalışma alanının dışına çıkıyor mu ve önerin (onayı koru, sınıra devret, grupla). Sonda tipik bir oturumda açılan tahmini onay sayısını ve önerilerin uygulanmasıyla kaç onay kalacağını yaz.

```

### Uygulama promptu

```
Bu depodaki AI ajanına "onayları bütçe gibi harca" desenini uygula. Önce planı göster, onayımı aldıktan sonra kodu değiştir.

Hedef davranış:
1. Her araç çağrısını sınıfla: geri alınabilir mi, çalışma alanının içinde mi kalıyor? Sınıfı araç tanımında ya da tek bir politika dosyasında tut.
2. Geri alınabilen ve çalışma alanının içinde kalan işleri onaysız çalıştır, ama yalnız bir sınır varsa: dosya ve ağ yalıtımı, geri alma noktası ya da salt okunur kimlik bilgisi. Sınır yoksa önce sınırı kur, sonra onayı kaldır.
3. Onayı şu işlere sakla: çalışma alanı dışına yazma, ağ erişimi, dışarı gönderme (e-posta, mesaj, yayın), kalıcı silme, ödeme, uzak depoya zorla gönderme gibi geri dönüşü olmayan işler.
4. Aynı türden ardışık adımları tek kararda topla ve kararın kapsamını göster. İş bu kapsamı aşarsa yeniden sor.
5. Onay telemetrisi ekle: oturum başına onay sayısı, ret, karar süresi, "bir daha sorma" ve onaysız mod kullanımı.

Uygularken:
- Var olan onayları tek tek silme. Önce sınıflandırmayı ve sınırı ekle, sonra onayları sınıfa göre aç ya da kapat.
- Silme, gönderme ve ödeme için onayı hiçbir varsayılan ayarla kaldırma.
- Bir test ekle: çalışma alanının içindeki rutin bir komut (ör. testleri çalıştırmak) onaysız çalışsın, sınırı aşan bir komut (ör. ağa istek ya da proje dışına yazma) onay istesin. Örnek bir oturumda açılan onay sayısını test çıktısına yaz.

```

### AGENTS.md kuralı

```
## Onayları bütçe gibi harca
- Geri alınabilen ve çalışma alanının içinde kalan bir iş için yeni bir onay noktası ekleme. Bir sınır yoksa önce sınırı öner.
- Onayı çalışma alanı dışına yazma, ağ erişimi, dışarı gönderme, kalıcı silme ve ödeme gibi işlere sakla.
- Aynı türden ardışık adımlar için tek tek sorma. Kapsamı bir kez göster, iş kapsamı aşarsa yeniden sor.
- Yeni bir onay noktası eklerken nedenini ve tipik bir oturumda kaç kez açılacağını yaz.
- Kendi çalışmanda aynı türden izin isteği üst üste geliyorsa bunu kullanıcıya söyle ve dar bir izin kuralı ya da sınır öner.

```

## Kaynaklar

1. [How to Ask For Permission](https://www.usenix.org/system/files/conference/hotsec12/hotsec12-final19.pdf), Felt vd., UC Berkeley (USENIX HotSec 2012), 2012
2. [Beyond permission prompts: making Claude Code more secure and autonomous](https://www.anthropic.com/engineering/claude-code-sandboxing), Anthropic, 20 Ekim 2025
3. [Auto mode is now the default in Claude Code for Pro, Max, and Team plans](https://claude.com/resources/articles/auto-mode-default-in-claude-code), Claude by Anthropic, 7 Ağustos 2026
4. [Sandbox](https://learn.chatgpt.com/docs/sandboxing), OpenAI
5. [Manage approvals and permissions](https://code.visualstudio.com/docs/agents/approvals), Microsoft, Visual Studio Code
6. [Overriding of Drug Safety Alerts in Computerized Physician Order Entry](https://pmc.ncbi.nlm.nih.gov/articles/PMC1447540/), van der Sijs vd., Journal of the American Medical Informatics Association, Mart 2006
7. [Alice in Warningland: A Large-Scale Field Study of Browser Security Warning Effectiveness](https://research.google.com/pubs/archive/41323.pdf), Akhawe ve Felt, UC Berkeley ve Google (USENIX Security 2013), Ağustos 2013
8. [How Polymorphic Warnings Reduce Habituation in the Brain: Insights from an fMRI Study](https://scholarsarchive.byu.edu/facpub/9306), Anderson vd., Brigham Young University (CHI 2015), Nisan 2015
9. [How we built Claude Code auto mode: a safer way to skip permissions](https://www.anthropic.com/engineering/claude-code-auto-mode), Anthropic, 25 Mart 2026

---

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