Как Claude очищают от узнаваемых ИИ-маркеров: три слоя проверки текста

3 мин чтения 1
Как Claude очищают от узнаваемых ИИ-маркеров: три слоя проверки текста

Автор Telegram-бота для превращения голосовых заметок в сценарии описал практический способ убрать из ответов Claude признаки машинного письма: длинные тире, антитезы и шаблонные обороты. Одной просьбы в промпте оказалось мало, поэтому в рабочем процессе появились второй проход нейросети и детерминированный фильтр. Подход пригодится тем, кто публикует тексты от имени бизнеса или автора; начать можно с правил для промптов ChatGPT и Claude.

Почему одной инструкции в промпте не хватило

Бот принимает голосовые, аудиофайлы, видео и текст, отправляет речь на Whisper через Groq, а готовит сценарии с помощью Claude Sonnet 4.6. Пользователь выбирает формат, получает текст и может попросить о правке. Проблема возникла не в содержании, а в узнаваемой манере: длинных тире, фраз вроде «важно понимать» и конструкций «не X, а Y».

Сначала автор добавил чек-лист в промпт. Затем выяснилось, что в боте больше десятка путей генерации, и часть из них этого правила не видела. Правила перенесли в общую константу ANTISLOP_RULES, которую добавляют в конец каждого промпта. Это улучшило результат, но длинные сценарии всё равно иногда нарушали запрет.

  • Длинные тире там, где ожидались точка или запятая.
  • Антитезы «это не X, это Y», «не X, а Y», «дело не в X, а в Y» и «X, а не Y».
  • Клише, тройки прилагательных и слишком длинные предложения.

Второй проход исправляет стиль, но не даёт гарантии

После генерации текст отправляют в Claude ещё раз с узкой задачей редактора: убрать маркеры, не переписывать материал заново и сохранить заголовки, нумерацию, эмодзи, разделители и блок задания для ассистентов. Для этого прохода указаны температура 0,2 и лимит 8000 токенов. Отдельно проверяются оба порядка антитезы, потому что форма «X, а не Y» пропускалась чаще.

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

Регулярка закрывает конкретную дыру

Функция strip_ai_markers проходит через каждый выход бота. Регулярное выражение заменяет пять вариантов тире — em dash, en dash, горизонтальную черту, знак минуса и figure dash — обычным дефисом. Последовательность ━ намеренно исключили: на ней держатся разделители секций и нарезка длинных сообщений Telegram.

Антитезы регуляркой не переписывают. Для них используются четыре выражения, ограниченные одним предложением и диапазоном от 1 до 40 символов между частями. Детектор только запускает одну прицельную попытку переписывания: автоматическое удаление могло бы сломать смысл. После каждого ответа модели фильтр запускается снова, а оставшееся совпадение записывается в лог.

  • Сначала тире удаляются детерминированно, чтобы они исчезли даже при сбое API.
  • Затем выполняется второй проход Claude, если включён ANTISLOP_SECOND_PASS.
  • При найденной антитезе допускается одна повторная попытка.

Что проверить в собственном боте

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

Практический вывод прост: недостаточно улучшить главный сценарий, нужно перечислить все места, где текст покидает систему. Промпт задаёт желаемый стиль, модель пытается его выдержать, а код проверяет то, что можно проверить однозначно.

Материал был полезен?
AI-инструменты без границ

Получите доступ к нужному AI-сервису уже сегодня

ChatGPT, Claude, Gemini, MiniMax и агенты для кода — предложения проверенных продавцов по доступным ценам. Оплата российскими картами, через СБП или криптовалютой.

Проверенные продавцы Быстрая выдача Доступные цены
Прокрутить вверх