İçeriğe atla
SinaptikLabAI KNOWLEDGE PLATFORM
RehberOrtaMaliyet Mühendisliği

Model çağrısı maliyetini iş akışına etiketlemek

Model çağrısı maliyeti, faturayı sağlayıcı panelinden okuyarak değil, her isteğe iş akışını tanımlayan sabit bir etiket kümesi (akış, adım, birim iş, kiracı, ortam, model) yazıp bu etiketleri çağrı zincirinin tamamına taşıyarak yönetilir. Karar ölçütü toplam harcama değil birim iş başına maliyettir: çözülen talep, işlenen belge veya tamamlanan görev başına düşen tutar. Bu sayı elinizde yoksa model kademelendirme ve önbellek yatırımı tahmine dayanır; elinizdeyse hangi adımın küçük modele ineceği ve hangi istemin önbelleğe alınacağı ölçümle seçilir.

ÖNKOŞULLAR

  • Model çağrılarının tek bir istemci katmanından veya çıkarım ağ geçidinden geçiyor olması
  • Yanıt üst verisindeki token kullanımı, model adı ve önbellek isabet bilgisine erişim
  • Sistemin ürettiği "birim iş"in yazılı tanımı: çözülen talep, işlenen belge veya tamamlanan görev
  • Kullanım kayıtlarını saklayıp gruplayabileceğiniz bir sorgu yüzeyi

