Pydantic AI 2.23 pridáva nákladové limity a opravuje prácu s povereniami Google Cloud
Pydantic AI 2.23 umožňuje obmedziť cenu jedného behu agenta, rozširuje dynamickú prácu s nástrojmi a opravuje rozsah poverení Google Cloud. Nákladový limit však funguje iba vtedy, keď framework dokáže cenu použitého modelu určiť.
Za text zodpovedá Redakcia AI Feed. Zodpovedný editor: Marek Považský. Ako používame AI.
- Typ zdroja
- Oficiálny zdroj
- Zdroj / autorita
- Pydantic AI
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.
Rozpočet sa dostáva priamo do behu agenta
Pydantic AI vo verzii 2.23.0 doplnil mechanizmy, ktoré riešia tri praktické problémy produkčných agentov: kontrolu nákladov, meniacu sa dostupnosť nástrojov a bezpečnejšiu prácu s cloudovou autentifikáciou. Oficiálne poznámky k vydaniu uvádzajú pridanie položky cost do údajov o spotrebe, limitu cost_limit, podpory dynamických udalostí nástrojov a hlavičiek pre Amazon Bedrock. Súčasťou vydania sú aj opravy deadlocku, streamovania, integrácie s Temporalom a rozsahu poverení Google Cloud. Nejde teda o veľkú zmenu programovacieho modelu, ale o balík prevádzkových kontrol, ktoré rozhodujú o tom, či sa agent dá bezpečne udržať v dlhodobej službe.
Najvýraznejšou novinkou je možnosť sledovať odhadovanú cenu v RunUsage a nastaviť maximálnu cenu jedného behu cez UsageLimits. Pri klasickom chatovom volaní býva počet požiadaviek ľahko predvídateľný. Agent však môže plánovať, opakovane volať model, používať externé nástroje a po neúspechu skúšať ďalší postup. Chyba v ukončovacej podmienke alebo nevhodne navrhnutý nástroj preto môže vytvoriť desiatky platených volaní bez primeraného výsledku. Nákladový limit pridáva poistku bližšie k samotnému vykonávaniu, namiesto toho, aby tím problém odhalil až vo faktúre alebo v oneskorenom monitoringu.
Aktuálna dokumentácia Pydantic AI spresňuje dôležité obmedzenie: cena je iba najlepší dostupný odhad v amerických dolároch. Ak použitý model alebo poskytovateľ nemá známy cenník, hodnota zostane None, nie nula. Framework tak správne odlišuje neznámu cenu od bezplatného volania, ale nastavenie cost_limit samo osebe nezaručuje tvrdý finančný strop pre každú integráciu. Dokumentácia navyše vysvetľuje, že ceny modelov sú zabalené vo vydaní a pre novšie modely ich možno priebežne aktualizovať. Prevádzkovateľ musí preto monitorovať aj prípady, keď cenu nemožno vypočítať, a ponechať limity počtu požiadaviek, tokenov a nástrojových volaní ako ďalšie nezávislé brzdy.
Dynamické nástroje a Bedrock bez tichého zablokovania
Druhou novinkou je ToolAvailabilityDeltaPart, ktorý natívne reprezentuje udalosti pridania nástroja počas streamovaného behu. Množina schopností agenta už nemusí byť nemenná od začiatku relácie: aplikácia môže nástroj sprístupniť podľa identity používateľa, aktuálneho kontextu alebo výsledku predchádzajúceho kroku. Explicitná udalosť je lepšia než neformálne oznámenie v texte, pretože klient, auditná vrstva aj používateľské rozhranie môžu zmenu spracovať štruktúrovane. Zároveň však rastie význam autorizácie. To, že agent o nástroji vie, nesmie automaticky znamenať, že má oprávnenie vykonať každú jeho operáciu.
Pre Amazon Bedrock pribudla podpora ModelSettings.extra_headers, takže aplikácia môže odovzdať dodatočné hlavičky aj cez túto integráciu. Samostatná oprava odmietne nulovú hodnotu bedrock_max_concurrency, ktorá predtým mohla viesť k deadlocku. Rozdiel je prevádzkovo podstatný: neplatná konfigurácia sa má prejaviť pri validácii ako zrozumiteľná chyba, nie ako proces, ktorý prestane napredovať bez jasnej príčiny. Pre tímy s frontami úloh alebo automatickým škálovaním je tiché zablokovanie nebezpečné, pretože môže vyvolať ďalšie opakovania, zaplniť pracovné fronty a skomplikovať diagnostiku incidentu.
Vydanie obnovilo aj stabilné aliasy brány pre obrazové modely gemini-3-pro-image a gemini-3.1-flash-image. Alias znižuje potrebu viazať aplikačný kód na detaily konkrétneho poskytovateľa, no zároveň vytvára ďalšiu vrstvu, ktorej správanie treba testovať. Pri multimodálnych pracovných postupoch môže zmena cieľového modelu ovplyvniť cenu, latenciu aj formát odpovede. Tímy by preto nemali považovať stabilný názov za záruku nemenných prevádzkových vlastností; vhodné sú regresné testy a zaznamenávanie skutočne použitého modelu.
Oprava poverení nie je potvrdený únik dát
Bezpečnostne najcitlivejšia položka opravuje rozsah poverení v GoogleCloudProvider a únik stavovej premennej prostredia súvisiacej s Application Default Credentials, skrátene ADC. Formulácia v poznámkach k vydaniu nehovorí, že tajný kľúč unikol na internet alebo k cudziemu používateľovi. Presnejšie je hovoriť o nežiaducom presahu autentifikačného nastavenia v procese. Takáto chyba môže spôsobiť, že iná časť aplikácie nájde alebo použije poverenia, ktoré jej pôvodca nechcel ponechať aktívne. Bez samostatného bezpečnostného oznámenia, identifikátora CVE alebo opísaného scenára zneužitia nemožno spoľahlivo určiť závažnosť ani tvrdiť, že boli kompromitované konkrétne účty.
Dokumentácia Google Cloud vysvetľuje, prečo je práca s touto premennou citlivá. ADC hľadá poverenia najprv v GOOGLE_APPLICATION_CREDENTIALS, potom v lokálnom súbore vytvorenom nástrojom gcloud a napokon cez pripojený servisný účet. Premenná prostredia teda môže zmeniť identitu, ktorú knižnice automaticky vyberú. Google zároveň neodporúča dlhodobé kľúče servisných účtov a v produkcii uprednostňuje pripojený servisný účet s minimálnymi oprávneniami. Po aktualizácii frameworku je preto vhodné overiť nielen odstránenie presahu premennej, ale aj to, akú identitu aplikácia skutočne používa, aké roly má pridelené a či testovacie poverenia nemôžu preniknúť do paralelných úloh.
Ďalšie opravy sa týkajú životného cyklu streamov. Pydantic AI má čítať časovú značku created z ľubovoľného fragmentu streamovanej odpovede OpenAI a pri ukončení asynchrónny stream aktívne zatvoriť namiesto čakania na garbage collector. Opravené boli aj hooky pri agent.iter(), zachovanie podtried kontajnerov schopností a instrumentácia hostiteľskej aplikácie pri použití Temporal LogfirePlugin. Každá položka pôsobí úzko, no pri dlho bežiacich službách ovplyvňuje uvoľňovanie spojení, úplnosť telemetrie a schopnosť spätne vysvetliť kroky agenta.
Čo zmena znamená pre slovenské a európske tímy
Pre slovenské firmy je vydanie relevantné najmä tam, kde agent pristupuje k interným systémom alebo používa viac cloudov. Európske požiadavky na riadenie rizík, ochranu osobných údajov a preukázateľnú kontrolu dodávateľov sa nedajú splniť jedným parametrom frameworku. Nákladový limit pomáha proti nekontrolovanému čerpaniu služby, no nerieši oprávnenia nástrojov. Oprava ADC znižuje riziko nesprávneho autentifikačného kontextu, no nenahrádza správu identít. Aj OWASP pri aplikáciách s jazykovými modelmi upozorňuje na rast nákladov pri vyčerpávaní zdrojov, zverejnenie citlivých údajov a nadmernú autonómiu ako na samostatné triedy rizík.
Pred nasadením verzie 2.23.0 by mal tím v testovacom prostredí simulovať prekročenie ceny, počtu požiadaviek, tokenov aj nástrojových volaní. Treba preveriť správanie pri neznámej cene modelu, ukončenie otvorených streamov, nulový limit súbehu Bedrocku a paralelné úlohy používajúce odlišné identity Google Cloud. Užitočné je zaznamenávať odhad ceny, identifikátor modelu, zvoleného poskytovateľa a výslednú výnimku bez ukladania samotných poverení. Otvorenou neistotou zostáva závažnosť opravenej chyby ADC, keďže verejné poznámky neposkytujú technický rozbor incidentu. Aktualizácia je rozumná, ale tvrdenie o potvrdenom externom úniku prihlasovacích údajov by dostupné podklady neodôvodňovali.
Zdroje