# TD-017 · Niyeti prompt yerine kontrollerle aldır

Aynı isteği her seferinde farklı kelimelerle yazan kullanıcı her seferinde farklı sonuç alıyor ve iyi çalışan ifadeyi saklayamıyor. Niyetin tekrar eden kısmını seçici, düğme ve ayarla almak aynı seçimi her seferinde aynı prompta çevirir.

- Adres: https://tandem.komunite.com.tr/desen/niyeti-prompt-yerine-kontrollerle-aldir
- Yer: Başlarken > Niyet
- Seviye: Temel. Her AI özelliğinde olmalı.
- Son inceleme: 27 Ekim 2026, Komünite editörlüğü

## 30 saniyede dene

1. Ürününde en sık yapılan isteği seç, “daha resmi yaz” ya da “kısalt” gibi. Aynı niyeti üç ayrı cümleyle yaz, “resmi yap”, “daha profesyonel olsun”, “kurumsal bir dille yeniden yaz” gibi.
2. Üç sonucu yan yana koy. Uzunluk, ton ve korunan bilgiler aynı mı?
3. Ertesi gün aynı işi yeniden yapmak istediğinde dünkü ifadeyi nerede bulacağına bak. Ürün onu saklıyor mu, yoksa yeniden mi yazıyorsun?
4. Bir ekip arkadaşından aynı işi yapmasını iste. Onun yazdığı prompt seninkinden farklı sonuç veriyorsa bu desen ürününde eksik.

## Sorun

Kullanıcı müşteriye gidecek bir e-postayı AI'a yeniden yazdırıyor. “Biraz resmi olsun ama soğuk durmasın, kısa tut” diyor. Üç satırlık, mesafeli bir metin geliyor. Ertesi gün benzer bir e-posta için “daha profesyonel yap ama uzatma” yazıyor. Bu kez teşekkürlerle ve kalıp cümlelerle dolu bir paragraf geliyor. Niyet aynı, kelimeler farklı, sonuç bambaşka.

Kullanıcı farkı hangi kelimenin yarattığını bilmiyor. Dünkü iyi sonucu veren ifade de hiçbir yerde durmuyor, sohbet geçmişinin bir köşesinde kalmış. Ekipteki öteki kişi aynı işi kendi kelimeleriyle yapıyor ve müşteri aynı şirketten iki ayrı sesle e-posta alıyor. Her yeni e-postada biri yeniden prompt deniyor.

Sık tekrarlanan bir niyeti her seferinde serbest metinle yazdırmak, sonucu kullanıcının o günkü kelime seçimine bağlar.

## Neden atlanıyor

Tek bir metin kutusu her isteği alabildiği için ekipler başka bir arayüze ihtiyaç görmüyor. Kutu esnek, demosu etkileyici ve her yeni kullanım için ayrı bir tasarım kararı istemiyor. Bedeli kullanıcı ödüyor: her istekte niyetini yeniden kelimelere döküyor.

