Przy czacie pytanie o koszt ma prostą odpowiedź: płacisz za pytanie i za odpowiedź. Przy agencie ta odpowiedź przestaje wystarczać, bo agent sam decyduje, ile kroków wykona, a każdy kolejny krok kosztuje więcej niż poprzedni.
Poniżej liczę jeden scenariusz na oficjalnym cenniku Anthropic, w stanie z 11 września 2026. To nie jest pomiar żadnego konkretnego wdrożenia, tylko arytmetyka na jawnych założeniach, które możesz podmienić na swoje. Ważniejsza od wyniku jest struktura rachunku, bo to ona decyduje, które oszczędności mają sens.
API modelu jest bezstanowe. Każde zapytanie w pętli agenta zawiera wszystko od początku: instrukcję systemową, definicje narzędzi, zadanie, każdą wcześniejszą odpowiedź modelu i każdy wynik narzędzia. Czterdziesty krok wysyła modelowi całą historię trzydziestu dziewięciu poprzednich.
Do tego dochodzą dwie pozycje, o których łatwo zapomnieć. Samo włączenie narzędzi dodaje ukrytą instrukcję systemową: przy ustawieniu tool_choice na auto to 286 tokenów dla Opusa 5, 354 dla Sonneta 5 i 496 dla Haiku 4.5. Druga pozycja to myślenie. Tokeny myślenia w bieżącym kroku są rozliczane jako wyjściowe, a Opus 4.5 i modele od 4.6 wzwyż zachowują bloki myślenia z poprzednich tur w kontekście i rozliczają je jako wejście.
| Założenie | Wartość |
|---|
| Stały początek zapytania: instrukcja, definicje narzędzi, zadanie | 8 000 tokenów |
| Odpowiedź modelu w jednym kroku, z myśleniem i wywołaniem narzędzia | 400 tokenów |
| Wynik narzędzia w jednym kroku, na przykład fragment pliku albo wynik testów | 2 000 tokenów |
| Liczba kroków w zadaniu | 40 |
W takim zadaniu agent wysyła łącznie 2 192 000 tokenów wejściowych i generuje 16 000 wyjściowych. Sam ostatni krok to 101 600 tokenów wejścia.
Ceny za milion tokenów wejścia i wyjścia: Opus 5 kosztuje 5 i 25 dolarów, Sonnet 5 kosztuje 2 i 10, Haiku 4.5 kosztuje 1 i 5. Wariant z cache'em zakłada okno pięciominutowe, przerwy krótsze niż pięć minut i to, że każdy krok czyta poprzedni prefiks za 0,1 stawki, a nowy fragment zapisuje za 1,25. Wszystkie liczby w tabelach policzyłem skryptem.
| Model | Bez cache'u | Z cache'em | Udział wyjścia w rachunku z cache'em |
|---|
| Opus 5 | 11,36 USD | 2,08 USD | 19% |
| Sonnet 5 | 4,54 USD | 0,83 USD | 19% |
| Haiku 4.5 | 2,27 USD | 0,42 USD | 19% |
Dwie rzeczy są tu mniej oczywiste, niż się wydaje. Bez cache'u wyjście stanowi 3,5 procent rachunku, więc skracanie odpowiedzi modelu prawie nic nie daje. Z kolei Opus 5 z włączonym cache'em kosztuje mniej niż Sonnet 5 bez niego. Samo włączenie cache'u zmienia rachunek bardziej niż przejście na tańszy model.
Każdy krok dopisuje do historii 2 400 tokenów i te tokeny są potem czytane w każdym następnym kroku. Suma takiego ciągu rośnie z kwadratem liczby kroków.
| Kroki | Tokeny wejściowe | Opus 5 bez cache'u | Opus 5 z cache'em |
|---|
| 10 | 188 000 | 1,04 USD | 0,36 USD |
| 20 | 616 000 | 3,28 USD | 0,82 USD |
| 40 | 2 192 000 | 11,36 USD | 2,08 USD |
| 80 | 8 224 000 | 41,92 USD | 6,05 USD |
Podwojenie liczby kroków z 40 do 80 zwiększa koszt 3,7 raza bez cache'u i 2,9 raza z cache'em. Cache zmniejsza współczynnik, ale kształtu krzywej nie zmienia.
Wniosek jest praktyczny. Agent, który na zadanie potrzebne w czterdziestu krokach zużyje osiemdziesiąt, kosztuje prawie trzy razy więcej, a nie dwa razy. Limit liczby kroków jest więc narzędziem kontroli kosztów, a nie tylko zabezpieczeniem przed zapętleniem.
Te same obliczenia dla Opusa 5 z jedną zmienioną wartością:
| Zmiana względem scenariusza | Bez cache'u | Z cache'em |
|---|
| Scenariusz bazowy | 11,36 USD | 2,08 USD |
| Wynik narzędzia 1 000 zamiast 2 000 tokenów | 7,46 USD | 1,47 USD |
| Stały początek 16 000 zamiast 8 000 tokenów | 12,96 USD | 2,29 USD |
| Odpowiedź modelu 800 zamiast 400 tokenów | 13,32 USD | 2,73 USD |
Skrócenie wyników narzędzi o połowę obniża koszt z cache'em o 29 procent. Podwojenie stałego początku zapytania podnosi go tylko o 10 procent, bo ta część jest prawie w całości czytana z cache'u. Podwojenie odpowiedzi modelu podnosi go o 31 procent, bo każda odpowiedź płaci stawkę wyjściową, a potem zostaje w historii i jest czytana w każdym kolejnym kroku.
Kolejność działań wynika z tej tabeli. Najpierw włącz cache. Dokumentacja Anthropic poleca na początek tryb automatyczny, w którym jedno pole w zapytaniu przesuwa punkt buforowania razem z rozmową. Potem przytnij wyniki narzędzi: test, który zwraca tylko nieudane przypadki zamiast pełnego logu, jest tańszy w każdym kolejnym kroku, a model dostaje mniej szumu. O tym, dlaczego nadmiar kontekstu szkodzi także jakości, pisałem przy higienie kontekstu. Na końcu ustaw limit kroków i pilnuj, żeby początek zapytania się nie zmieniał. Dopiero wtedy ma sens porównywanie modeli.
Załóżmy, że w dwudziestym pierwszym kroku agent czeka na testy dłużej niż pięć minut. Cache wygasa i ten krok zapisuje od nowa prefiks 53 600 tokenów za 1,25 stawki, zamiast odczytać go za 0,1. Na Opusie 5 to 31 centów więcej, a cały rachunek rośnie z 2,08 do 2,39 dolara, czyli o 15 procent. Jedno takie chybienie nie jest problemem. Kilka dziennie w każdej sesji już tak. Mechanizm i sposoby radzenia sobie z nim opisałem w tekście o cache'u po stronie dostawcy.
Tańszy model nie zawsze wychodzi taniej
Sonnet 5 ma stawki równe 40 procent stawek Opusa 5, więc przy tej samej liczbie kroków kosztuje 40 procent tego co Opus. Gdyby jednak na to samo zadanie potrzebował 80 kroków zamiast 40, zapłaciłbyś 2,42 dolara zamiast 2,08. To przykład arytmetyczny, a nie twierdzenie o Sonnecie. Pokazuje tylko, dlaczego modele porównuje się kosztem ukończonego zadania, a nie ceną za token.
Scenariusz jest celowo prosty. W prawdziwym wdrożeniu dochodzą co najmniej cztery pozycje.
- Nieudane podejścia. Agent, który pójdzie złą ścieżką i się z niej wycofa, płaci za wszystkie kroki na tej ścieżce.
- Podagenci. Każdy ma własny kontekst, więc i własny rachunek liczony według tych samych reguł.
- Narzędzia po stronie dostawcy. Wyszukiwanie w sieci kosztuje u Anthropic 10 dolarów za tysiąc wyszukiwań, niezależnie od tokenów.
- Język. Polski tekst zużywa więcej tokenów niż angielski o tej samej treści. Zmierzyłem to w tekście o tokenach po polsku.
Dla porównania dokumentacja Anthropic podaje przykład godzinnej sesji w Managed Agents: 50 tysięcy tokenów wejścia i 15 tysięcy wyjścia na Opusie 5 plus opłata za czas sesji dają 0,705 dolara. Tam wyjście to ponad połowa rachunku, bo sesja ma mało kroków i długie odpowiedzi. To inny reżim niż mój scenariusz, w którym dominuje ponowne czytanie historii. Zanim zaczniesz optymalizować, sprawdź, w którym z nich jesteś.
- Loguj pola
usage z każdego kroku: input_tokens, cache_read_input_tokens, cache_creation_input_tokens i output_tokens. To jedyne źródło prawdy o tym, za co płacisz.
- Sumuj koszt na ukończone zadanie, a nie na zapytanie. Koszt pojedynczego kroku niewiele mówi.
- Sprawdź udział odczytów z cache'u. Jeśli przy długich sesjach
cache_read_input_tokens jest bliskie zeru, coś unieważnia bufor przy każdym zapytaniu.
- Zobacz rozkład liczby kroków, a nie tylko średnią. Najdłuższe zadania kosztują nieproporcjonalnie dużo, bo koszt rośnie z kwadratem.
- Porównuj modele na tym samym zestawie zadań, kosztem zadania doprowadzonego do końca.
Koszt agenta to przede wszystkim koszt ponownego czytania tego, co już raz zostało przeczytane. Cztery decyzje ruszają go najbardziej: włączony cache, zwięzłe wyniki narzędzi, limit kroków i stały początek zapytania. Wybór modelu jest piątą i zwykle nie najważniejszą.