Koszt agenta AI rośnie kwadratowo — cache wymaga stałego prefiksu

|Autor: Redakcja QUASA|6 min czytania| 1
Koszt agenta AI rośnie kwadratowo — cache wymaga stałego prefiksu

Koszt zadania agenta AI policz jako sumę opłat za wszystkie wywołania modelu, także ponowione: osobno za zwykłe tokeny wejściowe, zapis i odczyt cache oraz tokeny wyjściowe. Jeśli interesuje Cię średni koszt ukończonego zadania, podziel łączny wydatek na wszystkie próby przez liczbę zadań zakończonych powodzeniem. Objaśnienie zliczania tokenów OpenAI wskazuje pola input_tokens, output_tokens i total_tokens w Responses API oraz wyjaśnia, że widoczna odpowiedź może nie obejmować rozliczanych tokenów rozumowania.

Gdy każde następne żądanie zawiera całą wcześniejszą, nieskracaną historię, suma tokenów wejściowych ma składnik kwadratowy względem liczby kroków. Cache obniża cenę ponownie użytego fragmentu tylko wtedy, gdy wcześniejsze żądanie zapisało odpowiednio długi prefiks, następne zachowuje go bez zmian, a wpis jest nadal ważny. Samo włączenie cache nie gwarantuje więc niższego rachunku.

Arkusz: jeden wiersz na każde wywołanie

W arkuszu przypisz każdemu żądaniu identyfikator zadania, numer próby i kroku, model oraz czas rozpoczęcia. W kolejnych kolumnach zapisz liczbę zwykłych tokenów wejściowych I, tokenów zapisanych w cache W, odczytanych z cache R i wyjściowych O. Obok umieść odpowiadające im stawki za milion tokenów: Ci, Cw, Cr i Co. Jeśli używasz różnych czasów ważności cache, rozdziel zapisy oraz ich stawki na osobne kolumny.

Koszt wywołania = (I × Ci + W × Cw + R × Cr + O × Co) / 1 000 000. Suma wierszy o tym samym identyfikatorze daje koszt konkretnego zadania. Dla Claude pole input_tokens obejmuje wejście poza cache; aby uzyskać całe wejście, dodaj do niego cache_creation_input_tokens i cache_read_input_tokens. Nie doliczaj tej sumy ponownie do kosztu, bo zapis i odczyt mają już własne kolumny.

Ponowienie po błędzie, dodatkowa próba uzyskania poprawnego wyniku i wywołanie innego modelu wymagają osobnych wierszy. Opłaty za zewnętrzne wyszukiwanie lub inne płatne narzędzia dodaj jako osobne pozycje, jeśli występują. Przy porównywaniu konfiguracji licz ukończone zadania według tego samego kryterium wyniku, ustalonego na przykład w teście wykonania zadania; w przeciwnym razie tańsza próba może jedynie częściej kończyć się niepowodzeniem.

Dlaczego liczba kroków zmienia koszt nieliniowo

Niech P oznacza liczbę tokenów stałych instrukcji i definicji narzędzi, a h — liczbę tokenów dodawanych do historii po każdym kroku. Jeżeli agent wykonuje n wywołań i za każdym razem przesyła całą historię, łączne wejście wynosi n × P + h × n × (n − 1) / 2 tokenów. Pierwszy składnik rośnie liniowo, drugi kwadratowo, ponieważ wcześniejsze wiadomości wracają w kolejnych żądaniach.

To model dla historii o stałym przyroście, bez streszczania i usuwania wiadomości. W rzeczywistym arkuszu wpisz zmierzoną liczbę tokenów każdego wywołania: długość odpowiedzi, wynik narzędzia i liczba ponowień mogą się różnić między krokami. Nawet cache obejmujący stałe instrukcje usuwa z drogiego wejścia przede wszystkim powtarzane P; jeśli narastająca historia pozostaje poza nim, jej kwadratowy składnik nadal wpływa na rachunek.

Kiedy zapis prefiksu się opłaca

Dokumentacja prompt caching Claude opisuje prefiks w kolejności tools, system, messages oraz standardowe mnożniki: zapis na pięć minut kosztuje 1,25 ceny zwykłego wejścia, zapis na godzinę — 2 razy tę cenę, a odczyt — 0,1; dla części modeli stawka odczytu jest inna. Zmiana definicji narzędzia unieważnia również dalsze części prefiksu. W arkuszu użyj stawek konkretnego modelu, ponieważ samo oznaczenie tokenu jako buforowanego nie określa jeszcze jego ceny.

