# Nowe SDK Claude bez temperature: kod padnie

Nowa wersja Claude API 2026-10-21 odrzuca temperature, top_p i top_k błędem 400, nawet przy wartości domyślnej. Python SDK 2.0.0 i TypeScript SDK 1.0.0 wysyłają ją domyślnie.

Data publikacji: 26 października 2026

21 października Anthropic wypuścił wersję Claude API `2026-10-21`. Ustawienie
temperature w Claude API znika: zapytanie z `temperature`, `top_p` albo `top_k` dostaje
błąd 400. Nawet wtedy, gdy wartość jest domyślna.

Stan: ogłoszone. Opis według [przewodnika migracji](https://platform.claude.com/docs/en/api/migration-2026-10-21)
i [historii zmian](https://platform.claude.com/docs/en/release-notes/overview).

## Kogo to dotyczy?

Każdego, kto zaktualizuje SDK. Nowe wersje wysyłają `2026-10-21` domyślnie. W Pythonie
to `anthropic` 2.0.0, w TypeScripcie 1.0.0.

Nowe wydania dostały też SDK do C#, Go, Javy, PHP i Rubiego oraz CLI `ant`.

Wystarczy więc `pip install -U anthropic` w projekcie, który ma w kodzie
`temperature=0`. Według przewodnika nowe SDK nie ma już tych trzech parametrów, więc
wywołanie z nimi przestanie działać. Kto woła API bez SDK, wyśle nagłówek
`2026-10-21` i zostawi te parametry, dostanie błąd 400.

## Czy temperature coś jeszcze dawało?

Na nowych modelach nie. Przewodnik pisze, że modele od Claude 4.7 wzwyż
przyjmują tylko wartości domyślne i „sample as before”. Na modelu Opus 5.5 niższej
temperatury nie dało się więc ustawić już wcześniej.

Zmiana zachowania dotyczy tylko starszych modeli, np. modelu Claude Sonnet 4.6. Tam niższa temperatura
dawała bardziej powtarzalne odpowiedzi.

Według Anthropic w nowej wersji „no other
setting replaces it”. Bez parametru zapytanie dostaje temperaturę 1,0.

## Co jeszcze się psuje?

- Blok `document` w wiadomości `assistant` zwraca błąd 400. Dokumenty trzeba wysyłać
  w wiadomości `user`.
- Tablica `citations` na bloku tekstu w wiadomości `user` też zwraca błąd 400.
- Admin API i Claude Enterprise Analytics API nie zwracają starych nazw pól.
- Na Amazon Bedrock nowa wersja działa tylko z modelami od Claude 4.7.

Jest też zmiana poza kodem. Nowe SDK i CLI mają licencję Apache 2.0 zamiast MIT. Starsze
wersje zostają na MIT.

Jeśli firma prowadzi rejestr licencji zależności, trzeba go
poprawić.

## Co zrobić przed aktualizacją?

Przeszukaj kod pod kątem `temperature`, `top_p` i `top_k` i usuń je z zapytań. Jeśli
jakaś funkcja naprawdę potrzebuje niskiej temperatury na modelu Sonnet 4.6, zostaw ją na
starej wersji `2023-06-01`. Przewodnik na to pozwala.

Przewodnik nie podaje daty wyłączenia wersji `2023-06-01`. Stary kod działa więc dalej,
dopóki nie zaktualizujesz SDK.

Wniosek: przypnij wersję SDK w `requirements.txt` albo `package.json`, zanim ktoś
w zespole zrobi aktualizację. Powtarzalność odpowiedzi na nowych modelach buduj
schematem odpowiedzi i testami, a nie temperaturą, bo tej już nie ma.

## Pytania i odpowiedzi

### Dlaczego Claude API zwraca błąd 400 przy temperature?

W wersji API 2026-10-21 parametry temperature, top_p i top_k zostały usunięte. Zapytanie, które je wysyła, dostaje błąd 400, nawet jeśli wartość jest domyślna. Nowe wersje SDK, np. Python SDK 2.0.0, używają tej wersji API domyślnie.

### Czy mogę dalej ustawiać temperature w Claude?

Tylko w starej wersji API 2023-06-01 i tylko na modelach, które ją przyjmują, np. Claude Sonnet 4.6. Modele od Claude 4.7 wzwyż i tak przyjmują tylko wartości domyślne. Anthropic nie daje żadnego ustawienia w zamian.

### Co jeszcze zmienia wersja API 2026-10-21?

Blok document w wiadomości assistant i cytaty w wiadomości user zwracają błąd 400. Nowe wersje SDK mają licencję Apache 2.0 zamiast MIT.

## Źródła

- Migrating to API version 2026-10-21 (https://platform.claude.com/docs/en/api/migration-2026-10-21)
- Claude Platform release notes (https://platform.claude.com/docs/en/release-notes/overview)
