Claude Fable 5.1 Korunan Düşünce: Blok Farklı Bir Sohbete Bağlıdır Hatası Düzeltmesi

Claude Fable 5.1 400 "farklı bir konuşmaya bağlı" sorununu düzeltin: korunan düşünce denetimleri, uygulayıcılar, drop_block, denetim ve yalnızca eklemeli desenler.

Ashley Goolam

Ashley Goolam

2 September 2026

Claude Fable 5.1 Korunan Düşünce: Blok Farklı Bir Sohbete Bağlıdır Hatası Düzeltmesi

Kurumsal İçin Apidog

Şirket İçi (On-Premises) Dağıtım

SSO ve RBAC

SOC 2 Uyumlu

Apidog Enterprise'ı Keşfedin

Bir aracı donanımını Claude Fable 5.1'e taşıdıysanız ve mesajında bir düşünme bloğunun “farklı bir konuşmaya bağlı” olduğunu söyleyen bir 400 hatası görmeye başladıysanız, kodunuz istekler arasında konuşma geçmişini düzenliyor demektir ve Fable 5.1 buna itiraz eden ilk Claude modelidir. Bu kılavuz, bu kontrolün ne olduğunu, kimler için geçerli olduğunu, tam olarak neyin tetiklediğini, acil çıkış yolunu ve hatayı ortadan kaldırırken aynı zamanda istem önbelleğinizi sıcak tutan yalnızca eklemeli desenleri açıklamaktadır. Bu kontrol, korunmuş düşünce altında ve Claude Fable 5.1'deki Yenilikler bölümünde belgelenmiştir. Fable 5.1'in üç bozucu değişikliğinden üçüncüsü ve bir donanımı sessizce bozabilecek tek değişikliktir. Diğer ikisi için geçiş kılavuzuna bakın.

button

Hata

messages.5.content.0: Invalid `signature` in `thinking` block. The block is bound to a different conversation. Remove the block, or set `thinking.block_binding.prefix_mismatch_behavior` to "drop_block". That setting requires the `thinking-binding-controls-2026-08-01` value in the `anthropic-beta` header.

Bu, herhangi bir çıktıdan önce karar verilen bir 400 invalid_request_error hatasıdır. Aynı gövdeyi yeniden denemek aynı şekilde başarısız olur. Yol (messages.5.content.0), artık eşleşmeyen ilk düşünme bloğunu işaret eder ve mesaj, değişen ilk mesajı belirten bir cümleyle daha bitebilir ki bu da istediğiniz tanıdır. Token sayma bitiş noktası aynı kontrolü çalıştırır.

Farklı bir hata benzer görünüyor ancak bu değil: “farklı bir konuşmaya bağlı” cümlesi olmadan aynı başlangıç ifadesi, imzanın kendisinin tahrif edildiği veya şifresinin çözülemeyeceği anlamına gelir ve prefix_mismatch_behavior geçerli değildir.

Kontrol ne yapar

Her Fable 5.1 düşünme bloğu iki şeyi kaydeden bir imza taşır: hangi modelin onu ürettiğini ve ondan önceki kesin konuşma öneğini, yani üst düzey system istemini, tools dizisini ve bloktan önceki her mesajı. Her blok aynı zamanda önceki düşünme bloğuna zincirlenir. Transkripti geri gönderdiğinizde, API bu önekin bloğu üretenle bayt-bayt aynı olduğunu doğrular.

Anthropic iki neden sunar. Belirtilen neden anti-damıtmadır: lansman gönderisi, yeni API hesaplarının, önceki düşünme transkriptini korurken çok turlu bir konuşmada Claude'un önceki bağlamını manuel olarak düzenleyemeyeceğini ve bunun belgelenmiş bir damıtma tekniğini kapattığını belirtir. Pratik neden ise, kontrolü bozan aynı düzenlemelerin istem önbelleğini de yeniden başlatmasıdır, bu nedenle kontrolü geçen kod, her turda milyon başına 0,25 dolarlık önbellek okuması alan koddur.

Kimler için geçerli

Varsayılan olarak zorunlu kılınan: 31 Ağustos 2026 tarihinde veya sonrasında oluşturulan hesaplar. Bu, Claude API organizasyonlarını, Amazon Bedrock hesaplarını, Google Cloud projelerini ve Microsoft Foundry kaynaklarını kapsar.

