BT Profesyonelleri ve Kullanıcılar için ipuçları
Yapay Zeka Modellerini verimli kullanmak ve prompt mühendisliği

Yapay Zeka Modellerinden Daha Fazla Verim Almak: Parametreler ve Prompt Teknikleri

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.3Kod yazımı, matematiksel hesaplamalar, faktüel sorular
0.4 – 0.7Metin özetleme, analiz, çeviri
0.8 – 1.2Yaratı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ı?

TeknikKullanım Yeri
Adım adım düşünMantık ve matematik problemleri
Rol ataUzman görüşü gereken durumlarda
Önce eleştir, sonra geliştirYazı veya kod revizyonunda
3 farklı yaklaşım sunKarar verme süreçlerinde
Sade dille açıklaTeknik konuları basitleştirmede
Örnekle gösterFormat 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.

Bir yorum ekleyin

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir