0Pricing
AI Agents · Lekcja

Ś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  # priming

Liczenie 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 += cost

Budż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

  1. Wywoływanie OpenAI API: chat.completions
  2. Wywoływanie Anthropic API: messages
  3. Strumieniowanie odpowiedzi (SSE)
  4. Świadomość kosztów: liczenie tokenów i budżety
← Powrót do AI Agents