PydanticAI 2.26 pridáva skrývanie nástrojov a riadené rušenie agentických behov
PydanticAI 2.26 umožňuje sprístupňovať nástroje až podľa potreby a štandardizuje rušenie behov. Novinky pomáhajú pri dlhých agentických úlohách, no neriešia spätné odvolanie už vykonaných operácií.
Za text zodpovedá Redakcia AI Feed. Zodpovedný editor: Marek Považský. Ako používame AI.
- Typ zdroja
- Oficiálny zdroj
- Zdroj / autorita
- PydanticAI
Ako vznikol tento text
Redakcia spracovala verejné podklady do slovenského kontextu. Za výber, pravidlá kvality a prípadné opravy zodpovedá Marek Považský.
Text je zaradený v sekcii AI produkty a opiera sa o 4 zdroje. Konkrétne odkazy sú uvedené pod článkom; podrobnosti o AI postupe vysvetľuje metodika redakcie.
Menej nástrojov v kontexte, nie menej schopností
PydanticAI vo verzii 2.26.0 rozšíril kontrolu nad tým, ktoré funkčné nástroje model v jednotlivých krokoch agentického behu vidí. Oficiálne poznámky k vydaniu hovoria o skrývaní nástrojov, kým ich neodhalí vyhľadávanie nástrojov, mechanizmus load_capability alebo návratová hodnota ToolReturn.tools. Ide o presnejšie označenie než „odkladané nástroje“: novinka primárne odkladá vloženie ich definícií do kontextu modelu, nie nevyhnutne samotné vykonanie funkcie. PydanticAI má pritom využívať natívny kanál na dynamické pridávanie nástrojov, ak ho zvolený poskytovateľ modelu podporuje.
Takéto riadenie je dôležité pri agentoch s desiatkami až stovkami schopností. Každá definícia nástroja zaberá časť kontextového okna a pridáva modelu ďalšiu možnosť, medzi ktorou musí vyberať. Menší aktívny katalóg preto môže znížiť objem prenášaných dát a obmedziť situácie, keď model vyberie podobne pomenovanú, ale nevhodnú funkciu. Samotné vydanie však neobsahuje všeobecný benchmark úspory tokenov ani presnosti výberu nástrojov. Praktický prínos bude závisieť od modelu, poskytovateľa, kvality opisov nástrojov aj od toho, ako spoľahlivo funguje mechanizmus ich vyhľadania.
Poznámky k verzii uvádzajú aj opravy životného cyklu odhalených nástrojov. Po objavení majú zostať vyhľadateľné a stav ich odhalenia sa má resetovať na hraniciach CompactionPart. Ďalšie opravy sa týkajú kontroly is_tool_available, testovacieho modelu a natívne pridávaných nástrojov. Nie sú to iba kozmetické detaily: pri dlhom rozhovore môže kompakcia nahradiť staršiu históriu kratším stavom. Ak by sa pritom stratila informácia o dostupnej funkcii, agent by mohol po kompakcii zmeniť správanie alebo prestať dokončovať rozpracovanú úlohu.
Rušenie behu dostalo spoločné rozhranie
Druhou hlavnou zmenou je prvotriedne rušenie prostredníctvom rozhraní AgentRun.cancel() a RunContext.cancel() a výnimky RunCancelled. Verejný objekt AgentRunEvents, na ktorý sa povýšil iterátor run_stream_events(), zároveň poskytuje metódu cancel() a prístup k stavu behu. Aplikácia tak môže z jedného miesta sledovať stream udalostí a zastaviť úlohu po zásahu používateľa, prekročení interného časového alebo finančného limitu či po zistení neproduktívnej slučky. Pred verziou 2.26 museli integrátori podobnú kontrolu skladať z vlastnej asynchrónnej logiky.
Rušenie procesu však nemožno zamieňať s transakčným vrátením sveta do pôvodného stavu. Ak agent už odoslal e-mail, vytvoril cloudový zdroj alebo vykonal zápis do databázy, vyvolanie cancel() túto akciu automaticky neodvolá. Rovnako nemusí zrušiť cenu požiadavky, ktorú už poskytovateľ modelu spracoval. Produkčná aplikácia preto stále potrebuje idempotentné operácie, časové limity, kompenzačné kroky a jednoznačné označenie toho, ktoré vedľajšie účinky sa dokončili. Nové API štandardizuje signál na zastavenie, nie distribuovanú transakciu naprieč externými službami.
Pre používateľské rozhrania je podstatné, aby bol stav rušenia viditeľný a overiteľný. Tlačidlo „zastaviť“ by nemalo iba ukončiť zobrazovanie tokenov, zatiaľ čo backend pokračuje v používaní nástrojov. Tím by mal v integračných testoch overiť rušenie počas modelovej odpovede, počas lokálnej funkcie aj počas externého API volania. Osobitne treba skontrolovať, či sa po RunCancelled uvoľnia spojenia, ukončia podriadené úlohy a zapíše auditný záznam s posledným úspešne dokončeným krokom.
Kompakcia, cache a poskytovatelia
Verzia 2.26.0 upravuje aj správu dlhého kontextu. Framework má po novom posielať iba skompaktované okno od najnovšieho CompactionPart patriaceho rovnakému poskytovateľovi. Cieľom je zabrániť tomu, aby sa spolu so zhrnutým stavom opätovne odosielala aj staršia história, ktorú mala kompakcia nahradiť. Pribudla tiež metóda Model.resolve_prompt_cache_retention(), ktorá určuje efektívnu dobu uchovania promptovej cache z nastavení modelu. Obe zmeny môžu ovplyvniť cenu a latenciu, ale konkrétny výsledok závisí od pravidiel cache a účtovania jednotlivých API.
V integračnej vrstve pribudlo zdokumentované pokrytie modelu DeepSeek V4 Flash cez kombináciu OpenAIResponsesModel a DeepSeekProvider. Nejde o model vytvorený Pydanticom ani o dôkaz jeho kvality; vydanie iba pridáva a testuje cestu, ktorou ho možno používať cez spoločné rozhranie frameworku. Ďalšie opravy mapujú streamované detaily uvažovania OpenRouteru podľa indexu a vypínajú natívne systémové správy uprostred konverzácie v profile, ktorý ich nepodporuje. Opravené bolo aj odovzdávanie model_id cez obalové modely a preposielanie udalostí z niektorých asynchrónnych callbackov.
Záznam na Python Package Indexe nezávisle potvrdzuje existenciu balíka pydantic-ai vo verzii 2.26.0 a umožňuje jeho explicitné pripnutie. PyPI však samo nepotvrdzuje prevádzkové tvrdenia o jednotlivých funkciách; tie vychádzajú z release notes, porovnania zdrojového kódu a súvisiacich zmien v repozitári. Ani dostupnosť balíka v registri neznamená, že aktualizácia je bezriziková pre každú aplikáciu. Tímy by mali zachovať uzamknuté závislosti, vykonať regresné testy a pripraviť návrat na predchádzajúcu verziu.
Dôsledky pre slovenské a európske tímy
Pre slovenských vývojárov a menšie európske firmy môže byť najpraktickejším prínosom lepšia kontrola nákladov a vedľajších účinkov bez budovania celej riadiacej vrstvy od začiatku. Agent pripojený k interným systémom môže mať nástroje na čítanie dokumentov, úpravu kódu, prácu s CRM alebo správu infraštruktúry. Dynamické odhaľovanie znižuje počet funkcií ponúknutých modelu naraz, zatiaľ čo rušenie dáva aplikácii jednotný bod na zásah. Ani jedna vlastnosť však nenahrádza minimálne oprávnenia, schvaľovanie citlivých akcií a oddelenie testovacieho prostredia od produkcie.
V európskom kontexte je dôležitá aj preukázateľnosť riadenia systému. Povinnosti podľa GDPR alebo aktu o umelej inteligencii sa nedajú odvodiť iba z použitého frameworku; závisia od spracúvaných údajov, účelu a rizikovej klasifikácie konkrétneho nasadenia. Nové udalosti a stavy môžu pomôcť vytvárať auditnú stopu, no organizácia si musí sama určiť dobu uchovávania logov, právny základ spracovania a ochranu zdrojového kódu či obchodného tajomstva. Posielanie menšieho počtu schém nástrojov navyše automaticky neznamená, že poskytovateľ modelu dostane menej citlivých používateľských dát.
Pred aktualizáciou sa oplatí zostaviť test s reálnym katalógom nástrojov a merať veľkosť promptov, latenciu, úspešnosť nájdenia skrytej funkcie a správanie po kompakcii. Druhá skupina testov by mala zámerne rušiť beh v rôznych fázach a kontrolovať, ktoré externé operácie zostali dokončené. Otvorenou neistotou zostáva rozdiel medzi poskytovateľmi: natívne dynamické pridávanie nástrojov, promptová cache aj streamovanie udalostí nemusia mať rovnakú sémantiku. PydanticAI 2.26 prináša užitočné stavebné bloky, ich spoľahlivosť v konkrétnom systéme však musí potvrdiť prevádzkové testovanie.
Zdroje