Ünite 4 / 11

Sistem Promptu ve Model Parametreleri

Kazanimlar:

  • Sistem promptunun modeli tüm konuşma boyunca nasıl yönlendirdiğini tasarlayabilir
  • Adaptif düşünme (thinking) ve çaba (effort) parametrelerinin rolünü ve maliyet etkisini kavrar
  • max_tokens, durdurma dizileri ve yapılandırılmış çıktı gibi çıktı kontrollerini uygular

Aynı modeli iki farklı ürün bambaşka davrandırabilir. Fark modelin kendisinde değil, ona verilen sistem promptunda ve parametrelerde gizlidir. Sistem promptu modelin "iş sözleşmesi", parametreler ise "çalışma ayarlarıdır". Bu ünitede güçlü bir sistem promptunun nasıl tasarlandığını, modern modellerdeki düşünme (thinking) ve çaba (effort) ayarlarının ne işe yaradığını ve çıktıyı biçim/uzunluk açısından nasıl kontrol edeceğinizi öğreneceksiniz. Bu ayarları doğru kurmak, hem kaliteyi hem maliyeti aynı anda yönetmenizi sağlar.

Sistem Promptu: Modelin Kalıcı Yönergesi

Sistem promptu, konuşmanın tamamı boyunca geçerli olan üst düzey talimattır. Kullanıcı ne yazarsa yazsın bu kurallar geçerli kalır. İyi bir sistem promptu şu bileşenleri içerir:

  1. Rol/kimlik: Model kim? ("Sen bir kurumsal destek asistanısın.")
  2. Kapsam ve sınır: Neyi yapar, neyi yapmaz? ("Yalnızca sağlanan politika belgesine dayan.")
  3. Biçim kuralları: Çıktı nasıl olmalı? ("En fazla 3 madde, resmi dil.")
  4. Belirsizlikte davranış: Emin olmadığında ne yapar? ("Bilgi yoksa uydurma, ilgili birime yönlendir.")
  5. Güvenlik/gizlilik: Neyi istemez/tekrar etmez? ("Kişisel veri isteme.")
İpucu: Sistem promptunu sabit tutun. İçine her istekte değişen bilgi (güncel tarih, kullanıcı adı, oturum kimliği) gömmeyin. Bu hem tutarlılığı bozar hem de 6. ünitedeki prompt önbelleğini geçersiz kılar. Değişken bilgiyi kullanıcı mesajına koyun.

Aşırı Agresif Talimat Tuzağı

Modern modeller talimatı çok yakından takip eder. Eski modellerde işe yarayan "MUTLAKA", "HER ZAMAN", "KESİNLİKLE şunu yap" gibi agresif kalıplar bugün aşırı tetiklemeye yol açar: model, gerekmediği yerde bir aracı çağırır veya gereksiz uzun çalışır. Kuralı yumuşatın: "MUTLAKA arama aracını kullan" yerine "Cevap konuşmada yoksa arama aracını kullan" daha isabetli sonuç verir.

Model Parametreleri: Düşünme ve Çaba

Klasik LLM'lerde sıcaklık (temperature) parametresi vardı: düşük değer daha belirli/tutarlı, yüksek değer daha çeşitli/yaratıcı çıktı üretirdi. Modern nesil modeller (Opus 4.8, Sonnet 5 gibi) bu yaklaşımın yerine daha güçlü iki mekanizma getirir ve temperature gibi örnekleme parametrelerini artık kabul etmez.

  • Adaptif düşünme (adaptive thinking): Modelin cevap vermeden önce "kafasında" adım adım akıl yürütmesi. Model, ne kadar düşüneceğine görevin zorluğuna göre kendisi karar verir. Karmaşık, çok adımlı problemlerde doğruluğu belirgin artırır; basit sorularda gereksiz gecikme yaratmamak için az düşünür.
  • Çaba (effort): Modelin bir göreve ne kadar derin eğileceğini ve toplamda ne kadar token harcayacağını ayarlayan üst düzey düğme. Tipik seviyeler: düşük, orta, yüksek ve daha üstü. Yüksek çaba kaliteyi artırabilir ama gecikme ve maliyeti de artırır; düşük çaba hız ve tasarruf getirir.

Ayar

Ne yapar

Ne zaman

Düşünme kapalı / düşük çaba

Hızlı, ucuz, yüzeysel

Basit sınıflandırma, kısa yanıt, gecikmeye duyarlı işler

Adaptif düşünme + orta çaba

Dengeli kalite/maliyet

Çoğu genel amaçlı görev

Adaptif düşünme + yüksek çaba

En yüksek doğruluk

Karmaşık akıl yürütme, kodlama, uzun-ufuklu ajan işleri

Dikkat: "Ne olursa olsun en yüksek çaba" refleksi maliyeti şişirir. Çabayı göreve göre ayarlayın; basit işlerde düşük çaba çoğu zaman aynı doğru sonucu çok daha ucuza verir. Kritik doğruluk gereken yerde yükseğe çıkın.

Çıktı Kontrolü: Biçim, Uzunluk, Yapı

Parametrelerin yanında çıktının kendisini de kontrol edersiniz:

  • max_tokens: Çıktının sert tavanı (1. ve 3. ünite).
  • Durdurma dizileri (stop sequences): Belirli bir dizeyi görünce modelin durması. Yapılandırılmış üretimde kesme noktası koymak için kullanışlıdır.
  • Yapılandırılmış çıktı (structured output): Modelin yanıtını verdiğiniz bir JSON şemasına uymaya zorlama. Çıktının programatik olarak ayrıştırılabilir ve geçerli olmasını garanti eder. Prompt ile "sadece JSON döndür" demekten daha güvenilirdir.

{ "output_config": { "format": { "type": "json_schema", "schema": { "type": "object", "additionalProperties": false, "properties": { "kategori": { "type": "string", "enum": ["fatura", "teknik", "iade", "diger"] }, "aciliyet": { "type": "string", "enum": ["dusuk", "orta", "yuksek"] } }, "required": ["kategori", "aciliyet"] } } }}

Kopyalanabilir Sistem Promptu Şablonları

# Kurumsal destek asistanıSen bir kurumsal destek asistanısın.- Yalnızca sağlanan politika belgesine dayan; belgede yoksa "Bu bilgi elimde yok" de.- En fazla 3 cümleyle, resmi ve net yanıt ver.- Kişisel veri (TCKN, kart no) isteme ve yanıtta tekrar etme.- Emin değilsen tahmin yürütme.

# Yapılandırılmış çıktı zorlayan sınıflandırıcıSen bir talep sınıflandırıcısısın. Girdi bir müşteri mesajıdır.Yalnızca istenen alanları döndür, açıklama yazma. Emin değilsen "diger" kullan.

# Belirsizlikte durma davranışı tanımlı analistSen bir veri analistisin. Sağlanan tablodan yalnızca doğrulanabilir çıkarımlar yap.Veride olmayan bir sonucu asla uydurma. Bir çıkarım belirsizse "veri yetersiz" yaz.

# Ton ve uzunluk kontrollü içerik yazarıSen bir içerik yazarısın. Sıcak ama profesyonel bir ton kullan.Her metni en fazla 120 kelimeyle sınırla. Klişe pazarlama dilinden kaçın.

Zayıf prompt / Güçlü prompt

# ZAYIFYardımcı ol ve iyi cevaplar ver. Elinden geleni yap.

# GÜÇLÜRol: Teknik destek uzmanı.Kapsam: Yalnızca sağlanan ürün kılavuzu.Biçim: Adım adım, numaralı liste, en fazla 5 adım.Sınır: Kılavuzda olmayan çözümü önerme; "Kılavuzda bulamadım" de.Gizlilik: Kullanıcının paylaştığı seri numarasını yanıtta tekrar etme.

Güçlü sürüm; rolü, kapsamı, biçimi, sınırı ve gizliliği ayrı ayrı belirler. Çıktı tutarlılığı doğrudan bu netlikten gelir.

Üç Mini Vaka

Vaka 1 — Çaba ayarıyla maliyet düşürme. Bir ekip tüm çağrılarını yüksek çaba + düşünme açık çalıştırıyordu; basit e-posta özetleri bile pahalıya ve yavaş üretiliyordu. Özet gibi basit işleri düşük çabaya, sözleşme analizini yüksek çabaya ayırdılar. Doğruluk korundu, ortalama gecikme yarıya, aylık maliyet üçte bire indi.

Vaka 2 — JSON garantisi. Bir operasyon ekibi sınıflandırma çıktısını promptla "sadece JSON ver" diye istiyordu ama model ara sıra başına "İşte sonuç:" yazıyor, ayrıştırıcı çöküyordu. Yapılandırılmış çıktı şeması bağlayınca çıktı her seferinde geçerli JSON döndü; ayrıştırma hataları sıfırlandı.

