Świadomość kosztów: liczenie tokenów i budżety
Licz tokeny za pomocą tiktoken, szacuj koszt przed wysłaniem żądania i egzekwuj budżety dla pojedynczych żądań oraz całych dni.
Świadomość kosztów: liczenie tokenów i budżety to bezpłatna lekcja AI Agents na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej AI Agents, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs AI Agents zawiera 4 lekcji w sumie.
Dlaczego liczenie tokenów ma znaczenie
Płaci się za każdy token. Niekontrolowana pętla agenta bez limitu tokenów może w ciągu kilku minut wygenerować koszty sięgające setek dolarów.
Liczenie tokenów to najważniejszy nawyk związany z kontrolowaniem kosztów.
Czym jest token?
Token to fragment tekstu przetwarzany przez model. Przybliżone zasady dla języka angielskiego:
- 1 token ~ 4 znaki
- 1 token ~ 0,75 słowa
- 100 tokenów ~ 75 słów
Kod, emoji i tekst w innych językach zajmują więcej tokenów w przeliczeniu na znak.
Liczenie tokenów za pomocą tiktoken (OpenAI)
OpenAI udostępnia dokładny tokenizer:
# pip install tiktoken
import tiktoken
enc = tiktoken.encoding_for_model('gpt-4o-mini')
tokens = enc.encode('Hello, world!')
print(len(tokens)) # 4
print(tokens) # [9906, 11, 1917, 0]Liczenie tokenów w wiadomościach
Pełna liczba obejmuje narzut związany ze strukturą wiadomości:
def count_message_tokens(messages, model='gpt-4o-mini'):
enc = tiktoken.encoding_for_model(model)
total = 0
for m in messages:
total += 4 # role + structural
total += len(enc.encode(m['content']))
return total + 2 # primingLiczenie tokenów za pomocą Anthropic
Anthropic udostępnia serwerowy endpoint do ich liczenia:
count = client.messages.count_tokens(
model='claude-sonnet-4-5',
system='You are helpful.',
messages=[{'role': 'user', 'content': 'Hello'}],
)
print(count.input_tokens)Szacowanie kosztu przed wysłaniem
Należy pomnożyć liczbę tokenów przez cenę tokena (podaną na stronie cennika dostawcy):
INPUT_PRICE = 0.150 / 1_000_000 # gpt-4o-mini: $0.15 / 1M input tokens
OUTPUT_PRICE = 0.600 / 1_000_000
input_tokens = count_message_tokens(messages)
est_input_cost = input_tokens * INPUT_PRICE
print(f'Estimated input cost: ${est_input_cost:.6f}')Śledzenie rzeczywistego kosztu
Po każdym wywołaniu należy zsumować wykorzystanie:
total_cost = 0
response = client.chat.completions.create(...)
cost = (
response.usage.prompt_tokens * INPUT_PRICE +
response.usage.completion_tokens * OUTPUT_PRICE
)
total_cost += costBudżety dla pojedynczego uruchomienia
Należy ustawić twardy limit dla każdego uruchomienia agenta:
MAX_COST_PER_RUN = 0.50 # USD
if total_cost > MAX_COST_PER_RUN:
raise BudgetExceeded(f'Cost {total_cost} exceeds limit')Dzienne budżety dla użytkowników
Należy śledzić koszt użytkownika w Redisie i resetować go codziennie:
key = f'cost:{user_id}:{today_date}'
current = float(redis.get(key) or 0)
if current + cost > 5.0:
raise QuotaExceeded()
redis.incrbyfloat(key, cost)
redis.expireat(key, midnight_tomorrow_ts)Limit max_tokens dla pojedynczego wywołania
Największym źródłem przypadkowych kosztów jest wygenerowanie odpowiedzi zawierającej 50 000 tokenów. Należy ustawić limit:
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=messages,
max_tokens=2048, # never more than 2k output
)Limit kroków dla agentów
Limity tokenów należy połączyć z limitem kroków (maksymalną liczbą iteracji):
MAX_STEPS = 20
for step in range(MAX_STEPS):
response = run_step(...)
if response.is_final():
break
else:
raise StepLimitExceeded()Limit tokenów wyjściowych
Dlaczego należy jawnie ustawiać max_tokens?
Podsumowanie
Liczenie tokenów, max_tokens dla pojedynczego wywołania, budżety dla pojedynczych uruchomień, limity dla użytkowników i limity kroków. Aby bezpiecznie wdrożyć rozwiązanie produkcyjnie, należy zastosować wszystkie pięć mechanizmów.
Często zadawane pytania
Czy lekcja „Świadomość kosztów: liczenie tokenów i budżety” jest bezpłatna?
Tak — pełny tekst „Świadomość kosztów: liczenie tokenów i budżety” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu AI Agents, przejdź na CoddyKit PRO. Kurs AI Agents zawiera 4 lekcji w sumie.
Co nauczysz się w „Świadomość kosztów: liczenie tokenów i budżety”?
Licz tokeny za pomocą tiktoken, szacuj koszt przed wysłaniem żądania i egzekwuj budżety dla pojedynczych żądań oraz całych dni. Ćwiczysz AI Agents z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć AI Agents?
Nie wymagamy żadnego doświadczenia. AI Agents w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Świadomość kosztów: liczenie tokenów i budżety”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji AI Agents?
Tak. Każda lekcja AI Agents zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Wywoływanie OpenAI API: chat.completions
- Wywoływanie Anthropic API: messages
- Strumieniowanie odpowiedzi (SSE)
- Świadomość kosztów: liczenie tokenów i budżety