Kaydedilen ancak zorunlu kılınmayan: daha önce oluşturulan hesaplar. API uyumsuzluğu not eder, ancak yalnızca istek thinking.block_binding.prefix_mismatch_behavior değerini "error" dahil herhangi bir değere ayarladığında harekete geçer. Anthropic, gelecekteki modellerin bunu herkes için zorunlu kılacağını belirtiyor.

Etkilenmeyenler: Claude Code, claude.ai, Claude Yönetilen Aracılar ve Claude Aracı SDK'sı, bunlar öneki sizin için sağlam tutar. Claude Mythos 5.1 bu kontrolü hiç çalıştırmaz, ancak geçmiş düzenlemeleri yine de önbelleğini yeniden başlatır.

Etkilenenler: messages dizisini kendi başına oluşturan herhangi bir kod. Bu, her özel aracı döngüsünü, her sohbet arka ucunu ve Mesajlar API'sini sarmalayan her çerçeveyi kapsar.

Araç yazarları için tuzak: İnsanların kendi API anahtarlarıyla çalıştırdığı bir şey gönderiyorsanız, sizin anahtarınız muhtemelen eski bir hesapta, onlarınki ise olmayabilir. Alan ayarlanmış şekilde test edin, böylece kullanıcılarınızdan önce kontrolle karşılaşırsınız. Kendi hesabınızın zorunlu kılınıp kılınmadığını öğrenmek için, beta başlığı olmadan geçmişi düzenleyen bir istek gönderin; başlığı belirten bir 400 hatası bunu gösterir.

Her sonraki düşünme bloğunu geçersiz kılan nedir

Onları geçerli kılan nedir

Acil çıkış: drop_block

thinking-binding-controls-2026-08-01 beta başlığını gönderin ve alanı açıkça ayarlayın:

response = client.beta.messages.create(
    model="claude-fable-5-1",
    max_tokens=16000,
    thinking={"type": "adaptive", "block_binding": {"prefix_mismatch_behavior": "drop_block"}},
    betas=["thinking-binding-controls-2026-08-01"],
    messages=history,
)
for t in response.input_transformations or []:
    print(t.type, t.path, t.reason)

"drop_block" ile API, ilk eşleşmeyen bloğu ve ondan sonraki her düşünme bloğunu bırakır, isteğe devam eder ve her bırakmayı üst düzey bir input_transformations dizisinde raporlar:

"input_transformations": [
  {"type": "thinking_dropped", "path": "messages.1.content.0", "reason": "prefix_binding_mismatch"}
]

Bu alan hakkında bilinmesi gereken üç şey var. Sadece o isteğe uygulanır, bu yüzden oturumun geri kalanı için göndermeye devam edin. Varsayılanlar yüzeye göre değişir: başlık olmadan, zorunlu kılınan bir hesap hata verir; yalnızca başlığı göndermek, beta'nın kendi varsayılanı olan drop_block'a geçer; bu nedenle açıkça ayarlayın ve hiçbir zaman varsayılanlara güvenmeyin. Ve başlık olmadan block_binding göndermek, block_binding: Ek girdilere izin verilmez ile biten bir 400 hatasıdır.

reason alanı iki durumu ayırt eder. prefix_binding_mismatch geçmişinizin değiştiği anlamına gelir. model_binding_mismatch ise konuşmanın modeller arasında değiştiği (bir yönlendirici, yeniden deneme, reddetme geri dönüşü) ve hedefin bir Fable 5.1 bloğunu okuyamadığı anlamına gelir. İkincisi kodunuzda bir hata değildir. Başlık ile her yanıt, hiçbir şey bırakılmadığında boş olan diziyi taşır.

Bir sıkıştırma sınırında blokları bir kez bırakmak az maliyetlidir. Her istekte kendi geçmişini geçersiz kılan bir donanım, her turda modelin muhakemesini kaybeder ve her turda istem önbelleğini yeniden başlatır; Anthropic bunun görev başına maliyeti artırdığı konusunda uyarıyor. drop_block'ı kalıcı bir durum olarak değil, bir teşhis ve güvenlik ağı olarak değerlendirin.

Beta dışı kurtarma

Kontrolleri olmayan bir platformda (Microsoft Foundry lansman sırasında bunları sunmuyordu; Bedrock ve Google Cloud model başına ekliyordu), geçmişteki her thinking ve redacted_thinking bloğunu çıkarın, her turun text ve tool_use bloklarını saklayın ve bir kez yeniden deneyin. Model, bu blokların taşıdığı muhakeme olmadan o tura yanıt verir. Bu tek seferlik bir kurtarma işlemidir, bir desen değildir.

