İçeriğe geç

A/B Testleri ve Prompt Versiyonlama

Prompt değişikliklerini gerçek kullanıcılar üzerinde test. Versiyon kontrolü, traffic split, rollback stratejisi.

Şükrü Yusuf KAYA
9 dakikalık okuma
İleri

A/B Test ve Versiyonlama

Versiyon Kontrolü#

python
# Prompts as code — Git'te
# prompts/v1/customer_support.txt
# prompts/v2/customer_support.txt
 
class PromptRegistry:
def __init__(self):
self.versions = {}
 
def register(self, name: str, version: str, content: str):
self.versions[(name, version)] = {
"content": content,
"deployed_at": datetime.now(),
"hash": hashlib.sha256(content.encode()).hexdigest()[:8]
}
 
def get(self, name: str, version: str = "latest") -> str:
...
 
# Her LLM çağrısında log:
log_event({
"prompt_name": "customer_support",
"prompt_version": "v3.1",
"prompt_hash": "abc12345",
"input": ..., "output": ..., "metrics": ...
})
Prompt versioning

A/B Traffic Split#

python
import hashlib
 
def assign_variant(user_id: str, experiment: str, variants: list[str]) -> str:
# Deterministik hash → kullanıcı her zaman aynı variant'ta
h = int(hashlib.md5(f"{experiment}-{user_id}".encode()).hexdigest(), 16)
return variants[h % len(variants)]
 
# Kullanım
variant = assign_variant("user_123", "support_prompt_v3", ["v3.0", "v3.1"])
prompt = registry.get("customer_support", variant)
response = llm(prompt + user_msg)
 
# Log
log({
"experiment": "support_prompt_v3",
"variant": variant,
"metrics": {"resolution_rate": ?, "csat": ?, "latency": ?}
})
A/B test allocation

Karar Kriterleri#

Trafiği Kademeli Açma#

  1. Internal test (1 gün)
  2. %1 canary (24 saat) — alarm yok mu?
  3. %10 (48 saat)
  4. %50 (1 hafta) — istatistik anlamlı mı?
  5. %100

Otomatik Rollback Tetikçileri#

  • Error rate +%30 ↑
  • Latency p95 +%50 ↑
  • CSAT -2 puan ↓
  • Customer complaints +%15 ↑
Bunlar otomatik rollback başlatır, insan eli beklemeden.
Tools: Statsig, GrowthBook, LaunchDarkly, Optimizely. Veya kendi yazabilirsin (50 satır kod).

Yorumlar & Soru-Cevap

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

İlgili İçerikler