Yaygın başarısızlık kalıpları
Önkoşul:Prompt'u iyileştirme döngüsü: ölç, değiştir, karşılaştır
Kanca
“Fiyatlardan BAHSET” ile “Fiyatlardan BAHSETME” — bu iki cümle, TAM TERS anlama gelir. Ama TOKEN düzeyinde bakınca, ne kadar FARKLI görünüyorlar?
Sezgi
3-8. derste öğrendiğimiz tekniklerin (persona, few-shot, CoT, format) HEPSİ, doğru kullanılmazsa BAŞARISIZLIĞA yol açabilecek YAPISAL riskler taşır. Bu ders, bu risklerin EN YAYGIN 5 kalıbını katalogluyor — İLKİ, GERÇEK bir token sayımıyla ölçülebilir.
Mekanizma
Olumlu ve olumsuz bir talimatın token dizilerini GERÇEKTEN karşılaştıralım:
Olumsuzlama: en az değişiklikle en büyük anlam farkı
# YAYGIN başarısızlık kalıbı #1: OLUMSUZLAMA (negation). "X yap" ile "X YAPMA" arasındaki
# YÜZEY (token düzeyinde) benzerliğe bak:
OLUMLU = "Mention pricing in your response."
OLUMSUZ = "Do not mention pricing in your response."
t_olumlu = token_listesi(OLUMLU)
t_olumsuz = token_listesi(OLUMSUZ)
ortak = set(t_olumlu) & set(t_olumsuz)
tum_benzersiz = set(t_olumlu) | set(t_olumsuz)
print(f"'{OLUMLU}' -> {len(t_olumlu)} token")
print(f"'{OLUMSUZ}' -> {len(t_olumsuz)} token")
print(f"\nOrtak (paylaşılan) benzersiz token sayısı: {len(ortak)} / {len(tum_benzersiz)} (%{100*len(ortak)/len(tum_benzersiz):.0f})")
print("Fark: SADECE 'do', 'n', 'ot' token'ları -- ama bu 3 token, cümlenin anlamını")
print("TAMAMEN TERSİNE çeviriyor. Bu, 5. kategorideki (NLP) 1. dersle AYNI derse gelen bir")
print("uyarı: yüzeysel benzerlik, anlamsal benzerlik DEMEK DEĞİLDİR -- ve olumsuzlama,")
print("bu farkı en AZ token değişikliğiyle YARATAN yapıdır.")'Mention pricing in your response.' -> 22 token
'Do not mention pricing in your response.' -> 25 token
Ortak (paylaşılan) benzersiz token sayısı: 18 / 21 (%86)
Fark: SADECE 'do', 'n', 'ot' token'ları -- ama bu 3 token, cümlenin anlamını
TAMAMEN TERSİNE çeviriyor. Bu, 5. kategorideki (NLP) 1. dersle AYNI derse gelen bir
uyarı: yüzeysel benzerlik, anlamsal benzerlik DEMEK DEĞİLDİR -- ve olumsuzlama,
bu farkı en AZ token değişikliğiyle YARATAN yapıdır.Matematik
Yüzey benzerliği ≠ anlamsal benzerlik
Bu bulgu, 5. kategorinin (NLP & LLM) İLK dersindeki bulguyla AYNI ailededir: “Bu film çok iyi, hiç kötü değil” ile “Bu film hiç iyi değil, çok kötü” bag-of-words’te BİREBİR AYNI vektöre dönüşüyordu — iki cümle YÜZEYSEL olarak (kelime kümesi) özdeş ama anlamsal olarak TERSTİ. Bu dersteki bulgu, AYNI riskin token DÜZEYİNDE bir YANSIMASI: az sayıda token değişikliği, BÜYÜK bir anlam değişikliğine yol açabilir.
Kod
Diğer dört yaygın kalıp, ÖNCEKİ derslerle doğrudan bağlantılıdır:
4 kalıp daha: çelişki, varsayılan bağlam, aşırı yükleme, belirsiz referans
# YAYGIN başarısızlık kalıpları #2-5 (bunlar kavramsal, önceki derslerle bağlantılı):
print("\nDiğer yaygın başarısızlık kalıpları:")
print(" #2 ÇELİŞKİLİ TALİMATLAR: 'kısa ve öz ol' + 'her detayı ayrıntılı açıkla' gibi")
print(" birbiriyle ÇATIŞAN istekler -- model, HANGİSİNE öncelik vereceğini KENDİSİ seçer,")
print(" bu da ÖNGÖRÜLEMEYEN sonuçlara yol açar.")
print(" #3 VARSAYILAN BAĞLAM: modelin SENİN ekranını, önceki bir konuşmayı, ya da GÜNCEL")
print(" (eğitim kesim tarihinden SONRAKİ) bir olayı bildiğini VARSAYMAK -- 2. dersteki")
print(" bağlam penceresi kavramının bir uzantısı: model SADECE kendisine VERİLENİ bilir.")
print(" #4 AŞIRI YÜKLEME: TEK bir promptta 10'dan fazla talimat sıralamak -- 8. dersteki")
print(" 'tek seferde tek değişken' ilkesinin TERSİ; hangi talimatın UYGULANMADIĞINI")
print(" teşhis etmek ZORLAŞIR.")
print(" #5 BELİRSİZ REFERANSLAR: 'bunu düzelt', 'yukarıdaki gibi yap' gibi, NEYE işaret")
print(" ettiği bağlamdan NET olmayan ifadeler -- 10. dersteki (NLP) 'o' zamiri örneğinin")
print(" TERSİ: orada bağlam NETTİ, burada belirsiz.")
Diğer yaygın başarısızlık kalıpları:
#2 ÇELİŞKİLİ TALİMATLAR: 'kısa ve öz ol' + 'her detayı ayrıntılı açıkla' gibi
birbiriyle ÇATIŞAN istekler -- model, HANGİSİNE öncelik vereceğini KENDİSİ seçer,
bu da ÖNGÖRÜLEMEYEN sonuçlara yol açar.
#3 VARSAYILAN BAĞLAM: modelin SENİN ekranını, önceki bir konuşmayı, ya da GÜNCEL
(eğitim kesim tarihinden SONRAKİ) bir olayı bildiğini VARSAYMAK -- 2. dersteki
bağlam penceresi kavramının bir uzantısı: model SADECE kendisine VERİLENİ bilir.
#4 AŞIRI YÜKLEME: TEK bir promptta 10'dan fazla talimat sıralamak -- 8. dersteki
'tek seferde tek değişken' ilkesinin TERSİ; hangi talimatın UYGULANMADIĞINI
teşhis etmek ZORLAŞIR.
#5 BELİRSİZ REFERANSLAR: 'bunu düzelt', 'yukarıdaki gibi yap' gibi, NEYE işaret
ettiği bağlamdan NET olmayan ifadeler -- 10. dersteki (NLP) 'o' zamiri örneğinin
TERSİ: orada bağlam NETTİ, burada belirsiz.Nerede işe yarar
Bu 5 kalıba karşı PRATİK önlemler:
- Olumsuzlama yerine OLUMLU çerçeveleme tercih et: “başka dilde YANIT VERME” yerine “SADECE İngilizce yanıt ver” — aynı KISITI, olumsuzlama OLMADAN ifade eder.
- Çelişkili talimatları FARK ETMEK için, promptunu SESLİ oku — “kısa ol” ve “her detayı açıkla” AYNI cümlede varsa, bu bir ÇATIŞMA sinyalidir.
- Varsayılan bağlamı ASLA varsaymamak — modelin GÖRMEDİĞİ hiçbir şeyi (ekran görüntüsü, önceki bir e-posta, GÜNCEL haberler) “bilmesini” BEKLEME.
- Aşırı yüklemeyi 8. dersteki döngüyle test et: TEK bir promptta çok fazla talimat varsa, HANGİSİNİN uygulanmadığını teşhis etmek için, talimatları TEK TEK ekleyerek yeniden dene.
Bu 2 hatayı yaparsın:
- Bu 5 kalıbı “nadir köşe durumları” sanmak — bunlar GÜNLÜK prompt yazımında SIKÇA karşılaşılan, YAYGIN hatalardır.
- Bir başarısızlığı fark edince “model kötü” diye düşünüp VAZGEÇMEK — 8. dersteki döngüyü (ölç, değiştir, karşılaştır) uygulayarak, kalıbı TANIYIP düzeltmek genelde MÜMKÜNDÜR.
Kendini test et
1. Notebook'ta 'Mention pricing' (22 token) ile 'Do not mention pricing' (25 token) arasındaki token örtüşmesi %86. Bu NEYİ gösteriyor?
- İki cümlenin aynı anlama geldiğini
- Anlamı TAMAMEN tersine çeviren bir değişikliğin (olumsuzlama), token DÜZEYİNDE ÇOK KÜÇÜK bir fark (sadece 3 token) olarak görünebileceğini -- yüzey benzerliği ile anlamsal benzerlik AYNI ŞEY DEĞİLDİR (doğru cevap)
- Tokenizer'ın hatalı çalıştığını
- Olumsuzlamanın hiçbir riski olmadığını
Neden: olumsuzlama-tuzagi bloğunda %86 ortak token oranı, sadece 'do', 'n', 'ot' token'larının FARKLI olduğunu gösteriyor -- bu KÜÇÜK fark, cümlenin anlamını TAMAMEN tersine çeviriyor.
2. 5. kategorinin (NLP & LLM) 1. dersindeki bag-of-words bulgusuyla, bu dersteki olumsuzlama bulgusu arasındaki ORTAK tema nedir?
- Hiçbir ortak temaları yoktur
- İkisi de 'yüzeysel (surface-level) benzerliğin, anlamsal benzerlik ANLAMINA GELMEDİĞİNİ' gösteriyor -- biri kelime kümesi düzeyinde (bag-of-words), diğeri token dizisi düzeyinde AYNI riski ORTAYA koyuyor (doğru cevap)
- İkisi de tokenization ile ilgisizdir
- İkisi de sadece İngilizce için geçerlidir
Neden: MathBox'ta bu bağlantı AÇIKÇA kuruluyor: 'Bu film çok iyi, hiç kötü değil' ile 'Bu film hiç iyi değil, çok kötü' bag-of-words'te ÖZDEŞTİ (5. kategori, 1. ders) -- AYNI mantık, bu dersteki token benzerliğinde de geçerli.
3. 'Aşırı yükleme' (tek promptta çok fazla talimat) NEDEN 8. dersteki döngüyle İLİŞKİLİDİR?
- Hiçbir ilişkisi yoktur
- 8. ders, HER adımda SADECE TEK bir değişkenin değiştirilmesini öğütlüyordu -- aşırı yükleme bunun TAM TERSİDİR: birçok talimat AYNI ANDA verildiğinde, hangisinin UYGULANMADIĞINI teşhis etmek zorlaşır (doğru cevap)
- Aşırı yükleme sadece JSON çıktılarında görülür
- Aşırı yükleme token maliyetini azaltır
Neden: diger-kaliplar bloğunda #4 kalıp AÇIKÇA 8. dersteki 'tek seferde tek değişken' ilkesinin TERSİ olarak tanımlanıyor.
Özet
Özet
- Olumsuzlama ("X yapma"), yüzeysel olarak "X yap" ile NEREDEYSE ÖZDEŞTİR (bu dersteki örnekte %86 token örtüşmesi) -- ama anlam TAM TERSTİR.
- Bu, 5. kategorinin (NLP) 1. dersindeki bag-of-words bulgusuyla AYNI ailededir: yüzey benzerliği, anlam benzerliği DEMEK DEĞİLDİR.
- Diğer yaygın kalıplar: çelişkili talimatlar, varsayılan bağlam, aşırı yükleme, belirsiz referanslar.
- Olumlu çerçeveleme ("sadece X yap"), olumsuzlamadan ("Y yapma") genelde daha GÜVENİLİRDİR.
- Bu kalıpları TANIMAK, 8. dersteki iyileştirme döngüsünü DAHA HEDEFLİ uygulamayı sağlar.