OpenAI или Claude cache: динамичните алатки можат да ја зголемат латентноста

|Автор: Уредувачки тим на QUASA|6 мин. читање
OpenAI или Claude cache: динамичните алатки можат да ја зголемат латентноста

Кај OpenAI и Claude, најсигурната почетна поставка за пониска цена и пократко време до првиот токен е да се кешира непроменетиот префикс, а променливите резултати од алатки да останат по него. Во независно мерење со над 500 агентски сесии и системски промпт од 10.000 токени, кеширањето на целиот контекст го влошило времето до првиот токен кај GPT-4o за 8,8%, додека кај Claude Sonnet 4.5 го подобрило за 21,8%. Затоа трошокот и латентноста треба да се споредуваат одделно за секој модел и распоред на барања.

Двете платформи повторно користат само префикс што се совпаѓа со претходен запис, но различно ја поставуваат границата и го наплаќаат записот. Упатството на OpenAI за GPT-5.6 и поновите модели наведува минимум од 1.024 видливи токени, цена на запис од 1,25 пати од обичниот влез, читање од 0,1 пати кај повеќето модели и минимално траење од 30 минути по запис или повторна употреба. Документацијата на Claude наведува стандарден TTL од пет минути, опција од еден час, цена на запис од 1,25 односно 2 пати од основниот влез и цена на читање што зависи од моделот.

Каде треба да заврши кешираниот префикс

Границата има смисла веднаш по последниот блок што навистина останува ист меѓу барањата. Стабилните дефиниции на алатки, системските инструкции и заедничкиот референтен контекст одат напред; временската ознака, идентификаторот на сесијата, тековното прашање и резултатот од пребарување одат подоцна. Ако променлив елемент влезе пред границата, неговиот нов текст го менува префиксот и следниот повик не може да го прочита записот за таа граница.

На GPT-5.6 и поновите модели, OpenAI во автоматскиот режим ја става границата на крајот од последната подобна порака. Тоа е погодно кога разговорот расте без да се препишуваат старите пораки, но може да запише и последен резултат од алатка што нема да се повтори. Експлицитниот режим дозволува границата да се означи во поддржан блок од порака; содржината по последната означена граница се наплаќа како обичен влез, без премија за запис. Кај Claude, автоматското кеширање исто така ја поместува границата со разговорот, а cache_control на конкретен блок овозможува контролирана граница по стабилниот дел.

Ова не значи дека секој резултат од алатка е бескорисен за кеш. Во ист непроменет разговор, претходниот резултат останува дел од заедничката историја и следниот повик може да го прочита. Проблемот се јавува кога границата го опфаќа резултатот од тековниот повик, а следниот независен повик носи сосема друг резултат; тогаш новиот запис може да остане без идно читање.

Пет минути или еден час: кога поскапиот запис се исплати

Траењето на кешот треба да го следи ритамот на повторна употреба. Кај Claude, успешното читање го обновува TTL без нова премија за запис; времето се смета од почетокот на барањето, па долг одговор остава пократок остаток од прозорецот. За редовни повици во рамки на пет минути, подолгиот TTL обично плаќа повисок почетен запис без да донесе дополнително читање. За подолги паузи, едночасовниот запис може да го избегне повторното создавање на истиот префикс.

Условна пресметка ја покажува разликата без мешање на апсолутните цени на моделите. Нека обработката на еден ист префикс без кеш чини една единица, а читањето во избраниот модел чини 0,1 единица. Три барања во рамки на пет минути чинат 3 единици без кеш, 1,45 со еден петминутен запис и две читања, или 2,2 со еден едночасовен запис и две читања. Пресметката ги опфаќа само токените од истиот префикс; новиот кориснички влез и излезните токени остануваат надвор од неа.

Ако истите три барања пристигнат со по десет минути пауза, петминутниот запис истекува пред следното барање и три записи чинат 3,75 единици. Едночасовен запис со две читања чини 2,2 единици. За GPT-5.6, под услов префиксот да го исполнува минималниот праг и да се погоди истиот кеш, минималниот прозорец од 30 минути би ги опфатил тие повици: еден запис и две читања чинат 1,45 единици според неговите множители. Ова споредува нормализиран трошок за префикс, а не вкупна фактура меѓу два различно ценети модели.

Кога динамичните алатки го расипуваат совпаѓањето

Резултатот од веб-пребарување или извршување код може да се смени и кога инструкциите на агентот се исти. Пишување на целиот нов контекст тогаш создава запис за секоја варијанта, додека стабилниот системски промпт е делот со најголема веројатност за повторно читање. Во опишаното мерење, добивката во цена била слична меѓу стратегиите затоа што долгиот системски промпт бил заеднички за сите; временскиот резултат се разликувал според моделот и поставената граница. Влошувањето кај GPT-4o е резултат од таа тестирана конфигурација и не претставува измерен резултат за GPT-5.6.

Дефиницијата на алатката е посебен дел од проблемот. Упатството на Claude за алатки наведува дека измена на дефинициите го поништува кешот за алатки, систем и пораки, додека алатка откриена преку tool search се додава подоцна во разговорот и го зачувува почетниот префикс. Кога кеширањето е вклучено и Claude користи серверска алатка, API автоматски става граница по нејзиниот резултат со петминутен TTL, дури и ако експлицитната граница има едночасовен TTL. Затоа дел од записите во статистиката може да потекнуваат од серверскиот циклус, а не од границата што ја поставил тимот.

Како да се измерат трошокот и времето до првиот токен

Споредбата има вредност само ако задачата, моделот и распоредот на повиците се исти, а се менува стратегијата за кеширање. Потребни се серии со брзо повторување на ист префикс, серии со пауза што го надминува краткиот TTL и серии во кои резултатот од алатка се менува при секој повик. Така се гледа дали заштедата доаѓа од читања на стабилниот дел или дали се создаваат записи што остануваат неискористени.

  • За OpenAI бележете ги cached_tokens и cache_write_tokens од input_tokens_details, заедно со вкупните input_tokens. За Claude одвојте ги cache_read_input_tokens, cache_creation_input_tokens и обичните input_tokens; последното поле не е вкупниот влез.
  • Пресметајте ја цената како збир на обичните влезни токени, кешираните читања и записите помножени со соодветните цени на конкретниот модел. За цена на целата задача додајте ги и излезните токени.
  • Мерете го времето од испраќање на барањето до првиот примен дел од одговорот, со ист начин на стримување во секоја серија. Гледајте ја и распределбата на времињата, бидејќи просекот може да прикрие повремени бавни промашувања на кешот.

Проверете го и минималниот број токени за моделот пред да ја споредувате цената: прекраток префикс нема да биде кеширан иако границата е правилно поставена. За растечки разговор зачувајте го редоследот и текстот на претходните пораки; нивно препишување или сумирање го менува префиксот и може да ја прекине повторната употреба. Добра конфигурација е онаа што носи повеќе вистински читања на истиот стабилен дел, со помал вкупен трошок и прифатливо време до првиот токен при реалниот ритам на повици.

Прочитајте и:

Сподели:

Претплатете се на нашиот билтен

Добивајте ги најновите вести за Web3, AI и крипто директно во вашето сандаче.

0