Bu yazımızda ChatGPT, Claude, Gemini gibi büyük dil modelleri (LLM) ile çalışırken kullanabileceğiniz API parametrelerini ve prompt mühendisliği tekniklerini ele alacağız. Konuyu hem API üzerinden geliştirici olarak çalışanlar hem de bu modelleri arayüz üzerinden kullananlar için faydalı olacak şekilde aktarmaya çalışacağız.
API Parametreleri
Bir yapay zeka modelini API üzerinden kullandığınızda, yanıtın kalitesini ve davranışını doğrudan etkileyen birkaç temel parametre bulunmaktadır.
Temperature
temperature parametresi, modelin yanıt üretirken ne kadar “yaratıcı” davranacağını belirler. Değer 0’a yaklaştıkça model daha tutarlı ve tahmin edilebilir yanıtlar üretir, 1’e (ve üzerine) çıktıkça daha yaratıcı ve çeşitli yanıtlar gelmeye başlar.
| Değer Aralığı | Kullanım Senaryosu |
|---|---|
| 0.0 – 0.3 | Kod yazımı, matematiksel hesaplamalar, faktüel sorular |
| 0.4 – 0.7 | Metin özetleme, analiz, çeviri |
| 0.8 – 1.2 | Yaratıcı yazarlık, beyin fırtınası, fikir üretimi |
Örnek olarak; bir SQL sorgusu yazdırmak istiyorsanız temperature: 0.1 tercih etmek, bir hikaye yazdırmak istiyorsanız temperature: 0.9 kullanmak daha iyi sonuçlar verecektir.
Top-P (Nucleus Sampling)
top_p parametresi, modelin bir sonraki kelimeyi seçerken kaç farklı olasılığı değerlendireceğini belirler. Düşük değerler daha odaklı yanıtlar üretirken yüksek değerler daha geniş bir kelime havuzundan seçim yapılmasını sağlar.
top_p: 0.5 → Kısa ve tutarlı yanıtlar için top_p: 0.9 → Genel kullanım için önerilen değer top_p: 1.0 → Maksimum çeşitlilik
Genel kural olarak temperature ile top_p parametrelerini aynı anda değiştirmekten kaçınmanızı öneririz. Birini sabit tutup diğerini ayarlamak daha öngörülebilir sonuçlar verir.
Diğer Parametreler
OpenAI gibi sağlayıcıların API’lerinde karşılaşabileceğiniz birkaç ek parametre daha bulunmaktadır:
{
"max_tokens": 4096,
"temperature": 0.3,
"top_p": 0.9,
"frequency_penalty": 0.5,
"presence_penalty": 0.3,
"stop": ["\n\n", "###"]
}frequency_penalty aynı kelimelerin tekrar tekrar kullanılmasını azaltır. presence_penalty ise modeli yeni konular açmaya teşvik eder. stop dizisi ise belirttiğiniz bir karakter veya kelimeyle karşılaşıldığında modelin yanıt üretmeyi durdurmasını sağlar; bu özellikle yapılandırılmış çıktılar üretirken işe yarar.
Prompt Mühendisliği Teknikleri
API parametrelerini doğru ayarlamak kadar önemli olan diğer konu, modele ne söylediğiniz ve nasıl söylediğinizdir. Bu alanda geliştirilmiş birkaç tekniği inceleyelim.
1. Rol Atama (Role Prompting)
Modele bir uzmanlık rolü atamak, alacağınız yanıtın odak noktasını ve derinliğini önemli ölçüde değiştirir. Karşılaştırmalı bir örnek vermek gerekirse:
❌ Yetersiz: "Bana pazarlama stratejisi anlat." ✅ Daha iyi: "Sen 15 yıllık deneyime sahip bir B2B SaaS pazarlama direktörüsün. 50-200 çalışanlı teknoloji firmaları için ürün lansmanı stratejisi geliştir."
İkinci örnekte model hem bakış açısını hem de hedef kitleyi biliyor. Bu, çok daha odaklı bir yanıt alınmasını sağlar.
2. Zincir Düşünme (Chain-of-Thought)
Modelin bir problemi adım adım çözmesini isterseniz, bunu doğrudan talep etmeniz gerekmektedir. Modelin “düşünme sürecini” görünür kılmak, özellikle karmaşık hesaplama veya mantık yürütme gerektiren görevlerde hata oranını ciddi ölçüde düşürür.
"Bu problemi çözmeden önce şu adımları izle: 1. Önce varsayımlarını listele 2. Her adımı ayrı ayrı açıkla 3. Sonucu doğrula 4. Varsa alternatif yaklaşımları belirt"
3. Örnekle Yönlendirme (Few-Shot Prompting)
Modele tam olarak hangi formatta yanıt istediğinizi göstermek için birkaç örnek vermek oldukça etkilidir. Özellikle veri sınıflandırma veya yapılandırılmış çıktı üretme gibi görevlerde bu yöntem çok işe yarar.
"Aşağıdaki formatta yanıt ver:
Girdi: 'Müşteri memnun değil'
Çıktı: { "duygu": "negatif", "öncelik": "yüksek", "aksiyon": "geri_ara" }
Girdi: 'Ürün harika, teşekkürler'
Çıktı: { "duygu": "pozitif", "öncelik": "düşük", "aksiyon": "teşekkür_maili" }
Girdi: 'Kargo nerede?'
Çıktı:"Model, verdiğiniz örüntüyü anlayarak aynı formatta devam edecektir.
4. XML ile Yapılandırılmış Prompt
Uzun ve çok bölümlü promptlarda XML etiketleri kullanmak, modelin görevi doğru anlamasını kolaylaştırır. Claude gibi modeller bu yapıyı özellikle iyi yorumlamaktadır.
xml
<görev>Kod review yap</görev> <bağlam>Production ortamı, Python 3.11, FastAPI</bağlam> <kısıtlar> - Yalnızca güvenlik açıklarına odaklan - Her bulgu için CVSS skoru ver - Düzeltme önerisi ekle </kısıtlar> <kod> [KOD BURAYA] </kod>
5. Ne Yapmamasını Söyleyin (Negative Prompting)
Çoğu zaman modele ne yapmasını istediğinizi söylemek kadar ne yapmamasını istediğinizi söylemek de önemlidir.
"Finansal analiz yap. - Belirsiz tahminlerden kaçın - 'Belki', 'muhtemelen' gibi ifadeler kullanma - Kaynaksız iddia öne sürme - 3 sayfadan uzun yazma"
Kullanıma Hazır Sistem Promptu Şablonları
Aşağıdaki şablonları kendi uygulamalarınızda sistem promptu olarak kullanabilirsiniz.
Kod Asistanı
Sen kıdemli bir yazılım mühendisisin. - Her zaman çalışır, test edilmiş kod yaz - Edge case'leri belirt - Zaman karmaşıklığını (Big-O) açıkla - Alternatif bir yaklaşım da öner Dil: [DİL] | Framework: [FRAMEWORK]
Analiz Asistanı
Sen veri odaklı bir stratejistsin. Tüm iddialarını veriye dayandır. Yanıt formatı: 1. Anahtar Bulgular 2. Kanıtlar 3. Karşı Argümanlar 4. Öneri ve Güven Skoru (1-10)
Yaratıcı Yazarlık
Yazmaya başlamadan önce şunları netleştir: - Ton: [karanlık / esprili / lirik] - Bakış açısı: [1. şahıs / 3. şahıs] - Hedef kitle: [yaş grubu] - Kaçınılacaklar: [klişeler, edilgen cümleler] temperature: 1.1 | top_p: 0.95
Hangi Tekniği Ne Zaman Kullanmalı?
| Teknik | Kullanım Yeri |
|---|---|
| Adım adım düşün | Mantık ve matematik problemleri |
| Rol ata | Uzman görüşü gereken durumlarda |
| Önce eleştir, sonra geliştir | Yazı veya kod revizyonunda |
| 3 farklı yaklaşım sun | Karar verme süreçlerinde |
| Sade dille açıkla | Teknik konuları basitleştirmede |
| Örnekle göster | Format tutarlılığı için |
Sonuç
Yapay zeka modellerinden verimli sonuçlar almak, büyük ölçüde modele ne söylediğinize ve API parametrelerini nasıl ayarladığınıza bağlıdır. Bu yazıda ele aldığımız temperature, top_p gibi parametreler ve rol atama, zincir düşünme gibi prompt teknikleri; günlük kullanımdan kurumsal uygulamalara kadar geniş bir yelpazede işinize yarayacaktır.
Farklı modellerde bu tekniklerin sonuçlarını karşılaştırmanızı ve kendi kullanım senaryonuza en uygun kombinasyonu bulmak için küçük testler yapmanızı tavsiye ederim.



