Prompt Mühendisliği

Unsplash

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ı?



Sonraki
Sonraki

Milyarderler Çalışma Alanlarını Nasıl Düzenler?