Üç adımlı denetim

Trafiği değiştirmeden önce çalıştırın, sonra değil.

  1. Tam istek gövdelerini yakalayın Ürününüzde varsa, bir sıkıştırma veya araç değişikliği dahil olmak üzere donanımınızın birkaç normal tur boyunca gönderdiği istek gövdelerini yakalayın. Ardışık her istek çifti için, system istemini, tools dizisini ve messages'ın paylaşılan önekini karşılaştırın. Yeni eklenen turlara kadar bayt-bayt aynı olmaları gerekir.
  2. Normal bir çok turlu oturum çalıştırın claude-fable-5-1'e karşı beta başlığı ve prefix_mismatch_behavior: "drop_block" ile her yanıtta input_transformations'ı günlüğe kaydedin. Her turda boş bir dizi, geçmişin sağlam olduğu anlamına gelir. Bir prefix_binding_mismatch girişi, path adresindeki bloğun önündeki bir şeyin değiştiği anlamına gelir. Bu, herhangi bir hesaptan çalışır, çünkü alanı ayarlamak isteği zorunlu kılmaya dahil eder. CI'da bunun yerine "error" ayarlayın, böylece bir düzenleme çalışmayı başarısız kılar.
  3. Bir üretim ayarı seçin ve başlık altında açıkça ayarlayın: Bir uyumsuzluk yalnızca bir hata anlamına geliyorsa "error", başarısız olmak yerine bozmak için "drop_block". Her iki durumda da 400 hatalarını veya input_transformations girişlerini izleyin. Eski bir hesapta alanı ayarsız bırakmayın, çünkü o zaman kontrol yalnızca sunucu tarafında kaydedilir ve izleyecek hiçbir şeyiniz olmaz.

Apidog'da, 2. adım iki istekli bir testtir: bir tur gönderin, sistem istemini düzenleyin, başlık ayarlanmış olarak sonraki turu gönderin ve input_transformations üzerinde onaylayın. Her donanım değişikliğinde yeniden çalışmasını sağlamak için koleksiyonda tutun. Oluşturmak için Apidog'u indirin.

Bir donanımı yalnızca eklemeli hale getirmek

Her satır, bir geçmiş düzenlemesini, öneki sağlam tutan ve önbelleği sıcak tutan bir şeyle değiştirir.

Yapmakta Olduğunuz Şey Bunun Yerine Bunu Yapın
Oturum ortasında sistem istemini düzenlemek (yeni tarih, yeni mod) Oturum başlangıcında system öğesini dondurun. Değişikliğin gerçekleştiği noktada {"role": "system", "content": "Mevcut tarih 2026-09-14."} ifadesini ekleyin (konuşma ortası sistem mesajları). Beta başlığı yok; sistem istemi yetkisi alır ve sonraki blokların bağlı olduğu önekin bir parçası olur.
Oturum ortasında tools dizisini düzenlemek Tüm seti oturum başlangıcında bildirin (başlangıçta gizli olanlar için defer_loading: true). Bir role: "system" mesajında tool_addition ve tool_removal blokları gönderin (beta mid-conversation-tool-changes-2026-07-01).
Her tura özel bir hatırlatma eklemek ve bir sonraki istekte silmek Araç sonuç mesajından sonra, ve daha önceki tüm kopyaları yerinde bırakarak, tura özel bir sistem mesajı olarak gönderin: {"role": "system", "clear_at": "next_user_message", "content": "..."} (beta mid-conversation-system-clear-at-2026-08-21). Temizlenmiş kopyalar hiçbir şey göstermez ve hiçbir maliyeti yoktur. Beta olmadan, hatırlatmayı aynı kullanıcı mesajındaki tool_result bloklarından sonra bir metin bloğuna koyun, önceki kopyalar tutulur.
Eski araç sonuçlarını istemci tarafında silmek Araç sonuçlarını temizleme ile sunucu tarafı bağlam düzenlemesi.
İstemcide sıkıştırma yapmak Sunucu tarafı sıkıştırmayı tercih edin (beta compact-2026-01-12; instructions parametresi kendi özetleme isteminizi alır). İstemci tarafında kalırsanız, basit sıkıştırma kullanın: tüm geçmişi bir özet mesajı ve yeni kullanıcı turu ile değiştirin ve başka hiçbir şeyi yeniden oynatmayın.
Turlar arasında URL ile bir resim veya belgeye referans vermek Dosyalar API'sine bir kez yükleyin ve file_id gönderin veya base64 gönderin.

