Меня зовут Анна, я ведущий инженер по тестированию в Рексофт. Последние два года я плотно работаю с большими языковыми моделями: интегрирую их в CI/CD, использую для генерации тестов и анализа логов. И довольно быстро столкнулась с жестокой реальностью: недельный лимит токенов на проекте — всего 10 000, а один мой вежливый запрос с «пожалуйста» съедал почти 500 токенов на входе и еще пару тысяч на выходе.
Пришлось пересмотреть подход. В этой статье я расскажу, как устроена механика токенов, почему русский язык дороже английского в полтора раза, и как я научилась формулировать промпты так, чтобы получать точные ответы за минимальные деньги.
Что такое токены, эмбеддинги и контекстное окно (и при чем здесь «оперативная память»)
Прежде чем оптимизировать, нужно понять, что именно мы оптимизируем. Разберем три ключевых термина.
Токен — минимальная единица текста, которую модель обрабатывает за один шаг. Это может быть целое слово, часть слова (например, «тестиров» + «щик»), знак препинания или даже пробел. Модель не читает буквы, как человек, — она оперирует токенами.
Эмбеддинг — это числовое представление токена в виде вектора (длинного массива чисел). Слова со схожими смыслами оказываются близко в многомерном пространстве: «кот» и «кошка» будут рядом, а «кот» и «автомобиль» — далеко. Модель обучается этим векторам, и они позволяют ей «понимать» контекст.
Контекстное окно — максимальное количество токенов, которое модель может одновременно удерживать в «оперативной памяти» (обычно 8K или 128K). Когда вы превышаете лимит, модель молча обрезает самые старые токены — вы просто теряете начало диалога. И узнаете об этом только по падению качества ответов или галлюцинациям.
Важный нюанс: входные токены — это не только ваш текущий запрос, но и вся история диалога, системная инструкция, а также ранее загруженные документы. Модель не кэширует их между запросами. Если вы вчера загрузили документ на 3000 токенов, а сегодня задаете по нему вопрос — модель прочитает его заново, и вы заплатите повторно.
Сколько «весят» слова на разных языках: мой эксперимент
Я взяла одну и ту же инструкцию для тестирования эндпоинта, перевела ее на русский, английский и китайский, а затем прогнала через токенизатор GPT‑4 (онлайн-инструмент tiktoken).
Результаты оказались показательными:

Почему так? Большинство LLM обучались преимущественно на англоязычных корпусах, их токенизаторы отлично настроены на латиницу: слова короткие, пробелы выступают разделителями. Русские слова длиннее, содержат суффиксы и приставки, поэтому разбиваются на большее число токенов. Логографические языки (китайский, японский, корейский) — самые дорогие: каждый иероглиф часто становится отдельным токеном.
Вывод: если можете формулировать промпты на английском — делайте это. Экономия токенов до 50% без потери смысла, плюс модель дает более точные ответы, потому что обучалась в основном на этих данных.
Мои примеры до и после оптимизации (со скринами токенизатора)
Вот главный эксперимент, который перевернул мое отношение к промптам. Я попросила модель сгенерировать тест-кейсы для эндпоинта /api/login двумя способами.
❌ Промпт «как для человека» (350 токенов на входе, ~2000 токенов на выходе):
«Привет! Будь так добра, помоги мне, пожалуйста, составить набор тест-кейсов для проверки эндпоинта авторизации. Нужно учесть и позитивные сценарии, когда логин и пароль правильные, и негативные — когда что-то не так. Еще было бы здорово подумать про безопасность, особенно про SQL-инъекции. Формат вывода — таблица, но можно просто списком. Заранее спасибо!»
✅ Промпт «лаконичный» (120 токенов на входе, ~500 токенов на выходе):
«Составь тест-кейсы для POST /api/login в формате Given-When-Then:
валидный логин/пароль → успех
невалидный пароль → ошибка
SQL-инъекция в поле login → ошибка без раскрытия данных
Выведи только 5 ключевых кейсов, без пояснений.»
Результат по содержанию — одинаковый, но во втором случае я сэкономила почти 80% токенов и получила ответ в 2 раза быстрее.

Еще один пример — анализ лога ошибки:
Длинный запрос со скопированным стектрейсом на 175 токенов.
Короткий — с указанием конкретных полей (например, «выдели только код ошибки и имя файла») — всего 19 токенов.
Разница в 9 раз при том же результате.
Как я экономлю токены на практике: 7 конкретных правил
1. Формулируйте конкретно, а не расплывчато
Вместо «расскажи про тестирование» пишите «дай пять негативных сценариев для логина». Меньше слов — выше точность.
2. Убирайте «воду» — вежливость, лишние вступления
LLM не человек, она не оценит «пожалуйста» и «спасибо». Эти слова занимают токены, но не несут смысловой нагрузки. Более того, они могут разбавить концентрацию полезной информации, и модель будет хуже выделять главное.
3. Ограничивайте объем ответа
Если не указать желаемый размер, модель выдаст полотно на 2000 токенов. Попросите «перечисли только основные пункты» или «выведи без полного кода, только изменения».
4. Используйте системный промпт для роли и стиля
Не повторяйте в каждом запросе «ты эксперт по тестированию» — задайте это один раз в system-инструкцию. Это не уменьшит общее число токенов (они все равно будут в контексте), но сэкономит ваше время и сделает ответы стабильнее. И не нужно будет тратить токены на повторение роли в каждом user-запросе.
5. Не тащите всю историю диалога, если она не нужна
Начинайте новый чат под каждую новую задачу. Если нужно сохранить контекст, делайте выжимку (summary) и используйте ее вместо полной переписки. Это сэкономит тысячи токенов.
6. Для кода — отправляйте не весь файл, а отдельные функции
Если вы просите ревью кода, не кидайте в промпт монолит на 1000 строк. Разбивайте на функции по 200–500 строк и проверяйте итеративно. Для больших проектов лучше использовать локальные модели или SonarCube — это выгоднее, чем платить за 30K токенов за один запрос.
7. Планируйте запросы по недельному лимиту
Допустим, у вас 10 000 токенов в неделю. Это примерно:
60 коротких запросов по 170 токенов (вход + выход);
или 2–3 глубоких анализа кода с документацией;
или один серьезный разбор бага с логами.
Распределяйте сложные задачи равномерно, а для срочных держите резерв.
Как я работаю с жестким лимитом в 10 000 токенов в неделю (кейс)
На одном из проектов лимит был именно таким — 10K на все задачи команды. Я перестроила процесс так:
Декомпозирую большую задачу на мелкие шаги. Например, не «проанализируй весь лог и напиши отчет», а сначала «выдели 5 критичных ошибок» (200 токенов), потом «сгенерируй по каждой тест» (300 токенов). В сумме дешевле одного большого запроса.
Делаю выжимку из документации (1000 токенов) и использую ее как контекст для последующих вопросов, а не загружаю PDF каждый раз.
Для рутинных задач (письма, отчеты) использую шаблоны промптов — они уже проверены, содержат только нужные инструкции.
Итог: мы уложились в лимит, при этом качество не пострадало.
Инструменты, которые помогут видеть и считать токены
Вот два бесплатных сервиса, которые я использую каждый день:
OpenAI Tokenizer (на базе tiktoken) — показывает разбивку на токены для GPT-3.5/4.
Hugging Face Tokenizer — можно сравнить поведение разных моделей (Llama, Mistral и др.).
Просто скопируйте свой промпт в такой инструмент и посмотрите:
сколько токенов он занимает;
какие слова неожиданно разбиваются на части (например, «автоматизированное» может стать 4 токенами) — тогда замените их на синонимы короче.
Я часто вижу, как коллеги удивляются, что их «короткий» вопрос на самом деле весит 250 токенов из-за длинных составных слов.

И тоже самое на английском языке значительно короче:

Типичные ошибки, которые я замечала у команды
Расплывчатость — вместо четкого задания пишут общие фразы, модель возвращает общее же, и приходится уточнять (дополнительные токены).
Повторение контекста — системную роль прописывают в каждом сообщении.
Отсутствие ограничений — не указывают желаемый объем ответа, получают огромный текст.
Смешение задач — в одном диалоге обсуждают и тестирование, и написание кода, и аналитику. Лучше разделять — так история не разрастается.

Чек-лист для каждого вашего промпта
Перед тем как отправить запрос, пробегитесь по этому списку:
Можно ли заменить русский язык на английский?
Есть ли слова без смысловой нагрузки («пожалуйста», «очень прошу», «если не сложно»)?
Можно ли сократить описание, оставив только суть?
Задан ли желаемый формат и объем ответа?
Не дублирую ли я системную инструкцию?
Не слишком ли длинная история диалога? (если да — начать новый чат)
Вместо заключения: токены — это не абстракция, а деньги и качество
Работа с LLM — это не магия, а инженерия. Каждый токен имеет цену (в прямом смысле) и влияет на точность ответа. Умение упаковывать смысл в минимальное число токенов — такой же навык, как оптимизация SQL-запросов. Чем меньше данных вы подаете, тем быстрее и дешевле работает система.
Мой вам совет: возьмите свой последний промпт, прогоните через токенизатор и посмотрите, сколько токенов можно отрезать без потери смысла. Вы удивитесь, как много «воды» мы льем, когда общаемся с машиной.
Надеюсь, мой опыт поможет вам сэкономить бюджет и получать более четкие ответы. Если у вас есть свои лайфхаки по оптимизации — делитесь в комментариях, буду рада обсудить!
Комментарии (13)

WhiteBehemoth
06.08.2026 10:51я ведущий инженер по тестированию в Рексофт. Последние два года я плотно работаю с большими языковыми моделями: интегрирую их в CI/CD, использую для генерации тестов и анализа логов.
ведущий инженер после 2 лет с LLM открывает для себя промт-инжениринг.
Ой вэй...

QA_Shark_Ann Автор
06.08.2026 10:51А что, через два года работы с LLM уже нельзя узнать что-то новое? Промт-инжиниринг — это не монолит, он эволюционирует: от “напиши письмо” до подсчёта токенов под капотом. То, что автор докопалась до цифр и показала их на практике, как раз и отличает ведущего инженера от джуна, который считает, что всё знает.

