Few-Shot Learning ile Prompt Optimizasyonu 2026: Türkçe Derin Teknik Rehber — GPT-3'ten Modern LLM'lere

## 1. Giriş: Few-Shot Learning Nedir? ### 1.1 Brown et al. 2020 — Tarihsel Önemi **Paper:** "Language Models are Few-Shot Learners" (Brown, Mann, Ryder, Subbiah, Kaplan, Dhariwal, et al. — OpenAI — NeurIPS 2020) **Ana keşif:** Yeterince büyük bir LLM (175B params), fine-tuning'e gerek kalmadan birkaç örnekle herhangi bir görevi yapabilir. **Devrim niteliği:** Önceden her görev için ayrı fine-tune edilmiş model gerekirdi. GPT-3 ile tek model + farklı promptlarla yüzlerce task. **Modern prompt engineering'in başlangıcı:** Bu paper'dan sonra prompt design (few-shot örnek seçimi, ordering, formatting) yeni bir alan olarak ortaya çıktı. ### 1.2 Bu Rehberin Farkı (1) **Akademik temel + pratik kombinasyonu** — Brown 2020, Lu 2022, Liu et al. 2022 papers detayları + Türkçe örnekler (2) **8 örnek seçim stratejisi karşılaştırması** — random'dan KATE'a, semantik clustering'e (3) **Ordering effect derin analizi** — primacy, recency, "lost in middle" (4) **Anthropic XML tags pattern** — modern best practice (5) **Few-Shot + RAG hybrid (dynamic retrieval)** — 2024-2026 production tekniği (6) **25+ Türkçe örnek** — Türk şirket adı, KVKK, finansal, medikal (7) **Evaluation framework** — A/B test ile prompt versionlama (8) **Token economics** — örnek sayısı vs maliyet trade-off ## 2. Zero-Shot vs One-Shot vs Few-Shot Detayı ### 2.1 Üç Seviyenin Tanımı ### 2.2 Zero-Shot Örnek (Türkçe Sentiment Analysis) **Prompt:** "Aşağıdaki yorumun duygu durumunu pozitif, negatif veya nötr olarak sınıflandır. Yorum: 'Bu ürün gerçekten çok kötü, paramı boşa harcadım.' Cevap:" **Beklenen:** "Negatif" Zero-shot çoğu durumda işe yarar. Çünkü model genel sentiment analysis'i biliyor. ### 2.3 One-Shot Örnek **Prompt:** "Aşağıdaki yorumların duygu durumunu pozitif, negatif veya nötr olarak sınıflandır. Yorum: 'Harika bir deneyim, çok memnun kaldım!' Cevap: Pozitif Yorum: 'Bu ürün gerçekten çok kötü, paramı boşa harcadım.' Cevap:" One örnek modele FORMAT'ı gösterir. Aynı yapıda cevap üretir. ### 2.4 Few-Shot Örnek (3-Shot) **Prompt:** "Aşağıdaki yorumların duygu durumunu pozitif, negatif veya nötr olarak sınıflandır. Yorum: 'Harika bir deneyim, çok memnun kaldım!' Cevap: Pozitif Yorum: 'Ortalama bir ürün, beklediğim kadar değil ama kötü de değil.' Cevap: Nötr Yorum: 'Bu ürün gerçekten çok kötü, paramı boşa harcadım.' Cevap: Negatif Yorum: 'Kargolama çok geç oldu, ürün sallanıyor.' Cevap:" 3 örnek hem format hem de **NÜANS** gösterir — "kötü değil ama beklediğim kadar değil" gibi nötr durumları. ### 2.5 Hangi Seviyeyi Kullanmalı? **Zero-Shot kullan:** - Genel görev (model native bilir) - Format esnek - Hızlı + ucuz response - Modern LLM (GPT-5, Claude 4.6) — çoğu zaman yeter **One-Shot kullan:** - Spesifik format göstermek (JSON, tablo) - Dil/ton ipucu - Maliyet hassas + bir tık iyileştirme **Few-Shot kullan:** - Karmaşık nüans (sentiment'te nötr kategori, sarcasm) - Custom output format (DSL, structured) - Domain-specific (hukuki terimler, medikal kodlama) - Türk pazar özelinde (Trendyol kategorisi vb.) - Modelin "yanlış anlama" eğilimi - Edge case'lere koruma ## 3. 8 Örnek Seçim Stratejisi ### 3.1 Strateji 1: Random Selection En basit yaklaşım. Veri setinden rastgele 3-5 örnek seç. **Avantajı:** Bias yok, hızlı. **Dezavantajı:** Optimum değil. Bazı örnekler çok benzer, bazıları irrelevant. ### 3.2 Strateji 2: Similarity-Based (KATE Algoritması) **Mantık:** 1. Tüm training örnekleri için embedding hesapla 2. Test örneği geldiğinde embedding hesapla 3. Cosine similarity ile en yakın k örneği seç 4. Bu k örneği prompt'ta kullan **Avantajı:** Görev-spesifik, optimal context. Modern production'da yaygın. **Dezavantajı:** Compute overhead (embedding hesapla), KVKK riski (embedding kaydetme). ### 3.3 Strateji 3: Diversity Selection Tek tip örnek yerine **farklı tipler**i göster. Örnek: Sentiment analysis için - 1 örnek: çok pozitif yorum - 1 örnek: çok negatif yorum - 1 örnek: nötr yorum - 1 örnek: karışık (mixed) yorum - 1 örnek: sarcasm **Avantajı:** Modeli edge case'lere hazırlar. **Dezavantajı:** Tüm task tip'lerini bilmek gerekir. ### 3.4 Strateji 4: Active Learning İnsan-eldeği etkileşim ile en bilgi açıcı örnekleri seç. Mantık: 1. Initial random örneklerle başla 2. Modelin hata yaptığı yerleri tespit et 3. Bu örnekleri few-shot'a ekle 4. Tekrar değerlendir **Avantajı:** İterative iyileşme, model zayıflıklarını hedefler. **Dezavantajı:** Manuel emek + iterasyon süresi. ### 3.5 Strateji 5: Semantic Embedding Clustering 1. Tüm training örneklerini embedding'le 2. K-Means clustering (örn. k=5 cluster) 3. Her cluster'dan 1 örnek seç (diversity garantili) **Avantajı:** Diversity + similarity dengesi. **Dezavantajı:** Cluster sayısı optimize etmek gerek. ### 3.6 Strateji 6: Coverage-Based Task'ın olası TÜM varyasyonlarını kapsayan örnekler seç. Örnek: Türkçe NER için - Şirket adı - Şehir - Kişi adı - Tarih - Para birimi (TL, $, €) - Telefon numarası **Avantajı:** Comprehensive, tüm cases. **Dezavantajı:** Çok shot gerekli (token cost). ### 3.7 Strateji 7: Difficulty Curriculum Easy → Medium → Hard sırasıyla örnekler sun. **Mantık:** Model basitten karmaşığa progressive öğrensin. **Avantajı:** Curriculum learning prensibi, complex tasks için iyi. **Dezavantajı:** Difficulty annotation gerek. ### 3.8 Strateji 8: Dynamic Few-Shot Retrieval (Production Hybrid) **RAG + Few-Shot kombinasyonu — modern production tekniği:** 1. Veritabanında binlerce annotated örnek tut 2. Test query geldiğinde vector search ile en uygun 3-5 örneği getir 3. Bu örnekleri few-shot prompt'a ekle 4. LLM'e gönder **Avantajı:** Sürekli güncel, query-spesifik, scalable. **Dezavantajı:** Infra complexity (vector DB), latency. ### 3.9 Strateji Karşılaştırması ## 4. Optimum Örnek Sayısı ### 4.1 Akademik Bulgular **Brown et al. 2020 (GPT-3 paper) ana bulgu:** **Sonuç:** Çoğu task'ta 8 örnek ile doygunluk (saturation). 32 örnek marjinal kazanç. ### 4.2 Modern LLM'lerde Optimum Claude 3.5 Sonnet üzerinde testler: - 0 → 1 örnek: +%8-12 kazanım (en büyük tek atlama) - 1 → 3 örnek: +%4-6 kazanım - 3 → 5 örnek: +%2-3 kazanım - 5 → 10 örnek: +%1-2 kazanım - 10 → 20+ örnek: BAZEN düşüş (context dilution) **Sweet spot: 3-5 örnek** çoğu task için. ### 4.3 Pratik Rule of Thumb ## 5. Ordering Effects — Sıralama Kritik ### 5.1 Lu et al. 2022 — "Lost in the Middle" **Paper:** "Lost in the Middle: How Language Models Use Long Contexts" (Liu, Lin, Hewitt, Paranjape, Bevilacqua, Petroni, Liang — Stanford + Berkeley — 2023) **Ana bulgu:** Uzun bağlamda model bilgiyi U-shape pattern'da kullanıyor: - Başlangıçtaki bilgi → iyi hatırlanıyor (primacy effect) - Sonundaki bilgi → iyi hatırlanıyor (recency effect) - **ORTADA olan bilgi → UNUTULUYOR** ### 5.2 Few-Shot İçin Sıralama Önerileri (1) **En ÖNEMLI / KARMAŞIK örnekleri BAŞA + SONA koy** — primacy ve recency etkisinden faydalan. (2) **Test query'e en BENZER örneği SONA koy** — recency etkisi son örneği daha çok yansıtır. (3) **Edge case'leri ortaya koyma** — unutulabilir. (4) **Tutarlı format korunsun** — örnek 1, 2, 3'te tutarlı yapı. (5) **Easy → Hard sırası bazı durumlarda işe yarar** (curriculum learning). (6) **Random shuffle ÇOĞU ZAMAN KÖTÜ** — bilinçli order yap. ### 5.3 Anthropic XML Tags Pattern Modern best practice — XML benzeri tagger ile örnekleri yapılandır: \\ \\ \\...\\ \\...\\ \\ \\ \\...\\ \\...\\ \\ \\ **Avantajı:** Model XML structure'ı tanıyor, çıktıyı daha tutarlı parse edebiliyorsun. ## 6. Delimiter ve Format Best Practices ### 6.1 Delimiter Seçimi ### 6.2 Anthropic'in Önerdiği Format Bu ürün harika! Pozitif Kargolama yavaş. Negatif Bu pattern Claude için sektör standardı, GPT-5 için de iyi çalışır. ## 7. Few-Shot + CoT Kombinasyon En güçlü teknik — Few-Shot Chain-of-Thought. **Wei et al. 2022 paper'ın özü:** Few-Shot içine MUHAKEME ADIMLARI ekle. Örnek: Q: Ahmet 5 elma aldı, 3 tanesini yedi. Kaç elması kaldı? A: Adım adım düşünelim. Ahmet 5 elma ile başladı. 3 tanesini yedi. 5 - 3 = 2. Cevap: 2. Q: Bir kutuda 12 kalem var, 4'ünü kız kardeşine verdi. Kaç kalemi kaldı? A: Adım adım düşünelim. 12 kalemle başladı. 4'ünü verdi. 12 - 4 = 8. Cevap: 8. Q: Ali 7 lira ile başladı. 3 lira harcadı, sonra 5 lira kazandı. Kaç lirası var? A: Model bu pattern'ı görerek **kendi CoT muhakemesini** üretiyor. Few-Shot + CoT kombinasyonu en güçlü tekniktir. ## 8. 25+ Türkçe Pratik Few-Shot Örnek ### 8.1 Sentiment Classification — Türkçe **Görev:** Trendyol ürün yorumlarını sınıflandır. \\ \\ \\"Çok kaliteli, tam beklediğim gibi."\\ \\Pozitif\\ \\ \\ \\"Beklediğimden daha kötü, geri göndereceğim."\\ \\Negatif\\ \\ \\ \\"Fena değil ama bu fiyata daha iyisi olur."\\ \\Nötr\\ \\ \\ Yorum: "Kargolama biraz geç oldu ama ürün gayet iyi." Bu prompt model'e mixed sentiment'ı da öğretir. ### 8.2 NER — Türk Şirket Adları \\ \\ \\"Trendyol ve Hepsiburada Türk e-ticaret pazarında lider."\\ \\{"sirketler": ["Trendyol", "Hepsiburada"], "kategori": "e-ticaret"}\\ \\ \\ \\"Türkiye İş Bankası ve Garanti BBVA finansal teknoloji yatırımları yapıyor."\\ \\{"sirketler": ["Türkiye İş Bankası", "Garanti BBVA"], "kategori": "finans"}\\ \\ \\ Metin: "Turkcell ve Vodafone 5G altyapısı için yatırım yaptı." ### 8.3 Translation — Türkçe → İngilizce Tone Style \\ \\ \\"Sayın müşterimiz, talebiniz alınmıştır."\\ \\"Dear customer, your request has been received."\\ \\ \\ \\"Selam, ne haber? Bugün ne yaparız?"\\ \\"Hey, what's up? What are we doing today?"\\ \\ \\ Türkçe: "Maalesef bu ürün şu an stokta yok, üzgünüz." Bu prompt resmi vs samimi tonu öğretiyor. ### 8.4 Customer Service Yanıt \\ \\ \\"Kargoyu bekleyemedim, geri gönderdim ama parayı 1 haftada geri almadım."\\ \\"Sayın müşterimiz, yaşadığınız sıkıntı için özür dileriz. İade işleminiz 5-10 iş günü içerisinde tamamlanır. Sipariş numaranızla 0850-XXX-XXXX hattımızdan detaylı bilgi alabilirsiniz. Geri bildiriminizi paylaştığınız için teşekkür ederiz."\\ \\ \\ \\"Beden yanlış geldi!"\\ \\"Merhaba, yanlış beden gönderildiği için özür dileriz. Ürünü ücretsiz iade edip doğru bedeni göndermemizi istiyorsanız sipariş numaranızı paylaşırsanız hemen işlem başlatalım."\\ \\ \\ Şikayet: "Ürün geldi ama paketi açtığımda kırılmıştı." ### 8.5 Code Generation (Python) \\ \\ \\"Bir listenin tüm tek sayılarının toplamı"\\ \\def tek_sayi_toplami(liste): return sum(n for n in liste if n % 2 == 1)\\ \\ \\ \\"Bir dictionary'nin value'larına göre sırala"\\ \\def sirala(d, ascending=True): return dict(sorted(d.items(), key=lambda x: x[1], reverse=not ascending))\\ \\ \\ Açıklama: "Bir string'in tüm permütasyonlarını bulan fonksiyon" ### 8.6 JSON Structured Output \\ \\ \\"Ahmet 35 yaşında, İstanbul'da yaşıyor, yazılım mühendisi."\\ \\{"ad": "Ahmet", "yas": 35, "sehir": "İstanbul", "meslek": "yazılım mühendisi"}\\ \\ \\ \\"Ayşe Ankara'da 28 yaşında doktor olarak çalışıyor."\\ \\{"ad": "Ayşe", "yas": 28, "sehir": "Ankara", "meslek": "doktor"}\\ \\ \\ Metin: "Mehmet 42, İzmir, öğretmen." ### 8.7 Hukuki Kavram Sınıflandırma \\ \\ \\"Veri sorumlusu, kişisel verilerin işleme amaçlarını belirleyen kişidir."\\ \\"Tanım - KVKK"\\ \\ \\ \\"İşveren, çalışana en az 4 hafta önceden ihbar etmek zorundadır."\\ \\"Yükümlülük - İş Kanunu"\\ \\ \\ Madde: "Sözleşmenin feshinde 3 aylık tazminat ödenir." ### 8.8 Medikal Sınıflandırma \\ \\ \\"Başım çok ağrıyor, bulanık görüyorum, kusma hissim var."\\ \\"Acil - Migren veya nörolojik"\\ \\ \\ \\"Hafif soğuk algınlığı, burun akıyor."\\ \\"Düşük - ev tedavisi yeterli"\\ \\ \\ ⚠️ **Uyarı:** Bu örnek SADECE eğitim amaçlı. Gerçek medikal tanı için doktora başvurun. ### 8.9 Email Tone Adaptation \\ \\ \\"Bunu yapmamız lazım."\\ \\"Bu hususun en kısa zamanda gerçekleştirilmesini rica ederim."\\ \\"Bunu birlikte halledelim mi?"\\ \\ \\ \\"Geç oldu pardon."\\ \\"Gecikme için özür dilerim, vaktinizi aldığım için minnettarım."\\ \\"Geciktim, kusura bakma!"\\ \\ \\ Orijinal: "Toplantı saatini değiştiremez miyiz?" ### 8.10 Diğer 15+ Türkçe Few-Shot Pattern Örnekleri (11) Recipe parsing — Türk yemek tarifleri (12) Address parsing — Türkçe adres formatı (13) Phone number formatting — Turkey local (14) Date parsing — Turkish locale (DD.MM.YYYY) (15) Categorization — Türk e-commerce ürün kategorileri (16) Translation Turkish dialect (regional) (17) Pronoun resolution — Türkçe (sondan eklemeli yapı zor) (18) Sentiment in Turkish slang (19) Currency formatting (₺, TL ayrımı) (20) Time expressions in Turkish (21) Question answering with Turkish context (22) Headline generation Turkish style (23) Lyrics analysis Turkish songs (24) Recipe → ingredients list (25) Legal contract clause classification (26) Medical term extraction Turkish (Her biri için detaylı few-shot prompt aynı yapıda hazırlanır) ## 9. Dynamic Few-Shot Retrieval — Production ### 9.1 Architecture ### 9.2 Production Stack ## 10. Few-Shot Prompt Versionlama ve A/B Test ### 10.1 Version Control Promptlar versiyonlanmalı, kod gibi:
prompts/
sentiment-analysis/
v1.0.md
v1.1.md
v2.0.md
CHANGELOG.md
ner-extraction/
v1.0.md

