Prompt Hata Ayıklama: Neden Çalışmıyor?
Prompt çalışmıyor mu? Bu derste hatayı sistematik bulmak için çalışan bir teşhis ağacı, log stratejisi ve model değişikliği checklist'i öğreneceksin.
Şükrü Yusuf KAYA
12 dakikalık okuma
OrtaHipotez → izole et → düzelt
Yazılım debug'ı gibi prompt debug'ı da hipotez kurmakla başlar. 'Çalışmıyor' yetersizdir; 'şu girdide şu adımda şu hata oluyor' demek lazımdır.
Teşhis Ağacı
Prompt çalışmadığında soracağın 5 ardışık soru:
- Çıktı format dışı mı geliyor? → Schema / prefill / validator-loop (Ders 3.2).
- Cevap olgusal yanlış mı? → Bilgi sorunu (RAG / web / kaynak).
- Cevap kısa veya yarım mı? → max_tokens limiti / stop_sequences problemi.
- Cevap doğru ama kalitesiz mi? → Persona, few-shot, model yetkin değil.
- Cevap rastgele mi varyant gösteriyor? → temperature, sampling, prompt'un ambiguite'si.
Loglama Stratejisi#
Üretimde her çağrıyı şu alanlarla logla:
- prompt_id, prompt_version (semver)
- model_id, temperature, max_tokens
- input_token_count, output_token_count
- system_prompt_hash (PII'siz)
- user_input_hash
- response_excerpt (ilk 200 char)
- eval_score (varsa LLM-as-judge)
- user_feedback (👍/👎)
Bu log Modül 9'da daha derinleşecek; ama prompt'u ilk yazarken bu alanları planla.
python
# Lightweight prompt logger — production'da CloudWatch / Datadog / Sentry'ye akıtimport json, hashlib, time def log_call(*, prompt_id, version, model, system, user_input, response, latency_ms): rec = { "ts": int(time.time()), "prompt_id": prompt_id, "prompt_version": version, "model": model, "sys_hash": hashlib.sha256(system.encode()).hexdigest()[:12], "input_hash": hashlib.sha256(user_input.encode()).hexdigest()[:12], "input_chars": len(user_input), "response_excerpt": response[:200], "latency_ms": latency_ms, } print(json.dumps(rec, ensure_ascii=False))Hash'leri logla — tam metni değil. PII güvende kalır, regression yine yakalanır.
text · diff modu
Senin kodun
Hedefe karşı diff
+ # Sonra: izole hata+ - prompt_id: support_classifier@1.4.0+ - input: "ödeme yansımadı"+ - expected: {"category":"billing"}+ - got: {"category":"tech"}+ - model: claude-haiku-4-5+ - temperature: 0.0+ - hipotez: tech ile billing örnekleri benzer formülasyonlarla+ yazılmış, model ayırt edemiyor → daha keskin few-shot ekle.- # Önce: belirsiz hata- "Niye yanlış cevap veriyor anlamadım"
İzole edilmiş hata 10 dakikada düzeltilir; izole edilmemiş hata gün alır.
Boşluk doldur · text
Prompt debug akışında ilk 5 soru: format dışı mı, _____ yanlış mı, kısa mı, _____ yetersiz mi, varyant mı? Tutarlı cevaplar için _____ değeri 0 veya 0.1 olmalıdır.Sık Sorulan Sorular
Eval setini iki kategoriye böl: 'kritik invariant' (bozulmamalı) ve 'kalite metriği' (iyileşmesi beklenir). Kritik invariant bozulduğunda ya prompt'u rölö yap ya da prompt sürümünü MAJOR yükselt.
Yorumlar & Soru-Cevap
(0)Yorum yazmak için giriş yap.
Yorumlar yükleniyor...