LLM'lerden kaliteli çıktı almanın sanatı
30 saniyede özet · Ne öğreneceksin
Bir LLM'in ne kadar iyi cevap vereceği büyük ölçüde prompt'una bağlıdır. Aynı model, kötü bir prompt ile karman çorman; iyi bir prompt ile şaşırtıcı kalitede cevap üretir. Prompt mühendisliği, modelin gizli yeteneklerini açığa çıkarma sanatıdır — kod yazmadan, parametre değiştirmeden, sadece doğru soruyu doğru şekilde sorarak.
🧑🍳Bir Şefe Sipariş Vermek
Bir LLM'e prompt vermek, üst düzey bir restoran şefine sipariş vermek gibidir. "Bana yemek getir" dersen ne aldığını bilemezsin. "Akdeniz mutfağından, baharatı orta seviyeli, mercimek yemeği — yanına bulgur pilavı" dersen tam istediğini alırsın. Şef yeteneklidir; eksik olan senin tarifindir.
System prompt, modeli bir karaktere/role yerleştiren ilk talimattır. Kullanıcı mesajından …
Modele birkaç girdi-çıktı örneği gösterdiğinde, modeli o pattern'i taklit etmeye yönlendir…
LLM'ler, adım adım düşünmeleri istendiğinde matematik ve mantık problemlerinde belirgin bi…
Zero-shot prompt
Few-shot + CoT prompt
tokens ≈ chars / divisor (TR: divisor=3, EN: divisor=4)Token sayısı için pratik bir yaklaşım: İngilizce metin yaklaşık 4 karakterde 1 token, Türkçe metin (daha çok ek aldığı için) yaklaşık 3 karakterde 1 token. Gerçek tokenizer (tiktoken, cl100k_base) bu sayıyı %20 sapma ile doğrular. Maliyet hesabı için bu yaklaşım yeterlidir.
Formül → Kod Karşılığı
chars→len(text)metnin karakter sayısıdivisor→3 if tr else 4dil bazlı bölücütokens→len(text) // 3tahmini token sayısıAnthropic Messages API: system + few-shot + user mesajı
| 1 | from anthropic import Anthropic |
| 2 | |
| 3 | # ÖNEMLİ: Kendi makinende kendi API key'inle çalıştır. |
| 4 | # LearNN hiçbir zaman key tutmaz, çağrı yapmaz. |
| 5 | client = Anthropic() # ANTHROPIC_API_KEY ortam değişkeninden okur |
| 6 | |
| 7 | response = client.messages.create( |
| 8 | model="claude-sonnet-4-6-20260101", |
| 9 | max_tokens=512, |
| 10 | system=( |
| 11 | "Sen yardımsever bir Türkçe asistansın. " |
| 12 | "Cevapları kısa ve anlaşılır tut, gerektiğinde madde işareti kullan." |
| 13 | ), |
| 14 | messages=[ |
| 15 | # Few-shot örnekler |
| 16 | {"role": "user", "content": "Merhaba"}, |
| 17 | {"role": "assistant", "content": "Merhaba! Size nasıl yardımcı olabilirim?"}, |
| 18 | {"role": "user", "content": "Sipariş vermek istiyorum"}, |
| 19 | {"role": "assistant", "content": "Tabii, hangi ürünü almak istersiniz?"}, |
| 20 | # Gerçek kullanıcı sorusu |
| 21 | {"role": "user", "content": "İptal etmek istiyorum"}, |
| 22 | ], |
| 23 | ) |
| 24 | |
| 25 | print(response.content[0].text) |
| 26 |
✦ Quiz
Bir LLM'e karmaşık bir matematik problemi soruyorsun. Hangi prompt tekniği accuracy'i en çok artırır?
💡Spesifiklik 10x kalite artırır. "Bana bir Python fonksiyonu yaz" yerine "Bana bir Python fonksiyonu yaz: int liste alır, en büyük 3 elemanı sıralı döndürür, boş liste için ValueError fırlatır, tip ipuçları olsun, docstring yaz." Aynı model, ikinci promptta neredeyse production'a hazır kod verir.
Bu konunun pratiği
Bu konuyu interaktif dene
Az önce okuduğun kavramın parametrelerini değiştir, etkisini canlı gör