İki istemci tarafı sıkıştırma şekli, kontrol altında bozulur ve saklanan turlarda drop_block veya çıkarılmış düşünme bloklarına ihtiyaç duyar. Kuyrukta tutma sıkıştırması (eski turları özetleme, en sonuncuyu kelimesi kelimesine tutma), saklanan turlarda başarısız olur, çünkü düşünceleri tam geçmişe göre üretilmiştir. Arka plan sıkıştırması (kritik yoldan özet oluşturma ve daha sonra değiştirme), özetin başlangıcı ile değiştirme arasında üretilen her turda başarısız olur. Transkriptin ortasından bireysel turları kesmek, sonraki her bloğu geçersiz kılar ve hiçbir istemci tarafı şekli bunu önleyemez. Yaptığınız talimat değişikliği için konuşma ortası sistem mesajı kullanın veya seçici kaldırma için sunucu tarafı bağlam düzenlemesi kullanın.

Bir maliyet hususu daha: önbellek okumaları artık milyon başına 0,25 dolar olduğundan, Fable 5.1'de para biriktirmek için erken sıkıştırma artık doğru bir uzlaşma olmayabilir. Anthropic, daha sonraki sıkıştırma noktalarını denemeyi önermektedir.

Bu neden aynı zamanda önbellek hikayesi

Yukarıdaki tabloda yer alan her şey, aynı zamanda bir istem önbelleğini yeniden başlatan şeylerin listesidir. Fable 5.1, önbellek isabetlerini Fable 5'ten dört kat daha ucuz hale getirdi ve kaçırılanları orantılı olarak daha acı verici hale getirdi, bu nedenle yalnızca eklemeli bir donanım iki kat ödül alır: düşünce korunur ve her turda öneki 12,50 dolara yeniden yazmak yerine 0,25 dolara okur. Fiyatlandırma dökümü sayıları içerir; API rehberi, bağlam içinde tura özel ve mesaj başına çaba istek şekillerini gösterir; istem rehberi, hangi tura özel talimatların bu şekilde gönderilmeye değer olduğunu kapsar ve Claude Code rehberi, Claude Code kullanıcılarının bu hatayı neden asla görmediğini açıklar.

Sıkça Sorulan Sorular

“Blok farklı bir konuşmaya bağlı” ne anlama geliyor? Bir Claude Fable 5.1 düşünme bloğu, ondan önceki bir şeyin (sistem istemi, araçlar dizisi veya daha önceki bir mesaj) değişmesinden sonra yeniden oynatıldı. API, zorunlu kılınan hesaplarda isteği 400 hatasıyla reddeder.

Hangi hesaplar Fable 5.1 geçmiş kontrolünü zorunlu kılar? Her platformda 31 Ağustos 2026 tarihinde veya sonrasında oluşturulan hesaplar. Daha eski hesaplar, yalnızca bir istek thinking.block_binding.prefix_mismatch_behavior değerini ayarladığında bunu zorunlu kılar. Anthropic, gelecekteki modellerde bunu herkes için zorunlu kılmayı planlıyor.

Hatayı hızlıca nasıl gideririm? thinking-binding-controls-2026-08-01 beta başlığını prefix_mismatch_behavior: "drop_block" ile gönderin. API, etkilenen blokları bırakır ve devam eder. Daha sonra geçmiş düzenlemesini düzeltin, çünkü her turda blokları bırakmak muhakeme maliyetini artırır ve önbelleğinizi yeniden başlatır.

Çaba veya max_tokens değiştirmek düşünme bloklarını geçersiz kılar mı? Hayır. system, tools ve messages dışındaki herhangi bir parametre serbestçe değişebilir, cache_control işaretçileri de öyle.

Sunucu tarafı sıkıştırma kontrolü bozar mı? Hayır. Sıkıştırma ve bağlam düzenlemesi, gönderdiğiniz konuşmayı karşılaştıran kontrolden sonra gerçekleşir. Son turları kelimesi kelimesine tutan istemci tarafı sıkıştırma ise bunu bozar.

Claude Mythos 5.1'de de aynı kontrol var mı? Hayır. Mythos 5.1 konuşma kontrolünü çalıştırmaz, ancak yine de düşünme bloklarını üreten modele bağlar ve geçmiş düzenlemeleri önbelleğini yeniden başlatır.

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin