Сколько стоит ИИ-функция в приложении: считаем по токенам
Заказчики обычно переоценивают стоимость модели и недооценивают стоимость интеграции. Показываем реальные расчёты по токенам и способы снизить расход в несколько раз.

Первый вопрос про любую ИИ-функцию — сколько будет стоить эксплуатация. Ответ считается точно, ещё до написания кода. Разберём, из чего складывается счёт, и посчитаем три типовые функции.
Что такое токен и почему платят за него
Модель работает не с буквами и не со словами, а с токенами — фрагментами текста. Для русского языка ориентир такой: один токен примерно равен двум-трём символам, то есть страница текста — около семисот токенов. Английский экономнее почти вдвое, что иногда имеет смысл учитывать в системных инструкциях.
Расчёт трёх типовых функций
Возьмём условные цены облегчённой модели: 15 рублей за миллион входящих токенов и 60 рублей за миллион исходящих. Точные цифры зависят от провайдера и меняются, но порядок величин устойчив.
| Функция | Токены на запрос | Цена запроса | 10 000 запросов в месяц |
|---|---|---|---|
| Классификация заявки | 700 вход, 100 выход | около 1,7 копейки | около 170 рублей |
| Ответ по базе знаний (RAG) | 3 500 вход, 400 выход | около 7,7 копейки | около 770 рублей |
| Агент с 4 шагами | 12 000 вход, 1 200 выход | около 25 копеек | около 2 500 рублей |
Обратите внимание на порядок цифр: даже агент при десяти тысячах обращений в месяц укладывается в две-три тысячи рублей. Это меньше, чем один рабочий день менеджера. Именно поэтому мы говорим, что бюджет проекта определяется разработкой интеграций, а не платой за модель.
Четыре способа снизить расход
Подобрать модель под задачу
Самая частая переплата — использование мощной модели для простой классификации. Разница в цене между флагманской и облегчённой моделью достигает десяти-двадцати раз, а на задаче выбора одной категории из семи качество почти не отличается.
// Простая классификация — облегчённая модель
const category = await generateObject({
model: "openai/gpt-4.1-mini",
schema: CategorySchema,
prompt: text,
})
// Развёрнутый ответ клиенту — модель посильнее,
// но вызывается только когда это действительно нужно
if (category.object.needsDetailedReply) {
const reply = await generateText({
model: "openai/gpt-4.1",
system: replyInstructions,
prompt: text,
})
}Кэшировать повторяющиеся запросы
В поддержке до трети вопросов повторяются почти дословно. Кэш по нормализованному тексту вопроса убирает эти обращения к модели полностью и заодно ускоряет ответ до мгновенного.
import { createHash } from "node:crypto"
function cacheKey(question: string) {
// Нормализуем: регистр, пробелы, знаки препинания
const normalized = question
.toLowerCase()
.replace(/[^\p{L}\p{N}\s]/gu, "")
.replace(/\s+/g, " ")
.trim()
return createHash("sha256").update(normalized).digest("hex")
}
export async function answerCached(question: string) {
const key = cacheKey(question)
const cached = await kv.get(key)
if (cached) return cached
const answer = await answerFromDocs(question)
// Срок жизни зависит от изменчивости документов
await kv.set(key, answer, { ex: 60 * 60 * 24 })
return answer
}Сокращать контекст
- Передавайте в модель только нужные поля записи, а не объект целиком.
- В RAG отдавайте пять релевантных фрагментов, а не двадцать «на всякий случай».
- Историю диалога обрезайте до десяти последних сообщений или храните краткое резюме вместо полного текста.
- Системную инструкцию держите короткой: она отправляется с каждым запросом и оплачивается каждый раз.
Ограничивать длину ответа
Исходящие токены — самая дорогая часть счёта. Явное указание формата и предела длины в инструкции снижает расход и одновременно делает ответы удобнее для чтения.
Как заложить расход в бюджет
- Оцените число обращений в месяц по фактическому объёму процесса.
- Посчитайте токены на одно обращение: контекст, инструкция, ответ.
- Умножьте и добавьте запас в два раза на пиковую нагрузку и отладку.
- Заложите лимит расходов на стороне провайдера — защита от ошибки в коде, которая уйдёт в цикл.
Частые вопросы
- Сколько стоит ИИ-функция в месяц?
- Классификация десяти тысяч заявок обходится примерно в сто семьдесят рублей, ответы по базе знаний — около семисот семидесяти рублей, работа агента с четырьмя шагами — порядка двух с половиной тысяч рублей. Плата за модель обычно оказывается меньше, чем стоимость одного рабочего дня сотрудника, а основной бюджет проекта уходит на разработку интеграций.
- Как снизить расход на языковую модель?
- Четыре приёма дают основной эффект: подбор облегчённой модели под простые задачи, кэширование повторяющихся вопросов, сокращение контекста до действительно нужных данных и ограничение длины ответа. Исходящие токены дороже входящих в три-четыре раза, поэтому короткие ответы экономят больше, чем короткие запросы.
- Что такое токен и сколько это символов?
- Токен — это фрагмент текста, которым оперирует модель. Для русского языка один токен составляет примерно два-три символа, то есть страница текста — около семисот токенов. Английский текст расходует почти вдвое меньше токенов на тот же смысл.
- Как защититься от неожиданно большого счёта?
- Обязательно ограничивать число шагов агента в коде и устанавливать лимит расходов на стороне провайдера. Ошибка в условии выхода из цикла способна израсходовать месячный бюджет за одну ночь, и лимит провайдера — единственная защита, которая срабатывает независимо от кода.
Похожая задача в вашем проекте?
Разберём вашу ситуацию и пришлём оценку по этапам — без обязательств и общих слов.
Обсудить задачу

