Prompt Mühendisliği
Prompt Mühendisliği ile ilgili olarak Google, 69 sayfalık bir çalışma paylaştı. PDF’de birçok önemli tavsiye yer alıyor.
Kısaca özet;
Sistem istemi:
• Net sınırlar ve kurallar belirleyin
• Model kişiliği tanımlayın
• Çıkış formatını kontrol edin
Modeli "Düşündür": Chain of Thought ve Step-Back Tekniklerini Kullan
“Adım adım düşün” gibi ifadeler modelin muhakeme yeteneğini artırır.
Önce genel bir kavramı açıklat, sonra detaya in.
Deney Yapmadan İyi Prompt Bulunmaz
Farklı formatları, yazım tarzlarını, soru türlerini denemekten çekinme.
Aynı prompt'u küçük değişikliklerle tekrar tekrar test et. Küçük farklar büyük sonuçlar yaratabilir.
Role Prompting ile Ton ve Tarzı Ayarla
Modele bir kişilik ver (örneğin: "sen bir mizah yazarısın" veya "bir hukuk danışmanısın").
Bu, çıktının hem içeriğini hem de tonunu değiştirir ve özelleştirmeni sağlar.
Repetitive Output / Döngü Sorunları için Dikkat!
Çok düşük veya çok yüksek temperature/top-k/top-p ayarları modelin aynı cümleyi tekrar etmesine neden olabilir.
Çözüm: Ayarları dengele veya token sınırı koy.
JSON ve Yapılandırılmış Yanıtlar Talep Et
Eğer çıktının yapısı önemliyse (örneğin bir form, liste, tablo) açıkça belirt: "Geçerli JSON formatında ver" gibi.
Bu, hem doğruluğu hem de sistem entegrasyonunu kolaylaştırır.
Kod İçin:
Kod üretiminden önce açıklama yazdır → sonra kodu yazdır → sonra da kodu açıklattır.
Böylece üçlü doğrulama elde etmiş olursun: (anlam–üretim–anlam kontrolü).
Çok Dilli Çalışmalarda:
Prompt’ta dili açık belirt: “Yanıtı Türkçe ver”, “Şu metni İngilizce’ye çevir”.
Yanıttan önce çeviri dillerini listelettirerek kontrol mekanizması kur.
APE – Otomatik Prompt Geliştirme
Bir modele “benim için daha iyi prompt varyasyonları üret” diyerek kendi promptlarını optimize edebilirsin.
Ardından bu varyantları test edip en iyisini seç (ROUGE, BLEU gibi ölçütlerle).
Teknikler
Step-back Prompting: Önce genel bir soru sor, sonra detaylandır.
Chain of Thought (CoT): Adım adım düşünme süreciyle cevaba ulaş.
Self-consistency: Aynı prompt birden fazla çalıştırılır, en sık tekrar eden cevap seçilir.
Tree of Thoughts (ToT): Birden fazla düşünce yolunu paralel değerlendirir.
ReAct: Gerekli olduğunda dış kaynakları sorgular (API, arama vs.).
MADDELER HALİNDE SIRALAMASI
✅ Prompt Mühendisliği Kontrol Listesi
⚙️ Genel Ayarlar
- [ ] Model türü ve sürümü belirlendi mi?
- [ ] Uygun **temperature**, **top-p**, **top-k** değerleri seçildi mi?
- [ ] **Max token** sınırı ihtiyaca göre ayarlandı mı?
---
✍️ Prompt Tasarımı
- [ ] Prompt net, kısa ve anlaşılır mı?
- [ ] Ne istenildiği açık şekilde yazıldı mı?
- [ ] Gerekirse çıktı formatı belirtildi mi (JSON, tablo, madde madde vs.)?
- [ ] Yazım tarzı belirtildi mi? (resmi, eğlenceli, teknik…)
---
🎯 Görev Tanımı
- [ ] Görev açık bir eylem fiili ile başladı mı? (örn. “Yorumla”, “Sınıflandır”, “Yaz”, “Açıkla”)
- [ ] Sadece ne yapılması gerektiği yazıldı mı, ne yapılmaması gerektiği yerine?
---
🧪 Teknikler
- [ ] Zero-shot → sadece görev verildi mi?
- [ ] One-shot / Few-shot→ örnek eklendi mi?
- [ ] Chain of Thought → adım adım düşünme istendi mi?
- [ ] Step-back prompting** → önce genel, sonra özel soru yapısı kuruldu mu?
- [ ] Self-consistency → aynı prompt farklı denemelerde test edildi mi?
- [ ] **Role prompting** → modele bir rol tanımı verildi mi?
- [ ] **System / Contextual prompting** → genel görev ve bağlam tanımlandı mı?
---
🛠 Kodla Çalışırken
- [ ] Kod yazımı → prompt açık ve detaylı mı?
- [ ] Kod açıklama → modelden yorum istendi mi?
- [ ] Kod dönüştürme → başka dile çeviri belirtildi mi?
- [ ] Hatalı kod → hata mesajı ile birlikte verildi mi?
---
📊 Yapılandırılmış Çıktılar
- [ ] JSON ya da tablo formatı gerekiyorsa belirtildi mi?
- [ ] Şema (schema) örneği sunuldu mu?
---
📁 Geliştirici İpuçları
- [ ] Prompt varyasyonları denendi ve belgelendi mi?
- [ ] Aynı prompt farklı model/sürüm ile test edildi mi?
- [ ] APE ile otomatik prompt üretimi denendi mi?
---
💡 İleri Seviyeler
- [ ] Değişkenler ({city}, {name} vb.) ile esnek hale getirildi mi?
- [ ] Dil ve kültürel farklılıklar için çok dilli destek sağlandı mı?