Her versiyon için: - Few-shot örnek setı - Performance metric (accuracy, F1) - Token usage - Notes (why this version) ### 10.2 A/B Test Framework (1) **Hipotez kur:** "5 örnek + similarity-based selection, 3 örnek + random'dan %5+ daha iyi olacak" (2) **Test seti hazırla:** Annotated 100-500 örnek (ground truth) (3) **Her variant için ölç:** Accuracy, F1, token usage, latency (4) **Statistical significance:** t-test (örn p < 0.05) (5) **Karar:** Kazanan versiyonu production'a al, versionla ### 10.3 Evaluation Metrics ## 11. Token Economics Few-shot örnekler token kullanımını artırır. **Optimizasyon:** - Kısa örnekler tercih - Caching (Anthropic Cache Control) - Dynamic retrieval (zero-shot fallback) ## 12. Yaygın Hatalar (1) **Çok benzer örnekler** — model variation görmüyor, overfit (2) **Yanlış labellı örnekler** — kötü örnek modeli yanıltır (3) **Çok uzun örnekler** — context dolu, asıl test query kaynak yetmez (4) **Order alaka düşürüyor** — random shuffle yerine bilinçli sırala (5) **Edge case ortaya koymak** — Lost in middle, unutuluyor (6) **Token usage gözden kaçırılıyor** — production cost balon (7) **A/B test yapmadan değiştirmek** — hangi versiyonun daha iyi? (8) **Few-Shot yerine fine-tuning lazımken kullanmak** — 1000+ example varsa fine-tune düşün ## 13. Sık Sorulanlar **Soru: 2026'da Few-Shot hala değerli mi?** Modern LLM'lerin (GPT-5, Claude 4.6) zero-shot zekası yüksek. Çoğu zaman 0-shot yeter. ANCAK: - Custom format (DSL, structured) - Domain-specific (hukuk, medikal) - Edge cases handling - Türkçe nüans - Production reliability (deterministic output) Bu durumlarda Few-Shot hala değerli. **Soru: Few-Shot vs Fine-Tuning hangisi?** - Few-Shot: 10-50 örnekle, hızlı iterasyon, model değişmiyor - Fine-tuning: 100-10K örnekle, kalıcı, model değişiyor Pratik: 100 örnekten az → Few-Shot. 1000+ örnek + sürekli aynı task → Fine-tune. **Soru: KATE benzeri similarity yöntemi nasıl implement?**
import openai
from sklearn.metrics.pairwise import cosine_similarity