WhiteBehemoth
06.08.2026 10:51это не новое. Это то, с чем сталкиваешься сразу, как только начинаешь плотно работать с LLM - у всех поставщиков ИИ чатов есть и рекомендации и документация и обучение.
Не спорю, не все начинают работать с чтения документации, но как только замечаешь просадку и понимаешь, что инструмент используется не эффективно - любой инженер полезет читать документацию. И сразу отпадает необходимость в подобных статьях, основанных на личной боли и ограниченном опыте.
И кстати, то, что "автор докопалась до цифр", это хорошо, и надеюсь, что автор понимает, что цифры отличаются у разных моделей, плюс автору будет интересно узнать, "интерфейсы чатов" добавляют свою обвязку, tool definitions съедает кучу токенов, выходные токены (которые в разы дороже входных) включают в себя и внутреннее "рассуждение" моделей и ответ "Да" может стоить гораздо больше 1 токена и т.д.
Там много интересного, есть куда копать...

sWitched0ff
06.08.2026 10:51Интересные наблюдения, кажется их даже можно применять и для работы с людьми, например:
формулировать задачу четко по пунктам, можно опустить любезности и расписывания "представь что ты эксперт"
документацию делать по возможности лаконичной, а не кидать пдф который вероятно устарел и непонятно где там вообще искать
разбивать задачи чтобы было понятно "даже боту без контекста", и соотвественно весь нужный контекст "саммари" туда можно прикрепить, например сценарий воспроизведения бага
считать что для человека каждая новая задача это новый чат без контекста, потому окно контекста тоже ограничено и постепенно очищается
после выполнения задачи в тикет и мерж-реквест добавлять краткое саммари что было сделано и как тестировать и особенно на какие моменты обратить внимание

gregirian
06.08.2026 10:51Вот тут точно просится "можно , а зачем ?)"
Смысл экономить не свои деньги да ещё если вас так жёстко загнали в лимиты ? Они похоже вообще не хотят даже доллара тратить лишнего на разработку )
Bardakan
Возьмем самую дорогую chatgpt модель - GPT-5.5 Pro - 30$ за 1млн входных токенов и 180$ за 1млн выходных. Из ваших 10к токенов обычно 80% входных токенов и 20% выходных, т.е. 8к и 2к соответственно.
(8000 * 30 + 2000 * 180) / 1000000 = 0.6
0.6$ лимит на проект в неделю?
Вы ничего не перепутали?
Продавец спрашивает маленького мальчика:
— Ты точно помнишь, что мама велела купить два килограмма конфет и двести грамм картошки?
QA_Shark_Ann Автор
Вы перепутали денежный лимит с техническим. В статье 10K — это не бюджет в долларах, а квота на количество токенов в минуту/день, установленная админами корпоративного шлюза. Если промпт жрёт 3K вместо 1K — вы просто не влезете в лимит по частоте, и запрос упадёт с 429-й ошибкой. Экономия тут не про центы, а про доступность сервиса.
Bardakan
Каким образом у вас лимит 10к токенов в неделю превратился в лимит токенов в минуту и лимит по частоте?
Не говоря уже о том, что это выглядит как «ChatGPT по карточкам»
QA_Shark_Ann Автор
Лимит 10 000 токенов в неделю — это не денежный бюджет, а техническая квота, которую выставил корпоративный шлюз / прокси. При такой квоте вопрос не в том, сколько долларов стоит один запрос, а в том, сколько запросов вообще удастся сделать до конца недели. Если один «вежливый» промпт съедает 2–3 тысячи токенов, а нормальный — 300–400, то разница ощущается очень быстро: либо ты успеваешь сделать работу, либо нет. Именно поэтому и появилась статья — как жить и работать внутри жёсткого технического лимита, а не «как сэкономить полдоллара».
Bardakan
меня (и наверное остальных тоже) интересует, почему такой лимит маленький. Неужели у вашей компании совсем нет денег, производственных мощностей, администраторов и т.п., что она выставила такие странные лимиты?
Касательно самих промптов - я вижу, что требования к ним постоянно меняются в целом. Я еще помню, что люди изначально писали промпты коротко (чтобы набирать меньше текста). Потом появились советы указывать больше контекста включая "профессию" ИИ. Сейчас видимо снова тренд на укорачивание промптов.
QA_Shark_Ann Автор
Согласна, 10K — это очень жёсткий лимит. Лимит ставила не компания - а руководство со стороны Заказчика. В статье это показано как крайний случай, который заставляет пересмотреть подход в целом. Даже если у вас лимит больше, описанные принципы помогут использовать его более рационально — сэкономленные токены можно потратить на что-то ещё
tremustools
Он вроде про это и написал, что ваш лимит 10к токенов в неделю это 0.6 доллара. Суть была не про обозначить ваш лимит в деньгах, а удивиться что ваш лимит ограничен 0.6 доллара в неделю.Т.е. не очень поятно, что вообще можно на 10к токенов в неделю получить с ии