PydanticAI 2.21 obmedzí vstupné tokeny každého požiadavku agenta
Nová verzia PydanticAI pridáva samostatný limit veľkosti kontextu pre každý modelový požiadavok. Pomáha brzdiť nečakané náklady a pokles kvality pri dlhých agentických behoch.
Pripravil HERMES. Výber tém pomáha robiť BuloSentinel. Redakčná kontrola: Marek Považský.
- Typ zdroja
- Kurátorovaný súhrn
- Zdroj / autorita
- PydanticAI
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.21.0 s novým mechanizmom na obmedzenie počtu vstupných tokenov v každom jednotlivom požiadavku na model. Pole per_request_input_tokens_limit dopĺňa doterajšie súhrnné rozpočty pre celý beh agenta. Zmena reaguje na praktický problém dlhých agentických úloh: celková spotreba tokenov a veľkosť jedného konkrétneho kontextu sú dve rozdielne riziká, ktoré sa nedajú spoľahlivo riadiť jediným číslom.
Doterajší input_tokens_limit sleduje vstupné tokeny kumulatívne naprieč celým behom. Je užitočný proti nekonečným slučkám alebo úlohám, ktoré opakovane volajú model, no nehovorí priamo, aký veľký kontext sa odošle v jednom kroku. Agent môže uskutočniť viac rozumných krátkych požiadaviek a prekročiť súhrnný limit, alebo naopak odoslať jeden extrémne dlhý prompt, hoci celkový počet volaní zostáva nízky. Nová hranica sa vzťahuje samostatne na každý požiadavok.
Rozdiel je dôležitý najmä pri ukladaní promptov do vyrovnávacej pamäte. Poskytovatelia často účtujú opätovne použitú časť kontextu lacnejšie než nové vstupné tokeny. Súhrnný počet preto nemusí dobre zodpovedať skutočnej cene. Veľký kontext však naďalej prináša prevádzkové riziko: pri výpadku cache môže náhle zdražieť, môže sa priblížiť k limitu modelu a pri nadbytku málo relevantných informácií môže zhoršiť kvalitu odpovede. Limit na jeden požiadavok kontroluje práve túto dimenziu.
Nová verzia umožňuje dva režimy vynútenia. Predvolene framework porovná hranicu s údajom o vstupných tokenoch, ktorý poskytovateľ vráti po odpovedi. V takom prípade už bol nadmerný požiadavok odoslaný a môže byť aj zaúčtovaný; výnimka zabráni pokračovaniu behu, nie prvotnému nákladu. Ak vývojár nastaví count_tokens_before_request=True, PydanticAI najprv vykoná spočítanie tokenov a limit skontroluje ešte pred odoslaním požiadavky.
Predbežné počítanie zvyšuje kontrolu, ale nie je bezplatné. Podľa modelu a poskytovateľa môže znamenať dodatočné spracovanie alebo samostatné API volanie. Prevádzkovateľ si preto musí vybrať medzi tvrdou ochranou pred nadmerným kontextom a nižšou réžiou. Pre citlivé pracovné postupy s drahými modelmi, používateľskými dokumentmi alebo nekontrolovaným rastom histórie bude predbežná kontrola spravidla rozumnejšia. Pri lacných a krátkych interakciách môže stačiť kontrola po odpovedi.
Implementácia pokrýva bežné aj streamované odpovede a kontrolu zapája do agentického grafu. Pri pokračovacích reťazcoch, ako sú vybrané režimy Anthropic alebo OpenAI na pozadí, sa súvisiace segmenty môžu posudzovať konzervatívne ako spoločný vstup. Release obsahuje aj testy pre prekročenie limitu, úspešný priebeh pod hranicou, nezávislosť jednotlivých požiadaviek a predbežné vynútenie. Nejde teda iba o konfiguračné pole bez prepojenia na reálny beh agenta.
Praktický význam sa ukáže pri agentoch, ktorí do kontextu opakovane pridávajú výsledky nástrojov. Webová stránka, výpis databázy alebo veľký dokument môžu zväčšiť ďalší modelový požiadavok o desiatky tisíc tokenov. Súhrnný rozpočet pomáha zastaviť celý proces po prekročení celkovej spotreby, zatiaľ čo nový limit dokáže zachytiť jeden neprimeraný krok. Vývojári tak môžu osobitne nastaviť rozpočet behu a maximálnu veľkosť kontextu, ktorú považujú za bezpečnú.
Limit však nenahrádza správu kontextu. Po jeho prekročení musí aplikácia vedieť históriu zhutniť, zahodiť nepotrebné výstupy, načítať iba relevantné úseky dokumentov alebo úlohu ukončiť s čitateľnou chybou. Príliš nízka pevná hranica môže poškodiť úlohy, ktoré legitímne potrebujú dlhý kontext. Rozumné nasadenie preto vyžaduje meranie reálnych behov, odlišné nastavenia podľa modelu a pozorovanie toho, koľko tokenov pochádza z používateľského vstupu, nástrojov a opakovanej histórie.
Z pohľadu prevádzky je užitočné sledovať nielen počet prekročení, ale aj percentily veľkosti jednotlivých požiadaviek a rozdiel medzi odhadom pred odoslaním a údajmi poskytovateľa po odpovedi. Takéto metriky odhalia, či agent rastie postupne, alebo ho občas vychýli jeden veľký výstup nástroja. Novú hranicu možno následne spojiť s upozorneniami, automatickým zhutnením a pravidlami pre konkrétne nástroje. Samotná výnimka bez náhradného postupu by v produkcii iba zmenila účet za tokeny na zlyhanú používateľskú úlohu.
PydanticAI 2.21.0 je úzka verzia, no rieši presne vymedzený problém agentickej infraštruktúry. Rozdeľuje ochranu pred nekontrolovaným celkovým behom a ochranu pred jedným nadmerným kontextom. Pre tímy, ktoré už používajú cache promptov alebo dlhé nástrojové slučky, je to presnejší ovládací prvok pre cenu, latenciu aj kvalitu. Pred nasadením má zmysel otestovať oba režimy počítania na rovnakých produkčných scenároch a hranicu nastaviť podľa meraní, nie podľa nominálneho maxima kontextového okna modelu.
Zdroje