# 1. Embed all training examples
training_embeddings = [embed(ex.text) for ex in training_set]

# 2. Query time
query_emb = embed(query)
similarities = cosine_similarity([query_emb], training_embeddings)[0]
top_k_indices = similarities.argsort()[-5:][::-1]
selected_examples = [training_set[i] for i in top_k_indices]

# 3. Construct few-shot prompt

**Soru: Anthropic XML tags vs JSON?** Anthropic XML — Claude için tercih (training data'da yaygın). JSON — GPT-5 + structured output mode için ideal. **Soru: 32 örnek mantıklı mı?** Sınırlı senaryolarda. Çoğunlukla 3-5 yeter. 32 örnek bağlamı dolduruyor, ana query için yer azalıyor. **Soru: Türkçe Few-Shot İngilizce'den ne kadar farklı?** Aynı prensipler. AMA: Türkçe örnekler daha az online (training data), bu yüzden quality örnek seçimi önemli. Native Türk yazımı. **Soru: Production'da prompt değişikliği nasıl deploy?** Git-based (kod gibi). Prompt change → branch → PR → review → merge → A/B test → roll out. **Soru: Few-Shot + RAG nasıl entegre?** Two-stage: önce RAG ile bilgi getir, sonra Few-Shot ile format/style göster. Hybrid çok güçlü. **Soru: Hangi model Few-Shot'ta en iyi?** GPT-5 ve Claude Sonnet 4.6 yakın. Claude Anthropic XML pattern'de avantajlı. Gemini 2M context ile uzun few-shot mümkün. **Soru: Few-Shot prompt'ı agentik workflow'a nasıl entegre?** LangChain Few-Shot templates kullan. Her agent step'i için ayrı few-shot prompt. Dynamic retrieval ile uygun örnekleri her step için seç. ## 14. Sonuç **3 ana çıkarım:** 1. **Few-Shot Learning Brown et al. 2020'den beri modern prompt mühendisliğinin temel tekniği** — 8 örnek seçim stratejisi, optimum 3-5 örnek sweet spot. 2. **Ordering effects kritik** — "Lost in the middle" prensibi, primacy + recency exploit et. 3. **2026'da Modern LLM'lerde Few-Shot hala değerli** — custom format, domain-specific, edge cases, Türkçe nüans için. Dynamic retrieval (RAG-Few-Shot hybrid) production lider. **Bu hafta yapılacaklar:** (1) Mevcut promptlarınıza 3-5 quality Few-Shot örneği ekle, before/after karşılaştır. (2) Anthropic XML tags pattern'ini bir prompta uygula. (3) Eğer 100+ annotated örnek varsa: Dynamic Few-Shot retrieval kurulumu düşün. (4) Evaluation framework kur (Promptfoo veya LangSmith).