Skip to content

If You Can't Measure It, You Can't Optimize It: LLM Telemetry Philosophy and Establishing Your First Baseline

The oldest motto in engineering applies to LLMs: measure first, optimize next. This lesson covers why telemetry-less optimization is a blind war, the 5 metrics you must track, and how to establish your first baseline in 30 days.

Şükrü Yusuf KAYA
18 min read
Intermediate
If You Can't Measure It, You Can't Optimize It: LLM Telemetry'nin Felsefesi ve İlk Baseline'ını Kurmak
📏 Bir baba lafı: "Ölçemediğini yönetemezsin"
Peter Drucker'ın bu cümlesi 1970'lerden beri her mühendisin masasında. AI çağında daha da kritik. Bu modülün ana mesajı: optimize etmeden önce ölç. Optimize ederken A/B karşılaştır. Optimize ettikten sonra regression'ı izle. Üçü olmadan optimizasyon kumar.

Telemetry olmadan ne kaybediyorsun?#

Telemetry'siz bir LLM iş yükü çalıştırıyorsan, aşağıdaki 7 şey net kayıp:

1. Maliyet sürprizini görmüyorsun#

Faturayı ay sonunda görüyorsun. Anomali olduğunda kaybettiğin 30 gün geri gelmez.

2. Hangi feature'ın hangi maliyet?#

"AI özelliğimiz pahalıya geldi" diyorsun — ama hangi feature? Hangi kullanıcı? Hangi prompt yolu?

3. Optimizasyon işe yaradı mı?#

Prompt'u kısalttın, %30 tasarruf bekledin. Gerçekte %12 oldu, %18'i nerede kayboldu? Bilemezsin.

4. Cache hit ratio nedir?#

Anthropic prompt cache aktif ettin, ama gerçekten cache hit alıyor musun? Yoksa miss mi? %20'mi %80'mi?

5. P95 latency#

Ortalama latency 800ms. Ama %5 kullanıcı 5 saniye bekliyor. Bunu görmüyorsan UX bug'larını çözmüyorsun.

6. Provider güvenilirliği#

Hangi sağlayıcı kaç kez 5xx döndü? Fallback ne kadar tetiklendi?

7. Anomali tespiti#

Bir gün maliyet 5×'e fırladı. Tetik ne idi? Hangi user? Hangi prompt? Sebepsiz değil, ama logsuz görünmez.
Bu yedi şeyin hepsini çözen tek bir şey var: telemetry.

5 Zorunlu LLM Metriği#

Production LLM'de mutlaka izlemen gereken 5 metrik:

Metrik 1 — $/Request#

  • Ne ölçer: Her isteğin ortalama maliyeti
  • Hedef: İş yüküne göre, ama trend aşağı doğru olmalı
  • Alarm: %20+ artış 24 saatte

Metrik 2 — Token usage (input/output/cached)#

  • Ne ölçer: Token harcamasının dağılımı
  • Hedef: Cache hit ratio > %60 (kullanıyorsan)
  • Alarm: Cache hit ratio düşüş

Metrik 3 — Latency percentile (p50/p95/p99)#

  • Ne ölçer: Yanıt süresi dağılımı
  • Hedef: p95 < 3s (UX kritik için)
  • Alarm: p99 > 10s

Metrik 4 — Error rate (4xx, 5xx, timeout)#

  • Ne ölçer: Başarısız isteklerin yüzdesi
  • Hedef: < %0.5
  • Alarm: %1 üstü 5 dakikada

Metrik 5 — Cost attribution (user, feature, team)#

  • Ne ölçer: Maliyetin kime/neye atfedildiği
  • Hedef: %95+ requests attributed (1 user/feature etiketli)
  • Alarm: Bilinmeyen attribution %5+
Bu 5'i ölçmüyorsan production-ready değilsin. Üçünden fazla çözüm gerekirse Modül 15 (production cost engineering) hayatını kurtarır.
5 metrik bir dashboard'da
Production-grade LLM observability — her metrik tek paneldə.

İlk Baseline'ı 30 Günde Kur#

Yeni bir LLM iş yükü başlattıysan veya mevcut bir iş yükünü ölçmeye yeni başlıyorsan, ilk 30 gün baseline aşamasıdır.

