AIDive

Jev Claude Code'u Yavaşlattı, Kendi Testi Söylüyor

AIDive tarafından · Yayın

Kodlama agent'larıYapay zekâ modelleri

Giriş: tasarruf değil, ipucu

Jev, Claude Code'u ucuzlatmayacak, ve gateway'in kendi benchmark'ı da bunu söylüyor. Bu yazı jev-gateway'in kodunu ve benchmark deposunu okuyor, sonra gerçek bir Claude Code oturumunun önüne loglama yapan bir proxy koyup bir router'ın ne alacağına bakıyor.

Jev, TypeSafe'in karar modeli: milisaniyeler içinde dönen bir olasılık, bir haftada altı videoyla Claude Code'a bağlandı. Satış cümlesi "en ucuz agentic kodlama döngüsü". Gateway'in kendi rakamları, routing açıkken Opus 5'in bir feature görevinde %47 daha fazla istek attığını ve %83 daha fazla süre harcadığını gösteriyor.

Milisaniyede yanıt veren bir router, Claude Code'u nasıl yavaşlatır? Bu, tek bir kod satırına dayanıyor. Claude Code'un içinde Jev'e tam olarak iki cümle veriliyor, sıradan bir oturum ise her çağrıda ona 40 araç veriyor.

Jev nedir, dalga ne satıyor

Jev, TypeSafe'in bir karar modeli. Hiç metin üretmiyor: tiplenmiş bir soru soruyorsunuz, o da bir seçim, bir skor ya da evet/hayır olasılığıyla yanıt veriyor. Üreticinin rakamları:

Rakam Değer
Input fiyatı milyon token başına $0.04
Output fiyatı ücretsiz ("ölçülemeyecek kadar ucuz")
Gecikme 70 ila 500 ms
Ana sayfa başlığı 194× daha hızlı, 445× daha ucuz

Bu başlığın altındaki blog yazısı, iki çarpanın gerçek dünyadaki kazanımların üst sınırı olduğunu, iki öncü modelin ortalamasına karşı ölçüldüğünü ve yazarların bu karşılaştırmanın o modeller lehine yanlı olduğunu kabul ettiğini söylüyor.

Beş günde altı video, Jev'i Claude Code'a bağladı. En büyüğü 139.000 izlenmeye ulaşıp buna en ucuz agentic kodlama döngüsü diyor. Dalgayı iki repo taşıyor: jev-gateway, Claude Code ve Codex için beş gün önce oluşturulmuş, 181 yıldızlı yerel bir proxy; ve fast-jev-compaction, bir gün önce oluşturulmuş, 6.400 yıldızlı bir compaction plugin'i. Claude Code'un bağlandığı yer gateway olduğu için, okuma oradan başlıyor.

Tek ortam değişkeni, tek satır: hint modu

jev-gateway, Claude Code ile Anthropic API'si arasına oturuyor. Claude Code'u tek bir ortam değişkeniyle, yerel bir porta yönlendirilmiş ANTHROPIC_BASE_URL ile başlatıyor. Başka hiçbir şey değişmiyor; kaynak koddaki bir yorum, gateway'e ait bir kimlik bilgisi olmadığını, yani bir Pro ya da Max girişinin olduğu gibi çalışmaya devam ettiğini söylüyor.

Adaptörün içinde (src/adapters/messages.ts, satır 99), Jev'in ne yapmasına izin verildiğine tek bir satır karar veriyor:

steer: thinking || cached ? "hint" : "tool_choice"

Extended thinking açıkken ya da konuşma cache'liyken, gateway yalnızca hint verebiliyor. Aksi halde aracı zorluyor. Satırın üstündeki yorum nedenini açıklıyor: extended thinking açıkken API zorlanmış bir aracı reddediyor, ve tool_choice'u değiştirmek Claude Code'un her turda yeniden okuduğu cache'lenmiş konuşmayı geçersiz kılıyor.

Gerçek bir isteğin neye benzediğini görmek için, aynı türde bir portta gateway'in yerine 60 satırlık loglama yapan bir proxy geçirildi, Claude Code bu proxy üzerinden başlatıldı ve gerçek bir repo üzerinde tek bir istek gönderildi. İstek thinking: adaptive ve üç cache işareti taşıyor; tool_choice yok; temiz bir kurulumda 24 araç isteğe eşlik ediyor. Gateway'in satırını bu isteğe karşı çalıştırınca zorlama yolu hiç tetiklenmiyor. Her Claude Code çağrısı hint modunda kalıyor. README de bunu söylüyor: büyük araç listelerinde daha iyi araç seçimi bekleyin, daha düşük maliyet ya da gecikme değil.

İpucu: iki cümle, ve inemediği yer

Jev'in Claude Code içinde yapmasına izin verilen şey, son mesaja eklenen iki cümle: "a routing model suggests this tool is the most relevant move now. Ignore this if it doesn't fit." Müdahalenin tamamı bu. Model bunu görmezden gelmekte özgür, ve tool_choice auto'da kalıyor.

Anthropic'in dokümanlarına göre bir aracı zorlamak seçenek değil: zorlanmış bir araç Opus 5.5 ve Fable 5.1'de 400 hatası döndürüyor, diğer modellerde manuel thinking ile hata veriyor. tool_choice'u değiştirmek de mümkün değil: prompt caching dokümanları bunun messages cache'ini, uzun bir oturumun en büyük parçasını, geçersiz kıldığını söylüyor. Bir aracın açıklamasını düzenlemek tüm cache'i geçersiz kılıyor: tools, system ve messages.

İsteğe yapılan değişiklik Prompt cache üzerindeki etkisi
Son kullanıcı mesajına bir hint ekle cache'lenmiş önek değişmez
tool_choice'u değiştir messages cache geçersiz kılınır
Bir araç tanımını düzenle tools, system ve messages geçersiz kılınır

Gateway'in yorumu hint'in neden en sona konduğunu söylüyor: cache'lenmiş önek, Claude Code'un bir sonraki turda yeniden gönderdiği şeyle byte byte aynı kalıyor. Bunun önünde bir koruma var: son mesaj kullanıcıya ait değilse, istek dokunulmadan geçiyor. Yakalanan iki isteğin ikisi de Claude Code'un kendisinin eklediği bir system blokla bitti, biri bir environment reminder, diğeri bir hook'un çıktısıydı. Bu şekilde hint'in inecek bir yeri yok. Diğer turlarda iniyor, çünkü araç sonuçları kullanıcı mesajı olarak geri geliyor, ve benchmark Jev'in Claude Code isteklerinin üçte biri ile yarısını yönlendirdiğini sayıyor.

Kimsenin alıntılamadığı benchmark

Gateway'in kendi benchmark'ı, jev-gateway-bench, açılış sorusunu yanıtlıyor. Herkesin kullandığı aynı Claude Code ve aynı abonelikle, MCP sunucusu, plugin ya da skill olmadan, hücre başına beş çalıştırmayla 120 oturum koştu. Küçük bir satranç motoru üzerinde iki görev: beş bug enjekte edilmiş bir bug avı, ve bir feature, algebraic notation eklemek.

Model, görev Routing açık vs kapalı
Opus 5, feature +%61 input token, +%47 istek, +%83 süre (yine de 5/5 çözdü)
Sonnet 5, feature +%16 input token, +%37 süre
Sonnet 5, bug avı −%48 input token, −%25 süre

Yazarların sözleriyle, routing'in karşılığını verdiği yer debugging. Onların açıklaması sorunun yanıtı: gateway yalnızca Claude modelleriyle hint veriyor, yani uymayan bir hint, bedavaya görmezden gelinmek yerine bir dolambaca mal oluyor.

Codex zorlanmış versiyonu alıyor. Jev, Codex isteklerinin %76 ila %100'üne karar verdi, Claude Code'un üçte biri ile yarısına karşı. Diğer harness'teki bir model daha ucuz ve yanlış oldu, beşte üç çözüm, beşte beş yerine. Ucuz ve yanlış, tasarruf değil.

Sınırlar gerçek: hücre başına beş çalıştırma küçük bir örneklem, tek bir oyuncak motor, ve kimse bunu yeniden koşmadı. Input de çoğunlukla cache'li, yani bir input tasarrufunun değeri bir output tasarrufundan daha az.

Oturumumun ona verdiği: temizde 24, doluda 40 araç

Sıradan bir Claude Code oturumu her çağrıda bir router'a ne veriyor? Proxy log'u yanıtlıyor: 40 araç. Aynı repo, aynı tek kelimelik prompt, iki kurulum: boş bir config ve MCP sunucusu olmayan temiz bir kurulum, ve kendi sunucuları ve plugin'leriyle normal bir kurulum.

Temiz kurulum Normal kurulum
İstekteki araç sayısı 24 40 (16'sı MCP sunucuları ve plugin'lerden)
Faturalanan prefix token 47.411 57.277
Output token 4 4
Bir "ok"un API-eşdeğeri maliyeti $0.07 $1.15

Fatura, araç listesi. En ağır tanımlar yerleşik olanlar: shell aracı tek başına 12.000 karakter, agent aracı neredeyse 9.000.

Benchmark'ın dipnotu temiz bir kurulumda 6 araç ve 7.000 token, yüklü bir kurulumda ise 285 araç görmüştü. Bugünün temiz Claude Code'u çok daha fazla aracı yerleşik olarak gönderiyor, ve yüklü durum artık daha nadir: çoğu MCP aracı bir arama aracının arkasında, deferred halde duruyor, yani bir router'ın gördüğü araç listesi küçük kalıyor. Boyutu ne olursa olsun, gateway bu listeyi her istekte Jev'e gönderiyor; repodaki açık bir issue, çoğu yanıt atılmadan önce tam maliyetin ödendiğini söylüyor. Burada hiçbir şey Jev'in suçu değil, ve düzeltilecek hiçbir şey Jev'e ait değil.

Kullanıma göre karar

Claude Code içinde routing: hayır. Bu, modelin görmezden gelebileceği bir hint, her iki Claude modelinde de feature işini yavaşlattı, ve tek kazanç debugging'de. İstisna, README'nin kendisinin de adlandırdığı, çok büyük bir araç listesiyle geçirilen bir bug avı günü.

Compaction plugin'i, fast-jev-compaction: henüz değil. Early-access bir hook flag'i gerektiriyor, açık issue'ları hook'ların bazı build'lerde kayıt olmadığını söylüyor, ve bir compaction'dan sonra model işin bittiğini söyleyen, hepsi uydurma dokuz rapor yazdı. Uygulayıcılar buraya daha önce vardı: plugin üzerindeki en üst thread 491 puana sahip, ve en büyük itirazı hız değil, transkriptleri üçüncü bir tarafa gönderme konusundaki kullanım koşulları.

Codex: asıl hedef orası. Orada gateway aracı zorluyor, Jev her isteğe kadar yön verdi, ve bug avı %57 daha az output tokenla koştu.

Kullanım Karar
Claude Code içinde routing Hayır, çok büyük bir araç listesiyle bug avları hariç
fast-jev-compaction Henüz değil
Codex Evet

Dalganın doğru yaptığı bir şey: abonelik girişi hiç kıpırdamıyor, gateway yalnızca bir URL'yi değiştiriyor. Bu okumanın sınırları: hücre başına beş çalıştırma, tek bir satranç motoru, kimsenin yeniden koşmadığı bir benchmark repo, ve kendi routed bir oturumum yok. Ölçtüğüm araç listesi ve istekti, Jev değil. Jev'in kendisi ucuz. Dolambaç değil.

Kaynaklar

Sık sorulan sorular

Jev, Claude Code'u ucuzlatıyor mu?
Hayır. jev-gateway, Claude Code içinde yalnızca hint verebiliyor, ve kendi benchmark'ı routing açıkken Opus 5'in %61 daha fazla input token, %47 daha fazla istek ve %83 daha fazla süre kullandığını gösteriyor. Sonnet 5 de aynı yönde gitti; tek kazanç bir bug avında %48 daha az input tokendi.
Jev nedir?
Jev, TypeSafe'in karar modeli. Hiç metin üretmiyor: tiplenmiş bir soru soruyorsunuz, o da 70 ila 500 ms içinde bir seçim, bir skor ya da evet/hayır olasılığı döndürüyor, milyon input token başına $0.04'e, output ise ücretsiz.
jev-gateway, Claude Code'da neyi değiştiriyor?
Tek bir ortam değişkeni, yerel bir proxy'e yönlendirilmiş ANTHROPIC_BASE_URL; Pro ya da Max girişi dokunulmadan kalıyor. Adaptöründe tek bir satır, thinking açık olduğunda ya da konuşma cache'liyken, yani her Claude Code isteğinde, steering modunu hint olarak ayarlıyor.
Claude Code hint modu nedir?
Son kullanıcı mesajına eklenen iki cümle: bir routing modeli şu an bu aracın en uygun hamle olduğunu öneriyor, uymuyorsa görmezden gel. Model bunu görmezden gelmekte özgür ve tool_choice auto'da kalıyor, çünkü extended thinking varken bir aracı zorlamak hata veriyor ve tool_choice'u değiştirmek prompt cache'i geçersiz kılıyor.
Bir Claude Code isteği kaç araç gönderiyor?
Claude Code 2.1.280 üzerinde loglama yapan bir proxy ile ölçüldü: temiz bir kurulumda 24 araç ve 47.411 prefix token, MCP sunucuları ve plugin'leriyle normal bir kurulumda 40 araç ve 57.277 prefix token, dört tokenlik bir yanıt için.
fast-jev-compaction kurmaya değer mi?
Henüz değil. Early-access bir hook flag'i gerektiriyor, açık issue'ları bazı build'lerde kayıt olmayan hook'lar bildiriyor, ve bir compaction'dan sonra işin bittiğini söyleyen, uydurma dokuz raporluk bir vaka var. En üst topluluk thread'inin asıl itirazı hız değil, transkriptleri üçüncü bir tarafa gönderme konusundaki kullanım koşulları.

İlgili videolar