1.565 Araştırma Sonrası Sistematik Bir Prompt Yazma Rehberi

1.565 Araştırma Sonrası Sistematik Bir Prompt Yazma Rehberi

Günümüzde yapay zeka modelleri kullanmak çok hızlı hale geldi. Ama kullanmak ile iyi kullanmak arasında muazzam bir fark vardır. Aynı modele aynı soruyu farklı şekilde sorduğunuzda doğruluk %50’den %90’a çıkabilir. Peki bu sırrın anahtarı nedir? Bunu anlamak için 1.565 araştırma makalesini sistematik olarak inceleyen çalışmadan yararlanarak bu prensipleri sizle paylaşıyorum.

Başlangıç: Prompt Nedir, Neden Önemlidir?

Prompt, basitçe bir yapay zeka modeline verilen talimattır. Bir e-postaya “Merhaba, nasılsın?” yazmanız gibi bir dil modeline bir soru veya görev yazarsınız ve model cevap verir. Ama bir sosyal medya paylaşımı yazmanız istiyorsanız, işler biraz daha karmaşıklaşır. İşte burada “prompt engineering” devreye girer.

Araştırma göstermiştir ki daha iyi yapılandırılmış ve düşünceli promptlar, modelin performansını önemli ölçüde artırır. Sadece “Bir makale yaz” demek yerine, belirli bir rol, bağlam ve hedef kitle tanımladığınızda model çok daha iyi sonuçlar verir. Ama nasıl başlamalı? Burada işi sistemli yapmamız gerekiyor.

Adım 1: Promptunuzun Temelini Oluşturun – Dört Kritik Bileşen

Başarılı bir promptun dört temel bileşeni vardır ve her biri çok önemli bir rol oynar.

İlk bileşen: Açık bir talimat. Modelinize tam olarak ne yapması gerektiğini söyleyin. “Birkaç şey yaz” yerine, eylemi belirgin bir fiille tanımlayın. “Bu müşteri şikayetini analiz et ve sorunu kategorize et” veya “Aşağıdaki metni İngilizceye çevir” gibi. Araştırmalar göstermiştir ki, net bir talimat modelin başarısını dramatik olarak artırır. Talimattaki belirsizlik, modeli yanıltıcı sonuçlara yönlendirebilir.

İkinci bileşen: Bir rol atama. Modelinize “Sen bir veri analisti” veya “Kıdemli bir yazılım mühendisi gibi davran” diye söyleyin. Bu basit taktik, modelin ilgili alanın terminolojisini, iş mantığını ve perspektifini otomatik olarak devreye sokmaya yardımcı olur. Rol atamamanız durumunda model, çok genel ve sığ cevaplar verebilir. Örneğin, “Pazarlama stratejisi yazma” konusunda söylerseniz, cevap tamam olabilir. Ancak “Sen bir B2B SaaS şirketi için pazarlama müdürüsüsün. Yazılım mimarisinin seçimi konusunda satış ekibini eğitecek bir strateji yazma” dersek, model çok daha derinlemesine ve pratik bir cevap verebilir.

Üçüncü bileşen: Yeterli bağlam. Görevin neden yapılması gerektiğini, hangi durumda kullanılacağını veya nelere özellikle dikkat edilmesi gerektiğini belirtin. Çok basit bir örnek: “Müşteri hizmetleri ekibi için email şablonu yaz” yerine, “Biz fintech alanında çalışıyoruz, müşteri para kaybetme endişesi var, duyarlı ama güvensiz bir tonda yanıt vermesi gerekiyor” yazın. Bağlam, modelin çıktısını hedeflinize yönlendir.

Dördüncü bileşen: Çıktı formatı. Modelden çıktıyı nasıl alması gerektiğini belirtin. JSON, tablo, madde işareti, özel bir şablon… Araştırmalar, yapılandırılmış çıktı istemenin genellikle performansı artırdığını göstermiştir. Örneğin, “Ürün özellikleri listesi yaz” yerine, “Her özelliği JSON formatında yaz: {“özellik”: “açıklama”, “fiyat_etkisi”: “yüksek/orta/düşük”}” şeklinde yazabilirsiniz.

Şimdi bu dört bileşeni bir araya getirelim. Basit bir örnek:

[ROL] Sen bir e-ticaret pazarlama müdürüsüsün ve 5 yıl deneyimin var.

[BAĞLAM] Ekibimiz yeni bir ürün kampanyası başlatıyor. Hedef kitle 25-40 
yaş arası profesyonel kadınlar. Kampanya bütçesi sınırlı ama ROI önemli.

[TALİMAT] Bu hedef kitle için bir sosyal medya kampanya planı hazırla.

[ÇIKTI FORMATI] Cevabını şu şekilde yapılandır:
- Temel mesaj
- 3 platform önerisı (Instagram, TikTok, LinkedIn)
- Her platform için 2 yaratıcı konsept
- Beklenen ROI (yüzde cinsinden)

Bu yapılandırılmış yaklaşım, modeli çok daha odaklı ve değerli sonuçlara yönlendirir.

Adım 2: Örnekler Vererek Modeli Eğitin

Karmaşık görevlerde en güçlü teknik, modele birkaç örnek göstermektir. Buna “few-shot prompting” denir. Ama burada dikkat edilmesi gereken çok şey vardır.

Kaç tane örnek verilmeli? Çoğu durumda 1-5 örnek yeterlidir. Araştırma şaşırtıcı bir bulgu sunmuştur: 20’den fazla örnek eklemek, performansı düşürebilir. Bunun nedeni, modelin bağlam pencerisinde yer ve dikkatin dağılmasıdır.

Örneklerin sırası kritik derecede önemli. Bu, bir çok araştırmacının şaşırdığı bir bulgudur. Aynı örnekleri farklı sırayla yerleştirirseniz, doğruluk %50’den %90’a çıkabilir! Bu kadar radikal bir fark vardır. Eğer promptunuzun sonuçları kötüyse, ilk yapmanız gereken şey örneklerin sırasını değiştirmektir.

Bir duygu analizi senaryosu düşünelim. Mesaj duygusunu “Pozitif”, “Negatif” veya “Nötr” olarak sınıflandırmak istiyorsunuz.

Kötü örnek sıralanması:

"Bu ürün berbat, hiç tavsiye etmem" → Negatif
"Kötü kalite, hayal kırıklığı" → Negatif
"Berbat hizmet, asla dönemem" → Negatif
"Harika ürün, çok memnunum" → Pozitif
"Mükemmel, tüm arkadaşlarıma tavsiye ettim" → Pozitif

Model, bu sıralamada ilk olumsuz örneklere aşırı ağırlık verebilir ve sonraki benzer metinleri “Negatif” sınıflandırma eğilimi gösterir.

İyi örnek sıralanması (dengeli):

"Harika ürün, çok memnunum" → Pozitif
"Bu ürün biraz malı olmuş, ama işini yapıyor" → Nötr
"Mükemmel, tüm arkadaşlarıma tavsiye ettim" → Pozitif
"Kötü kalite, hayal kırıklığı" → Negatif
"Hizmet olarak orta seviye, beklentileri karşılıyor" → Nötr

Dengeli bir sıralama, modelin her kategoriyi daha iyi anlamasına ve başka metinlerde daha doğru karar vermesine yardımcı olur.

Etiket dağılımını dengeleyin. İçinde 10 pozitif, 2 negatif örnek varsa, model otomatik olarak pozitif tarafına yanlılık kazanır. Eğer duygu analizi yapıyorsanız, her duygudan eşit sayıda örnek verin.

Benzer örnekleri tercih edin. Çözeceğiniz probleme çok benzeyen geçmiş örnekleri seçerseniz daha iyi sonuç alırsınız. Mesela “Müşteri şikayet analizi” yapıyorsanız, benzer müşteri şikayetlerini örnek olarak kullanın.

Örnek formatını tutarlı tutun. Eğer “Soru: … Cevap: …” formatı kullanıyorsanız, tüm örneklerde bunu tutun. Tutarsızlık model’i kafa karıştırır.

Pratik bir senaryoda nasıl görünür bunu görelim. Yazılım geliştirme ekibinin, bug raporlarında ciddiyet seviyesi atamak istediğini düşünelim:

[ROL] Sen sosyal bilim alanında çalışan, nitel ve nicel yöntemlerde deneyimli bir araştırmacısın.

[ÖRNEKLER]