Model de aynı niyetin farklı yazımlarına aynı cevabı vermiyor. Sclar ve arkadaşlarının çalışmasında anlamı değiştirmeyen biçim farkları, bir açık kaynak modelde doğruluğu [76 puana kadar](https://arxiv.org/abs/2310.11324) oynattı. Kullanıcının iki gün arasındaki kelime farkı bir biçim farkından çok daha büyük. Metin kutusu bu oynaklığı doğrudan kullanıcının önüne getiriyor.

Üçüncü neden ölçümde. Ekipler mesaj sayısına ve oturum süresine bakar. Aynı niyeti üç kez yeniden yazan kullanıcı bu sayılarda ilgili, meşgul bir kullanıcı gibi görünür. Panoda yeniden yazma, kullanım diye birikir.

## Desen

Niyetin her seferinde tekrar eden kısmı bir seçime, o işe özgü kısmı bir nota dönüşür. Seçim sabit bir prompt parçasına çevrilir, not onun üstüne eklenir.

1. **Tekrar edeni günlükten bul.** Kontrolleri tahminle kurma, kullanıcıların gerçekten yazdığı isteklerden kur. Aynı niyetin farklı ifadelerini grupla: “kısalt”, “daha kısa yaz”, “uzatma”. En sık üç beş grup kontrol olur.
2. **Az ve adlı seçenek ver.** Ton için üç seçenek, uzunluk için sözcük sınırını gösteren üç adım. Seçeneğin ne yaptığı adından ya da yanındaki kısa açıklamadan anlaşılır.
3. **Aynı seçim aynı promptu üretsin.** Her kontrol değeri tek bir yerde, sabit bir prompt parçasına çevrilir. Kullanıcının bugün seçtiği “resmi” ile yarın seçtiği “resmi” modele aynı metinle gider.
4. **Serbest metni nota indir.** Metin kutusu kalır, o işe özgü şey için: bir tarih, bir istisna, bir ek bilgi. Not bir kontrolle çatışırsa arayüz hangisinin geçerli olduğunu söyler.
5. **Ayarı kaydettir ve paylaştır.** İyi çalışan bir seçim setini kullanıcı bir adla saklar, ertesi gün tek tıkla çağırır, ekiple paylaşır. Ekip aynı işi aynı sesle yapar.

Kontrol, kullanıcının her seferinde yeniden yazdığı kısmı bir kez seçilen bir değere çevirir. Tek seferlik ya da yaratıcı istek için metin kutusu yerinde durur.

## Önce ve sonra

Aynı tür e-posta, iki ayrı arayüzle. Soldaki kullanıcı niyetini iki gün iki ayrı cümleyle yazıyor ve iki ayrı uzunlukta metin alıyor. Sağdaki tonu, uzunluğu ve korunacak bilgileri seçicilerden alıyor, metin kutusuna yalnız bu e-postaya özgü notu yazıyor.

Örnek ekran (kurgusal): Kullanıcı müşteriye gidecek e-postaları AI ile yeniden yazdırıyor. Aynı tür e-postayı iki ayrı günde, aynı niyetle istiyor.

### Önce: E-posta · AI ile yeniden yaz

- Kullanıcı: Müşteriye gidecek, biraz resmi olsun ama soğuk durmasın, kısa tut.
- İçerik (Taslak): Sayın Ayşe Hanım, talebiniz alınmıştır. Teslimat 14 Kasım'da yapılacaktır. Bilginize sunarız.
- Bilgi: ertesi gün · aynı müşteri, benzer e-posta
- Kullanıcı: Daha profesyonel yap ama uzatma.
- İçerik (Taslak): Sayın Ayşe Hanım, göstermiş olduğunuz ilgi ve sabır için içtenlikle teşekkür ederiz. Talebiniz ekibimizce titizlikle değerlendirilmiş olup teslimatınızın 14 Kasım tarihinde gerçekleştirilmesi planlanmaktadır. Her türlü sorunuz için bizimle iletişime geçmekten çekinmeyiniz.
- Yazı kutusu (boş, yer tutucu): Ne istediğini yaz…

1. Aynı niyet iki ayrı cümleyle yazıldı, biri üç satırlık mesafeli bir metin, öteki uzun bir paragraf getirdi. Kullanıcı farkı hangi kelimenin yarattığını bilmiyor.
2. İyi çalışan ifade hiçbir yerde durmuyor. Kullanıcı ertesi gün de, ekipteki başkası da aynı denemeyi baştan yapıyor.

### Sonra: E-posta · AI ile yeniden yaz

- Bilgi: ton: resmi · uzunluk: kısa, en çok 60 sözcük · hitap: siz
- Öneriler: Daha samimi · Kısalt · Uzat
- Ayar (açık): Tarih, tutar ve adları olduğu gibi koru
- Yazı kutusu: Ek not: teslimatın bir gün öne alındığını da söyle
- İçerik (Taslak): Sayın Ayşe Hanım, talebiniz için teşekkür ederiz. Teslimatınızı bir gün öne aldık, ürünler 13 Kasım'da elinizde olacak. Sorunuz olursa bu adresten bize ulaşabilirsiniz. Saygılarımızla.
- Düğmeler: Yeniden yaz · Ayarı kaydet
- Bilgi: kayıtlı ayar · Müşteri yanıtı · ekiple paylaşıldı

1. Niyetin her seferinde tekrar eden kısmı, yani ton, uzunluk, hitap ve korunacak bilgiler, seçicilerde duruyor. Aynı seçim her seferinde aynı prompta dönüşüyor.
2. Serbest metin yalnız bu e-postaya özgü not için kalıyor. Ayar seti bir adla kaydedilip ekiple paylaşılıyor, ertesi gün aynı sonuç tek tıkla geliyor.

## Piyasada

Gmail'in Gemini ile taslak yazma özelliği serbest yönergenin yanında, prompt çubuğunda [Formalize, Friendly ve Shorten seçeneklerini](https://support.google.com/mail/answer/13955415) veriyor. Kullanıcı en sık istenen üç düzeltmeyi yazmadan seçiyor. Özel bir istek için yine kendi cümlesini yazabiliyor.

DeepL Write Pro metni yeniden yazarken kullanıcıya [hazır yazım stilleri](https://www.deepl.com/en/blog/deepl-write-pro-overview) (iş, gündelik, akademik, sade) ve dört ton (samimi, diplomatik, kendinden emin, coşkulu) sunuyor. Geliştirici belgesi iki kontrolün işini ayırıyor: stil metnin dil kaydını değiştiriyor, ton metnin nasıl duyulduğunu. API'de bir istek [ikisinden yalnız birini](https://developers.deepl.com/docs/translate/controlling-writing-style-and-tone) taşıyabiliyor. Kontrolün sınırı belgede yazılı, çelişen iki istek aynı anda gönderilemiyor.

Visual Studio'daki GitHub Copilot Chat sık yapılan işleri eğik çizgi komutlarına ve bağlam menüsündeki hazır eylemlere bağlıyor: /explain, /fix, /tests. Microsoft'un belgesi bu komutların işini [niyeti hızla belirlemek](https://learn.microsoft.com/en-us/visualstudio/ide/copilot-chat-context?view=visualstudio) diye tarif ediyor, uzun soru yazmadan daha iyi cevap almak için. Visual Studio 2022'nin 17.13 sürümünden beri kullanıcı komutu yazarken komut, promptu doğal dilde açıp hangi bağlamla gideceğini gösteriyor. Kullanıcı kontrolün arkasındaki promptu görüyor.

## Kanıt

MacNeil ve arkadaşları arayüz ile prompt arasındaki katmanı üç türe ayırdı: uzmanın önceden yazdığı [sabit promptlar, arayüzdeki seçeneklerle doldurulan şablonlar ve sıfırdan yazılan serbest promptlar](https://arxiv.org/abs/2307.01142). Geliştirdikleri yazma asistanı, kullanıcının almak istediği geri bildirim türünü arayüzde seçenek olarak seçtiriyor ve seçimleri bir şablonla prompta çeviriyor. Bu desen ikinci türün ürün içindeki karşılığı.

Kullanıcı tarafında da iz var. Liang, Yang ve Myers'ın 410 geliştiriciyle yaptığı ankette katılımcılar kodlama asistanlarını kullanmamalarının başlıca nedenlerinden biri olarak [aracı istedikleri çıktıya yönlendirmekte zorlanmayı](https://arxiv.org/abs/2303.17125) gösterdi. Yang ve arkadaşlarının başka bir çalışmasına göre gereksinimleri eksik yazılmış promptlar model ya da prompt değiştiğinde [iki kat daha sık geriliyor](https://arxiv.org/abs/2505.13360). Kontrol, gereksinimi her seferinde prompta kendisi yazar, kullanıcı unutsa da.

Bu ölçümlerin hiçbiri bir kontrolün tutarlılığı ürün içinde ne kadar artırdığını doğrudan ölçmüyor. Sclar'ın bulgusu az örnekli görevlerde ve açık kaynak modellerde, Liang'ın anketi geliştiricilerde yapıldı. Yön yine de tutarlı. Aynı niyetin farklı yazımı farklı sonuç veriyor ve kullanıcılar bunu aracı yönlendirememek olarak yaşıyor.

## Ölçüm

Kontrollerin kullanılıyor olması tek başına bir şey söylemez. Bakılacak yer, aynı niyetin ne kadar az yeniden yazıldığı ve aynı seçimin ne kadar aynı sonucu verdiği.

- **Aynı niyetin yeniden yazılması.** Günlükte aynı gruba düşen serbest metin isteklerinin payı. Kontroller doğru niyetleri yakaladıysa bu pay düşer.
- **Kontrol kullanım payı.** Tekrarlanan işlerin ne kadarı kontrolle, ne kadarı serbest metinle yapılıyor? Kontrol hiç kullanılmıyorsa seçenekler kullanıcının diline uymuyor.
- **Çıktı tutarlılığı.** Aynı kontrol değerleriyle üretilen çıktılarda uzunluk ve ton farkı. Sözcük sınırı tutuyor mu, ton bir örneklemde tutarlı mı?
- **Kayıtlı ayar setleri.** Kaydedilen ve ekipte paylaşılan setlerin sayısı ve yeniden kullanımı. Kayıtlı set tekrar çağrılıyorsa kullanıcı sonuca güveniyor.
- **Kontrolden sonra düzeltme.** Kontrolle üretilen metnin hemen ardından yazılan düzeltme notları. Sık geliyorsa kontrolün ürettiği prompt niyeti karşılamıyor.

## Ajanına ver

Üç metin var. Denetim promptu ürünündeki AI giriş noktalarını tarar, hangi tekrar eden niyetin serbest metne bırakıldığını ve var olan kontrollerin arka planda hangi promptu ürettiğini bulur. Yalnız rapor yazar. Uygulama promptu en sık niyetleri kontrollere çevirir, her değeri tek bir yerde sabit bir prompt parçasına bağlar ve aynı seçimin aynı promptu ürettiğini test eder. Önce planı gösterir, onayınla uygular. Kural kodlama ajanının kendi çalışması için. Senin ajanın da yeni bir AI özelliği eklerken tekrar eden niyeti yalnız metin kutusuna bırakmasın.

## Sınır

Her niyet kontrol olmaz. Tek seferlik, yaratıcı ya da önceden kestirilemeyen istekler serbest metinde kalır. Günlükte tekrar etmeyen bir niyet için eklenen kontrol ekranı doldurur, kimse kullanmaz.

Kontrol sayısı arttıkça arayüz bir ayar paneline döner ve kullanıcı seçenekleri okumayı bırakır. Az kontrol, adlı seçenek, gerisi metin kutusu.

Kontrol tutarlılığı prompt düzeyinde sağlar. Aynı prompt aynı modelde de farklı çıktı verebilir ve model değiştiğinde kontrollerin ürettiği promptlar yeniden denenmeli.

Kontrol niyeti daraltır. Listede olmayan bir ton isteyen kullanıcı için metin kutusu açık kalmalı, yoksa kullanıcı listedeki en yakın seçeneğe razı olur.

## Promptlar

### Denetim promptu

```
Bu depoda kullanıcının AI'dan sık tekrarlanan işler istediği bir özellik var (yeniden yazma, kısaltma, çeviri, görsel üretme, rapor hazırlama). Görevin, kullanıcının niyetini her seferinde serbest metinle mi yazdırdığını, yoksa tekrar eden kısmı kontrollerle mi aldığını denetlemek. Hiçbir dosyayı değiştirme, yalnız rapor yaz.

1. Kullanıcının AI'a istek gönderdiği bütün giriş noktalarını bul: sohbet kutusu, satır içi komut, bağlam menüsü, hazır eylem düğmeleri. Her biri için kullanıcının girdiği şey modele nasıl ulaşıyor?
2. Ürün günlüğü ya da analitik olayları varsa en sık gönderilen serbest metin isteklerini çıkar. Aynı niyetin farklı ifadelerini grupla (örnek: "kısalt", "daha kısa yaz", "uzatma"). Bu gruplar için hazır bir kontrol var mı?
3. Var olan kontrollerin (ton seçici, uzunluk, biçim, hazır eylem) arka planda hangi promptu ürettiğine bak. Aynı seçim her seferinde aynı promptu mu üretiyor, yoksa seçim de serbest metne mi ekleniyor?
4. Kullanıcının iyi çalışan bir isteği ya da ayar setini kaydedip yeniden kullanabileceği, ekiple paylaşabileceği bir yer var mı?
5. Kontrol ile serbest metin çatıştığında (ton seçici "resmi", not "samimi yaz") hangisinin geçerli olduğu kodda belli mi, kullanıcıya gösteriliyor mu?
6. Kontrol değerleri modele hangi biçimde gidiyor: promptun içine gömülmüş düz cümle mi, ayrı alan mı? Aynı değerlerin aynı promptu ürettiği bir testle doğrulanıyor mu?

Rapor biçimi: her bulgu için dosya ve satır, hangi niyetin serbest metne bırakıldığı, kullanıcının bunu nasıl tutarsız sonuç olarak yaşadığı ve önerdiğin kontrol (seçici, düğme, kayıtlı ayar seti). Bulguları en sık tekrarlanan niyetten başlayarak sırala.

```

### Uygulama promptu

```
Bu depodaki AI özelliğine "niyeti prompt yerine kontrollerle aldır" desenini uygula. Önce planı göster, onayımı aldıktan sonra kodu değiştir.

Hedef davranış:
1. Kullanıcıların en sık tekrarladığı niyetler (ton, uzunluk, biçim, kapsam, hedef kitle) seçici, düğme ya da kaydırıcıyla alınır. Her kontrolün az sayıda, adlı seçeneği vardır.
2. Her kontrol değeri sabit bir prompt parçasına dönüşür. Aynı seçimler her seferinde birebir aynı promptu üretir.
3. Serbest metin kutusu kalır ama yalnız o işe özgü not için. Not bir kontrolle çatışırsa arayüz hangisinin geçerli olduğunu gösterir.
4. Kullanıcı bir kontrol setini adıyla kaydeder, tek tıkla yeniden kullanır ve ekiple paylaşır.
5. Kullanıcı isterse kontrollerin ürettiği promptu görür.

Uygularken:
- Önce günlüklerden en sık tekrarlanan üç ila beş niyeti çıkar ve kontrolleri onlardan kur. Her şeyi kontrole çevirmeye çalışma.
- Kontrol değerlerini promptun içinde düz metin olarak taşıma. Ayrı alanlar olarak taşı ve tek bir fonksiyonda prompta çevir.
- Seçeneklerin ne yaptığı adından anlaşılsın (örnek: uzunluk için "Kısa" yanında sözcük sınırını da göster).
- Bir test ekle: aynı kontrol değerleriyle iki istek gönder ve modele giden promptların birebir aynı olduğunu doğrula. Kontrolle çatışan bir not için çatışma uyarısının çıktığını da doğrula.

```

### AGENTS.md kuralı

```
## Niyeti prompt yerine kontrollerle aldır
- Kullanıcının sık tekrarladığı bir niyeti (ton, uzunluk, biçim, kapsam) yalnız serbest metin kutusuna bırakma, seçici ya da düğme öner.
- Her kontrol değerini tek bir yerde sabit bir prompt parçasına çevir. Aynı seçim her seferinde aynı promptu üretsin.
- Serbest metni o işe özgü not için kullan. Not bir kontrolle çatışırsa hangisinin geçerli olduğunu kullanıcıya göster.
- Kontrol sayısını az tut. Günlükte tekrar etmeyen bir niyet için kontrol ekleme.
- Kullanıcının bir ayar setini adıyla kaydedip paylaşabileceği bir yol bırak.

```

## Kaynaklar

1. [Quantifying Language Models' Sensitivity to Spurious Features in Prompt Design or: How I learned to start worrying about prompt formatting](https://arxiv.org/abs/2310.11324), Sclar, Choi, Tsvetkov ve Suhr (arXiv), 17 Ekim 2023
2. [Draft emails with Gemini in Gmail](https://support.google.com/mail/answer/13955415), Google, Gmail Help
3. [DeepL Write Pro: your secure AI writing assistant for global business](https://www.deepl.com/en/blog/deepl-write-pro-overview), DeepL, 24 Nisan 2024
4. [Controlling Writing Style and Tone](https://developers.deepl.com/docs/translate/controlling-writing-style-and-tone), DeepL Developer Docs
5. [Customize chat responses - Visual Studio (Windows)](https://learn.microsoft.com/en-us/visualstudio/ide/copilot-chat-context?view=visualstudio), Microsoft Learn, 4 Eylül 2026
6. [Prompt Middleware: Mapping Prompts for Large Language Models to UI Affordances](https://arxiv.org/abs/2307.01142), MacNeil, Tran, Kim, Huang, Bernstein ve Mogil (arXiv), 3 Temmuz 2023
7. [A Large-Scale Survey on the Usability of AI Programming Assistants: Successes and Challenges](https://arxiv.org/abs/2303.17125), Liang, Yang ve Myers (arXiv), 30 Mart 2023
8. [What Prompts Don't Say: Understanding and Managing Underspecification in LLM Prompts](https://arxiv.org/abs/2505.13360), Yang, Shi, Ma, Liu, Kästner ve Wu (arXiv), 19 Mayıs 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).