Vaka 3 — Agresif prompt geri tepmesi. Bir asistan promptunda "HER SORUDA MUTLAKA arama yap" yazıyordu; model, cevabı zaten bildiği basit sorularda bile gereksiz arama yapıp yavaşlıyor ve maliyet artırıyordu. Kuralı "Cevap bağlamda yoksa arama yap" olarak yumuşattılar; gereksiz aramalar %70 azaldı, yanıtlar hızlandı.

Sık yapılan hatalar

  • Sistem promptuna değişken veri gömmek: Tutarlılığı bozar ve önbelleği geçersiz kılar.
  • Aşırı agresif talimat: Modern modellerde aşırı tetikleme ve gereksiz maliyet.
  • Her işe yüksek çaba: Basit görevlerde israf; çabayı göreve göre ayarlayın.
  • JSON'u sadece promptla istemek: Ara sıra bozulur; kritikse yapılandırılmış çıktı kullanın.
  • Sınır/belirsizlik davranışı tanımlamamak: Model boşluğu uydurmayla doldurur (halüsinasyon).
  • Eski `temperature` alışkanlığı: Modern modeller bunu kabul etmez; davranışı prompt ve çaba ile yönlendirin.

Daha Derine: Prompt'u Bir Sözleşme Gibi Yazmak

Deneyimli ekipler sistem promptunu edebi bir metin değil, bir sözleşme gibi ele alır: net maddeler, ölçülebilir kurallar, belirsizliğe yer bırakmayan sınırlar. Bu yaklaşımın üç somut faydası vardır. Birincisi tutarlılık: aynı girdi, farklı zamanlarda benzer çıktı verir. İkincisi test edilebilirlik: her maddeyi ayrı ayrı bir örnekle sınayabilirsiniz. Üçüncüsü bakım kolaylığı: bir davranış yanlışsa, hangi maddeyi değiştireceğinizi bilirsiniz.

İyi bir uygulama, olumlu örneklerle yönlendirmektir. "Şunu yapma" listesi vermek yerine "istenen çıktı tam olarak şöyle görünür" diyen bir örnek koymak, modern modellerde çok daha etkilidir. Örneğin bir sınıflandırıcıda, beklenen JSON'un bir-iki örneğini prompta eklemek, biçim hatalarını belirgin biçimde azaltır.

Bir diğer güçlü teknik, belirsizlik davranışını açıkça yazmaktır. "Emin değilsen tahmin yürütme; 'veri yetersiz' de" gibi bir madde, modelin boşluğu uydurmayla doldurma (halüsinasyon) eğilimini bastırır. Bu tek cümle, 11. ünitede işleyeceğimiz doğrulama katmanının yükünü baştan azaltır: model zaten belirsizliği işaretlediğinde, insan onayına yönlendirmek kolaylaşır.

Son olarak çaba (effort) ile promptu birlikte düşünün. Yüksek çabada model daha çok keşfeder ve bazen istenmeyen "fazladan iş" yapar (gereksiz açıklama, ek öneri). Promptta "yalnızca istenen çıktıyı ver, ek yorum ekleme" demek, yüksek çabanın bu yan etkisini dengeler.

Özetle

Sistem promptu modelin kalıcı yönergesidir: rol, kapsam, biçim, belirsizlik davranışı ve gizliliği tanımlar. Modern modellerde davranışı temperature yerine adaptif düşünme ve çaba parametreleri yönlendirir; çabayı göreve göre ayarlamak kalite ve maliyeti aynı anda yönetir. Çıktıyı max_tokens, durdurma dizileri ve yapılandırılmış çıktı ile güvence altına alırsınız.

Uygulama görevi

Bir görev seçin. (1) Beş bileşenli (rol, kapsam, biçim, belirsizlik, gizlilik) bir sistem promptu yazın. (2) Bu görev için hangi çaba seviyesini seçeceğinizi ve neden seçtiğinizi belirtin. (3) Çıktı yapılandırılmış olmalıysa küçük bir JSON şeması taslağı çıkarın. (4) Promptunuzda aşırı agresif bir kalıp var mı kontrol edip yumuşatın.

Kontrol listesi

  • [ ] İyi bir sistem promptunun beş bileşenini sayabiliyorum.
  • [ ] Adaptif düşünme ve çaba parametrelerinin ne yaptığını açıklayabiliyorum.
  • [ ] Çabayı göreve göre ayarlayarak kalite/maliyet dengesini kurabiliyorum.
  • [ ] Yapılandırılmış çıktının promptla JSON istemekten neden daha güvenli olduğunu biliyorum.
  • [ ] Aşırı agresif talimatların modern modellerde riskini fark edebiliyorum.