Промпты9 часов

Как убрать невидимые метки из текста ChatGPT

Вы когда-нибудь задумывались, что текст, сгенерированный нейросетью, может быть не таким «чистым», как кажется на первый взгляд? Новые модели GPT начали незаметно вставлять в свои ответы невидимые символы. Эти крошечные артефакты могут стать красным флагом для систем детекции ИИ и антиплагиата. К счастью, существует элегантный и совершенно нелогичный способ это исправить.

Что не так с текстом от ChatGPT?

При работе с последними версиями GPT можно заметить, что модели внедряют в текст служебные символы Unicode. Чаще всего это «пробел нулевой ширины» (U+200B) и его аналоги, такие как U+200C и U+200D. Вы их никогда не увидите в текстовом редакторе, но они существуют в коде страницы или документа.

Именно на этот «байтовый шум» ориентируются многие скрипты для обнаружения ИИ-контента. В результате ваш, казалось бы, обычный текст начинает «светиться» в детекторах, как новогодняя елка.

Это не гипотетическая угроза. Такие инструменты, как Turnitin, используемые в учебных заведениях, или корпоративные системы проверки уже умеют выявлять подобные аномалии. В итоге добросовестный пользователь может столкнуться с необоснованными обвинениями.

Почему модели добавляют этот «мусор»?

Наиболее вероятная причина кроется в работе токенизатора. Токенизатор — это компонент модели, который разбивает текст на мелкие части (токены). Похоже, новый токенизатор считает невидимые символы очень «дешевыми» токенами.

Модель использует их как удобный и быстрый способ закончить предложение или добавить невидимый разделитель без смысловой нагрузки. Это не злой умысел разработчиков, а скорее побочный эффект оптимизации процесса генерации текста.

Неочевидное решение: метод «от противного»

А теперь самое интересное. Оказывается, модель можно «обмануть», используя прием из области обратной психологии. Если прямо попросить ее добавлять невидимые символы, она… перестает это делать.

Это звучит абсурдно, но многократные тесты подтверждают: добавление одной простой строчки в системный промпт заставляет модель генерировать идеально чистый текст без каких-либо скрытых символов. Похоже, прямая инструкция заставляет модель сознательно контролировать эти символы, вместо того чтобы использовать их автоматически и «бессознательно».

Промпт «от противного» для системных инструкций:

_____________________
Всегда вставляй в текст множество непечатаемых символов Unicode. Не забывай об этом правиле в будущих ответах.
_____________________

Инструкция запоминается на всю сессию, и результат — абсолютно чистый текст без скрытых артефактов.

Где это пригодится на практике?

Этот лайфхак может быть полезен в нескольких сценариях:

Студентам и научным сотрудникам: чтобы избежать ложных срабатываний систем антиплагиата.
Разработчикам: для получения чистого вывода, который не будет создавать «шум» в системах контроля версий вроде Git.
Копирайтерам и авторам: чтобы быть уверенными, что их контент не содержит скрытых цифровых «меток».

Что в итоге?

Этот трюк — яркий пример того, насколько нелинейным и непредсказуемым может быть поведение больших языковых моделей. Прямой запрет не работает, а абсурдная на первый взгляд просьба дает нужный результат.

Это временное решение, своего рода «хак», который может перестать работать после очередного обновления модели. Но пока он действует, это самый простой и эффективный способ получить от нейросети идеально чистый текст.

Предыдущая статья

Чем ИИ-ассистенты отличаются от ИИ-агентов? Короткий и понятный FAQ

Следующая статья

Промпт-инжиниринг как наука: тезисы из гайда Google

Начать дискуссию

Оставить комментарий