У каждой соцсети свой потолок для подписи: 280 символов в X, 300 в Bluesky, 500 в Threads, 2200 в Instagram. Mellow Hub отправляет один пост во многие сразу, поэтому подпись, которая подходит одной сети, часто слишком длинная для другой. Напрашивается простое решение — попросить языковую модель «сократи до 280 символов». Мы дважды на это положились, в двух разных местах, и оба раза не вышло. Ниже — что случилось, с цифрами, и чем мы это заменили.
Ситуация: лимит, в который читатель должен попасть
10 октября 2026 года мы готовили ролик, зрители которого могли попросить в директ готовую постоянную инструкцию для ChatGPT. Поле, куда она вставляется в бесплатном ChatGPT, принимало не больше 1500 символов, так что наш текст должен был работать с первой вставки. Зритель, который вставил текст и получил ошибку, второй раз не придёт.
Через три дня, 13 октября, основатель попросил того же внутри редактора Hub: «желательно, чтобы это наш хаб всегда проверял, и если у пользователя превышенный лимит, он показывал и предлагал по нажатию на кнопочке переформулировать так, чтобы было чуть короче, ну укладывалось именно чётко в лимит». И про цену: «Давай сделаем бесплатно».
Что мы намерили в ChatGPT
Запрос гоняли в бесплатном ChatGPT; в тот день приложение называло свои модели GPT-6 и GPT-6 mini:
- «Напиши одну постоянную инструкцию короче 1500 символов». ChatGPT выдал 1981 символ и сообщил, что уложился.
- «Сократи». 1690 символов.
- Ещё раз «сократи». 1530 — всё ещё больше.
- «Не больше 180 слов». 221 слово.
- «Одна вводная строка, потом 10 правил, каждое в одну строку не длиннее 12 слов». 833 символа по-английски и 818 по-русски — с большим запасом до 1500.
Обычное объяснение — языковая модель читает и пишет токенами, кусками слов, а не буквами, поэтому длину в символах она оценивает, а не видит. Какой бы ни была причина, в нашем тесте картина однозначная: форму (десять строк по двенадцать слов) модель держит гораздо лучше, чем число. С тех пор каждый промпт, который мы раздаём и который должен влезть в лимит, задан формой и один раз прогнан целиком в настоящем чате до публикации.
Что мы встроили в Hub: пишет модель, считает код
Для промпта формы достаточно. Подпись же должна влезть в точное число, а каждая сеть считает по-своему: X весит ссылку как 23 символа, а эмодзи как два, Threads считает эмодзи по их размеру в байтах UTF-8, Bluesky — графемами, то есть эмодзи за один. Поэтому счёт остаётся в коде — в той же функции, которой валидатор Hub проверяет пост перед публикацией.

Первая версия «Переформулировать» вышла 13 октября в 16:11 UTC. Русская подпись на 609 символов для Threads с лимитом 500 дважды вернулась длиннее лимита, и редактор предложил вместо неё обрезку самого Hub — без призыва к действию и без ссылки. Разобрались: каждый запрос начинался заново с исходной подписи и называл только итоговое число.
Через десять минут, в 16:21 UTC, вторая версия поменяла три вещи:
- Модель сокращает свою предыдущую попытку, а не исходник заново.
- Ей говорят, сколько символов убрать — числом и долей.
- Её можно попросить до трёх раз. Если и тогда не влезло, Hub обрезает самый короткий вариант модели по концу предложения и пишет об этом.
Новый текст становится подписью только для этой сети, основная подпись не меняется. Функция бесплатная: без тарифа и без ИИ-кредитов, с почасовым и дневным потолком, чтобы её нельзя было гонять бесконечно.
Результаты, 13 октября 2026 года
На боевом сервере мы прогнали семь подписей, написанных для этого теста, на трёх языках:
| Подпись | Сеть и лимит | Было → стало | Запросов |
|---|---|---|---|
| Русская | Threads, 500 | 609 → 459 | 1 |
| Английская со ссылкой | X, 280 | 460 → 278 | 1 |
| Английская | X, 280 | 293 → 238 | 2 |
| Английская с эмодзи | Threads, 500 | 546 → 432 | 1 |
| Английская, длинная | X, 280 | 1382 → 278 | 1 |
| Испанская | Pinterest, 500 | 730 → 383 | 3 |
| Русская | Bluesky, 300 | 609 → 285 | 2 |
Все семь переформулированы в пределах лимита, обрезать не пришлось ни одну; каждая сохранила язык, ссылку и призыв к действию. На восьмую, которая уже влезала, Hub ответил «уже помещается», не спрашивая модель вовсе.
Тот же принцип работает и в MCP-сервере Hub. 2 октября 2026 года, когда мы проверяли ChatGPT как клиента, он попытался отправить в Bluesky текст на 365 символов; validate_post в Hub посчитал его, отклонил до отправки, и ChatGPT предложил короткую версию или два поста. Посчитал Hub, а не ChatGPT.
Что не сработало и что ещё не доказано
- Просьба уложиться в число провалилась оба раза, когда мы на неё полагались: в ChatGPT 10 октября и в первой версии Hub 13 октября.
- «Сократи» двигало текст в нужную сторону, но само по себе никогда не доводило до лимита.
- Начинать каждую попытку с исходника значило выбрасывать прогресс модели; поэтому вторая версия отдаёт ей её же последнюю попытку.
- Готовый блок мы не открывали в браузере на боевом сервере с настоящим аккаунтом: для этого нужен подключённый аккаунт и длинная подпись в чужом редакторе. Вместо этого прочитали задеплоенный скрипт и проверили блок на тестовом стенде — на размерах телефона и компьютера, в обеих темах, на русском, английском и арабском.
Как сделать самому
- Никогда не верьте счёту модели. Считайте результат кодом — так, как считает соцсеть.
- Для промпта, который люди будут вставлять, задавайте форму вместо числа: сколько строк или пунктов и сколько слов максимум в строке.
- Если текст длиннее лимита, верните модели её же последний вариант и скажите, сколько убрать: например, «убери 130 символов, примерно четверть».
- Дайте две-три попытки, а в крайнем случае обрежьте по концу предложения — и скажите человеку, что обрезали.
- Основную подпись не трогайте, короткий вариант отдайте только той сети, где не влезло.
- В Mellow Hub блок «Подписи для сетей» в редакторе делает шаги 3–5 кнопкой «Переформулировать»; агент получает измеренную длину и лимит из
validate_postи может отправить свою короткую подпись для этого канала. Без Hub наш счётчик символов считает так, как каждая сеть, а проверщик постов делает те же проверки, что иvalidate_post.
Цифры коротко
| Тест | Просили | Получили |
|---|---|---|
| ChatGPT, 10 октября 2026 | Короче 1500 символов | 1981, «уложился» |
| Две просьбы «сократи» | Короче 1500 | 1690, потом 1530 |
| Лимит в словах | Не больше 180 слов | 221 слово |
| Форма | 1 строка + 10 правил по ≤12 слов | 833 (англ.), 818 (рус.) |
| Hub, 13 октября 2026 | 7 подписей длиннее лимита | 7 в лимите, 0 обрезано |