Umieść punkt zapisu na końcu części identycznej między żądaniami. Jeśli przed nim trafi znacznik czasu, zmienny wynik narzędzia albo przestawiona definicja, następne wywołanie może zapisać nowy prefiks zamiast odczytać poprzedni. Po każdym kroku porównuj liczniki W i R: duża liczba zapisów przy zerowej liczbie odczytów oznacza koszt cache bez korzyści z ponownego użycia. Sprawdź też minimalną długość prefiksu wymaganą przez wybrany model.

Dla pojedynczego zapisu prefiksu o długości P i N późniejszych trafień koszt wynosi P × (w + N × r) × Ci / 1 000 000, gdzie w i r są mnożnikami zapisu oraz odczytu. Bez cache ten sam prefiks kosztowałby P × (1 + N) × Ci / 1 000 000. Cache jest tańszy, gdy N > (w − 1) / (1 − r). Przy standardowych mnożnikach wystarczy jedno trafienie dla zapisu pięciominutowego albo dwa dla godzinnego; rachunek zakłada ten sam prefiks i pomija pozostałe tokeny, które w obu wariantach kosztują tyle samo.

Trzy warianty jednego zadania

Oto przykład warunkowy, a nie cennik dostawcy. Agent wykonuje sześć wywołań. Stały prefiks ma 10 000 tokenów, historia przyrasta o 1 000 tokenów po każdym kroku, a każde wywołanie generuje 500 tokenów wyjściowych. Przyjmij 1 zł za milion zwykłych tokenów wejściowych i 5 zł za milion wyjściowych oraz standardowe mnożniki cache opisane wyżej. Bez cache agent zużywa łącznie 75 000 tokenów wejściowych i 3 000 wyjściowych, co daje 0,09 zł.

  • Stały prefiks: pierwsze wywołanie zapisuje 10 000 tokenów na pięć minut, a pięć kolejnych je odczytuje. Narastająca historia daje łącznie 15 000 tokenów zwykłego wejścia. Koszt zadania wynosi 0,0475 zł.
  • Zmiana definicji narzędzi przed każdym krokiem: żadne kolejne wywołanie nie odczytuje poprzedniego zapisu. Przy pięciominutowym cache sześć zapisów prefiksu, ta sama historia i to samo wyjście dają 0,105 zł.
  • Długa przerwa: jeśli między kolejnymi krokami mija więcej niż pięć minut, wpis wygasa i wariant pięciominutowy także kosztuje 0,105 zł. Gdy każda przerwa mieści się w godzinie, zgodny prefiks zapisany na godzinę daje 0,055 zł.

W przykładzie zmieniają się wyłącznie zapisy i trafienia cache. Jeśli przerwa przekroczy również czas ważności dłuższego wpisu, także on wymaga ponownego zapisu. W produkcyjnym arkuszu zastąp przyjęte stawki, liczbę kroków i długości żądań rzeczywistymi wartościami z odpowiedzi API.

Jak ocenić zmianę konfiguracji agenta

Po zmianie instrukcji, narzędzi lub punktu zapisu porównaj koszt ukończonego zadania, liczbę odczytanych i zapisanych tokenów oraz odstępy między żądaniami. Sam wzrost udziału R w wejściu nie wystarcza, jeśli konfiguracja zwiększa liczbę kroków albo ponowień. Warto też porównać czas do pierwszego tokenu, bo oszczędność finansowa i opóźnienie nie zawsze zmieniają się tak samo.

W badaniu ponad 500 sesji agentowych z benchmarku DeepResearch Bench autorzy aktualnej wersji pracy odnotowali spadek kosztów API o 41–80% i czasu do pierwszego tokenu o 13–31% w badanych konfiguracjach; strategiczne punkty zapisu dawały stabilniejsze korzyści niż buforowanie całego zmiennego kontekstu, które w części przypadków zwiększało opóźnienie. Dla własnego agenta miarą finansową pozostaje wydatek na wszystkie próby przypadający na ukończone zadanie.

Przeczytaj także:

Udostępnij:

Zapisz się do naszego newslettera

Otrzymuj najnowsze wiadomości o Web3, AI i kryptowalutach prosto na swoją skrzynkę.

0