GEREKEN ARAÇLAR

  • Merkezî model istemcisi veya çıkarım ağ geçidi
  • Çağrı zinciri bağlamını taşıyabilen iz kaydı (tracing) toplayıcısı
  • Analitik veya zaman serisi veri deposu
  • Pano ve raporlama katmanı
  • Önbellek katmanı (istem öneki veya tam cevap önbelleği)
  • İstek tekrar oynatma (replay) veya yük üretme aracı
  1. 01

    Birim işi tanımla

    Maliyeti hangi iş biriminin başına böleceğinize önce karar verin: çözülen destek talebi, işlenen belge veya tamamlanan ajan görevi. Bu tanım tüm raporlamayı belirler.

    Token başına maliyet hiçbir kararı beslemez, çünkü kimse token satın almıyor; herkes bir işin yapılmasını satın alıyor. Birim iş tanımı bu yüzden mühendislikten değil üründen gelir ve tek cümleyle yazılabilmelidir. Tanım netleşmeden kurulan pano, üzerine bakılan ama üzerinden karar verilmeyen bir panodur.

    SistemBirim işSayacın tutulduğu yer
    Destek asistanıKapatılan destek talebiTalep yönetim sistemi
    Belge işleme hattıUçtan uca işlenmiş belgeHat orkestratörü
    Kod yardımcısıKabul edilen değişiklik önerisiSürüm kontrol olayı
    Ajan otomasyonuTamamlanan görevGörev kuyruğu
    Sayaç model tarafında değil iş tarafında tutulur; model hattı yalnızca o sayaca etiketle bağlanır.
  2. 02

    Etiket şemasını sabitle

    Her model çağrısına yazılacak etiket anahtarlarını sabit bir kümeye kilitleyin: akış, adım, birim iş kimliği, kiracı, ortam ve model. Serbest metin etiket raporlamayı bozar.

    Etiket şemasının iki özelliği var: anahtar kümesi sabit, değer kümesi mümkün olduğunca sonlu. Sabit anahtar, altı ay sonra yazılan sorgunun bugünkü kayıtlarda da çalışmasını sağlar. Sonlu değer ise gruplama maliyetini öngörülebilir tutar; sınırsız kardinaliteli bir alan boyut olarak kullanıldığında analitik depo şişer ve sorgular kullanılamayacak kadar yavaşlar.

    json
    {
      "cagri_kimligi": "c-8f21",
      "birim_is_kimligi": "talep-44120",
      "etiketler": {
        "akis": "destek-asistani",
        "adim": "niyet-siniflandirma",
        "kiraci": "kurum-a",
        "ortam": "uretim",
        "model": "<model-adi>",
        "surum": "<istem-surumu>"
      },
      "kullanim": {
        "girdi_token": 0,
        "cikti_token": 0,
        "onbellek_isabeti": false,
        "gecikme_ms": 0,
        "sonuc": "basarili"
      }
    }
    AnahtarDeğer kümesiHangi soruyu cevaplar
    akisSonlu, ürün tarafından tanımlıHangi ürün yüzeyi harcıyor
    adimSonlu, hat tarafından tanımlıHattın hangi halkası pahalı
    kiraciSonlu, müşteri listesiMaliyet hangi müşteriye ait
    ortamuretim / hazirlik / gelistirmeHarcama gerçek trafik mi
    modelSonlu, kullanılan modellerKademe değişikliği işe yaradı mı
    surumSonlu, istem sürümleriHangi istem sürümü maliyeti değiştirdi
    Altı anahtarın altısı da her çağrıda zorunlu; eksik etiketli çağrı hataya değil, ayrı bir "etiketsiz" kovaya yazılır.
  3. 03

    Etiketi çağrı zincirinin tamamına taşı

    Etiketi isteğin girdiği yerde bir kez üretip çağrı bağlamına koyun; alt çağrılar, yeniden denemeler ve ajan araç çağrıları bu bağlamı miras alsın. Taşınmayan etiket kayıp maliyettir.

    Etiketleme projelerinin çoğu şemada değil yayılımda başarısız oluyor. Etiket giriş noktasında doğru üretiliyor, ama arka plan işine, kuyruk tüketicisine veya ajanın alt çağrısına geçtiğinde bağlam kopuyor. Sonuçta panonun gösterdiği tablo, gerçek harcamanın yalnızca senkron kısmını temsil ediyor ve en pahalı iş yükü görünmez kalıyor.

    python
    from contextvars import ContextVar
    
    ETIKET = ContextVar("etiket", default={})
    
    
    def etiketli_calistir(etiketler, islev, *args, **kwargs):
        """Bağlamı bir kez kurar; alt çağrılar aynı etiketi miras alır."""
        jeton = ETIKET.set({**ETIKET.get(), **etiketler})
        try:
            return islev(*args, **kwargs)
        finally:
            ETIKET.reset(jeton)
    
    
    def model_cagir(istem, **secenekler):
        etiketler = ETIKET.get()
        if not etiketler.get("akis"):
            kaydet_etiketsiz_cagri(istem)  # sessizce geçme, say
        yanit = istemci.uret(istem, **secenekler)
        kullanim_yaz(etiketler, yanit)
        return yanit
    • Kuyruk ve arka plan işleri: etiket mesajın gövdesine değil, iş üst verisine yazılır.
    • Yeniden denemeler: aynı birim iş kimliğini korur, deneme sayacını ayrı alan olarak tutar.
    • Ajan araç çağrıları: alt çağrı kendi adımını yazar, üst bağlamı ezmez.
    • Toplu (batch) işler: tek bir toplu işin altındaki her öğe kendi birim iş kimliğini alır.
    • Not defteri ve elle koşturulan betikler: ortam etiketi "gelistirme" olarak zorlanır.
  4. 04

    Kullanımı çağrı anında kaydet

    Girdi ve çıktı token sayısını, model adını, önbellek isabetini ve gecikmeyi çağrının döndüğü anda etiketlerle birlikte yazın; bu kayıt sonradan faturadan geriye üretilemez.

    Kullanım üst verisi yanıtla birlikte gelir ve yanıt tüketildikten sonra kaybolur. Fatura ise toplulaştırılmış bir belgedir: hangi akışın, hangi adımın veya hangi kiracının harcadığını taşımaz. Bu yüzden kayıt noktası çağrının kendisidir; başka bir yerde kurulan hat, kaçınılmaz olarak tahmine döner.

    • Girdi ve çıktı token sayısı — sağlayıcının döndürdüğü değer, kendi tahmininiz değil.
    • Model kimliği ve varsa sürüm bilgisi.
    • Önbellek isabeti: tam isabet, önek isabeti veya isabetsiz.
    • Gecikme ve sonuç: başarılı, hata, zaman aşımı, iptal.
    • Yeniden deneme sayacı ve varsa yedek modele düşme bilgisi.
  5. 05

    Faturayla mutabakat kur

    Kendi kayıtlarınızdan hesapladığınız dönem toplamını sağlayıcı faturasıyla karşılaştırın; aradaki fark etiketlenmemiş trafiğin büyüklüğüdür ve kapatılmadan rapor yayımlanmaz.

    Mutabakat, etiket hattının tek nesnel doğrulamasıdır. Kendi toplamınız faturadan belirgin biçimde düşükse hattın görmediği trafik var demektir; yüksekse fiyat tablonuz veya sayım mantığınız yanlıştır. Her iki durumda da fark kapatılmadan yayımlanan bir pano, ekibi yanlış bir güvenle karar almaya iter.

    1. 1Dönemi sabitle

      Faturanın kapsadığı aralığı ve saat dilimini kendi sorgunuzla birebir eşleyin; gün kayması tek başına anlamlı bir fark üretir.

    2. 2Fiyat tablosunu tek yerden oku

      Birim fiyatları koda gömmeyin; sürümlenmiş tek bir yapılandırma kaynağından okuyun, böylece geçmiş hesap yeniden üretilebilir.

    3. 3Farkı adreslendir

      Kalan farkı etiketsiz kovaya, ayrı anahtarlara veya farklı fiyatlanan kiplere (görsel, ses, gömme) atayın; "açıklanamayan" kovası boş kalmalı.

    4. 4Mutabakatı tekrar eden işe bağla

      Dönem sonunda elle değil, her dönem otomatik koşan bir kontrol olarak çalıştırın ve sapma eşiğini uyarıya bağlayın.

  6. 06

    Birim iş başına maliyeti dağılımıyla raporla

    Ortalama tek başına yanıltır. Birim iş başına maliyeti medyan ve üst yüzdeliklerle birlikte raporlayın, pahalı kuyruğu ayrı bir liste olarak çıkarın.

    Birim iş maliyetinin dağılımı hemen her sistemde çarpıktır: işlerin büyük kısmı ucuzdur, küçük bir kısmı harcamanın kayda değer bir bölümünü tüketir. Ortalama bu kuyruğu düzler ve ekibe "maliyet makul" der. Oysa kuyruktaki işlerin nedeni genellikle fiyat değil yapıdır ve yapısal nedenler düzeltilebilir olduğu için en yüksek getirili iş oradadır.

    BelirtiMuhtemel nedenBakılacak yer
    Birkaç birim iş harcamayı domine ediyorDurmayan ajan döngüsüBirim iş başına çağrı sayısı
    Girdi tokenı zamanla artıyorBağlama eklenen geçmiş kırpılmıyorİstem oluşturma katmanı
    Çıktı tokenı beklenenden uzunBiçim sözleşmesi yok veya zayıfÇıktı şeması ve durdurma koşulu
    Aynı iş iki kez ücretlendiriliyorYeniden deneme yeni birim iş sayılıyorEtiket yayılımı
    Gece saatlerinde ani sıçramaZamanlanmış toplu iş etiketsizArka plan iş bağlamı
    Beş belirtinin beşi de model değiştirerek değil, hattın önceki adımlarında çözülür.

    Doğrulama adımı: en pahalı yirmi birim işin izini elle okuyun. Bu yirmi izin ortak deseni, panonun hiçbir grafiğinde görünmeyen ama bütçenin önemli bir kısmını açıklayan tek maddedir.

  7. 07

    Adımları model kademesine ayır

    Her adımı ayrı değerlendirin: sınıflandırma ve çıkarım adımları küçük modele inebilir, muhakeme gerektiren adım büyükte kalır. Kademe değişikliği kalite kapısından geçmeden yayımlanmaz.

    Kademelendirme ürün düzeyinde değil adım düzeyinde bir karardır. Bir hatta niyet sınıflandırma, alan çıkarımı, yeniden yazma ve nihai muhakeme adımları aynı modeli kullanmak zorunda değil. Etiket şeması zaten adım kırılımını verdiği için, hangi adımın maliyetin çoğunu ürettiği ölçülebilir; kademe kararı da tahminle değil o kırılımla verilir.

    Adım tipiKademe adayıKarar ölçütü
    Sınıflandırma, yönlendirmeKüçük modelEtiket doğruluğu donmuş sette düşmüyorsa
    Yapılandırılmış alan çıkarımıKüçük model + şema doğrulamaŞema ihlali oranı artmıyorsa
    Yeniden yazma, özetlemeOrta kademeİnsan incelemesinde kabul oranı korunuyorsa
    Çok adımlı muhakeme, araç planlamaBüyük modelGörev tamamlama oranı kademeye duyarlıysa
    Son kullanıcıya giden nihai cevapÜrün kararıKalite düşüşü kullanıcıya görünür olduğu için ayrı eşik
    Sağ sütun doldurulmadan sol sütun uygulanmaz; ölçütsüz kademe düşürme, maliyeti kaliteyle takas eder ve takası kimse görmez.
  8. 08

    Önbellek kazancını ve bütçe eşiğini aynı etikete bağla

    Önbellek isabet oranını birim iş maliyetinin yanında raporlayın ve her etiket kümesi için bir bütçe eşiği tanımlayıp sapma durumunda uyarı üretin.

    İki farklı önbellek var ve gereksinimleri farklı. Tam cevap önbelleği, aynı girdinin aynı cevabı üretmesinin kabul edilebilir olduğu adımlarda çalışır; kişiselleştirilmiş cevaplarda kullanılamaz. İstem öneki önbelleği ise önekin birebir aynı kalmasını ister: sistem istemi, araç tanımları ve sabit talimatlar başta, değişken içerik sonda durmalıdır. Öneke tarih damgası veya kullanıcı adı eklemek, önbelleği fark edilmeden devre dışı bırakır.

    • İşe yarar: sabit sistem istemi, uzun araç şemaları ve değişmeyen alan bağlamı önde duruyorsa.
    • İşe yarar: aynı belgeye arka arkaya sorulan farklı sorular tek oturumda işleniyorsa.
    • İşe yaramaz: her istekte öneke değişken bir değer (zaman, oturum kimliği) yazılıyorsa.
    • İşe yaramaz: trafik seyrekse ve tekrar aralığı sağlayıcının saklama penceresini aşıyorsa.
    • Riskli: kişiselleştirilmiş veya yetkiye bağlı cevaplar tam cevap önbelleğine yazılıyorsa.

    Bütçe uyarısını toplam harcamaya değil birim iş maliyetine kurun. Toplam harcamanın artması büyümenin doğal sonucu olabilir ve her artışta alarm çalan bir sistem kısa sürede susturulur. Birim iş maliyetindeki sapma ise neredeyse her zaman bir regresyondur: şişen bağlam, yeni bir yeniden deneme yolu ya da sessizce devre dışı kalmış bir önbellek.