Hafta 1 — Setup#

  • Langfuse / Helicone hesap aç
  • LiteLLM proxy veya SDK monkey-patch ile her LLM çağrısını yakala
  • 5 metriği dashboard'a koy
  • Slack alert kanalı kur

Hafta 2 — Veri Toplama#

  • Tüm çağrılar telemetry'ye gidiyor mu? Verify et
  • Eksik attribution'ları kapat (user_id, feature_tag eksik mi?)
  • Bir-iki "anomali" çıksın (gerçek user'lar deniyor)

Hafta 3 — Pattern Analizi#

  • En pahalı 10 feature kim?
  • En pahalı 10 user kim?
  • Cache hit ratio nereye düşüyor?
  • P95 latency outlier'lar hangi prompt?

Hafta 4 — Baseline'ı Belge Le#

  • $/request baseline değer: ___
  • Aylık total cost: ___
  • Cache hit ratio: ___
  • Error rate: ___
  • p95 latency: ___
Bu 5 sayı, gelecekteki her optimizasyon karar tabanın. Optimize ederken "%X tasarruf" demek için baseline'ı bilmen gerek.
💡 Doğrudan bir kural
Eğer aylık AI fatura kalemi $1.000'in üzerinde ve telemetry'in yoksa, iki gün ayır ve önce telemetry kur. Optimize etmeye başlamadan önce. Bu emek 30 günde 10× geri döner.

"Optimize ettik gibi geliyor" anti-pattern'ı#

Aşağıdaki sahneler bana çokça anlatıldı:
"Sistem prompt'u kısalttık, fatura aşağı düşmüş gibi sanki?"
"Prompt cache açtık ama emin değilim ne kadar tasarruf var..."
"Yeni model'e geçtik, kalite aynı sanırım..."
Her birinde eksik olan tek şey: telemetry.

Doğru karşılığı#

"Sistem prompt'u 1500 → 600 token kısalttık. Langfuse dashboard'da /request/request **0.014 → 0.008du¨s\ctu¨.Cachehitratio0.008** düştü. Cache hit ratio %48 → %72 yükseldi. Aylık 4.300 tasarruf bekleniyor."
İşte bu cümleyi söyleyebildiğinde gerçekten optimize ediyorsun, sanırım değil.

Cost Attribution — En kritik tek özellik#

Bir B2B SaaS'da telemetry'in en önemli parçası cost attribution. Çünkü:
  • Hangi müşteri ne kadar harcatıyor?
  • Hangi feature kâr getiriyor?
  • Hangi takım hangi bütçeyi tüketiyor?
Bu üç sorunun cevabı olmadan ne fiyatlandırma ne strateji olabilir.

Attribution etiketleri#

LLM çağrılarına mutlaka şu meta verileri koy:
metadata = { "user_id": "user_42", "tenant_id": "acme-corp", "feature": "smart_search", "team": "consumer", "trace_id": "req_xyz123", "session_id": "session_abc", }
Bu beş etiket telemetry'nin omurgası. Modül 4'te (cost attribution) detaylı işliyoruz.

Hangi aracı seçmeli — Hızlı önizleme#

Bir sonraki derste detayda işleyeceğiz ama özet:
AraçHangi senaryo
Langfuse cloudHızlı başlangıç, ücretsiz tier cömert
Langfuse self-hostedKVKK/GDPR + tam kontrol
HeliconeProxy yaklaşımı, kod değişikliği minimal
LangSmithLangChain ekosistem
Phoenix (Arize)Open source, eval-friendly
OpenTelemetry GenAIStandardize spans, vendor-agnostic
Datadog APMMevcut Datadog kullanıyorsan
Custom (ClickHouse + Grafana)Maksimum kontrol, mühendislik yükü
▶️ Sıradaki ders
3.2 — Usage Objesi Anatomi. OpenAI, Anthropic, Gemini API'lerinin response'undaki
usage
objesinin yapısı, hangi alanlar var, neyi neden gösteriyor, hangi alanları cache analizinde kullanırız.

Frequently Asked Questions

Cloud-managed (Langfuse cloud / Helicone): 1-3 hours full setup. Self-hosted (ClickHouse + Grafana): 1-2 days. KVKK-compliant enterprise setup: 1-2 weeks. Module 3.5 walks through self-hosted step-by-step.

Yorumlar & Soru-Cevap

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

Related Content

Connected pillar topics

Pillar topics this article maps to