Skip to content

Prompt Debugging: Why Isn't This Working?

Prompt not working? Learn a systematic diagnostic tree, logging strategy, and model swap checklist.

Şükrü Yusuf KAYA
12 min read
Intermediate
Prompt debug için karar ağacı
Hipotez → 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:
  1. Çıktı format dışı mı geliyor? → Schema / prefill / validator-loop (Ders 3.2).
  2. Cevap olgusal yanlış mı? → Bilgi sorunu (RAG / web / kaynak).
  3. Cevap kısa veya yarım mı? → max_tokens limiti / stop_sequences problemi.
  4. Cevap doğru ama kalitesiz mi? → Persona, few-shot, model yetkin değil.
  5. Cevap rastgele mi varyant gösteriyor? → temperature, sampling, prompt'un ambiguite'si.
Debug karar ağacı: format / olgusal / kısa / kalitesiz / varyant düğümleriyle
Sistematik prompt debug akışı.

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ıt
import 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.

Frequently Asked Questions

Split your evals into 'critical invariants' (must not break) and 'quality metrics' (expected to improve). If invariants break, revert or bump the prompt version to MAJOR.

Yorumlar & Soru-Cevap

(0)
Yorum yazmak için giriş yap.
Yorumlar yükleniyor...

Related Content