LLM destekli ajanınız bir demoda mükemmel çalışabilir, ancak birkaç turdan sonra yavaşlayabilir ve faturasını kabartabilir. Gizli suçlu istikrarsız bir model değil; her seferinde modelin işlemesi gereken istemin (prompt) kademeli olarak şişmesi olan "token drift"tir.

Token drift, her etkileşimin modelin girdi bağlamına (input context) daha fazla metin eklemesiyle oluşur. Konuşma geçmişi, araç şemaları (tool schemas), API yanıtları ve getirilen belgeler birikir; böylece sonraki her çağrı daha büyük bir veri yükü taşır. Modelin işleme süresi ve fiyatlandırması girdi token sayısı ile arttığından, maliyet doğrusal değil, karesel olarak yükselir.

Sorun neden demolarda değil de üretim ortamında ortaya çıkar?

Gerçek dağıtımlar her şeyi korur: her kullanıcı ifadesini, her araç çıktısını, getirilen bilginin her parçasını. Bu birikim, gecikme süreleri (latency) artana ve fatura gelene kadar gizli kalır.

Yaygın token drift kaynakları

  • Tekrarlanan dökümler – Eski mesajları özetlemek veya silmek yerine istemde tutmak.
  • Ağır araç şemaları – Her turda araç yeteneklerinin büyük JSON tanımlarını göndermek.
  • Hantal araç sonuçları – Ajanın aslında ihtiyaç duyduğundan daha fazla veri içeren tam API yanıtlarını veya veritabanı satırlarını dahil etmek.
  • RAG şişkinliği – Bazıları güncelliğini yitirmiş veya ilgisiz olan birçok belge parçasını ekleyen RAG (Retrieval-augmented generation).
  • Mükerrer bellek – Bir özeti, bir durum nesnesini (state object) ve ham dökümü birlikte paketleyerek aynı bilgiyi üç kez tekrarlamak.

Bunların her biri, yeni bir muhakeme gücü sağlamayan ancak istem boyutunu şişiren tokenlar ekler.

Token bütçesini nasıl kontrol altında tutarsınız?

1. Katmanlı bir bağlam tasarımı benimseyin

  • Kararlı talimatlar – Sistem istemlerini ve güvenlik kurallarını en üstte tutun ve her turda yeniden göndermek yerine onlara atıfta bulunun.
  • Yapılandırılmış durum (state) – Ajanın hızlıca okuyabileceği hedeflerin, kararların ve tanımlayıcıların kompakt bir temsilini saklayın.
  • Sıkıştırılmış geçmiş – Eski turları kısa, insan tarafından okunabilir bir paragraf halinde özetleyin ve yalnızca bir eşik değere ulaşıldığında güncelleyin.
  • Son turlar – Sürekliliği korumak için son birkaç mesajı olduğu gibi (verbatim) dahil edin.

Sabit metni özetlenebilir içerikten ayırmak, aynı kelimeleri tekrar tekrar göndermenizi engeller.

2. Araç çıktılarını budayın

  • Ajanın gerçekten kullandığı alanları ayıklayın; ayrıntılı açıklamaları çıkarın.
  • Büyük sonuçları kısa bir özet veya bir referans kimliği (ID) ile değiştirin ve tam veri yükünü (payload) bir veritabanında, önbellekte veya blob deposunda saklayın.
  • Bir araç bir liste döndürdüğünde, yalnızca mevcut karar için önemli olan en üstteki N öğeyi gönderin.

3. Akıllı özetleme uygulayın

  • Her turdan sonra özetleme yapmayı atlayın; fazladan işleme ek yük (overhead) getirir.
  • Özeti yalnızca eski turların birikmiş token sayısı önceden belirlenmiş bir sınırı geçtiğinde yenileyin.
  • Kritik gerçekleri (ID'ler, tutarlar, zaman damgaları) düz metin içine gömmek yerine yapılandırılmış bir depoda tutun, böylece özet kısa kalır.

4. Doğru metrikleri takip edin

  • Token kullanımını sadece kullanıcı isteği başına değil, model çağrısı başına günlüğe kaydedin. Bu, girdi tarafındaki gizli büyümeyi ortaya çıkarır.
  • Her turda eklenen girdi token sayısını izleyin; ani bir sıçrama bir drift kaynağına işaret eder.
  • Önbelleğe alınmış tokenları (önceki çağrılardan yeniden kullanılanlar) yeni oluşturulan tokenlardan ayırın; drift'e yalnızca ilki neden olur.

İstem'i (prompt) sonsuz bir döküm değil, sınırlı bir kaynak olarak değerlendirin. Bilinçli bir şekilde ölçerek, özetleyerek ve budayarak LLM ajanınızı hızlı, uygun maliyetli ve üretim ölçeğine hazır tutarsınız.

Özetle: Token drift, maliyetleri sessizce artırır ve ajanları yavaşlatır. İsteminizin büyüyen kısımlarını belirleyin, bunları sıkıştırın veya harici hale getirin ve çağrı başına token kullanımını izleyin. Disiplinli bir yaklaşım, öngörülemeyen fatura şoklarını yönetilebilir ve bütçe dostu bir operasyona dönüştürür.