Vaka: “Katılımcıların %40’ı çevrim içi anketi yarım bırakmış.”
Önem Düzeyi: YÜKSEK
Gerekçe: Örneklem kaybı ciddi boyutta; sonuçların temsil gücünü ve istatistiksel gücü doğrudan zayıflatıyor.

Vaka: “Odak grup görüşmelerinden birinde kayıt cihazı ilk 5 dakikada çalışmamış.”
Önem Düzeyi: ORTA
Gerekçe: Veri kaybı var ama yalnızca tek oturumun küçük bir kısmını etkiliyor; diğer oturumlar ve kalan süre analizi mümkün kılıyor.

Vaka: “Anket formunda iki madde sırası karışmış, ancak içerikleri ve ölçek puanlaması doğru.”
Önem Düzeyi: DÜŞÜK
Gerekçe: Katılımcıların soruları anlaması bir miktar zorlaşabilir ama veri bütünlüğü ve ölçüm mantığı korunuyor.

[TALİMAT] Aşağıdaki yeni vakaya önem düzeyi ata ve nedenini açıkla.

Vaka: "Boylamsal araştırmanın ikinci dalgasında, katılımcıların üçte biri tekrar ulaşılamadığı için ölçüm yapılmamış"

Bu yapılandırılmış yaklaşım, modelin benzer bugları daha tutarlı ve doğru sınıflandırmasına yardımcı olur.

Adım 3: Modeli Adım Adım Düşündürün

Karmaşık problemleri çözebilmesi için, modelin sadece cevabı değil, düşünme sürecini göstermesi çok önemlidir. Buna “Chain-of-Thought” (CoT) denir. Basit bir haliyle, modele “Adım adım düşün” talimatı verebilirsiniz. Araştırmalar göstermiştir ki bu basit talimat bile modelin matematik ve mantık sorularında çok daha iyi performans göstermesini sağlar. Örneğin:

Soru: Berke'nin 3 sepeti var. Her sepette 5 elma var. 2 sepeti arkadaşına verdi. 
Kaç elması kaldı?

Modelden tek cevap: "Kaldı: 5 elma"

Modelden düşünceli cevap (CoT ile):
"Adım adım düşünelim:
1. Berke'nin 3 sepeti var, her sepette 5 elma = 3 × 5 = 15 elma toplam
2. 2 sepeti arkadaşına verdi = 2 × 5 = 10 elma verdi
3. Kalanı = 15 - 10 = 5 elma"

Ama few-shot CoT (örnek ile CoT) daha güçlüdür. Yani modele, düşüncesini nasıl yazması gerektiğini gösteren örnekler verirsiniz:

[TALÍMAT] Matematiksel problemleri adım adım çöz.

[ÖRNEK 1]
Soru: Ali'nin 12 kalem var. 3'te birini verdi. Kaç kalem kaldı?
Çözüm: Toplam 12 kalem, 3'te biri verdi = 12 ÷ 3 = 4 kalem verdi.
Kalan = 12 - 4 = 8 kalem.
Cevap: 8 kalem

[ÖRNEK 2]
Soru: Bir kutuda 20 çikolata var. 4 arkadaş eşit olarak paylaştı.
Her birinin kaçı oldu?
Çözüm: 20 çikolata, 4 kişiye bölüm = 20 ÷ 4 = 5 çikolata kişi başı.
Cevap: 5 çikolata

[YENİ SORU]
Fatma 18 kitap satın aldı. Kitaplığının 2/3'sını kapatmıştır.
Açık kalan kitap sayısı kaçtır?

Bu yaklaşımda model, sizin gösterdiğiniz mantık yapısını takip etmeye çalışır ve çok daha doğru sonuçlar verir. Özellikle matematiksel ve mantıksal problemlerde bu fark çok belirgindir.

Adım 4: Karmaşık Problemleri Parçalara Bölerken Kullanılması Gereken Yaklaşım

Çok karmaşık bir sorunu direkt çözdürtmeye çalışmak yerine, onu alt soruların bölmek etkilidir. Bunu “decomposition” (parçalama) denilen teknik sağlar ve “Least-to-Most Prompting” bu yaklaşımın popüler bir versiyonudur. Temel fikir şudur: Önce sorunu alt problemlere ayırt, sonra sırayla her alt problemi çöz, ve son olarak genel cevabı oluştur. Böylece model, her aşamada daha somut ve yönetilebilir bir görevle ilgilendiğinden daha iyi sonuç verir. Örneğin, bir kurumsal pazarlama sorunu düşünelim:

Soru: Başarısız olmak üzere olan bir teknoloji ürünü için kurtarma planı yap.

[ADIM 1 - PARÇALAMA]
Lütfen bu görev için cevablaması gereken temel alt soruları listele.
(Model şöyle cevaplar: Niçin başarısız? Hedef pazar kimdir?
Rekabet nedir? Bütçe nedir? Vb.)

[ADIM 2 - ÇÖZÜM]
Şimdi her bir alt soru için ayrıntılı çözüm yap.

[ADIM 3 - BİRLEŞTİRME]
Tüm alt çözümleri, bütünleşik bir kurtarma planı haline dönüştür.

Bu yöntem, modeli çok karmaşık problemlerde daha düzenli düşünmeye ve daha kapsamlı cevaplar vermeye zorlar. Finansal analiz, yazılım tasarım kararları ve stratejik planlama gibi alanlarda özellikle etkilidir.

Adım 5: Kritik Kararlar İçin Tutarlılık Kontrol Yapın

Eğer çok önemli bir karar almak üzereseniz, modele aynı soruyu birkaç kez sorup yanıtları karşılaştırmalısınız. Buna “Self-Consistency” denir. Temel fikir: Modele aynı soruyu 3-5 kez sorun (her seferinde biraz farklı sonuçlar alacaksınız) ve çoğunluk oyuyla karar verin. Bu teknik, özellikle matematik ve mantık sorularında hataları ciddi oranda azaltır.

Örneğin:

[TALÍMAT] Aşağıdaki soruya 3 farklı yaklaşımla cevap ver.

Soru: Şirket A'nın yıllık 100.000 TL geliri var. Kira 20.000 TL,
personel 40.000 TL. Maliyetler 15.000 TL. Vergi %20.
Net kâr kaç TL?

[ÇÖZÜM 1 - İlk Yaklaşım]
...

[ÇÖZÜM 2 - Farklı Yaklaşım]
...

[ÇÖZÜM 3 - Üçüncü Yaklaşım]
...

[KARŞILAŞTIRMA]
Bu üç çözümü karşılaştır. Hangileri aynı sonuca vardı?

Eğer 3 cevaptan 2’si aynı sonuca varsa, bu istatistiksel olarak doğru cevap olma ihtimali çok yüksektir.

Adım 6: Modeli Kendine Eleştirtilerek İyileştirin

Modelden bir cevap aldıktan sonra, onu kendi cevabını eleştirmesi ve iyileştirmesi için sorabilirsiniz. Bu “self-criticism” veya “self-refine” tekniğidir.

Yapı şöyledir:

[TALÍMAT] Aşağıdaki pazarlama stratejisini bir taslak olarak yaz. 
Sonra kendi çalışmanı eleştir ve iyileştir.

[GÖREV]
Yeni bir yazılım ürünü için pazar giriş stratejisi yap.

[ÇIKTI BÖLÜMÜ 1]
Stratejinin ilk taslağını yaz.

[ÇIKTI BÖLÜMÜ 2]
Yazdığın stratejinin zayıflıklarını belirle.
Örneğin: Bütçe gerçekçi mi? Zaman çizelgesi makul mu?
Rekabeti düşündün mü?

[ÇIKTI BÖLÜMÜ 3]
Eleştirileri dikkate alarak stratejini yeniden yaz.

Araştırmalar, bu self-refine işleminin özellikle yaratıcı görevlerde ve karmaşık analizlerde etkili olduğunu göstermiştir. Model, ilk cevabını değerlendirme şansı bulduğunda daha dengeli ve düşüncelü sonuçlar verir.

Adım 7: Gerçek Dünya Örneği – Tüm Teknikler Bir Arada

Şimdiye kadar kuramdan bahsettik. Şimdi gerçek bir örneğe bakalım. Bir yazılım geliştirme ekibinin, müşteri geri bildirimlerinden sorun kategorileri çıkarması gereken senaryoyu düşünelim.

