
Yapay zekâdan tutarlı ve güvenilir çıktılar almak, çoğu zaman “daha uzun yazmak” değil, doğru sırada ve doğru kapsamda talimat vermek demektir. Günlük kullanımda tek bir mesaj yazıyor olsanız bile, modern sohbet tabanlı modeller genellikle farklı talimat katmanları (ör. system/developer/user) mantığıyla çalışır. Bu katmanları bilmek, aynı zamanda ekip içinde paylaşılan şablonlar oluşturmayı, hataları daha hızlı teşhis etmeyi ve çıktıları ölçülebilir biçimde iyileştirmeyi kolaylaştırır.
Bu yazıda, talimat hiyerarşisini (hangi kuralın hangisini “yendiğini”), rol/persona atama tekniğini (ne zaman faydalı, ne zaman gereksiz) ve üretim ortamında prompt’ları nasıl yöneteceğinizi adım adım ele alacağız. Not: Model davranışları ve API terimleri hızla değişebilir; bu yüzden kullandığınız sağlayıcının güncel dokümantasyonunu kontrol etmek iyi bir alışkanlıktır.
Talimat hiyerarşisi, model birden fazla talimatla karşılaştığında hangisini öncelikli sayacağını anlatır. Örneğin bir yerde “kısa yaz” derken başka bir yerde “tüm detayları ver” derseniz, modelin karar vermesi gerekir. Hiyerarşi net değilse çıktılar rastlantısal görünebilir.
OpenAI’nin geliştirici odaklı rehberlerinde, sistem ve geliştirici katmanlarının model davranışını belirlemede yüksek öncelikli olduğu vurgulanır; özellikle “developer messages” kavramı ve mantık/öncelik önerileri bu çerçevededir (OpenAI Reasoning best practices).
Pratik sonuç: Kritik kuralları (çıktı formatı, kapsam sınırları, uyması gereken politika ilkeleri) üst katmanlara koymak; kullanıcıdan gelen değişken istekleri ise alt katmanda karşılamak daha stabil sonuç verir.
Çelişkiler, “model anlamadı”dan çok “model iki farklı şeye aynı anda uymaya çalıştı” durumudur. Çözüm yaklaşımı:
System/developer katmanını, modele imzalattığınız bir çalışma sözleşmesi gibi düşünmek işe yarar: görev tanımı, sınırlar, kalite standardı ve çıktı formatı bu sözleşmede yer alır. OpenAI rehberinde de talimatların açık, önceliklendirilmiş ve çelişkisiz tutulmasının önemi vurgulanır (s1).
Aşağıdaki şablonu kendi ürününüze uyarlayabilirsiniz. (Bu metni üst katmana koyduğunuzu varsayın.)
Görev: Kullanıcının sorusunu anlaşılır ve eyleme dönük biçimde yanıtla.
Öncelikler: (1) Güvenlik/politika kuralları, (2) Çıktı formatı, (3) Kullanıcı talebi.
Çıktı formatı: Önce kısa özet, sonra adım adım liste, sonra varsa kontrol listesi.
Belirsizlik kuralı: Bilgi eksikse önce 1–3 netleştirici soru sor; varsayım yapman gerekiyorsa bunu açıkça belirt.
Bu tür bir çerçeve, “yapay zeka komutları” yazarken en sık karşılaşılan sorunlardan biri olan format kaymasını azaltır ve ekip içinde standartlaştırmayı kolaylaştırır.
Role prompting veya persona atama, modele “Sen bir X’sin” diyerek belirli bir üslup, yaklaşım veya uzmanlık çerçevesi vermektir. Örneğin: “Sen bir öğretmensin; basit anlat.”
Burada kritik ayrım: Persona, çoğu zaman üslup ve biçimi iyileştirir; ancak doğruluğu her modelde ve her görevde tutarlı biçimde artırmayabilir. Persona ifadelerinin performansı otomatik olarak yükseltmediğini raporlayan deneysel çalışmalar vardır (arXiv: 2311.10054).
“Sen bir uzmansın” yerine şu yaklaşımı deneyin:
Bu, persona’nın sağlayacağı üslup faydasını korurken “rolün büyüsüne” fazla bel bağlamayı azaltır.
Bazı sağlayıcılar, davranış ve etik ilkeleri ayrı bir kural seti gibi ele almayı önerir. Anthropic’in yayımladığı “Constitution” yaklaşımı, modele uyması gereken ilkeleri bir “üst kural katmanı” şeklinde tanımlamaya örnektir (Anthropic Constitution).
Bu yaklaşımı ürün tasarımına çevirirsek: Üst katmanda (system/developer) değişmeyen politika ilkeleri, alt katmanda (user) görev yer alır.
Politika ilkeleri:
- Belirsiz veya eksik bilgi varsa netleştirici soru sor.
- Kullanıcı talebi ile politika çelişirse politika önceliklidir.
- Yanıtta gerekirse sınırlılıkları açıkça belirt.
Bu tarz bir “ilke listesi”, ekibiniz büyüdükçe veya birden fazla prompt şablonu kullanmaya başladığınızda tutarlılık sağlar.
İster tek mesajla çalışın ister katmanlı bir sisteminiz olsun, iyi bir komut genellikle şu bileşenleri taşır:
Modelden “yanıtını şu maddelere göre kontrol et” istemek bazen hataları azaltabilir; ancak bu da model ve göreve göre değişir. En güvenilir yöntem, harici test setleriyle ölçmektir (prompt yönetimi ve ölçümleme fikri için bkz. s4).
“Bu metni özetle ve bana önemli maddeleri çıkar.”
Sonuç bazen iyi olur; ama “kaç madde”, “hangi ton”, “hangi uzunluk” belirsizdir.
“Aşağıdaki metni Türkçe özetle. Çıktıyı şu formatta ver: (1) 2 cümlelik özet, (2) 5 madde ana fikir, (3) 3 madde ‘aksiyon’ önerisi. Her madde 1–2 cümleyi geçmesin.”
“Bir eğitmen gibi açık ve sade anlat. Aşağıdaki metni Türkçe özetle. Önce 2 cümlelik özet ver, sonra 5 madde ana fikir çıkar. Terim kullanman gerekirse parantez içinde kısa açıklama ekle.”
Burada persona, daha çok “anlatım tarzını” hizalar. Doğruluk artışı ise görev, veri ve modele göre değişebilir (s3).
Prompt’lar pratikte birer “ürün bileşeni” gibidir: değişir, sürümlenir, ölçülür. Bağlam mühendisliği ve veri stratejisi odaklı kaynaklar, prompt yönetiminde versiyonlama ve test disiplininin önemini vurgular (s4).
Yapay zekâyla etkili iletişim kurmanın omurgası, talimat hiyerarşisini doğru kurmak ve çelişkileri baştan engellemektir. System/developer katmanını “sözleşme”, user katmanını “görev bileti” gibi düşündüğünüzde, hem daha tutarlı çıktılar alır hem de ekip içinde yeniden kullanılabilir şablonlar oluşturursunuz. Persona/rol atama ise çoğunlukla üslup ve biçim için yararlıdır; doğruluğu otomatik artıracağı varsayımı her zaman desteklenmez ve hedef modelde test edilmesi gerekir (s3).
Bir sonraki adım olarak, en sık kullandığınız 3–5 prompt’u seçip kısa bir test setiyle ölçmeye başlayın; ardından kuralları kısaltıp önceliklendirin. Bu yaklaşım, zamanla daha güvenilir ve bakımı kolay bir prompt mimarisi oluşturur.
Yorumlar