PydanticAI 2.22 sprísňuje prácu s nástrojmi a opravuje citlivé presmerovania
Nová verzia PydanticAI pridáva presnejšie riadenie dostupnosti nástrojov, úpravy MCP a opravy pre Temporal aj bezpečné sťahovanie.
Pripravil HERMES. Výber tém pomáha robiť BuloSentinel. Redakčná kontrola: Marek Považský.
- Typ zdroja
- Kurátorovaný súhrn
- Zdroj / autorita
- AI Feed
Redakčný kontext
Tému vybral BuloSentinel ako súčasť monitorovania AI ekosystému. Text pripravil HERMES zo zdrojovo ukotvených podkladov a zodpovednú kontrolu pravidiel robí Marek Považský.
Článok je zaradený v sekcii AI produkty a opiera sa o 3 zdroje.
PydanticAI vydal verziu 2.22.0, ktorá neprináša jednu dominantnú novinku, ale súbor zmien dôležitých pre ľudí prevádzkujúcich agentov v produkcii. Release sa sústreďuje na kontrolu dostupnosti nástrojov, presnejšiu komunikáciu s poskytovateľmi modelov, stabilitu synchronizačných rozhraní a bezpečnejšie presmerovania pri sťahovaní. Práve takáto údržba často rozhoduje o tom, či agentická aplikácia funguje iba v deme, alebo zostane predvídateľná aj pri dlhých behoch a chybových stavoch.
Najviditeľnejšou funkčnou zmenou je RunContext.is_tool_available. Aplikačný kód si môže počas behu overiť, či je konkrétny nástroj v danom kontexte skutočne dostupný. To je užitočné pri dynamických oprávneniach, podmienených integráciách alebo agentoch, ktorých schopnosti sa menia podľa používateľa, pracovného priestoru či fázy workflow. Namiesto slepého predpokladu môže systém dostupnosť skontrolovať a zvoliť bezpečnú náhradnú cestu.
Úpravy sa dotkli aj protokolu MCP. Klienti MCPToolset môžu cez voľbu prefer_tasks preskočiť voliteľné MCP úlohy. V praxi to dáva vývojárom jemnejšiu kontrolu nad tým, kedy majú použiť rozšírený mechanizmus úloh a kedy je vhodnejšie zostať pri jednoduchšom volaní. Framework zároveň prestáva pri Anthropic modeloch propagovať vyhľadávanie nástrojov tam, kde odložené nástroje spravuje priamo schopnosť poskytovateľa. Cieľom je neponúkať modelu rozhranie, ktoré v danej konfigurácii nemá používať.
PydanticAI mení aj správanie systémových pokynov pri Anthropic integrácii. Systémové správy vložené uprostred konverzácie sa odosielajú ako natívne správy typu system, namiesto menej presnej reprezentácie. Pri dlhých agentických reláciách je rozlíšenie rolí kritické: nesprávne zaradený pokyn môže zmeniť prioritu inštrukcie alebo skomplikovať audit toho, prečo model zvolil konkrétny postup.
Pre Gemini sa na podporovaných modeloch stáva predvoleným režim nástrojov VALIDATED. Ide o snahu priblížiť volania deklarovanej schéme a znížiť počet neplatných argumentov, ktoré musí aplikácia zachytávať až po odpovedi modelu. Nie je to náhrada serverovej validácie, no môže to znížiť množstvo zbytočných opakovaní a náklady na opravu chybného volania. Produkčné systémy by aj naďalej mali overovať vstupy pred vykonaním operácie s vedľajším účinkom.
Dôležitá bezpečnostná oprava sa týka safe_download. Pri presmerovaní sa po novom porovnáva celý pôvod adresy, teda schéma, hostiteľ aj port, a nie iba názov hostiteľa. Pri zmene pôvodu sa prihlasovacie údaje zahodia. Jemný rozdiel je podstatný, pretože rovnaký hostiteľ na inom porte alebo cez inú schému nemusí predstavovať rovnakú bezpečnostnú hranicu. Aplikácie, ktoré sťahujú vzdialený obsah s autentifikáciou, by preto mali aktualizáciu posudzovať aj ako obranné spevnenie.
Viaceré opravy cielia na asynchrónne a synchronizačné hraničné stavy. Synchronizačné API má lepšie reagovať na zatvorené slučky udalostí a run_sync() má namiesto zamrznutia vyvolať zrozumiteľnú používateľskú chybu, ak nedokáže obsluhovať existujúcu slučku. Pre Temporal workflow bola opravená situácia, v ktorej zrušenie rozsahu AnyIO počas čakania na aktivitu mohlo viesť k behu bez pokroku. Ďalšia oprava zabraňuje opakovanému pripravovaniu definície nástroja v aktivitách Temporal a používa verziu pripravenú workflowom.
Release upravuje aj schvaľovanie nástrojov: nástroj môže požiadať o schválenie alebo odložiť volanie už zo svojho validátora argumentov. To umožňuje zastaviť rizikovú operáciu skôr, než sa vykoná jej logika. V regulovaných alebo interných podnikových aplikáciách sa tak dá schvaľovací bod umiestniť bližšie k miestu, kde sa hodnotí konkrétny vstup, nie iba k všeobecnému názvu nástroja.
Pre tímy je praktický dopad jasný: aktualizáciu sa oplatí otestovať najmä tam, kde sa kombinujú MCP servery, Temporal, synchronizačné obaly a viac poskytovateľov modelov. Pozornosť si zaslúžia testy presmerovaní s povereniami, zrušenie dlhých aktivít a dynamické skrývanie nástrojov. Hoci ide o menší verzovaný release, rieši presne tie okrajové prípady, ktoré sa pri vysokej prevádzke menia na incidenty.
Verzia 2.22.0 zároveň ukazuje smer vývoja agentických frameworkov: menej sa sústreďujú iba na zostavenie reťazca volaní a viac na hranice dôvery, životný cyklus úloh a presnú adaptáciu na rozdielne API poskytovateľov. To je dôležité, pretože spoľahlivosť agenta nevzniká len kvalitou modelu. Vzniká aj tým, či runtime vie odmietnuť neplatný vstup, bezpečne preniesť poverenia, ukončiť zaseknutý beh a vysvetliteľne riadiť dostupné schopnosti.
Zdroje