Методика очистки: правила, значения по умолчанию и ограничения
Что делает локальная очистка
Очистка HumanFlow детерминированно преобразует символы и шаблоны. При одинаковом тексте, наборе правил и настройках тире движок выдает одинаковый результат и упорядоченный список изменений; языковая модель не выводит смысл. Для каждого изменения записываются ID и категория правила, диапазоны исходного и результирующего текста, удаленное и замененное значения, при необходимости сведения Unicode и признак разрушительного действия. Безопасные настройки по умолчанию направлены на артефакты форматирования, обычно не меняющие формулировки: поддерживаемые скрытые управляющие символы, неразрывные пробелы, табуляции, повторные горизонтальные пробелы, пробелы в конце строк и лишние пустые строки. Правила, способные менять Markdown или пунктуацию, по умолчанию выключены в общем инструменте очистки.
Реестр правил
Значения ниже относятся к реестру движка. Настройки отдельных страниц могут их переопределить; следующая таблица показывает фактические значения для главной страницы и специализированных инструментов каждой локали.
Фактические правила по умолчанию для страниц
Таблица построена по сохраненной конфигурации локализованных страниц. Реестр движка включает шесть правил форматирования и выключает семь правил Markdown и пунктуации; настройки страниц могут переопределять их.
| Настройка страницы | ID включенных по умолчанию правил |
|---|---|
| Главная | trim-trailing-whitespace, collapse-blank-lines |
| Удаление форматирования ИИ | normalize-nbsp, normalize-tabs, collapse-spaces, trim-trailing-whitespace, collapse-blank-lines, remove-markdown-headings, remove-markdown-emphasis, remove-markdown-code-fences, remove-markdown-links |
| Удаление невидимых символов | Нет |
| Удаление em dash | replace-em-dash |
| Исправление пробелов ИИ | normalize-nbsp, normalize-tabs, collapse-spaces, trim-trailing-whitespace, collapse-blank-lines |
| ID правила | По умолчанию в движке | Риск | Реализованное поведение |
|---|---|---|---|
hidden-unicode | Вкл. | Относительно безопасно, требует проверки | Удаляет поддерживаемые управляющие C0/C1, невидимые символы, метки направления, соединитель слов и BOM; обычные переводы строк и табуляции сохраняются. |
normalize-nbsp | Вкл. | Относительно безопасно, требует проверки | Заменяет U+00A0 на обычный пробел U+0020. |
normalize-tabs | Вкл. | Относительно безопасно, требует проверки | Заменяет табуляции обычными пробелами. |
collapse-spaces | Вкл. | Относительно безопасно, требует проверки | Сжимает повторные горизонтальные пробелы и NBSP до одного обычного пробела. |
trim-trailing-whitespace | Вкл. | Относительно безопасно, требует проверки | Удаляет пробелы и табуляции в конце строк. |
collapse-blank-lines | Вкл. | Относительно безопасно, требует проверки | Оставляет не более одной пустой строки подряд. |
remove-markdown-headings | Выкл. | Разрушительное | Удаляет начальные маркеры Markdown-заголовков, сохраняя текст заголовка. |
remove-markdown-emphasis | Выкл. | Разрушительное | Удаляет звездочки выделения. |
remove-markdown-code-fences | Выкл. | Разрушительное | Удаляет строки ограждения из трех обратных кавычек, сохраняя содержимое блока. |
remove-markdown-links | Выкл. | Разрушительное | Заменяет ссылку Markdown видимым текстом, удаляя адрес назначения. |
normalize-smart-quotes | Выкл. | Разрушительное | Заменяет типографские кавычки ASCII-кавычками. |
replace-em-dash | Выкл. | Разрушительное | Заменяет U+2014 выбранным вариантом. |
replace-en-dash | Выкл. | Разрушительное | Отдельно заменяет U+2013 выбранным вариантом. |
«Относительно безопасно» не означает, что правило подходит каждому документу. Табуляции и пробелы могут задавать отступы кода или выравнивание таблицы; невидимые соединители и метки направления бывают важны для многоязычного текста. Правила выбираются по отдельности, а отмена восстанавливает исходный ввод из состояния браузера.
Пересечения и порядок изменений
Движок собирает варианты правок по исходному тексту, сортирует по позиции и приоритету правила, затем отклоняет пересекающиеся варианты с меньшим приоритетом. Результат строится слева направо, а диапазоны после замен фиксируются. Это не дает правилам повторно изменять один участок и сохраняет стабильные исходные диапазоны для проверки. Например, последовательность NBSP может совпасть с правилами повторных пробелов и одиночного NBSP. Применяется замена последовательности с более высоким приоритетом, а пересекающиеся одиночные замены пропускаются; участок отражается как одно преобразование.
Воспроизводимые примеры
Проверочный набор содержит пустой ввод, обычный текст, смешанный Unicode, Markdown, пунктуацию, многоязычный текст, код, JSON и большой детерминированный документ. Дополнительные примеры проверяют точные исходные и результирующие диапазоны, распознавание U+200B, обработку табуляции, сохранение содержимого кодовых блоков и текста ссылок Markdown, а также каждый специализированный набор. Для минимальной строки A[U+200B]B[U+00A0]C безопасные настройки должны дать AB C. Обычное предложение с типографскими кавычками и em dash не меняется, поскольку пунктуационные правила выключены. Заголовок Markdown тоже сохраняется, а инструмент удаления форматирования намеренно включает Markdown-набор.
Политики специализированных инструментов
Четыре специализированных инструмента используют один движок. Удаление форматирования ChatGPT включает правила Markdown и пробелов, обрабатывает кодовые блоки и ссылки. Удаление невидимых символов предоставляет только правила скрытого Unicode и NBSP с данными о кодовых точках. Удаление em dash отдельно управляет em/en dash; изначально выбрана замена em dash на дефис. Исправление пробелов ИИ охватывает NBSP, табуляции, повторные и конечные пробелы и пустые строки. Автотесты требуют разных подписей правил по умолчанию, уникального содержимого и примеров для каждой настройки, а также изменения результата при обработке собственного примера.
Граница конфиденциальности
Локальная очистка работает в браузере; тест исходного кода запрещает запросы fetch с текстом и серверные действия из клиентской части. Список разрешенных аналитических событий содержит только сводные правила и числа. ИИ-переписчик — отдельная функция: он может передавать текст через сервер настроенному поставщику модели. Проверка письменных шаблонов тоже выполняется локально, но сообщает эвристики, а не авторство. Подробнее — в разделе конфиденциальности продукта.
Ограничения
Очистка не определяет, написал ли текст человек или модель; не гарантирует удаление статистических водяных знаков, рост поискового рейтинга, обход ИИ-детекторов или сохранение смысла после всех необязательных изменений пунктуации и Markdown. Она распознает только описанные шаблоны. Вложенный Markdown, сложный синтаксис ссылок, пользовательская разметка, форматирование и метаданные буфера обмена конкретного приложения могут не обрабатываться. Проверяйте код, JSON, таблицы, двунаправленный текст и отображение букв в целевом приложении. Видимые различия и детерминированный вывод облегчают проверку, но не заменяют ее.
Версия и политика изменений
Текущая версия схемы движка локального форматирования — 1. ID правил являются стабильными значениями API, используемыми настройками страниц, списками аналитики, тестами и документацией управления. Изменения поведения должны сопровождаться обновлением ожиданий тестов и этой методики в том же выпуске. Новые разрушительные правила должны быть выключены по умолчанию. Удаление или переименование требует явной миграции, поскольку ID могут ссылаться сохраненными настройками и централизованными SEO-данными. Методика проверена по реализации репозитория 2026-09-05; будущие даты проверки должны отражать реальный аудит кода и конфигурации, а не автоматическую отметку времени.