SIK DÜŞÜLEN TUZAKLAR

  • Faturayı maliyet ölçümü sanmak

    Sağlayıcı faturası toplulaştırılmış tek bir rakamdır ve iş akışı bilgisi taşımaz. Faturaya bakarak yapılan optimizasyon, hangi adımın pahalı olduğu bilinmeden yapılır; ilk hamle genellikle en çok konuşulan yere iner, en çok harcayan yere değil.

  • Kullanıcı kimliğini gruplama boyutu yapmak

    Sınırsız kardinaliteli bir alanı boyut olarak kullanmak analitik depoyu şişirir ve sorguları kullanılamaz hale getirir. Kullanıcı ve birim iş kimliği birleştirme anahtarı olarak saklanır, boyut olarak değil.

  • Token fiyatına bakıp kademe düşürmek

    Küçük model çağrı başına ucuzdur ama daha uzun çıktı üretip daha çok yeniden deneme tetiklerse birim iş maliyeti yükselir. Kararın verildiği sayı çağrı fiyatı değil, tamamlanmış iş başına maliyettir.

  • Önbelleği ölçmeden açmak

    İstem öneki her istekte değişiyorsa isabet oranı düşük kalır ve eklenen karmaşıklık karşılıksızdır. İsabet oranı etiketle birlikte raporlanmadan önbellek bir kazanç sayılmaz.

  • Ortalamayı tek gösterge yapmak

    Pahalı kuyruk ortalamanın altında gizlenir. Durmayan ajan döngüsü, kırpılmayan geçmiş ve şişmiş bağlam gibi yapısal sorunlar yalnızca üst yüzdeliklerde görünür hale gelir.

