Teknik not

Few-shot Prompting Nedir? Yapay Zekâya Örneklerle Yol Gösterme

Few-shot prompting akışı: örnekler, yeni istek ve yapay zekâ yanıtı

Few-shot prompting nedir? Yapay zekâya yalnızca görevi anlatmak yerine birkaç örnek göstererek nasıl cevap vermesi gerektiğini öğretme yöntemidir. Bu teknik, özellikle aynı biçimde tekrar eden işler için daha tutarlı sonuç almanıza yardımcı olur.

Few-shot prompting akışı: örnekler, yeni istek ve yapay zekâ yanıtı
Few-shot prompting, yapay zekâya örnekleri gösterir ve yeni istekte benzer bir cevap biçimi üretmesini sağlar.

Few-shot prompting nedir?

Bir modele “Bu mesajı kargo, iade veya diğer olarak sınıflandır” demek tek başına yeterli olmayabilir. Modelden istediğiniz etiket biçimini veya tonunu tahmin etmesi gerekir.

Few-shot prompting, önce birkaç doğru örnek göstermeyi önerir. Her örnekte bir girdi ve beklenen çıktı bulunur. Ardından yeni isteği gönderirsiniz. Model, örneklerdeki görevi, biçimi ve üslubu genelleyerek yanıt üretir.

Bu yöntem modelin ağırlıklarını değiştirmez. Yani fine-tuning gibi kalıcı bir eğitim değildir. Örnekler yalnızca o isteğin bağlamında modelin yolunu gösterir. Bu nedenle yönteme “bağlam içi öğrenme” de denir.

Zero-shot, one-shot ve few-shot arasındaki fark

Yöntem Gönderilen örnek sayısı Ne zaman kullanılır?
Zero-shot 0 Görevi yalnızca talimatla anlatmak için.
One-shot 1 Beklenen biçimi hızlıca göstermek için.
Few-shot 2 veya daha fazla Biçim, ton veya sınıflandırma kuralı net değilse.

Örneğin “Bu cümleyi özetle” demek zero-shot bir istektir. “Uzun metin: … Kısa özet: …” biçiminde tek örnek vermek one-shot yaklaşımıdır. Birkaç farklı metin ve özet gösterdiğinizde few-shot prompting kullanırsınız.

Basit bir sınıflandırma örneği

Bir müşteri destek botunun mesajları doğru ekibe göndermesini istediğinizi düşünün. Aşağıdaki örnekler modele hem etiketleri hem de cevap biçimini öğretir:

Görev: Mesajı tek bir etiketle sınıflandır. Sadece Kargo, İade veya Diğer yaz.

Örnek 1
Mesaj: Kargom ne zaman gelir?
Etiket: Kargo

Örnek 2
Mesaj: Ürünü geri göndermek istiyorum.
Etiket: İade

Örnek 3
Mesaj: Mağazanız hangi günler açık?
Etiket: Diğer

Yeni mesaj: Siparişim hâlâ hazırlanıyor.
Etiket:

Bu yapıda modelden uzun bir açıklama beklemediğiniz açıktır. Örnekler, beklenen cevabın tek kelimelik bir etiket olduğunu gösterir. Aynı isteği sadece “Mesajları sınıflandır” şeklinde yazsaydınız, model açıklama ekleyebilir veya farklı etiket adları kullanabilirdi.

İyi few-shot örnekleri nasıl hazırlanır?

  1. Görevi tek cümleyle yazın. Modelin neyi, hangi sınırlar içinde yapacağını açıkça belirtin.
  2. Çıktı biçimini gösterin. JSON, tablo, tek etiket veya kısa paragraf istiyorsanız örneklerde aynı biçimi kullanın.
  3. Gerçek duruma benzeyen örnekler seçin. Örnekler, kullanıcıların göndereceği mesajlara yakın olmalıdır.
  4. Farklı durumları çeşitlendirin. Kısa, uzun, yazım hatalı ve belirsiz girdiler ekleyin.
  5. Örnekleri kontrol edin. Hatalı veya çelişkili bir örnek modelin yanlış kural öğrenmesine neden olabilir.

İyi örnek sayısı her görevde aynı değildir. Önce iki veya üç örnekle başlayın. Sonra en çok hata yapılan durumu temsil eden yeni bir örnek ekleyin. Her eklemeden sonra aynı test mesajlarını çalıştırın.

