Menu

Prompt Nasıl Yazılır? 6 Parça ve Örnekler

İyi bir prompt kısa bir brieftir: bir rol, bir görev, modelin tahmin edemeyeceği bağlam, üzerinde çalışılacak malzeme, cevabın şekli ve sınırlar. Her parça, cevabın ters gidebileceği farklı bir yolu kapatır.

Bu sayfadaki her istemi düzenleyebilir, sonra ChatGPT, Claude ya da başka bir yapay zekâ uygulamasında açabilirsin.

Prompt bir brieftir. Model sadece senin yazdığını okur, bu yüzden ihtiyaç duyduğu her bilgi ve senin her tercihin sayfada olmalı. Bir cevap sıradan geldiğinde, sebep neredeyse her zaman promptun kötü söylediği bir şey değil, dışarıda bıraktığı bir şeydir.

İşe yarayan promptların çoğu aynı altı parçadan oluşur. Aşağıdaki blokta altısı da var. Parçaları kapatıp promptu onlarsız gör, kendi dilini yaz, sonra sonucu ChatGPT ya da Claude'da açıp karşılaştır.

Bir hata mesajını açıkla
Fill in
Parts
Kod yazmanın ilk ayındaki insanlara sabırla öğreten bir programlama öğretmenisin.
Bu Python hatasının ne anlama geldiğini ve nasıl düzeltileceğini açıkla.
Başlangıç seviyesinde bir kurs takip ediyorum. Değişkenleri, string'leri, listeleri ve for döngülerini biliyorum. Sınıfları ve exception'ları henüz öğrenmedim.
Kodum:age = 30 print("Age: " + age)Hata:TypeError: can only concatenate str (not "int") to str
Kalın başlıklı üç kısa bölümde cevap ver: hatanın anlamı, kodumun buna neden yol açtığı ve düzeltilmiş kod.
Sade kelimeler kullan ve henüz öğrenmediğim hiçbir kavrama girme. Cevabın tamamı 120 kelimeyi geçmesin.
Try it
Example replyReplies vary between models and runs.

Anlamı: + iki string'i birleştirebilir ya da iki sayıyı toplayabilir, ama bir string'i bir sayıyla birleştiremez. Python hangisini kastettiğini tahmin etmez, bu yüzden durur.

Kodunun neden buna yol açtığı: "Age: " bir string, age ise 30 sayısını tutuyor. Satır Python'dan bunları + ile birbirine yapıştırmasını istiyor.

Düzeltilmiş kod: önce sayıyı str() ile metne çevir:

age = 30
print("Age: " + str(age))

Bu, Age: 30 yazdırır.

Altı parça

Rol, modele kimin sesini ve yargısını kullanacağını söyler. "Yeni başlayanlara sabırla öğreten bir öğretmen" ile "üretim kodunu inceleyen kıdemli bir mühendis" aynı soruya çok farklı cevaplar verir. Rol, bir okur kitlesi ve bir standart ima ettiğinde en çok işe yarar; nerede yardım edip nerede etmediğini görmek için rol verme sayfasına bak.

Görev, ne yapılacağını söyleyen tek cümledir. Bir fiille başla: açıkla, yeniden yaz, karşılaştır, listele, düzelt, özetle. Görevi tek cümleyle yazamıyorsan promptta muhtemelen iki görev vardır ve biri genellikle daha zayıf bir cevap alır.

Bağlam, modelin tahmin edemeyeceği her şeydir: kim olduğun, ne bildiğin, sonucun ne için olduğu ve daha önce ne denediğin. Örnekte, modelin try ve except ile cevap vermesini engelleyen satır "Sınıfları ve exception'ları henüz öğrenmedim" satırıdır.

Girdi, üzerinde çalışılacak malzemedir: kod, e-posta, tablo, hata. Tamamını yapıştır. Kodunun bir özeti, onun ne yaptığını düşündüğünün bir tarifidir ve hata genellikle bu ikisinin arasındaki boşlukta yaşar.

Biçim, cevabın nasıl görünmesi gerektiğini söyler: bir liste, bir tablo, başlıklı üç bölüm, JSON, tek bir satır. Biçim yoksa model senin yerine bir şekil seçer ve sohbet modelleri uzun olanları seçmeye eğilimlidir. Cevabı bir programın okuması gerektiğinde yapılandırılmış çıktı daha ileri gider.

Kısıtlar sınırlardır: uzunluk, kelime dağarcığı, kaçınılacak şeyler, değişmeden kalması gerekenler. Bir sayı ("120 kelimeden az") bir sıfattan ("kısa") daha iyi çalışır, çünkü "kısa" farklı okurlar için farklı anlamlara gelir ve model de o okurlardan biridir.

Belirsiz ve belirgin

Aynı istek iki şekilde yazılmış. Sekmeler arasında geçip yanıtları karşılaştır.

Bir listeyi sıralayan bir fonksiyon yaz.
Try it
Example replyReplies vary between models and runs.

İşte Python'da basit bir sıralama fonksiyonu:

def sort_list(items):
    return sorted(items)