KONTROL LİSTESİ

  • Birim iş tanımı yazılı ve ürün tarafıyla mutabık
  • Etiket anahtar kümesi sabit; serbest metin etiket yok
  • Etiket arka plan işlerinde, yeniden denemelerde ve araç çağrılarında da taşınıyor
  • Başarısız ve zaman aşımına uğrayan çağrılar da kullanım kaydına giriyor
  • Dönem toplamı sağlayıcı faturasıyla mutabık; kalan fark adreslenmiş
  • Birim iş maliyeti medyan ve üst yüzdeliklerle raporlanıyor
  • Her kademe değişikliği aynı değerlendirme setinden geçirildi
  • Etiket kümesi başına bütçe eşiği ve sapma uyarısı tanımlı

Maddelerin tamamı işaretlenmeden kurulum üretime alınmamalı.

Sık sorulan sorular

Model maliyetini ekipler arasında nasıl paylaştırırım?

Kiracı ve akış etiketlerini her çağrıya yazıp maliyeti bu iki boyutta toplayarak. Paylaşılan maliyet kalemleri — ortak sistem istemi, ortak gömme dizini — ayrı bir kovaya yazılır ve kullanım oranına göre dağıtılır; bu dağıtım kuralı da raporun içinde görünür olmalı, aksi hâlde her dönem yeniden tartışılır.