Örnekleri prompt içinde nasıl düzenlemelisiniz?

Talimatı, örnekleri ve yeni isteği birbirinden ayırmak okunabilirliği artırır. XML etiketleri veya belirgin başlıklar kullanabilirsiniz:

<görev>
Ürünün yorumunu Pozitif, Negatif veya Nötr olarak sınıflandır.
</görev>

<örnekler>
<örnek>
Yorum: Kargo hızlı geldi.
Sonuç: Pozitif
</örnek>
<örnek>
Yorum: Ürün beklediğimden farklı.
Sonuç: Negatif
</örnek>
</örnekler>

<yeni_istek>
Yorum: Paket sağlam ve zamanında ulaştı.
Sonuç:
</yeni_istek>

Biçim, göreve göre değişebilir. Önemli olan modelin hangi bölümün talimat, hangi bölümün örnek, hangi bölümün yeni veri olduğunu kolayca ayırabilmesidir.

Bu yaklaşımın örneklerle çıktının doğruluğunu ve tutarlılığını artırabildiği, Anthropic’in prompt mühendisliği rehberinde de açıklanıyor: örnek kullanımı rehberi.

Few-shot prompting ile fine-tuning aynı şey mi?

Hayır. Few-shot prompting sırasında örnekleri prompt içine koyarsınız ve model yalnızca o isteği yanıtlarken bunları kullanır. Fine-tuning ise bir modeli veriyle yeniden eğiterek davranışını model ağırlıklarına işler.

Az sayıda örnekle hızlı bir deneme yapmak istiyorsanız few-shot prompting daha pratiktir. Aynı davranışı çok sayıda istekte daha kalıcı ve düşük gecikmeyle kullanmak istiyorsanız fine-tuning seçeneğini araştırabilirsiniz. Karar vermeden önce küçük bir test setiyle kaliteyi ölçmek için LLM evals rehberine bakabilirsiniz.

En sık yapılan 5 hata

  • Çelişkili örnekler: Benzer girdilere farklı etiketler vermek modeli kararsız bırakır.
  • Biçim değişikliği: Bir örnekte JSON, diğerinde düz metin kullanmak beklenmedik çıktı üretir.
  • Gereksiz uzunluk: Örnekleri çoğaltmak her zaman kaliteyi artırmaz. Bağlam penceresini gereksiz doldurabilirsiniz.
  • Tek tip veri: Yalnızca kolay örnekler göstermek sınır durumlarını çözmez.
  • Hassas bilgi kullanımı: Gerçek müşteri verilerini örnek olarak paylaşmadan önce kişisel bilgileri temizleyin.

Bir örneğin iyi göründüğüne bakarak sonuca karar vermeyin. Farklı kullanıcı cümlelerini test edin ve hangi sınıflarda hata oluştuğunu ayrı inceleyin.

Few-shot prompting ne zaman işe yarar?

Yöntem; metin sınıflandırma, belirli tonda yanıt yazma, alanları çıkarma, kısa özet üretme ve sabit bir formatta veri hazırlama gibi işlerde kullanışlıdır. Özellikle istediğiniz biçimi kelimelerle anlatmak zor olduğunda örnekler güçlü bir anlatım sağlar.

Her sorunu few-shot örnekleriyle çözemezsiniz. Güncel bilgi gerektiğinde modelin bağlamına güvenilir kaynak eklemek gerekir. Zararlı istekleri engellemek için de yalnızca örnek vermek yeterli değildir; girdi ve çıktı kontrolleri gibi güvenlik katmanları gerekir. Bu konu için guardrails rehberini okuyabilirsiniz.

Sonuç

Few-shot prompting, yapay zekâya birkaç doğru örnek göstererek görevi, biçimi ve üslubu daha anlaşılır hâle getirir. Başarılı bir uygulama için örnekleri gerçek kullanım durumlarına yakın seçin, çıktıyı aynı formatta gösterin ve sonucu ayrı test verileriyle ölçün.

İlk denemenizde karmaşık bir prompt hazırlamanız gerekmez. Tek bir görev seçin, iki veya üç temiz örnek ekleyin ve modelin yeni istekte aynı kuralı uygulayıp uygulamadığını kontrol edin. Böylece promptunuzu tahminle değil, ölçerek geliştirebilirsiniz.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir