Kılavuzlara dön
Sorun giderme·1 Ekim 2026·7 dk okuma

Hermes bağlam sıkıştırması zaman aşımına uğradı: anlamı ve işe yarayan kurtarma yöntemi

auxiliary.compression altındaki özetleyicinin süresi doldu; ana modelinizin değil. v0.21.3'te dönüş durur; v0.21.5'te aynı takılma uzun bir beklemeye dönüştü. Bir yedek modelle yeniden üretildi ve çözüm doğrulandı.

Son inceleme tarihi: .

"Context compression timed out before it could commit", ana modeliniz değil auxiliary.compression altındaki Hermes özet modelinin, Hermes'in sıkıştırma bütçesi tükenmeden önce ilerleme kaydetmediği ve ana çağrı gönderilmeden turun durdurulduğu anlamına gelir. Sürüme bağlıdır: Hermes Agent v0.21.3'te iki mesajını da yeniden ürettik ve özetleyicinin yanıt vermesini sağlayıp aynı oturumda yeniden deneyerek kurtardık; v0.21.5'te ise aynı duraklama hata yerine uzun bir beklemeye yol açtı. 1 Ekim 2026'da her iki model için gerçek sağlayıcı yerine kayıtlı bir temsilciyle test edildi.

Hermes'i hata ayıklamak yerine kendi uç noktanıza karşı kuruyorsanız özel API ile Hermes Agent ile başlayın.

İki mesaj ve her birinin size anlattığı

GördüğünüzNe zaman göründüAna çağrı gönderildi mi?
"İstek hâlâ yaklaşık 83.485 token iken bağlam sıkıştırma, sonucu kaydedemeden zaman aşımına uğradı. Sağlayıcı çağrısı gönderilmedi. /compress komutunu çalıştırıp tamamlanmasını bekleyin, ardından yeniden deneyin."v0.21.3, özetleyici sessiz, istek (yaklaşık 83.485 token) modelin 64.000 token'lık penceresinden büyükHayır
"Bağlam sıkıştırma, bu konuşmayı küçültmeden zaman aşımına uğradı. Hiçbir mesaj silinmedi. Yeni bir oturum başlatmak için /new kullanın veya /compress komutunu yeniden denemeden önce auxiliary.compression'ı kontrol edin."v0.21.3, özetleyici sessiz, istek (yaklaşık 57.489 token) 54.400 token'lık sıkıştırma tetikleyicisini aşmış ancak pencere içindeHayır

İlk mesajdaki token rakamı, Hermes'in göndereceği isteğe ilişkin kendi tahminidir. Her iki tur da günlükte, "Context compression made no progress for 5.0s" biçimindeki bir uyarının ardından reason=context_compression_timeout ve api_calls=0 olarak sona erdi — beş saniye, testin çalıştırmaları kısa tutmak için compression.context_timeout_seconds: 5 değerini ayarlaması nedeniyledir; varsayılan 120'dir.

Ne olacağını kullandığınız sürüm belirler

Özetleyici durumuv0.21.3 (14 Eylül)v0.21.5 (24 Eylül)
Sessiz, istek pencere içindeTur durduruldu — yukarıdaki ikinci mesajBeklendi (30 ve 90 saniyelik beklemeler), 9 mesaj 5'e sıkıştırıldı, istek gönderildi
Sessiz, istek pencereyi aşıyorTur durduruldu — yukarıdaki ilk mesajSessiz bir özetleyiciyle çalıştırılmadı; belgeler bu durumu bir etkinliksizlik bütçesi ve belirlenimci bir geri dönüş özetiyle sınırlar
Yanıt hataları (404)İki deneme, sıkıştırma atlandı, istek gönderildi (pencere içinde test edildi)Aynı; ayrıca gerçek bir sağlayıcının reddedeceği pencereyi aşan bir istek de gönderildi
Yanıt veriyorSıkıştırıldı ve gönderildiSıkıştırıldı ve gönderildi

Sınır kaynak kodunda. v0.21.4'te (v2026.9.21 etiketi), zaman aşımına uğramış bir sıkıştırmanın ardından dönüşü durduran işlev, #113646 ve #114594 sorunlarına atıfta bulunularak yalnızca model penceresini aşan isteklerle sınırlandırıldı; v0.21.3 ise her birini durduruyor. Ardından v0.21.5'in yapılandırma belgeleri, sıkıştırma beklemesinin "yardımcı sıkıştırma isteğinin kendi zaman aşımı değerinde tabanlandığını (auxiliary.compression.timeout, minimum 300s)" ekliyor — beş saniyelik ayarımızın orada bu yüzden hiçbir etkisi olmadı. Dolayısıyla güncel bir derlemede yavaş bir özetleyici size hata yerine dakikalarca beklemeye mal olur, çalışmayan bir özetleyici ise atlanır.

En kısa teşhis

  1. Sürümü kontrol edin (hermes --version ile). v0.21.3 veya daha eski sürümlerde yukarıdaki her iki ileti, takılmış bir özetleyici için beklenen davranıştır.
  2. Özetleyiciyi bulun: ~/.hermes/logs/agent.log içinde "Auxiliary compression: using <provider> (<model>) at <url>" satırı, zaman aşımına uğrayan model ile uç noktayı adlandırır. auxiliary.compression bloğu yoksa, ana modelinizi devralır.
  3. Tetikleyici satırını okuyun: "Pre-API compression: ~N request tokens >= T threshold (context=W)". N, W'den büyükse dönüş hiçbir sürümde küçültülmeden gönderilemez.
  4. Özetleyicinin penceresini kontrol edin. Hermes belgeleri, konuşmanın ortasının tamamı özetleyiciye gönderildiği için bu pencerenin en az ana modelinki kadar büyük olmasını gerektirir.

Doğrulanmış kurtarma

Yukarıdaki her v0.21.3 örneğinde, yanıt veren bir özetleyiciyle yedeği yeniden başlatıp aynı oturumda bir dönüş daha göndermek (--resume) konuşma korunarak normal bir yanıt üretti. Pratikte bu şu seçeneklerden biri anlamına gelir: auxiliary.compression adresini erişebildiğiniz hızlı bir modele yönlendirin, yönlendirdiği uç noktayı düzeltin veya özetleyiciniz yavaş ama sağlıklıysa (örneğin yerel bir model) compression.context_timeout_seconds değerini artırın. Ardından aynı oturumda yeniden deneyin.

Duyarlı bir özetleyiciye yönlendirme — işe yarayan kurtarma
# ~/.hermes/config.yaml — the summariser is its own model, with its own budget
auxiliary:
  compression:
    base_url: https://api.kunavo.com/v1   # overrides provider; any OpenAI-compatible endpoint
    api_key: sk-kn-...
    model: claude-haiku-4-5             # fast, and a context window >= your main model's
    timeout: 300

compression:
  context_timeout_seconds: 120   # inactivity budget for the summary (default)
  context_total_ceiling_seconds: 600

İki şey test edilmedi: kendi farklı bütçelerine sahip hijyen sıkıştırmasını kullanan Hermes Desktop ve mesajlaşma ağ geçidi yüzeyleri ile gerçek bir sağlayıcının pencereyi aşan isteği reddetmesi. Çalıştırmalar tek seferlik hermes chat -Q dönüşleriydi.

Maliyeti

Durdurulan bir dönüş ana model isteği göndermez; bu nedenle ana model bunun için hiçbir ücret çıkarmaz. Özet isteği gönderildi — bu çalıştırmalarda yaklaşık 19.000 karakterlik istem — ve sonunda tamamlanırsa sağlayıcı bunu ücretlendirir. Yeniden denemede daha sonra bir özet ve bir ana çağrı için ücret ödenir. Küçük ve hızlı bir özetleyici hem beklemeyi hem de bu ek maliyeti azaltır; Kunavo'da Claude Haiku 4.5, milyon giriş token'ı başına $0,70 ve milyon çıkış token'ı başına $3,50 olarak listelenir ve ön ödemeli bakiyeden token başına ücretlendirilir. Kunavo'da hiç kimse Hermes'i Kunavo'nun uç noktasıyla çalıştırmadı; buradaki çalıştırmalarda onun yerine geçen yerel bir hizmet kullanıldı.

Sık sorulan sorular

Hermes'te "Context compression timed out before it could commit" ne anlama gelir?

Hermes turunuzu göndermeden önce konuşmayı küçültmeye çalıştı; bunun için kullandığı özet modeli zaman bütçesi içinde ilerleme kaydetmedi ve istek küçültülmeden gönderilemeyecek kadar büyüktü — bu nedenle Hermes, ana modelinizi hiç çağırmadan turu durdurdu. Hermes Agent v0.21.3'te, durmuş bir özetleyici ve 64.000 token'lık pencereye karşı 83.485 token'lık bir istekle yeniden üretildi; turun günlük satırı api_calls=0 olarak kaydedildi. Sorun ana modelinizde veya onun API zaman aşımında değil. Sorun, config.yaml içindeki auxiliary.compression altında bulunan özetleyicidedir.

Hermes bağlam sıkıştırma zaman aşımını nasıl düzeltirim?

Özetleyicinin yanıt vermesini sağlayın, ardından aynı oturumda yeniden deneyin. Yeniden üretimde auxiliary.compression'ı yanıt veren bir modele yönlendirmek ve sonraki turu aynı oturumda göndermek v0.21.3'te her seferinde işe yaradı; geçmiş korundu — mesajın kendisi hiçbir mesajın atılmadığını söylüyor. Yükseltme de durumu değiştirir: v0.21.4'ten itibaren zaman aşımına uğramış bir sıkıştırma, modelin penceresine hâlâ sığan bir isteği durdurmaz; v0.21.5'te özet bekleme süresi, özetleyici isteğinin kendi zaman aşımına, en az 300 saniyeye, tabanlanır. /new ile yeni oturum başlatmak da işe yarar; ancak konuşmanın bağlamı kaybedilir.

Hermes sıkıştırma zaman aşımı düzeltildi mi?

Kısmen ve biçimi değişti. v0.21.3'e kadar (14 Eylül 2026) zaman aşımına uğrayan her ön uçuş sıkıştırması turu durdurdu. v0.21.4 (21 Eylül), yalnızca modelin bağlam penceresini aşan bir isteği durdurur. v0.21.5'te (24 Eylül) 30 ve ardından 90 saniye boyunca durmuş bir özetleyici turu hiç durdurmadı: Hermes bekledi, sıkıştırdı ve isteği gönderdi — dolayısıyla güncel bir sürümde yavaş özetleyicinin belirtisi bu hata değil, uzun bir duraklamadır. Yavaş değil de çalışmayan bir özetleyici farklıdır: yeniden denenir, ardından atlanır ve tur sıkıştırılmamış olarak ilerler.

HERMES_API_TIMEOUT değerini yükseltmek yardımcı olur mu?

Hayır. Bu değişken ana model çağrısını yönetir; varsayılan zaman aşımı 1.800 saniyedir. Sıkıştırmanın config.yaml içinde kendi bütçeleri vardır: compression.context_timeout_seconds (etkinliksizlik bütçesi, varsayılan 120 saniye), compression.context_total_ceiling_seconds (varsayılan 600) ve özet isteğinin kendisi için auxiliary.compression.timeout. Hermes belgeleri hız kadar önemli bir gereksinim daha ekler: özet modelinin bağlam penceresi en az ana modelinki kadar büyük olmalıdır; çünkü konuşmanın orta bölümünün tamamını alır.

Zaman aşımına uğrayan tur herhangi bir maliyet oluşturdu mu?

Not on the main model: the turn ended before the main call was sent. The summary request was sent, though, and a summariser that eventually finishes is billed by its provider like any other call — in the runs here the summary prompt was about 19,000 characters. The retry then pays for one summary and one main call. That is why pointing compression at a small, fast model is cheaper as well as quicker: on Kunavo, Claude Haiku 4.5 lists at $0,70 per million input tokens.

1 Ekim 2026'da, sürüm kaynaklarından kurulan Hermes Agent v0.21.3 (v2026.9.14 etiketi) ve v0.21.5 (v2026.9.24 etiketi) ile, hem ana modelin hem de özet modelinin yerine geçen ve istekleri kaydeden yerel bir hizmet kullanılarak yeniden üretildi (takılmış bir özetleyici için yanıtlar bekletildi, başarısız bir özetleyici için 404 döndürüldü); 64.000 token'lık bir pencere ve test dönüşünden önce doldurucu içerik içeren dört devam ettirilmiş dönüş kullanıldı. Sürüm sınırı, v2026.9.14, v2026.9.21 ve v2026.9.24 etiketlerindeki agent/turn_context.py dosyasından, bütçeler ise her etiketin yapılandırma belgelerinden okundu. Bu yerel hizmet bir model veya sağlayıcı değildir: her boyuttaki isteği kabul eder; dolayısıyla sağlayıcı tarafındaki bağlam hataları yeniden üretilmedi.