OpenAI, Anthropic ve Gemini Genelinde Önbelleğe Duyarlı LLM İstemleri Nasıl Tasarlanır
Sabit bilgi istemi önekleri, sağlayıcı bağdaştırıcıları, önbellek telemetrisi, tüy bırakmama kuralları ve yatırım getirisi kontrolleri ile sağlayıcılar arasında önbelleğe duyarlı LLM istek düzenleri tasarlamaya yönelik pratik bir kılavuz.
İstemi önbelleğe alma, yalnızca aynı jetonların doğru yerde, yeterince uzun süre ve gerçekte aradığınız sağlayıcı semantiği altında yeniden kullanılması durumunda yardımcı olur. Ekipler genellikle önbelleğe almayı bir istek mimarisi sorunu yerine bir model özelliği olarak ele aldıkları için bu avantajı kaçırırlar. Her istemin üst kısmına zaman damgaları koyarlar, isteğe özel alma sonuçlarını yeniden kullanılabilir araç şemalarıyla birleştirirler veya bir sağlayıcı için optimizasyon yaparken diğer sağlayıcının maliyetini sessizce artırırlar.
Pratik çözüm, istemi önbelleğe almayı ağ geçidi istek derleyicisinin bir parçası haline getirmektir. Ağ geçidi, kararlı bilgi istemi materyalini geçici istek materyalinden ayırmalı, sağlayıcıya özel önbellek talimatlarını derlemeli ve önbelleğe alınabilir önek ile maliyet ve gecikmeyi ölçmelidir. Bu, OpenAI, Anthropic ve Gemini'nin farklı önbellekleme davranışını, muhasebe alanlarını, TTL'leri ve kurulum maliyetlerini ortaya çıkardığı çok modelli bir ortamda en çok önem taşır.
Sağlayıcıyla Değil, Önbelleğe Alınabilir Birimle Başlayın
Yeniden kullanılabilir birim genellikle istemin tamamı değildir. Birçok isteğin paylaştığı bilgi istemi materyalinden yapılmış bir önek veya bağlam nesnesidir. Bir üretim kurumsal LLM API'de bu materyal genellikle platform politikasını, organizasyon politikasını, uygulama talimatlarını, araç tanımlarını, yanıt formatı kurallarını, kodlama aracısı talimatlarını veya statik derlem kılavuzunu içerir.
Geçici kısım, istek başına değişen materyaldir: kullanıcının mevcut görevi, istek kimlikleri, zaman damgaları, konuşma kuyruğu, yeni alınan RAG pasajları, hesaba özgü veriler ve tek seferlik araç sonuçları. Geçici içerik, kararlı içerikten önce görünüyorsa, önekin yeniden kullanımını bozabilir veya sağlayıcıyı büyük bir istemi yeni olarak değerlendirmeye zorlayabilir.
Gerçek: sağlayıcı uygulamaları farklılık gösterir. OpenAI belgeleri, önbelleğe alınmış jeton hesaplamasıyla, paylaşılan bir önekin yeniden kullanılması olarak önbelleğe almayı ister. Genel bilgi istemi önbelleğe alma makalesi, otomatik önbelleğe almanın 1.024 jetonluk bir önekle başladığını ve 128 jetonluk artışlarla büyüdüğünü ve önbellek girişlerinin genellikle 5 ila 10 dakika işlem yapılmadığında ve son kullanımdan sonraki bir saat içinde temizlendiğini söylüyor. Anthropic açık önbellek kesme noktalarını belgeler ve sistem istemleri veya araç tanımları gibi son paylaşılan bloğa cache_control yerleştirilmesini önerir. Gemini, önbellek işlemleri ve önbellek kullanan oluşturma çağrıları için kullanım meta verilerinde döndürülen önbelleğe alınmış jeton sayımları ile bağlamı önbelleğe almayı ücretli bir özellik olarak belgeler.
Öneri: herhangi bir şeyi sağlayıcı API'lerine eşlemeden önce dahili bilgi istemi temsilinizi kararlı bloklar ve geçici bloklar etrafında tasarlayın.
İstekleri En Kararlıdan En Çoka Derleyin Volatile
Önbelleği tanıyan bir istek derleyicisi, yeniden kullanılabilir en büyük bölümün isteğe özel bölümden önce görünmesini sağlayacak şekilde malzeme sipariş etmelidir. Pratik bir varsayılan sıralama şu şekildedir:
- Platform güvenliği ve uyumluluk politikası.
- Kuruluş veya kiracı politikası.
- Uygulama rolü ve görev talimatları.
- Araç şemaları ve araç kullanım kuralları.
- Statik bilgi veya uzun ömürlü referans materyal.
- Sıralarla yeniden kullanılan konuşma geçmişi.
- Alınan pasajlar veya isteğe özgü diğer bağlamlar.
- Mevcut kullanıcı görevi.
- Yalnızca bu çağrı için gerekli geçici meta veriler.
Bu sıralama evrensel bir gerçek değildir. Talimatlar hareket ettiğinde bazı sağlayıcılar veya modeller farklı tepki verebilir. Politika önceliği ve davranış kalitesi hala önemlidir.Önbelleğe duyarlı sıralamayı kontrollü bir değişiklik olarak ele alın: düzeni değiştirmeden önce ve sonra bilgi istemi regresyon testleri çalıştırın.
Örnek Dahili Bilgi İstemi Blokları
{
"blocks": [
{"id": "platform_policy:v7", "stability": "global", "kind": "system"},
{"id": "org_policy:acme:v3", "stability": "tenant", "kind": "system"},
{"id": "support_agent:v12", "stability": "app", "kind": "instructions"},
{"id": "crm_tools:v5", "stability": "app", "kind": "tool_schema"},
{"id": "kb_static:returns:v2", "stability": "workflow", "kind": "context"},
{"id": "conversation_tail", "stability": "session", "kind": "history"},
{"id": "retrieved_docs", "stability": "request", "kind": "rag"},
{"id": "user_task", "stability": "request", "kind": "user"}
]
}Derleyici, kararlı öneki oluşturduktan sonra karma işlemi yapabilir. Bu karma, önbellek analizi için birleştirme anahtarı haline gelir: model, kiracı, uygulama, önbelleğe alınabilir önek karması, bilgi istemi sürümü, TTL seçimi, önbelleğe alınmamış giriş belirteçleri, önbelleğe alınmış giriş belirteçleri, mevcut olduğunda önbellek yazma belirteçleri, çıktı belirteçleri, gecikme ve son maliyet.
Bir Önbellek Varsayımı Yerine Sağlayıcı Bağdaştırıcıları Kullanın
Tek bir "önbelleği etkinleştirme" bayrağı, çoklu sağlayıcı için çok belirsizdir operasyonlar. Ağ geçidinin bir dahili önbellek politikası ortaya koyması ve bunu sağlayıcıya özel davranış halinde derlemesi gerekir.
OpenAI Bağdaştırıcı
OpenAI için, tekrarlanan paylaşılan önekler ve kullanım hesaplaması için optimizasyon yapın. İstek derleyicisi, sabit malzemeyi ön tarafta tutmalı ve ilk önbelleğe alınabilir aralık içinde küçük farklardan kaçınmalıdır. Sağlayıcı kullanım alanlarından önbelleğe alınmış giriş belirteçlerini izleyin. Mümkün olduğunda, maliyet defterinin önbellek oluşturma ve yeniden kullanımı karşılaştırabilmesi için önbellek yazma belirteçlerini de izleyin.
Önbellekleme önek odaklı olduğundan, önemli operasyonel görev önek kaymasını önlemektir. Zaman damgası, derleme kimliği, rastgeleleştirilmiş araç sırası veya kiracı kişiselleştirmenin en üste yakın bir yerde oluşturulması nedeniyle insanlara aynı görünen iki istem farklı olabilir.
Anthropic Bağdaştırıcı
Anthropic için açık önbellek kesme noktalarını derleyin. Takip istekleriyle paylaşılması gereken son bloğa cache_control yerleştirin. İyi adaylar, büyük sistem talimatları, araç tanımları veya kararlı referans bağlamıdır. Zayıf adaylar, tek seferlik kullanıcı mesajları, mevcut görev yükleri veya isteğe özel RAG parçacıklarıdır.
Gerçek: Anthropic, varsayılan 5 dakikalık önbellek süresini ve ek ücret karşılığında kullanılabilen 1 saatlik önbellek süresini belgelemektedir. Bu, TTL seçimini ekonomik bir karar haline getirir. Uzun bir önbellek, etkileşimli kodlama aracıları, çok adımlı belge incelemesi veya sıralar arasında duraklamalar olan yardımcı pilotları desteklemek için anlamlı olabilir. Düşük tekrarlı, tek seferlik bir görev için israf olabilir.
Gemini Bağdaştırıcı
Gemini için bağlamı önbelleğe almayı bir kaynak kararı olarak değerlendirin. Beklenen yeniden kullanım, kurulum ve depolama maliyetini karşıladığında önbelleğe alınmış içerik oluşturun ve ardından oluşturma çağrılarında bu önbelleğe referans verin. Bu, yalnızca otomatik önek önbelleğine güvenmekten farklıdır. Bağdaştırıcı, önbellek yaşam döngüsüne, TTL'ye, meta verilere ve temizleme politikasına sahip olmalıdır.
Gemini tarzı bağlam önbellekleri çoğu isteğin yeniden kullanacağı geniş, istikrarlı bağlam için genellikle en iyisidir: uzun bir politika kılavuzu, statik bir ürün kataloğu alıntısı, sabit bir kodlama aracısı aracı ortamı veya aynı belge kümesi üzerinden tekrar tekrar sorular soran bir inceleme iş akışı.
Önbellek Ekonomisini Ölçün, Sadece İsabeti Değil Oran
Önbellek isabet oranı faydalıdır ancak yeterli değildir. Küçük bir önekin yüksek isabet oranı çok az tasarruf sağlayabilir. Çok büyük bir politika ve araç önekinin daha düşük bir isabet oranı daha önemli olabilir.Bazı sağlayıcılar önbellek yazma veya kurulum maliyetlerini açığa çıkarır ve bu maliyetler, yeniden kullanım düşükse tasarrufları silebilir.
Sağlayıcının sunduğu veya ağ geçidinin bunları tahmin edebildiği her istek için bu alanları yakalayın:
- Sağlayıcı ve model.
- Kiracı, uygulama, ortam ve API anahtar kimliği.
- İstem şablonu sürümü ve önbelleğe alınabilir önek hash.
- TTL politikası veya önbellek süresi.
- Önbelleğe alınmamış giriş jetonları.
- Önbelleğe alınmış giriş jetonları.
- Mümkün olduğunda önbelleğe yazma veya önbellek oluşturma jetonları.
- Çıkış jetonları.
- İlk jetona ulaşma süresi ve toplam gecikme.
- Maliyet hesaplaması için kullanılan sağlayıcı liste fiyatı sürümü.
- İsteğin etkileşimli bir oturumun, toplu işin, aracı döngüsünün veya tek seferlik çağrının parçası olup olmadığı.
Ardından önbellek değerini genel olarak değil, iş yüküne göre hesaplayın. Destek yardımcı pilotu, kodlama aracısı, belge incelemecisi ve tek seferlik özetleyicinin farklı yeniden kullanım modelleri vardır. Toplamalar, tasarruf edilen dolarları, harcanan önbellek yazma dolarlarını, gecikme değişimini ve önek karmasına göre isabet oranını göstermelidir.
Başlamak için basit bir yatırım getirisi modeli yeterlidir:
expected_savings =
expected_reuses
* cacheable_tokens
* (uncached_input_price - cached_input_price)
net_value =
expected_savings
- cache_write_or_setup_cost
- operational_overhead
Bu model kasıtlı olarak basittir. Üretim ölçümünün yerine değil, uzun ömürlü veya açık önbellekleri etkinleştirmeden önce bir geçit olarak kullanılmalıdır.
Önbellek Kırıcılar İçin Lint Kuralları Ekle
Önbellek hatalarının çoğu, sağlayıcı hatalarından değil, hızlı oluşturma alışkanlıklarından kaynaklanır. İstekler sağlayıcıya ulaşmadan önce çalışan ağ geçidi tüyo kurallarını ekleyin.
Zaman damgalarını istemlerin üst kısmına yakın bir yere işaretleyin. Modelin geçerli saate ihtiyacı varsa, bunu yeniden kullanılabilir önekten sonra yerleştirin veya geç istek bloğu olarak iletin.
Sistem mesajlarında rastgele kimlikleri işaretleyin. Korelasyon kimlikleri, kararlı bilgi istemi önekine değil, meta verilere veya günlüklere aittir.
Dinamik olarak sıralanan araç şemalarını işaretleyin. Oluşturmadan önce araçları ve şema özelliklerini belirleyici bir şekilde sıralayın. Her istekte sırayı değiştiren bir araç listesi, araç seti mantıksal olarak aynı olsa bile yeniden kullanımı ortadan kaldırabilir.
Kararlı araçlardan önce isteğe özel RAG'yi işaretleyin. Alınan pasajlar genellikle uçucudur. Bilgi istemi testleri başka bir sıralamanın gerekli olduğunu kanıtlamadıkça önce sabit talimatları ve araç şemalarını, ardından alınan pasajları koyun.
Paylaşılan politikada kullanıcıya özel kişiselleştirmeyi işaretleyin. Kiracı politikası bir kiracı genelinde önbelleğe alınabilir, ancak kullanıcı tercihleri ve mevcut hesap durumu genellikle önbelleğe alınabilir.
Şablon sürümü değişikliğini işaretleyin. Her dağıtım boşlukları, yorumları veya kullanılmayan talimat metnini değiştirirse önbelleğe alınabilir önek karması değişir. Sürüm istemi şablonları kasıtlı olarak oluşturulur ve büyük kararlı bloklarda gereksiz düzenleme yapılmasından kaçınılır.
RAG İş Yüklerini Dikkatli Bir Şekilde Ele Alın
RAG, ekiplerin sıklıkla aşırı önbellekleme yaptığı yerdir. Kararlı erişim talimatları, alıntı kuralları, araç şemaları ve derlem açıklamaları yeniden kullanılabilir. Alınan pasajların kendisi genellikle isteğe özeldir. Geri alınan pasajları kararlı talimatların önüne koyarsanız yeniden kullanımı azaltırsınız. Pasajların tekrarlanma ihtimalinin düşük olduğu durumlarda tüm içeriği önbelleğe alırsanız, gelecekte yeterli isabet olmadığında yazma veya kurulum maliyetlerini ödeyebilirsiniz.
İstisnalar vardır. Yasal inceleme akışı, destek iş akışı veya ürün belge asistanı, aynı belge paketini tek bir oturumda tekrar tekrar sorgulayabilir. Bu durumda belge bağlamı için daha uzun ömürlü bir önbellek faydalı olabilir.Karar, beklenen yeniden kullanım sayısına, önbellek süresine, belge bağlamının boyutuna ve kullanıcıların aynı materyal üzerinden birden fazla soru sorma eğiliminde olup olmadığına bağlı olmalıdır.
Öneri: RAG bağlamını üç türden biri olarak sınıflandırın: statik derlem kılavuzu, yeniden kullanılabilir oturum bağlamı veya tek seferlik alınan snippet'ler. Varsayılan olarak yalnızca ilk ikisini önbelleğe alın.
Maliyeti Optimize Etmeden Önce Davranışı Doğrulayın
İçeriği daha sonra bir istemde taşımak, önbelleğin yeniden kullanımını iyileştirebilir, ancak aynı zamanda model davranışını da değiştirebilir. Örneğin, araç kurallarının konuşma geçmişinden sonra taşınması bunların etkisini azaltabilir. Politikanın alınan içeriğin altına taşınması talimat önceliğini zayıflatabilir. Açıklamaların değişmesi durumunda şemaların normalleştirilmesi araç seçimini etkileyebilir.
Önbelleğe duyarlı düzenleri kullanıma sunmadan önce regresyon testlerini kullanın. En azından şunu test edin:
- Güvenlik ve uyumluluk politikası için talimat önceliği.
- Bilinen görevlerde araç seçimi.
- Şemaların dahil olduğu yerlerde yapılandırılmış çıktı geçerliliği.
- Temsili RAG örneklerinde yanıt kalitesi.
- Tekrarlanan işlemlerde gecikme ve maliyet döner.
- Sağlayıcıya özel kullanım hesaplaması.
Yüksek riskli iş akışları için bir gölge karşılaştırması çalıştırın: orijinal bilgi istemi düzeni ile önbelleğe duyarlı düzen, aynı model, aynı girişler, kabul edilemez çıktı değişiklikleri için insan veya otomatik kontrollerle. İstek derleyicisi iş davranışını ekiplerin onaylamadığı şekillerde değiştirirse maliyet tasarrufu yararlı olmaz.
İş Yüklerini Seçerek Seçin
İstemleri önbelleğe alma, istemler uzun ve tekrarlandığında en güçlü şekilde gerçekleşir. İyi başlangıç noktaları arasında büyük araç şemalarına sahip kodlama aracıları, politika ağırlıklı talimatlara sahip destek yardımcı pilotları, aynı malzeme üzerinde tekrarlanan sorular içeren belge inceleme akışları, araç ağırlıklı aracılar ve büyük yönetişim bloklarına sahip kurumsal asistanlar yer alır.
Zayıf adaylar arasında kısa tek seferlik istemler, isteğin üst kısmının her seferinde değiştiği son derece kişiselleştirilmiş istemler, sık olmayan yönetici görevleri ve çıktı jetonlarının toplam maliyete hakim olduğu iş akışları bulunur. Bu durumlarda diğer optimizasyonlar daha önemli olabilir: daha kısa istemler, daha iyi erişim, model yönlendirme, toplu işleme veya daha katı çıktı sınırları.
Tahmin: sağlayıcının önbelleğe alma semantiği farklılaşmaya devam edecek. Otomatik önek önbelleğe alma, açık kesme noktaları, ücretli bağlam kaynakları, önbellek yazma muhasebesi ve TTL fiyatlandırmasının platformlar arasında eşitsiz kalması muhtemeldir.Ağ geçidinde istek derlemeyi ve telemetriyi merkezileştiren ekipler, sağlayıcıya özel önbellekleme mantığını uygulama koduna yerleştiren ekiplerden daha hızlı uyum sağlayabilecektir.
Uygulama Kontrol Listesi
- Kararlılık etiketleriyle dahili bir bilgi istemi blok modeli oluşturun: genel, kiracı, uygulama, iş akışı, oturum ve istek.
- Blokları, araç sırası ve şema özelliği de dahil olmak üzere belirleyici bir şekilde işleyin order.
- Geçici alanları kararlı önekin dışına taşıyın.
- Oluşturma sonrasında önbelleğe alınabilir bir önek karması hesaplayın.
- OpenAI önekinin yeniden kullanımı, Anthropic önbellek kesme noktaları ve Gemini bağlam önbellek kaynakları için sağlayıcı bağdaştırıcıları ekleyin.
- Önbelleğe alınmamış giriş jetonlarını, önbelleğe alınmış girişi kaydedin belirteçler, varsa önbellek yazma belirteçleri, çıktı belirteçleri, gecikme, model, kiracı, uygulama, önek karması ve TTL.
- Tasarruf edilen net dolar, yazma/kurulum maliyeti, isabet oranı ve iş yüküne göre gecikme için kontrol panelleri oluşturun.
- Paylaşılan dosyalarda zaman damgaları, rastgele kimlikler, geçici RAG yerleşimi, dinamik araç sırası ve kişiselleştirme için tüy bırakmayan kurallar ekleyin bloklar.
- Üretim düzenini değiştirmeden önce bilgi istemi davranışı regresyon testleri çalıştırın.
- Yüksek tekrarlanan iş yükleri için önce önbelleğe almayı etkinleştirin, ardından ölçülen yatırım getirisine göre genişletin.
Sonuç
Önbelleğe duyarlı bilgi istemi tasarımı yalnızca bilgi istemi biçimlendirmesi değildir. Bu bir ağ geçidi özelliğidir: deterministik oluşturma, kararlı önek tasarımı, sağlayıcıya özel derleme, astarlama ve maliyet telemetrisi. En çok fayda sağlayacak ekipler, her iş yükü için üç soruyu yanıtlayabilen ekipler olacaktır: İsteğin hangi kısmı gerçekten yeniden kullanılabilir, bu sağlayıcı yeniden kullanım için nasıl ücret alıyor ve önbellek, davranışı değiştirmeden uçtan uca maliyeti veya gecikmeyi iyileştirdi mi?
Yüksek tekrarlı bir iş akışıyla başlayın. Kararlı blokları geçici bloklardan ayırın, sağlayıcıya özel önbellek yönetimi ekleyin, ekonomiyi ölçün ve ancak o zaman genelleştirin. Bu yol, yaygın hata modunun önüne geçer: Paradan mı tasarruf ettiğini, gecikmeyi mi artırdığını, yoksa yalnızca maliyeti farklı bir muhasebe alanına mı taşıdığını bilmeden bir önbellek özelliğini açmak.