« Tüm yayınlar

Claude'de JSON Almak: Prefill Devri Bitti, Yeni Yöntemler

Claude'un yeni modellerinde assistant turn prefill artık 400 hatası veriyor. Structured outputs ve tool use ile güvenilir JSON çıktısı almanın yolları.

Uzun süredir Claude'dan güvenilir JSON almanın yolu, assistant turn'ü açık bir süslü parantez ile önceden doldurmaktı (prefill). Opus 4.6 ve sonrası ile Fable 5 modellerinde bu yöntem artık çalışmıyor ve API 400 hatası döndürüyor. Prefill mantığına dayanan kodlar, model string'i güncellendiği anda kırılıyor.

Yerine iki modern yaklaşım geldi. İstenen çıktı belirli bir şemaya uyan bir yanıt ise (örneğin metinden alan çıkarma), output_config.format ile structured outputs kullanılıyor; Zod entegrasyonu sayesinde tip güvenliği ve otomatik doğrulama sağlanıyor, şemaya uymayan durumlarda parsed_output null dönüyor. JSON aslında bir eylemin argümanıysa (örneğin sınıflandırma sonucunun bir sonraki adıma aktarılması), strict modda tanımlanmış bir tool ve tool_choice zorlaması kullanılıyor.

Seçim kriteri basit: JSON doğrudan kullanılacak cevabın kendisiyse structured outputs, JSON bir eylemin girdisiyse tool use tercih ediliyor. Prefill'in diğer kullanım alanları da (preamble'ları atlamak, kesintiye uğrayan yanıtı devam ettirmek, kötü red yanıtlarını yönlendirmek) artık sistem promptu talimatları veya kullanıcı turu içinde çözülüyor.

Bu değişim mühendisler için önemli çünkü prefill hack'i modelin metni nasıl devam ettirdiğini istismar ediyordu ve kırılgandı. Yeni yöntemler ise çıktı formatını API seviyesinde zorluyor; bu hem daha güvenilir hem de model güncellemelerinden etkilenmiyor. Hâlâ süslü parantez prefill'i yapan kod tabanları, bir sonraki model geçişinde 400 hatasıyla karşılaşmaya aday.

» KaynakDev.to