0Pricing
AI Agents · Урок

Контроль расходов: подсчёт токенов и бюджеты

Считайте токены с помощью tiktoken, оценивайте стоимость до отправки запроса и устанавливайте бюджеты на каждый запрос и день.

«Контроль расходов: подсчёт токенов и бюджеты» — бесплатный урок AI Agents на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI Agents, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI Agents содержит 4 уроков всего.

Почему важно считать токены

Оплата взимается за каждый токен. Неконтролируемый цикл агента без бюджета токенов может потратить сотни долларов за несколько минут.

Подсчёт токенов — самая важная привычка для контроля расходов.

Что такое токен?

Токен — это фрагмент текста, который обрабатывает модель. Приблизительные правила для английского языка:

  • 1 токен ≈ 4 символа
  • 1 токен ≈ 0,75 слова
  • 100 токенов ≈ 75 слов

Код, эмодзи и неанглоязычный текст используют больше токенов на один символ.

Подсчёт токенов с помощью tiktoken (OpenAI)

OpenAI предоставляет точный токенизатор:

# 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]

Подсчёт токенов в сообщениях

Полный подсчёт включает служебные данные структуры сообщений:

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

Подсчёт токенов с помощью Anthropic

Anthropic предоставляет серверную конечную точку для подсчёта:

count = client.messages.count_tokens(
    model='claude-sonnet-4-5',
    system='You are helpful.',
    messages=[{'role': 'user', 'content': 'Hello'}],
)
print(count.input_tokens)

Оценка стоимости до отправки

Умножьте количество токенов на цену одного токена, указанную на странице с тарифами провайдера:

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}')

Отслеживание фактической стоимости

После каждого вызова суммируйте данные об использовании:

total_cost = 0

response = client.chat.completions.create(...)
cost = (
    response.usage.prompt_tokens * INPUT_PRICE +
    response.usage.completion_tokens * OUTPUT_PRICE
)
total_cost += cost

Бюджеты на один запуск

Установите жёсткий лимит для каждого запуска агента:

MAX_COST_PER_RUN = 0.50  # USD

if total_cost > MAX_COST_PER_RUN:
    raise BudgetExceeded(f'Cost {total_cost} exceeds limit')

Дневные бюджеты для пользователей

Отслеживайте стоимость для каждого пользователя в Redis и сбрасывайте её ежедневно:

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)

Ограничение max_tokens для каждого вызова

Самый значительный источник непредвиденных расходов — генерация ответа длиной 50 000 токенов. Ограничьте его:

response = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=messages,
    max_tokens=2048,  # never more than 2k output
)

Ограничение числа шагов агента

Сочетайте ограничения токенов с ограничением числа шагов (максимальным числом итераций):

MAX_STEPS = 20
for step in range(MAX_STEPS):
    response = run_step(...)
    if response.is_final():
        break
else:
    raise StepLimitExceeded()

Ограничение выходных токенов

Зачем явно задавать max_tokens?

Итоги

Подсчёт токенов, максимальное значение max_tokens для каждого вызова, бюджеты на один запуск, квоты для пользователей и ограничения числа шагов. Для безопасной эксплуатации объединяйте все пять механизмов.

Часто задаваемые вопросы

Урок «Контроль расходов: подсчёт токенов и бюджеты» бесплатный?

Да — полный текст урока «Контроль расходов: подсчёт токенов и бюджеты» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AI Agents, подпишись на CoddyKit PRO. Курс AI Agents содержит 4 уроков всего.

Чему я научусь в уроке «Контроль расходов: подсчёт токенов и бюджеты»?

Считайте токены с помощью tiktoken, оценивайте стоимость до отправки запроса и устанавливайте бюджеты на каждый запрос и день. Ты практикуешь AI Agents с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать AI Agents?

Предыдущий опыт не требуется. AI Agents на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Контроль расходов: подсчёт токенов и бюджеты»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке AI Agents?

Да. Каждый урок AI Agents включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Вызов OpenAI API: chat.completions
  2. Вызов Anthropic API: messages
  3. Потоковая передача ответов (SSE)
  4. Контроль расходов: подсчёт токенов и бюджеты
← Назад к AI Agents