Önbellek maliyeti gerçekten düşürür mü?

İstem öneki istekler arasında birebir aynı kaldığında ve tekrar aralığı sağlayıcının saklama penceresinin içinde olduğunda düşürür. Öneke zaman damgası, oturum kimliği veya kullanıcı adı eklendiğinde isabet oranı sıfıra yaklaşır. Kazancı ölçmenin tek yolu isabet oranını ve birim iş maliyetini yan yana raporlamaktır.

Küçük modele geçmek her zaman ucuzlatır mı?

Hayır. Çağrı başına fiyat düşerken küçük modelin daha uzun çıktı üretmesi, şema ihlali nedeniyle yeniden denenmesi veya görevi tamamlayamayıp büyük modele devretmesi birim iş maliyetini yükseltebilir. Karar, aynı değerlendirme seti üzerinde önce ve sonra ölçülen birim iş maliyetiyle verilir.

Panoda hangi metrikler durmalı?

Dört tanesi yeterli: birim iş başına maliyet (medyan ve üst yüzdelik), birim iş başına çağrı sayısı, önbellek isabet oranı ve etiketsiz trafik oranı. Toplam harcama bu dördünün altında, bağlam olarak durur; başında değil.

Kaynaklar

  1. 01Sağlayıcı fiyatlandırma, kullanım üst verisi ve istem önbelleği dokümantasyonları — Model ve altyapı sağlayıcıları · Dokümantasyon
  2. 02Dağıtık iz kaydında bağlam yayılımı belirtimi — OpenTelemetry · Dokümantasyon
  3. 03Sinaptik Research — maliyet etiketleme ve mutabakat uygulama notları — Sinaptik Lab · Teknik rapor

BUILD

Bu rehberi kurumunuzda uygulayalım mı?

Aynı mimariyi kendi verinizle kurmak için discovery oturumundan üretime kadar birlikte ilerliyoruz.