Bunu sort_list([3, 1, 2]) şeklinde çağırabilirsin, [1, 2, 3] döndürür.

Belirsiz prompt, kimsenin sormadığı bir soruya doğru bir cevap aldı. Dili, veriyi, sırayı ve girdiyi değiştirmenin kabul edilebilir olup olmadığını tahmin etmek zorunda kaldı ve her seferinde en yaygın durumu tahmin etti. Belirgin prompt bu dördünü önceden cevapladı, yani tahmin edilecek hiçbir şey kalmadı.

Promptları iyileştiren alışkanlıklar

  • Görevi başta söyle, uzun malzemeden sonra da tekrarla. Kısa bir promptta görevle başla ki arkasından gelen arka plan bir amaçla okunsun. Uzun bir belge yapıştırdığında belgeyi önce koy, soruyu sona yaz ve önemli kısıtları orada tekrarla; böylece talimat, modelin yazmaya başladığı noktanın hemen yanında durur.
  • Sadece neden kaçınılacağını değil, ne yapılacağını söyle. "12 yaşında birinin anlayacağı sade bir Türkçeyle yaz" modele bir hedef verir. "Çok teknik olma" sadece bir yönü dışarıda bırakır, gerisini açık bırakır.
  • Talimatları malzemeden ayır. Bir e-posta ya da dosya yapıştırdığında nerede başlayıp nerede bittiğini işaretle ki model içindeki bir cümleyi talimat sanmasın. Seçenekler için ayırıcılar ve XML etiketleri sayfasına bak.
  • Biçim alışılmadıksa çıktıya bir örnek göster. Bir örnek, şekli bir paragrafın anlatabileceğinden daha hızlı gösterir. Buna few-shot prompting denir.
  • Sohbette değil, promptta yinele. İlk cevap yanlışsa eksik bağlamı ya da kısıtı bul, promptu düzelt ve yeniden çalıştır. Uzun bir düzeltme zinciri de işe yarar, ama elinde bir sonuç kalır, yeniden kullanabileceğin bir prompt kalmaz.

Göndermeden önce kontrol listesi

  1. Görevi fiille başlayan tek bir cümleyle söyleyebiliyor muyum?
  2. Bir yabancı, cevabın kimin için olduğunu ve benim ne bildiğimi anlar mıydı?
  3. Malzemenin tarifini değil, kendisini yapıştırdım mı?
  4. Cevabın ne kadar uzun olması ve hangi şekli alması gerektiğini söyledim mi?
  5. Cevabın değiştirmemesi ya da kullanmaması gereken bir şey var mı?

Beş "evet" mükemmel bir yanıtı garanti etmez, ama bir "hayır" kötü bir yanıtın en olası nedenidir.

Sıkça Sorulan Sorular

İyi bir yapay zekâ promptunu ne iyi yapar?

İyi bir prompt görevi tek ve net bir cümleyle söyler, modelin tahmin edemeyeceği bağlamı verir (kim olduğun, ne bildiğin, sonucun ne için olduğu), üzerinde çalışılacak malzemeyi içerir ve cevabın nasıl görünmesi gerektiğini söyler: uzunluk, yapı ve ton. Zayıf promptların çoğu ifade yüzünden değil, bağlam ve biçim yüzünden başarısız olur.

Bir prompt ne kadar uzun olmalı?

İşin gerektirdiği kadar, daha fazla değil. Tek satırlık bir cevap için tek satırlık bir soru yeterlidir. Belirli bir okur kitlesi, girdisi ve çıktı şekli olan bir görev genellikle dört ile sekiz cümle tutar. Aynı talimatı üç kez tekrarlayan uzunluk işe yaramaz; eksik bağlamı ekleyen uzunluk işe yarar.

ChatGPT'ye ya da Claude'a kibar davranmalı mıyım?

Nezaket kelimeleri ne çok yardım eder ne çok zarar verir. Cevabı değiştiren şey bilgidir: hedef, okur kitlesi, kısıtlar ve istediğin çıktıya bir örnek. Projeni hiç görmemiş yetenekli bir iş arkadaşına brief verir gibi yaz.

Prompt yazmak için bir şablon var mı?

Güvenilir bir sıra şudur: rol, görev, bağlam, girdi, biçim, kısıtlar. Her promptun altısına da ihtiyacı yoktur. Görevle başla, modelin tahmin edemeyeceği bağlamı ekle, ilk cevap fazla uzun, fazla belirsiz ya da yanlış şekilde gelirse biçim ve kısıtları ekle. Doldurulacak boşlukları olan tekrar kullanılabilir sürümler için prompt şablonları sayfasına bak.

Aynı prompt neden her seferinde farklı cevap veriyor?

Sohbet modelleri sıradaki her kelimeyi bir olasılık dağılımından örnekleyerek seçer, bu yüzden iki deneme farklı olabilir. Daha belirgin bir prompt iyi cevapların alanını daraltır ve denemeler birbirine daha çok benzer. Örneklemenin ne kadar rastgelelik kullanacağını temperature ayarı belirler.

Coddy programming languages illustration

Coddy ile kodlamayı öğren

BAŞLA