Prompting üzerine alıştırma
Exercise on prompting
Bu modül için tahmini süre: 5 dakika
Genel bakış
Bu derste modül boyunca öğrendiğiniz prompt engineering tekniklerini kısa bir alıştırmayla pekiştirirsiniz. Senaryo şu: scholarly bir makaleden alınmış metin parçalarını alıp içerisinden tüm konuları (topics) çıkararak bir JSON array of strings olarak döndürecek bir prompt yazmanız gerekiyor. Tek input bir content property’sidir; başlangıç prompt’u kasıtlı olarak zayıf yazılmıştır ve ortalama 2.8’lik bir skor verir.
Alıştırmanın kurulumu
Eğitmen, içinde dataset üretici hücre ve değerlendirme hücresi bulunan yeni bir notebook (003_exercise) hazırlamıştır. Önceki notebook’ta sadece task_description, prompt_inputs_spec ve extra_criteria değişti — isterseniz mevcut notebook’unuzda bu alanları kendiniz düzenleyebilir, isterseniz hazır notebook’u indirebilirsiniz.
Goal: starter prompt’u 2.8 ortalamadan en az 7+ ortalamaya çıkarmak. Önce videoyu durdurun ve modül 4’te öğrendiğiniz teknikleri (clear & direct, specific, XML, examples) kendiniz uygulayın; sonra çözüme bakın.
Çözüm — adım adım iyileştirme
İlk adım: evaluation’ı bir kere çalıştırıp report.html dosyasını açmak. Açtığınızda model grader’ın çıktının neden düşük puan aldığına dair gerekçelerini görürsünüz. Burada ortak şikâyet “çıktı bir JSON array of strings değil” şeklindedir.
1. Clear & direct uygulamak
İlk satırı doğrudan ve basit bir komut haline getirin:
Extract key topics mentioned from a passage of text from a scholarly journal into a JSON array of strings
Sadece bu değişiklikle skor neredeyse anında 9.5’a fırlar. Model artık beklenen formatı tam olarak üretiyor.
2. XML tag’leri ile yapı eklemek
Interpolate edilen content’i <text> ve </text> tag’leri arasına sarın. Tag ismini “text” seçmenin sebebi prompt’un ilk satırında zaten “passage of text” ifadesinin geçmesi — bu, talimat ile sağlanan veri arasında daha net bir bağ kurar.
3. Process steps eklemek
Spesifik olmak için Claude’a izlenecek adımları verin:
Follow these steps:
1. Closely examine the provided text
2. Identify each topic mentioned
3. Add each topic to a JSON array
4. Respond with the JSON array. Do not provide any other text or commentary.
Son satır özellikle önemli: gereksiz açıklama veya yorum eklenmesini engeller, sadece JSON döndürülmesini sağlar.
Opsiyonel: One-shot / multi-shot ekleme
Daha da iyileştirmek isterseniz bir input/output örneği koyabilirsiniz, ancak skor zaten 9.5 olduğu için bu noktada büyük bir ek değer beklemeyin.
Sonuç
Final prompt — clear & direct ilk satır + XML wrapping + numaralı steps — tekrar değerlendirildiğinde yine 9.5 ortalama verir. Eğitmen bu prompt’a bir makaleden topic çıkarması için güvenebileceğini söylüyor.
Temel çıkarımlar
- Düşük baseline (2.8) ile başlayan bir prompt, sadece “clear & direct” ilk satırla 9.5’a sıçrayabilir
- Evaluation çalıştırıp
report.html’i okumak hangi tekniği önce uygulayacağınızı belirler - Interpolate edilen content’i
<text>...</text>ile sarmak instruction/data ayrımını netleştirir - “Do not provide any other text or commentary” gibi tek satır, kararlı JSON çıktısı için kritiktir
- Skor zaten yüksekken ek teknikleri zorlamak overhead getirebilir; yeterli olduğunda durmak da bir seçim
- Modül 4’teki dört tekniği birlikte uygulamak, izole tek tekniğe göre daha sağlam bir prompt verir