Unsame: как избавиться от одинаковых шаблонов ИИ в каждом посте, ответе и changelog
Если вы используете LLM для задачи, которая повторяется — ежедневный пост, ответы на упоминания, еженедельные сценарии, письма для холодных рассылок, ответы поддержки, changelog, — через несколько дней вы упираетесь в одну и ту же стену. У модели есть один способ это делать. Вы удлиняете промпт. Добавляете «будь креативным». Повышаете температуру. Результат остаётся той же формы с другими существительными — те же шаблоны ИИ-текста каждый раз, — и в итоге вы переписываете вручную, хотя модель должна была избавить вас именно от этого.
Мы столкнулись с этим сами, пока строили агентов, и сделали для этого инструмент. Unsame — это облачный Playbook Engine, который запускается сегодня на unsame.io. Он не пишет ваш текст. Перед каждой генерацией он подсказывает вашей собственной модели, как подойти именно к этому случаю, — и не предложит подход, который вы только что использовали.
Почему LLM пишет всё одинаково?
Из-за того, как обучают модели, и промптом это не исправить.
- Выравнивание (alignment) сужает выдачу. Обучение на предпочтениях разметчиков толкает модель к нескольким «типичным» ответам, которые им нравятся. В статье Verbalized Sampling (arXiv 2510.01171) это называют mode collapse.
- Температура LLM добавляет шум, а не новые подходы. Более высокая температура перемешивает слова внутри одного подхода. К другому подходу она модель не переводит.
- «Сделай иначе, чем в прошлый раз» тоже не работает. Модель, которую просят выбрать случайно, не способна дать нужную для этого случайность — см. String Seed of Thought (arXiv 2510.21150).
За первой проблемой скрывается вторая. Когда все тексты следуют одному шаблону, модель, как правило, так и не вникла в то, что было конкретного во входных данных. Читатели замечают и то и другое, и именно это люди называют AI slop.
Наш вывод: выбор подхода должен происходить вне модели — из явного списка, с настоящей энтропией и памятью о том, что уже использовалось. В этом весь продукт.
Что делает Unsame?
Вы вызываете Unsame перед каждой генерацией и передаёте вход — пост, на который нужно ответить, упоминание, событие или вообще ничего для запланированного слота. Он возвращает протокол: короткий блок, который вы вставляете в промпт своей модели. Вот как он выглядит (иллюстративный пример, а не измеренный результат):
Situation: reacting to someone's post.
Engage with:
- they claim local models can't do agentic coding
- their one run looped for an hour
Use:
- glm-5.3 test run finished the task in 14 min
Approach: quote their point, add the missing angle, end with a question back
Form: length: short; opener: statement
Always: one real example from own work
Voice: casual, concrete, no emojis
Never: politics, competitor names
Do not repeat: hot_take (2 of the last 10)
Читайте сверху вниз:
- Ситуация и зацепки. Какая из ваших ситуаций подходит и за какие точные места входного текста нужно зацепиться. Благодаря этому результат остаётся конкретным, а не общим.
- Факты. Факты, которые вы передали и которые подходят к этому входу, чтобы модель опиралась на реальный материал.
- Подход и форма. Один из ваших подходов, который подходит, выбранный с настоящей случайностью, причём недавние получают штраф. Движок никогда не берёт вариант с наивысшей оценкой, а розыгрыш инициализируется энтропией операционной системы.
- Голос, всегда, никогда. Копируются дословно в каждый протокол. Их никогда не варьируют, не «забывают» и не убирают.
- Не повторять. Что использовалось недавно, чтобы модель это обошла.
Текст пишет ваша модель, с вашим ключом. Unsame никогда не видит ключ и не пишет ни слова результата.
Чем это отличается от библиотеки промптов или повышения температуры LLM?
Библиотека промптов каждый раз выдаёт один и тот же промпт. Unsame читает вход, определяет ситуацию, выделяет то, за что нужно зацепиться, и выбирает другой подходящий подход, помня, что уже использовал. В пределах одной области — скажем, одного аккаунта или одной рассылки — ни одно сочетание подхода и формата не повторяется в недавнем окне, пока есть неиспользованное.
Температура меняет слова внутри одного подхода. Unsame меняет сам подход и не трогает ваш голос и правила. Это разные рычаги, и нужны оба: фиксированная стратегия, разнообразное исполнение.
Что такое плейбук?
Плейбук — ваша часть договора. В нём ваша цель, ваш голос, правила «всегда» и «никогда», ваши ситуации (виды входных данных, с которыми вы работаете) и ваши способы (подходы, которые вы готовы использовать для каждой ситуации), а также пара осей формата, например длина или начало. Unsame меняет только выбор между ними.
Писать его с чистого листа не нужно. Задайте его одной фразой и правьте результат как YAML-файл:
curl -s "${H[@]}" $BASE/v1/goals -d '{
"goal": "indie_dev_x",
"goal_text": "grow the account as an indie dev: one post a day, reply to mentions",
"voice": "casual, concrete, no emojis",
"never": ["politics", "competitor names"]
}'
Вы получите черновик с несколькими ситуациями и способами. Каждая запись — это пронумерованная версия, которую можно прочитать и экспортировать. Способ можно закрепить, чтобы он не попадал под защиту от повторов, или забанить, чтобы он никогда не выпадал. Создание плейбука стоит кредитов, потому что использует LLM; пробный прогон через dry-run вашу историю не затрагивает.
Он учится?
Да, и вы сохраняете контроль. Учится не текст вашей модели, а плейбук. Когда вход не подходит ни под что из написанного вами, обучающий модуль может предложить новую ситуацию или способ на основе того, как на самом деле выглядят ваши входные данные. Режим выбирается для каждой цели:
off— ничего не обучается, входные данные не сохраняются. Плейбук ровно такой, каким вы его написали.propose— входы, с которыми плейбук справился плохо, группируются в предложения. Вы принимаете, правите или отклоняете каждое.auto— предложения запускаются как пробные на небольшой доле розыгрышей и повышаются или убираются по результатам.
Обучающий модуль никогда не редактирует ваши узлы. После каждой генерации можно сообщить, что получилось, — reward от 0 до 1, chosen, rejected или долю правок edited, — и движок учитывает подходы, которые работают у вас. Если вы запрашиваете несколько розыгрышей за вызов и выбираете один, один отчёт помечает остальные как отклонённые. Отчёты всегда бесплатны.
Что выполняется на горячем пути?
Часть Unsame, которая работает при каждом вызове, текст не генерирует. Оценки вроде «какая ситуация подходит» и «конкретна ли эта зацепка» — это типизированные вопросы «да/нет» и выбора, на которые отвечает Jev — модель TypeSafe, которая не умеет написать ни одного предложения; поддержку моделей такого рода мы добавили в Octolib в начале этой осени. Сам выбор — обычная математика над вашим плейбуком: соответствие, новизна и вес, с нижним порогом энтропии, чтобы выбор никогда не схлопывался в один вариант.
Для нас важны два следствия. Во-первых, на пути вызова нет генеративной LLM. Во-вторых, нет тихого запасного варианта: если судья недоступен после одной повторной попытки, API возвращает 503 judge_unavailable, а не молча отдаёт случайный или подобранный по ключевым словам подход. Выдуманный ответ, который выглядит нормально, хуже ошибки, которую видно.
Где это подходит?
Везде, где задача повторяется, важно разнообразие, а стратегия остаётся неизменной:
- посты и ответы в соцсетях;
- рассылки и начала статей в блоге;
- сценарии для видео, подкастов и коротких форматов;
- холодные рассылки и ответы в продажах;
- ответы поддержки и сообщества;
- рекламные, посадочные и продуктовые тексты;
- тексты для разработчиков, например changelog и заметки о релизе;
- любой агент или пайплайн, который зацикливается на одной стратегии.
Плохо подходит для разовых документов, юридических текстов и текстов по комплаенсу, а также везде, где разнообразие — это дефект. Лучше мы скажем об этом, чем продадим вам инструмент не для той задачи.
Как попробовать удалённый MCP-сервер или HTTP API?
Через ИИ-ассистента, без кода. Unsame запускает два удалённых MCP-сервера за собственной авторизацией OAuth 2.1, поэтому API-ключи в ассистента вставлять не нужно. Чтобы использовать Unsame как MCP-сервер для Claude Code:
claude mcp add --transport http unsame-engine https://unsame.io/mcp/engine
claude mcp add --transport http unsame-author https://unsame.io/mcp/author
Выполните /mcp, выберите каждый сервер и нажмите Authenticate; в браузере откроется вход по магической ссылке. Сервер engine агент вызывает до и после написания текста (advise, report). Сервер author нужен, чтобы создавать и редактировать плейбуки из чата. Затем попросите: «Use unsame-author to set up a playbook for my daily indie-dev posts on X: casual, concrete, no emojis, never politics.», а следом — «Write today's post. Call unsame-engine advise first and follow the advice.»
Те же серверы работают с Codex CLI, Claude Desktop, пользовательскими коннекторами claude.ai и коннекторами ChatGPT, а также как MCP-сервер для Cursor — шаги для каждого описаны в документации.
Из вашего бэкенда. Один HTTP-вызов на генерацию. Получите токен по схеме client-credentials, затем:
curl -s -H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
-H "Idempotency-Key: post-2026-11-05" https://unsame.io/v1/advise -d '{
"goal": "indie_dev_x",
"scope": "acct:me",
"kind": "reply",
"input": {"text": "Local models cannot do agentic coding. My run looped for an hour.", "author": "@someone"},
"facts": ["glm-5.3 test run finished the task in 14 min", "we ship a CLI agent"],
"k": 1
}'
Передайте draws[0].advice в системный промпт своей модели, сгенерируйте текст и замкните цикл:
curl -s -H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
https://unsame.io/v1/report -d '{"draw_id": "…", "outcome": {"chosen": true}}'
Тот же Idempotency-Key в течение 24 часов возвращает сохранённый ответ и ничего не списывает. Есть клиенты для TypeScript (@unsame/sdk) и Python (unsame), которые сами работают с токеном, а полная схема — это документ OpenAPI, по которому можно сгенерировать клиент на любом языке.
Сколько это стоит?
Единица — кредит, и один кредит равен одному розыгрышу. Вызов advise с k=3 — это три кредита. Это единственное число, которое нужно, чтобы предсказать счёт.
- Бесплатный план: ежемесячные кредиты, без карты. Кредиты не переносятся. Он задуман как пробный — один розыгрыш за вызов и небольшое число целей.
- Платные планы: включённые кредиты каждый месяц плюс превышение по цене за кредит, с лимитом расходов, который задаёте вы. При достижении лимита возвращается
429 quota_exceeded; неожиданного счёта не будет. Качество протокола одинаково на всех планах; планы различаются тем, сколько целей, розыгрышей за вызов и запросов в секунду разрешает движок, и тем, можно ли запускать обучение в режимеauto. - Предоплаченные пакеты: для тех, кто строит на API и не любит подписки. Покупаете кредиты и тратите их по той же цене за кредит.
Отчёты, чтение, статистика, экспорт и валидация бесплатны на всех планах. Когда кредиты заканчиваются, вы получаете ошибку с датой сброса — но не ухудшенный протокол. Актуальные планы и цены — на unsame.io.
Чего мы не утверждаем?
Мы не обещаем рост вовлечённости. В этом посте нет цифр прироста, потому что мы ещё не измеряли их на реальных аккаунтах и не назовём ни одной, пока не измерим. Unsame заявляет механизм: каждый раз другой подход, привязанный ко входу, в неизменном голосе. Каждую часть вы можете проверить сами — живая демо на главной странице позволяет вставить вход и нажать кнопку три раза, чтобы увидеть три разных протокола, зацепляющихся за одни и те же зацепки.
О данных: ваши входные данные хранятся, только когда включено обучение, и вы можете в любой момент их экспортировать или удалить.
Попробуйте
Unsame запускается сегодня. Для бесплатного плана нужен только email, без карты:
- Откройте unsame.io, запустите демо и подключите MCP однострочной командой выше.
- Или создайте API-клиент в панели и сделайте свой первый вызов
advise.
Если хотите избавиться от AI slop в повторяющейся задаче, где тексты стали плоскими, сначала попробуйте Unsame именно на ней и расскажите, как получилось, по адресу [email protected].
— Don
Unsame — это Playbook Engine для повторяющегося текста с ИИ, разработанный Muvon Un Limited. Попробуйте на unsame.io.



