Few-Shot Examples Economics: 0 vs 3 vs 8? The Cost vs Accuracy Trade-Off
Few-shot examples raise input tokens but improve output quality. What's the right number? This lesson compares test results with 0, 1, 3, 5, 8 examples and provides optimum recommendations by task type.
Şükrü Yusuf KAYA
16 min read
Intermediate🧪 Bu ders bir deney
Few-shot'ın doğru sayısı evrensel değil. Görev tipi, model gücü, output formatı — hepsi değiştiriyor. Bu derste bir deney yapıp kendi use case'in için optimum'u nasıl bulacağını göstereceğim.
Few-Shot Nedir — Hızlı Hatırlatma#
In-context learning (ICL): Modele birkaç input-output çifti vererek istediğin formatta cevap almak.
Soru: "İade nasıl yapılır?" Cevap: "Profilinizde 'İade Talep Et'i tıklayın." Soru: "Kargo ne kadar sürer?" Cevap: "1-3 iş günü." Soru: "Ödeme yöntemleri neler?" Cevap: ... ← model bunu üretir, format öğrenir
Modellerin emergent ability'lerinin temel taşı. GPT-3'ten beri ana paradigma.
Deney — Türkçe Customer Support Classification#
Görev: Müşteri mesajını 5 kategoriden birine sınıflandır.
Model: Sonnet 4.6
Eval set: 100 gerçek müşteri mesajı (insan-annotated ground truth)
Variants#
| Variant | Example sayısı | Input tokens | Output tokens |
|---|---|---|---|
| Zero-shot | 0 | 180 | 6 |
| 1-shot | 1 | 280 | 6 |
| 3-shot | 3 | 480 | 6 |
| 5-shot | 5 | 680 | 6 |
| 8-shot | 8 | 980 | 6 |
Sonuç tablosu#
| Variant | Accuracy | $/istek | Annual cost (1M istek) |
|---|---|---|---|
| Zero-shot | 78% | $0.000630 | $630 |
| 1-shot | 84% | $0.000930 | $930 |
| 3-shot | 91% | $0.001530 | $1.530 |
| 5-shot | 92% | $0.002130 | $2.130 |
| 8-shot | 92% | $0.003030 | $3.030 |
Gözlem#
- 3-shot'a kadar accuracy hızla yükseliyor (+13 puan)
- 3'ten 5'e: +1 puan (anlamsız)
- 5'ten 8'e: 0 puan
Sweet spot 3-shot bu görev için. 5-shot ve 8-shot daha pahalı ama avantaj yok.
Görev Tipine Göre Optimum Few-Shot Sayısı#
Test sonuçlarımdan çıkardığım pratik öneriler:
| Görev tipi | Optimum sayı | Sebep |
|---|---|---|
| Binary classification (yes/no) | 2-3 | Format basit, az örnek yeter |
| Multi-class classification (5-10 sınıf) | 3-5 | Her sınıftan en az 1 örnek |
| Entity extraction | 3-4 | Format göstermek için |
| Format-strict generation | 2-3 | Format örneği yeter |
| Tone/style mimicry | 5-8 | Style varyasyonu için fazla örnek |
| Complex reasoning | 0-1 + CoT | Reasoning kendisi tek başına yeter |
| Translation | 0-2 | Modeller already iyi |
| Code generation | 1-3 | Pattern göstermek için |
| Customer support response | 3-5 | Tone + format + örnek davranış |
Example Kalitesi Sayıdan Daha Önemli#
8 vasat örnek vermek, 3 mükemmel örnekten kötü.
İyi örnek nedir?#
- Çeşitli — farklı senaryoları kapsar
- Edge case'leri içerir — tipik + atipik
- Net format — model parse edebilir
- Doğru output — yanlış örnek vermek model'i yanıltır
Anti-pattern — duplikat örnekler#
Soru: "İade?" Cevap: "Profilinizden tıklayın." Soru: "Geri verme?" Cevap: "Profilinizden tıklayın." Soru: "İade nasıl?" Cevap: "Profilinizden tıklayın."
Üç örnek de aynı şeyi öğretiyor — token israfı. Bir örnekle aynı sonuç.
Dinamik Few-Shot — En İlişkili Örneği Seç#
Statik 3 örnek yerine, kullanıcı sorgusuna en benzer 3 örneği seç (embedding-based retrieval).
# Önceden — example database hazırla example_db = [ {"input": "iade nasıl?", "output": "Profilinizden..."}, {"input": "kargo süresi", "output": "1-3 gün..."}, # ... 200 örnek ] example_embeddings = embed_all([e["input"] for e in example_db]) # Runtime'da def get_dynamic_examples(query, k=3): query_emb = embed(query) top_k = cosine_similarity_top_k(query_emb, example_embeddings, k=k) return [example_db[i] for i in top_k] # Prompt build examples = get_dynamic_examples(user_query, k=3) prompt = build_few_shot_prompt(examples, user_query)
Avantaj#
- 200 örneği prompt'a hiç koymadan en iyi 3'ünü dinamik seç
- Aynı 3 örnek değil her seferinde, kullanıcının sorgusu ile uyumlu
- Token sayısı sabit (3 örnek), kalite çok daha yüksek
Maliyet#
- Embedding cost: ~$0.0001/sorgu
- Vector DB query: <10ms
- Toplam ek maliyet: %5
- Accuracy lift: tipik %5-15
Modül 12'de RAG bağlamında bunu işliyoruz.
Few-Shot'u Nereye Koymalı — System mi Message mi?#
İki pattern:
Pattern A — System içinde#
messages = [ {"role": "system", "content": f"...\n\nÖrnekler:\n{examples}"}, {"role": "user", "content": user_query}, ]
Pattern B — Message turn'leri olarak#
messages = [ {"role": "system", "content": "..."}, {"role": "user", "content": "iade nasıl?"}, {"role": "assistant", "content": "Profilinizden tıklayın."}, {"role": "user", "content": "kargo süresi"}, {"role": "assistant", "content": "1-3 gün."}, # ... daha çok {"role": "user", "content": user_query}, # gerçek soru ]
Hangisi daha iyi?#
Pattern B (turn-based) genelde daha iyi performans — modeller multi-turn conversation pattern'lerini eğitim sırasında çok gördü. Pattern A daha az token (system kompakt) ama Pattern B daha iyi accuracy.
Trade-off:
- Pattern A: -%10 token, -%2 accuracy
- Pattern B: standart token, +%2-5 accuracy
Cost-sensitive ise A, accuracy-critical ise B.
Few-Shot + Prompt Cache = Süper Verim#
Few-shot example'lar statik — kullanıcıdan kullanıcıya değişmiyor. Bu, Anthropic prompt cache için mükemmel candidate.
messages = [ { "role": "system", "content": [ {"type": "text", "text": "Rol talimatları..."}, {"type": "text", "text": few_shot_examples, "cache_control": {"type": "ephemeral"}}, # ← cache here ], }, {"role": "user", "content": user_query}, ]
Few-shot maliyeti %90 düşer. Modül 7'de detaylı.
🎯 Pratik öneri
Yeni bir görev için başlangıç: 3-shot statik examples + Anthropic prompt cache. Sonra eval set ile test et, 3'ten 5'e veya 5'ten 3'e değiştirme avantajını ölç. Çoğu durumda 3'te kalırsın.
▶️ Sıradaki ders
5.4 — Chain-of-Thought'un Maliyeti. CoT ("think step by step") büyük bir prompt tekniği — ama output token'ı katlar. Ne zaman değer, ne zaman pahalıya gelir?
Frequently Asked Questions
Never use real user data as examples. (1) Anonymize (name, phone, address → placeholders), (2) Synthesize (generate similar examples with LLM), (3) Use old/deleted data. High KVKK violation risk. Module 4.5.
Yorumlar & Soru-Cevap
(0)Yorum yazmak için giriş yap.
Yorumlar yükleniyor...
Related Content
Module 0: Why Cost, Why Now?
The AI Cost Explosion: Why Token Prices Fell 96% from 2022 to 2026 — Yet Bills Grew 40×
Start LearningModule 0: Why Cost, Why Now?
Unit Economics Vocabulary: COGS, Gross Margin, $/User, Contribution Margin — 9 Financial Concepts Every AI Engineer Must Know
Start LearningModule 0: Why Cost, Why Now?
Workshop Toolkit: A Quick Tour of the 11 Tools We'll Use Throughout the Course
Start LearningConnected pillar topics