Optymalizacja kosztówAnaliza
Jak oszacować koszt agenta AI
Dlaczego rachunki za agenta zdominowane są przez tokeny wejściowe, wzór, który możesz uruchomić przed agentem, przykład obliczeniowy dla 30 kroków i siedem sposobów na obniżenie kosztu.

Na tej stronie
Agent AI nie wykonuje jednego żądania — wykonuje ich dziesiątki, a każdy krok ponownie wysyła rosnącą rozmowę. Dlatego rachunki za agenta zdominowane są przez tokeny wejściowe i dlatego intuicja „ceny za odpowiedź” z aplikacji czatowych tu nie działa. Oto jak oszacować koszt przed uruchomieniem agenta i gdzie faktycznie idą pieniądze.
Wzór#
Koszt jednego żądania to tokeny wejściowe razy cena wejściowa plus tokeny wyjściowe razy cena wyjściowa. Ceny podawane są za milion tokenów:
request_cost = input_tokens / 1,000,000 × input_price
+ output_tokens / 1,000,000 × output_priceKoszt zadania to suma po wszystkich żądaniach, które agent wykonuje, rozwiązując je.
Dlaczego agenci są „wejściochłonni”#
Na każdym kroku agent wysyła modelowi:
- prompt systemowy i definicje narzędzi;
- całą dotychczasową historię — wcześniejsze wiadomości, poprzednie odpowiedzi modelu i wyniki narzędzi (zawartość plików, wyjście poleceń, wyniki wyszukiwania);
- nową instrukcję.
Model zwykle odpowiada krótką wiadomością lub wywołaniem narzędzia. Potem wynik narzędzia jest dopisywany do historii, a następny krok wysyła wszystko ponownie. Tak więc wejście każdego kroku rośnie, podczas gdy wyjście pozostaje małe.
Przykład obliczeniowy#
Warunki (założenia — zastąp je liczbami ze swojego agenta):
- prompt systemowy i definicje narzędzi: 6 000 tokenów;
- każdy krok dodaje do historii 1 500 tokenów wyników narzędzi i 500 tokenów wyjścia modelu;
- zadanie zajmuje 30 kroków;
- model: DeepSeek-V4-Flash po $0.0221 za 1M tokenów wejściowych i $0.10 za 1M tokenów wyjściowych (aktualne ceny).
Wejście kroku n to 6 000 + (n − 1) × 2 000 tokenów. Przez 30 kroków:
- łączne wejście: 30 × 6 000 + 2 000 × (0 + 1 + … + 29) = 180 000 + 870 000 = 1 050 000 tokenów;
- łączne wyjście: 30 × 500 = 15 000 tokenów;
- koszt: 1,05 × $0.0221 + 0,015 × $0.10 ≈ $0.0247 za zadanie.
Wejście to 98,6% tokenów i niemal cały koszt. To, jak bardzo dominuje wejście, zależy od scenariusza: długie odpowiedzi, generowane pliki i modele rozumujące zwiększają udział wyjścia, a przycięta historia i krótkie wyjście narzędzi obniżają udział wejścia.
To samo zadanie na każdym modelu przy aktualnych cenach, z cenami referencyjnymi OpenRouter dla porównania:
| Model | Wejście $/1M | Wyjście $/1M | Koszt | OpenRouter |
|---|---|---|---|---|
| GLM-5.3-Flash | $0.027 | $0.08 | $0.0296 | $0.0534 |
| DeepSeek-V4-Flash | $0.0221 | $0.10 | $0.0247 | $0.0264 |
| MiniMax-M2.7 | $0.05 | $0.15 | $0.0548 | $0.333 |
1 050 000 tokenów wejściowych i 15 000 tokenów wyjściowych łącznie. Ceny za 1 mln tokenów są aktualne i zmieniają się wraz z naszymi taryfami; kolumna OpenRouter pokazuje ceny referencyjne dla tego samego obciążenia.
Oszacuj to w kodzie#
To samo obliczenie jako funkcja — zmień założenia i ceny:
def estimate(steps, base_tokens, tool_tokens, out_tokens, price_in, price_out):
"""Token totals and cost of one agent task. Prices: $ per 1M tokens."""
grow = tool_tokens + out_tokens # what each step adds to the history
total_in = steps * base_tokens + grow * steps * (steps - 1) // 2
total_out = steps * out_tokens
cost = (total_in * price_in + total_out * price_out) / 1_000_000
return total_in, total_out, round(cost, 5)
# example rates, $ per 1M tokens — put in the current ones from the pricing table below
print(estimate(30, 6_000, 1_500, 500, price_in=0.10, price_out=0.40))
# (1050000, 15000, 0.111)Zwróć uwagę na człon kwadratowy: podwojenie liczby kroków mniej więcej czterokrotnie zwiększa wejście. Długie sesje stają się drogie nie z powodu pojedynczego kroku, ale dlatego, że każdy krok niesie całą historię.
Mierz zamiast zgadywać#
Każda odpowiedź zawiera usage. (wejście) i usage. (wyjście). Zapisuj je dla każdego kroku rzeczywistego zadania, pomnóż przez aktualne stawki i masz faktyczny koszt. Panel pokazuje też zużycie według modelu i dnia.
Aktualne stawki — te same dane co na stronie z cennikiem:
| Model | Kontekst | Wejście $/1M | Wyjście $/1M | OpenRouter wejście | OpenRouter wyjście |
|---|---|---|---|---|---|
| GLM-5.3-Flash reasoning chwilowo niedostępny | 390K | $0.027 | $0.08 | $0.048 | $0.20 |
| DeepSeek-V4-Flash chwilowo niedostępny | 380K | $0.0221 | $0.10 | $0.016 | $0.64 |
| MiniMax-M2.7 chwilowo niedostępny | 200K | $0.05 | $0.15 | $0.30 | $1.20 |
Ceny w USD za 1 mln tokenów. Dane OpenRouter służą do porównania i mogą ulec zmianie.
Siedem sposobów na obniżenie kosztu#
- Zaczynaj nowe zadanie dla niepowiązanej pracy. Świeża sesja nie niesie historii poprzedniej.
- Dawaj agentowi fragmenty, nie całe pliki. Funkcję i jej wywołania zamiast modułu o 3 000 linii.
- Przycinaj wyjście narzędzi. Długie logi i wyjście poleceń pozostają w historii do końca sesji — ogranicz je, na przykład za pomocą
| tail -n 50. - Streszczaj długie sesje. Wiele agentów potrafi kompaktować historię; użyj tego, zanim kontekst się rozrośnie.
- Ogranicz długość odpowiedzi za pomocą
max_tokenstam, gdzie długie odpowiedzi nie są potrzebne. - Używaj właściwego modelu do danego kroku. Rutynowe kroki nie potrzebują modelu rozumującego.
- Trzymaj przedpłacony budżet. Saldo jest przedpłacone: gdy się skończy, żądania zatrzymują się z HTTP 402 zamiast generować otwarty rachunek.
Aby zobaczyć, jak to samo obciążenie wypada na tle modeli i OpenRouter, skorzystaj z porównania kosztów na stronie głównej.