Başlangıç (sıfırdan başlayarak):

Müşteri geri bildirimlerini analiz et ve sorunları kategorize et.
[Feedback listesi]

Bu yaklaşımın sonucu: Tahminen yetersiz veya sığ olacaktır.

İyileştirme 1: Rol ve Bağlam Ekleyin

[ROL] Sen yazılım ürün müdürüsüsün. 5 yıl deneyimin var.

[BAĞLAM] Bir SaaS şirketinde çalışıyoruz. 100+ müşterimiz var.
Müşteri memnuniyeti şu anda %70. Hedefimiz %85'e çıkarmak.

[TALÍMAT] Aşağıdaki müşteri geri bildirimlerini analiz et.
Her geri bildirimi kategorize et ve çözüm önerite.

[GERİ BİLDİRİMLER]
...

Bu daha iyi sonuçlar verecektir.

İyileştirme 2: Örnekler Ekleyin

[ROL] ... (yukarıdaki gibi)

[ÖRNEKLER]

Geri Bildirim: "API'niz çoğu zaman zaman aşımı veriyor"
→ Kategori: Teknik/Güvenilirlik
→ Ciddiyet: YÜKSEK
→ Önerilen Çözüm: API optimize edilmeli, rate limiting gözden geçirilmeli

Geri Bildirim: "Dashboard'da yazı biraz küçük görünüyor"
→ Kategori: UX/Tasarım
→ Ciddiyet: DÜŞÜK
→ Önerilen Çözüm: Font boyutu ayarlanabilir hale getirilebilir

[TALİMAT] Aşağıdaki geri bildirimleri yukarıdaki formatta kategorize et...

İyileştirme 3: Chain-of-Thought Ekleyin

[TALİMAT] Her geri bildirimi kategorize etmeden önce:
1. Müşterinin asıl sorunu nedir? (explicit mi, implicit mi?)
2. Diğer müşteriler bunu da yaşıyor olabilir mi?
3. İş açısından öncelik nedir?
4. SONRA kategori ve çözüm ata.

[GERİ BİLDİRİM]
...

Bu aşamalı yaklaşım, sonuçların kalitesini her adımda artırır.

Sık Yapılan Hatalara Dikkat Edin

Prompt yazarken birçok kişi sık hatalar yapar. İşte onlardan kaçınmaya çalışın:

Birincisi, çok uzun ve karmaşık promptlar yazma. Daha uzun prompt her zaman daha iyi değildir. Aslında çoğu zaman kısa ve net olan promptlar daha iyi sonuçlar verir. Modelin odaklanması daha kolay olur.

İkincisi, belirsiz talimatlar kullanma. “Bunu güzelle” yerine “Başlıkları koyu renk (bold) ve 16 pixel font, metni açık gri renk ve 12 pixel font yap” gibi spesifik olun.

Üçüncüsü, karmaşık görevlerde hiç örnek vermeme. Few-shot prompting güçlüdür. Karmaşık görevler için en az 2-3 örnek verin.

Dördüncüsü, örnekleri rastgele sıralama. Örneklerin sırası doğrudan performansı etkiler. Rastgele koymayın, dengeli bir şekilde düzenleyin.

Beşincisi, tek cevaba güvenme. Kritik kararlar için Self-Consistency kullanın.

Sonuç olarak, prompt engineering kesin bilim değildir. Daha çok bilgilendirilmiş deneme-yanılma yöntemidir. Neden bir şey çalışıyor tam olarak bilenemeyebilir. Ama araştırmalar temel prensipleri göstermiştir ve biz bu prensipleri uygulamaya başladığımızda model performansı önemli ölçüde artar.

Başlangıç basittir: Yapı kullanın, örnekler verin, düşündürün, test edin. Zamanla, bu adımlar size doğal gibi gelecek ve her görev için optimize edilmiş promptlar yazabileceksiniz. Kısacası, etkili prompt yazmanın arkasında bilim var. Ama yaşadığını ve gelişmeyi de gerektirir. Pratik yaptıkça, ne işe yarıyor ve neden yarıyor daha iyi anlayacaksınız. Ve o zaman, modelle konuşmaktan çok, ona gerçekten etki etmeye başlayacaksınız.

Buralarda Paylaş

Yorum gönder

You May Have Missed