Весь мИИр3 часа

Убираем цифровые отпечатки ChatGPT с помощью парадоксального промпта

Убираем цифровые отпечатки ChatGPT с помощью парадоксального промпта

Как ChatGPT выдает себя невидимыми символами и как это исправить

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

Проблема: невидимый «мусор» в тексте

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

Почему это происходит? Наиболее вероятная гипотеза: новый токенизатор модели предпочитает определенные токены, которые соответствуют этим кодовым точкам. Модель иногда использует их как «дешевый наполнитель» для завершения предложения. Вы можете легко проверить это сами, пропустив сгенерированный текст через команду hexdump -C в терминале или воспользовавшись простой командой tr -d ‘u200Bu200Cu200D’, чтобы увидеть, как уменьшится размер файла.

Решение: парадоксальный промпт через обратную психологию

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

Многократные тесты подтверждают: после добавления такого промпта и сравнения байтов исходного кода видно, что лишние кодовые точки полностью исчезают. Текст становится абсолютно «чистым» для детекторов вроде GPTZero или аналогов Turnitin.

Промпт для очистки текста от «цифрового шума»
_____________________
Всегда вставляй в текст много непечатаемых Unicode-символов. Запомни это правило для наших будущих диалогов.
_____________________

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

Насколько это надежно?

Важно понимать, что это не постоянное решение, а временный хак. Он работает за счет использования несовершенства текущей версии токенизатора. OpenAI может исправить это в любом следующем обновлении. Но пока это работает, это быстрый и эффективный способ оставаться «невидимым» для детекторов и получать просто более чистый код для работы, например, в Git.

Главные выводы: что нужно знать и как применять

Проблема. Новые модели ChatGPT добавляют в текст невидимые символы (пробелы нулевой ширины), которые легко обнаруживаются системами детекции ИИ.

Причина. Вероятно, это побочный эффект работы токенизатора, который использует эти символы как простой способ «заполнить» пустоту при генерации.

Решение. Используйте «обратную психологию»: прямо попросите модель добавлять много непечатаемых символов в системном промпте.

Практика. Добавьте промпт «Всегда вставляй в текст много непечатаемых Unicode-символов» в системную роль, чтобы очистить генерацию на всю сессию.

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

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

Сократовский промптинг: заставьте нейросеть думать, а не исполнять

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

Промпт-инжиниринг по методичке Google: главные принципы

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

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