Hlídač agentů v API OpenAI umí konverzaci zastavit, hotové kroky ale nevrátí zpět
Spolu s modelem GPT-6 Astra ohlásilo OpenAI 3. září 2026 systém, který na pozadí čte uvažování agenta a při podezření na nezamýšlený přenos dat nebo destruktivní zásah konverzaci zastaví. Kontrola běží asynchronně, takže krok už může být hotový; zastavený požadavek podle příručky nic nevrací zpět.
K modelu GPT-6 Astra, který OpenAI vydalo 3. září 2026, patří i systém, o kterém se v oznámení mluví jednou větou: sledování nesouladu (misalignment monitoring). Čte uvažování a kroky agenta na pozadí a při podezření umí celou konverzaci zastavit. Vlastní záznam v seznamu změn nedostal – stojí jako odstavec pod ohlášením modelu.

Čtyři situace, na které hlídač míří
Podle příručky pro vývojáře systém posuzuje, jestli agent správně vykládá pokyny uživatele ve chvílích, kdy na tom záleží: při přenosu citlivých dat, při přístupu k nim a při destruktivních změnách. Klientská knihovna to má rozepsané do čtyř hodnot pole error_type – potentially_unintended_data_transfer, potentially_unintended_data_access, potentially_unintended_destructive_activity a other.
Označení samo o sobě neznamená, že agent udělal chybu. Příručka to říká rovnou: hlídač umí problém minout i označit legitimní práci, takže vlastní pojistky včetně lidského schválení u závažných kroků platí dál. Zásah do běžící práce agenta zkoušejí i jiné nástroje – dohled v PILOTu umí běžícího agenta přesměrovat.
Hlídač zastaví jen část požadavků
Automatické zastavení nedostane každé volání. Příručka rozlišuje tři případy. Požadavek do Responses API, který si nese uvažování mezi voláními, jede přes WebSocket nebo používá zhušťování kontextu od OpenAI, je sledovaný a systém u něj pozná pokračování téže konverzace, takže umí zarazit další vykonávání. Požadavek do Responses API bez některého z těch tří mechanismů sledovaný také je, jenže tam vše skončí u upozornění – konverzaci nikdo automaticky nezastaví. Rozhraní Chat Completions do tohohle systému nespadá vůbec; ostatní bezpečnostní kontroly na něm běží dál.
Nastavený webhook na tom nic nemění. „Nastavení webhooku pro upozornění automatické zastavování nezapíná,“ píše příručka (přeloženo).
Zastavenou konverzaci nikdo nerozjede
Když hlídač požadavek zablokuje ještě před začátkem streamování, vrátí rozhraní kód 403 s typem invalid_request_error a kódem misalignment_policy_violation. Porovnávat se má ten kód, ne text hlášky, a chybu musí umět zachytit i integrace, která už začala odebírat proud odpovědi.
Dvě věty pod tím mají pro provoz větší váhu než samo zastavení. Obecný způsob, jak zastavenou konverzaci obnovit, rozhraní nenabízí. A protože kontrola běží asynchronně, může být krok hotový dřív, než si ho hlídač všimne – zastavený požadavek dřívější kroky nevrací zpět.
Upozornění dorazí jako číslo, ne jako popis
Ke stejnému dni patří i verze 3.8.0 knihovny openai pro Python. Přibylo v ní volání client.safety.alerts.retrieve a dvě webhookové události – safety.alert.created pro projekt a safety.org_alert.created pro podnikový pracovní prostor. Ve verzi 3.7.0 ani ve starších ty soubory v repozitáři nejsou; událost safety_identifier.blocked, se kterou se novinka snadno splete, tam přitom leží od verze 3.0.0 a hlásí něco jiného – blokaci podle identifikátoru koncového uživatele.
Webhook nese jen identifikátor upozornění. Obsah se dotahuje voláním GET /v1/safety/alerts/{id} pod klíčem s oprávněním api.safety.alerts.read. Odpověď vedle kategorie vrací request_id a response_id, podle kterých se dá dohledat dotčená práce, a pole request_paused. To poslední je zajímavější, než vypadá: hodnota true říká, že se blokaci podařilo zaregistrovat – ne že se vykonávání zastavilo nebo že se dřívější kroky vrátily zpět. Zdrojový soubor knihovny to má napsané u pole stejně jako příručka.
Pole reason bývá prázdné. Prázdné je mimo jiné u požadavků s nulovým uchováváním dat, a když prázdné není, jde o popis kategorie, ne o přepis konverzace nebo rozbor. Vyzvednutí navíc může skončit chybou 404 s kódem safety_alert_not_found, protože záznam může chybět nebo být neúplný. Doručování a vyzvedávání upozornění podle příručky úplnou auditní historii nedává.
Které modely to jsou, řekne až nápověda pro uživatele
Text mluví o „modelech pokrytých tímto systémem“, seznam v něm ale není. Odpověď leží až v nápovědě pro uživatele: jde o modely Astra a systém běží napříč ChatGPT, Codexem i rozhraním API. Tatáž stránka přidává dvě věci, které v příručce nejsou. U mobilu a u požadavků s nulovým uchováváním dat nedokáže OpenAI podrobné vysvětlení dát a konverzace se nedá obnovit. A když uživatel pozastavenou konverzaci v ChatGPT pustí dál, hlídač zůstává zapnutý a může ji zastavit znovu.
Pro toho, kdo staví agenta nad Responses API, z toho plyne jedna praktická věc. Hlídač je poslední záchrana, ne první – kdo chce mít jistotu, že se destruktivní krok neprovede, musí ho zastavit u sebe. Ochrana od OpenAI přijde na řadu až po něm, a někdy až po tom, co krok proběhl.
Zdroje
- Changelog OpenAI API – záznam z 3. září 2026 o vydání GPT-6 Astra
- Misalignment monitoring – příručka pro vývojáře
- openai-python 3.8.0 – poznámky k vydání
- Why was my chat paused or ended as a precaution? – nápověda OpenAI