Humanizer-ru — очеловечивание русского ИИ-текста

English version → README.en.md
Скилл для ИИ-агентов: находит и убирает следы машинной генерации в русскоязычном тексте. Переписывает «гпт-шный» текст по-человечески, не искажая смысла, и не трогает живое: ложное срабатывание здесь дороже пропуска.
Здесь 38 паттернов (25 базовых и 13 расширений) и 39 проверяемых regex-маркеров классов A и B. Проверки гоняет CI. Каталог skills.sh сообщает об успешных проверках Gen Agent Trust Hub и Socket; про красную плашку Snyk — в разделе «Безопасность».
До:
🚀 Инновации: Мы добавили пакетную обработку, горячие клавиши и офлайн-режим. Это безусловно является свидетельством нашего стремления к качеству. Кроме того, эти функции обеспечивают бесшовный, интуитивно понятный и мощный пользовательский опыт — гарантируя эффективность. Эксперты считают, что это революция.
После:
Мы добавили пакетную обработку, горячие клавиши и офлайн-режим.
Скилл убирает штампы, но не дописывает факты за автора. В примере выше всё из варианта «После» уже было в исходнике.
Что ему давать
Дайте скиллу готовый фрагмент. Он найдёт следы генерации и по просьбе
перепишет текст. SKILL.md — инструкция агента: её подгружают на задачу
анализа или правки вместе с нужными справочниками из references/.
PERSONA.md — другое: короткие правила живого тона для диалога, а не
для проверки текста. Не кладите весь SKILL.md в системный промпт
чат-клиента: это замедлит ответы, но не сделает разговор живее.
Одноимённые проекты — не путать
В GitHub есть другие репозитории с именем humanizer-ru, не связанные с
этим проектом. Позиции у них разные:
| Проект |
Фокус |
Позиция по детекторам |
| Vladimir-Human/humanizer-ru — этот проект |
Редактор русского текста: 38 паттернов, 39 regex-маркеров с реестром доказательств 37/39, 36 CI-гейтов, слепые парные прогоны |
Детекторы не обходим и текст под них не подгоняем; цель — естественный текст, а не зелёный вердикт детектора |
| smixs/humanizer-ru |
Скилл «humanizer & detector»: правка и проверка одним инструментом |
— |
| ilyautov/humanizer-ru |
Скилл-гуманизатор; в описании заявлена подгонка под то, что меряют GPTZero, DivEye, RuBERT (perplexity и burstiness) |
Обход детекторов заявлен открыто в описании |
| blader/humanizer |
Англоязычный скилл того же жанра, опубликован на три дня раньше |
— |
Мы не аффилированы ни с одним из них. Декларация этого проекта: «не
средство обхода детекторов»; подробнее — в разделе «Безопасность».
Установка за 30 секунд
npx skills add https://github.com/vladimir-human/humanizer-ru --skill humanizer-ru
Установщик предложит выбрать агентов: Claude Code, Codex, Cursor, Gemini CLI, OpenCode и другие среды с поддержкой формата Agent Skills. Сам скилл состоит из текстовых инструкций и не исполняет код при работе. Команда npx запускает сторонний Skills CLI; если хотите проверить каждый файл до установки, используйте раздел «Установка вручную».
Установка вручную
Скилл humanizer-ru ставится в Claude.ai и в локальный CLI Claude Code. Для команд — свой путь, через администратора организации (см. раздел 2).
0. Проверка перед установкой
Скилл не выполняет код при активации: рабочая часть — только текстовые файлы разметки. В репозитории есть вспомогательные Python-скрипты (scripts/) для тестов и CI — они запускаются только вручную или в GitHub Actions. Правило одно для любых скиллов: сначала прочитать, потом ставить.
- Откройте
SKILL.md и references/ прямо на GitHub и убедитесь, что содержимое вас устраивает.
- Ставьте только выпуски со страницы Releases (аннотированные теги вида
vX.Y.Z), а не произвольное состояние ветки.
- После распаковки убедитесь, что внутри лишь
SKILL.md, README.md, README.en.md, SECURITY.md, SECURITY.en.md, CHANGELOG.md, PERSONA.md, LICENSE, references/ и scripts/ — ничего исполняемого при установке. Каталогов .github/, research/ и tests/ в архиве нет: валидаторам, которым нужны корпуса и фикстуры, требуется полный клон репозитория.
1. Claude.ai (Веб-интерфейс)
- Откройте страницу Releases этого репозитория, выберите свежий выпуск и скачайте приложенный к нему архив
humanizer-ru.zip. Это собранный архив скилла — состав перечислен в шаге 0. Source code (zip), который GitHub добавляет к каждому выпуску, — полное дерево репозитория вместе с .github/, research/ и tests/; он нужен только тем, кто собирается запускать валидаторы.
- Зайдите в аккаунт Claude.ai и перейдите в Settings > Skills.
- Нажмите Upload skill и выберите скачанный архив.
Примечание. В humanizer-ru.zip файл SKILL.md лежит в корне архива, поэтому переупаковка не нужна. Она может понадобиться, только если вы взяли Source code (zip): там всё вложено в папку вида humanizer-ru-<номер версии>.
2. Организации (Enterprise & Team)
Администратор организации проверяет выпуск (см. шаг 0) и загружает его в общую библиотеку — скилл становится доступен всей команде.
3. API и локальные агенты (Claude Code)
Работаете через API (эндпоинт /v1/messages или аналоги) — передайте скилл параметром container.skills. Детали — в документации вашего клиента.
Локальная установка — с закреплением на теге выпуска, чтобы получить именно проверенное состояние:
mkdir -p ~/.claude/skills
git clone --branch v3.13.0 --depth 1 https://github.com/Vladimir-Human/humanizer-ru.git ~/.claude/skills/humanizer-ru
Или минимально — только карта скилла (без справочников references/; глубина проверки будет ниже):
mkdir -p ~/.claude/skills/humanizer-ru
cp SKILL.md ~/.claude/skills/humanizer-ru/
Если проверять каждый шаг вручную не нужно, быстрее поставить одной командой из каталога skills.sh — см. «Установка за 30 секунд» выше.
4. DeepSeek Harness (dsh)
dsh ищет скиллы в собственных каталогах. Проверено с dsh 0.1.0-rc.6. Это developer preview: ломающие изменения обещаны, поэтому для другой версии сверяйтесь с её документацией.
Глобальная установка (все проекты и агенты профиля):
mkdir -p ~/.agents/skills
git clone --branch v3.13.0 --depth 1 https://github.com/Vladimir-Human/humanizer-ru.git ~/.agents/skills/humanizer-ru
Второй способ — бандл из подкаталога dsh/. Его ставит менеджер плагинов, профиль создаётся при первом обращении, pnpm нужен на PATH:
dsh plugin --profile web add "github:Vladimir-Human/humanizer-ru#path:/dsh"
В бандле лежит копия SKILL.md и references/; гейт check_bundle_sync.py держит её равной источнику. Снять бандл: dsh plugin --profile web remove humanizer-ru-dsh.
Команда берёт ветку по умолчанию. Закрепить тег и подкаталог одной строкой не выходит: pnpm молча отбрасывает подкаталог, ставит репозиторий целиком обычной зависимостью и возвращает 0, а профиль остаётся без слоя. Проверено на dsh 0.1.0-rc.6.
Порядок поиска скилла в dsh (ближайший каталог побеждает): <проект>/.dsh/skills, <проект>/.agents/skills, ~/.dsh/skills, ~/.agents/skills. Каталог ~/.claude/skills dsh не сканирует: скилл, установленный туда по инструкции для Claude Code выше, в dsh не виден.
Использование
В Claude Code или другом агенте:
/humanizer-ru [вставьте текст]
Или напрямую:
Очеловечь этот текст: [ваш текст]
Что делает
Прогоняет русский текст по 38 паттернам машинного письма (25 базовых и 13 расширений для русского) и 39 проверяемым regex-маркерам классов A и B, затем убирает следы. Опирается на Wikipedia:Signs of AI writing и Википедия:Признаки сгенерированности текста.
С версии 2.3 SKILL.md — это карта с деревом решений. Полное описание паттернов и проверок лежит в подключаемых файлах references/.
С версии 3.8 мягкий слой стал счётным. scripts/scan_soft_signals.py находит кандидатов по четырём категориям признаков, считает каждый паттерн один раз на текст и применяет пороги дерева решений; жанровые исключения берутся из references/false-positives.md. Скрипт печатает цитаты и рекомендацию объёма правки, вердикта об авторстве не даёт — Главное правило остаётся за агентом. На человеческом контрольном корпусе скрипт молчит: единичные литературные тире и повторы отсекают жанровые исключения. На выводах русских моделей он находит кандидатов там, где regex-слой ничего не видит. Наружу идут только механические оси: снятие маркеров, чистота фактов, ложные правки (LEADERBOARD.md). Читаемость оценивает своя панель судей, но её числа мы держим при себе: панель односемейная, а позиционный шум описан в прогонах.
Архитектура
humanizer-ru/
├── SKILL.md # Карта, дерево решений, чек-лист
├── CHANGELOG.md # Полная история версий
├── LEADERBOARD.md # Механические оси: прогоны детекторов
├── PERSONA.md # Компактные правила живого диалога
├── README.md / README.en.md # Описание проекта (рус/англ)
├── SECURITY.md / SECURITY.en.md
├── CITATION.cff # Карточка цитирования
├── LICENSE # MIT
├── dsh/ # Бандл для DeepSeek Harness (вендор SKILL.md + references/)
├── CODE_OF_CONDUCT.md / CONTRIBUTING.md
├── docs/
│ └── FRAMEWORK.md # Публичная методология проверяемости
├── scripts/
│ ├── check_markers.py # Прогон regex-маркеров, режим --scan
│ ├── check_spec.py # Валидатор спецификации Agent Skills
│ ├── check_fixture_sources.py # Валидатор реестра источников
│ ├── count_style_markers.py # Счётчик стилевых нарушений
│ ├── check_docs.py # Согласованность документации
│ ├── check_examples.py # Гейт честности примеров До/После
│ ├── check_readme_parity.py # Паритет и правдивость витрины RU/EN
│ ├── check_own_style.py # Порог мягких признаков на свою прозу
│ ├── check_reference_maps.py # Карты разбитых справочников
│ ├── check_budget.py # Бюджет контекста по спецификации
│ ├── check_corpus.py # Регрессия корпусов валидации
│ ├── check_perf.py # Скорость выражений на большом входе
│ ├── check_release.py # Сборка и проверка релизного архива
│ ├── check_bundle_sync.py # Синхронность вендора бандла dsh/
│ ├── filemarks/ # Слой A/B и метаданные файлов (inspect/clean)
│ ├── scan_soft_signals.py # Счётчик мягких признаков
│ └── check_all.py # Весь релизный чек-лист одной командой
├── eval/
│ ├── run_eval.py # Нейтральный корпус для любого скилла
│ ├── blind_eval.py # Слепая парная оценка эффекта
│ ├── HOW-TO-RUN.md # Протокол прогона и границы метрик
│ ├── README.md # Карта eval и словарь метрик
│ ├── manifest.v1.json # Схема нейтрального корпуса
│ ├── runs/ # Парные прогоны (10 записей; см. runs/README.md)
│ └── results/ # Отчёты прогонов целиком, включая
│ # метрики не в пользу скилла
├── .github/workflows/ # CI: regex-check, self-scan, no-anglicisms,
│ # validators, docs-check, release-check
├── references/ # 11 справочников; два разбиты на части (16 файлов)
├── research/ # Протоколы, реестр, аудит и BACKLOG.md
└── tests/fixtures/ # Проверочные образцы
Содержательные паттерны
| # |
Паттерн |
Критичность |
| 1 |
Усреднение — конкретика заменяется общими эпитетами «выдающийся», «титан» |
высокая |
| 2 |
Раздувание значимости — «ключевой момент в истории отрасли» |
средняя |
| 3 |
Перечисление СМИ — «цитировали NYT, BBC, Forbes» без контекста |
средняя |
| 4 |
Деепричастные хвосты — «символизируя... отражая...» |
средняя |
| 5 |
Рекламный язык — «жемчужина региона», «идеальное место» |
средняя |
| 6 |
Размытые эксперты — «эксперты считают» без источника |
высокая |
| 7 |
Вызовы и перспективы — «несмотря на трудности, продолжает процветать» |
низкая |
| 8 |
Канцелярит — «осуществлять деятельность» |
средняя |
| 9 |
Текст о тексте — описание статьи вместо предмета |
средняя |
| 9a |
Академические клише-заполнители — «актуальность темы обусловлена», «целью работы является» |
средняя |
| 6a |
Именованная псевдоатрибуция эпохи RAG — «критик подчеркнул непреходящее влияние» без опоры на источник |
средняя |
Языковые паттерны
| # |
Паттерн |
Критичность |
| 10 |
Машинная лексика — «безусловно, синергия, ландшафт, погрузиться» |
высокая |
| 11 |
Избегание «есть» — «представляет собой» вместо «это» |
средняя |
| 12 |
«Не только..., но и» — отрицательные параллелизмы |
средняя |
| 13 |
Правило трёх — принудительные тройки |
высокая |
| 14 |
Погоня за синонимами — «герой... протагонист... персонаж» |
низкая |
| 15 |
Ложные диапазоны — «от Большого взрыва до тёмной материи» |
средняя |
| 15a |
Нелогичные деепричастные обороты — «используя метод, результаты улучшаются» |
средняя |
| 15b |
Каскад смягчений — «возможно, в некоторых случаях, в зависимости от» |
средняя |
| 15c |
Связки-переходы и заключительные обороты-затычки — «Однако стоит отметить...», «В заключение хочется отметить...» |
средняя |
| 15d |
Резкая смена стилистики внутри одного текста |
низкая |
| 15e |
Семантический сдвиг через английское поле — «основание науки», «адресовать проблему» |
средняя |
| 15f |
Отсутствие идиоматики — длинный текст без единого живого оборота |
низкая |
Структурные и стилевые паттерны
| # |
Паттерн |
Критичность |
| 16 |
Избыток тире и жирного шрифта |
высокая |
| 17 |
Эмодзи-списки — 🚀 Скорость: ... |
высокая |
| 18 |
Кавычки — «лапки» вместо «ёлочек» |
средняя |
| 19 |
Избыточные таблицы — таблица на 2–3 строки вместо текста |
высокая |
| 20 |
Следы Markdown — **жирный**, #заголовки в обычном тексте |
высокая |
| 21 |
Нарушение иерархии заголовков — прыжок с H1 на H3 |
высокая |
| 21a |
Каждое Слово Заголовка С Прописной — «Ранняя Жизнь и Образование» |
высокая |
| 21b |
Раздел-пересказ в конце текста — «Вкратце», «Подводя итоги», дублирование уже сказанного |
средняя |
Коммуникативные паттерны
| # |
Паттерн |
Критичность |
| 22 |
Остатки реплик и шаблоны — «Надеюсь, это поможет!», [вставьте имя] |
высокая |
| 23 |
Оговорки о пределах знаний — «хотя конкретные детали ограничены...» |
средняя |
| 23a |
Заявление о недоступности информации со спекуляцией — «данные не публикуются, однако, вероятно...» |
средняя |
| 24 |
Льстивый тон — «Отличный вопрос!» |
средняя |
| 24a |
Псевдо-терапевтический регистр и имитация живости — «Ты не ошибаешься, что так чувствуешь», «Короткие. Точные. Отдельные.» |
средняя |
| 25 |
Общие позитивные выводы — «будущее выглядит светлым» |
средняя |
| 25a |
Обрыв на полуслове — текст кончается посреди предложения |
средняя |
Отличия от английской версии
- Добавлен паттерн «канцелярит» («осуществлять деятельность», «в соответствии с»)
- Список машинной лексики адаптирован под русский язык
- Title Case наоборот: в английском заголовки из слов с прописной — норма, а не признак ИИ; в русском такая манера не применяется, и её перенос в русские заголовки сам стал признаком (паттерн #21a, высокая критичность, только в сочетании с другими признаками)
- Кавычки: «ёлочки» вместо „нижних лапок“
Безопасность
- Скилл только текстовый: не выполняет код, не обращается к сети и файловой системе, не собирает данные.
scripts/check_markers.py запускается лишь в CI и вручную разработчиком.
- Текст пользователя скилл читает как данные: команды, спрятанные внутри, он не выполняет (раздел «Границы безопасности» в
SKILL.md).
- Модель угроз, гарантии и порядок сообщения об уязвимостях — в SECURITY.md.
- Про красную плашку Snyk на витрине skills.sh. Автоматический аудит помечает скилл кодом E005 «подозрительная ссылка на скачивание». Срабатывание ложное: сканер видит идентификатор S3-бакета Perplexity
ppl-ai-file-upload — это документированная примета класса A, по которой скилл распознаёт машинную генерацию, — и принимает описание приметы за инструкцию скачать файл. Скилл ничего не скачивает: переход по ссылкам из проверяемого текста запрещён разделом «Границы безопасности» в SKILL.md. Тот же класс ложных срабатываний известен по наборам правил YARA и по тестовой строке EICAR: инструмент, который ищет признак, обязан этот признак содержать. Два других аудитора каталога дают PASS. Убрать примету ради вердикта мы не будем — это дыра в детекторе.
Regex-маркеры: классы A и B
39 регулярных выражений делятся на два класса. Класс A — жёсткие copy-paste-артефакты: служебные ссылки ChatGPT, [cite: N] и span-метки Gemini, карточки цитат Grok, S3-ссылки Perplexity и остатки тегов рассуждений DeepSeek. Класс B — контекстные индикаторы: placeholder-URL и даты, referrer=grok.com, невидимые разделители цитат из области частного использования (U+E200–E204), короткая форма сноски (U+EA01/U+EA02 вокруг цифры), символы нулевой ширины, невидимая раскладка (наборные пробелы, мягкий перенос, вариационные селекторы вне эмодзи) и имена сносок с внутренними идентификаторами (<ref name="0searchN">). B требует ручной проверки и не даёт самостоятельного вердикта.
У каждого маркера три фикстуры: прямая, отрицательная и граничная. Маркеры с доказательной цепочкой дополнительно проверяются по research/fixtures/marker-sources.json. Политика обновлений разделяет устойчивое ядро (правила и границы ложных срабатываний) и быстрый слой (модельные артефакты): быстрый слой меняем только с образцами и источником, класс A/B при этом сохраняется.
Полная запись доказательств — неизменяемая ссылка на источник, дата обращения, дословный образец, класс доказательства и fixture — есть у 37 из 39 маркеров. Остальные закрыты только фикстурами.
| Маркер |
Источник |
Регулярное выражение |
:contentReference[oaicite:N]{index=N} |
OpenAI ChatGPT |
:contentReference\[oaicite:\d+\]\{index=\d+\} |
oaicite:7 (усечённая форма метки) |
OpenAI ChatGPT |
oaicite:\d+ |
oai_citation:N‡ |
OpenAI ChatGPT |
oai_citation:\d+‡ |
attributableIndex в JSON |
Внутреннее поле разметки JSON-ответов при использовании инструментов |
\battributableIndex\b |
turn0search0 |
OpenAI веб-поиск |
turn\d+search\d+ |
turn0fetch0 |
OpenAI загрузка страниц |
turn\d+fetch\d+ |
<ref name="0search12"> |
Контекстный след внутреннего инструмента в имени вики-сноски |
<ref\b[^>]*\bname=["']\d+(?:search\|fetch\|file\|image\|news\|video\|ref)\d+["'] |
?utm_source=chatgpt.com |
OpenAI ChatGPT |
[?&]utm_source=chatgpt\.com |
?utm_source=openai |
OpenAI API |
[?&]utm_source=openai |
attached_file:// |
OpenAI ChatGPT |
attached_file:\/\/ |
grok_card:// |
xAI Grok |
grok_card:\/\/ |
vertexaisearch.cloud.google.com/grounding-api-redirect |
Google Gemini |
vertexaisearch\.cloud\.google\.com/grounding-api-redirect |
[^N^] |
Microsoft Copilot |
\[\^\d+\^\] |
【N†source】 |
OpenAI Assistants |
【\d+(?::\d+)?†source】 |
citeturn0file0 |
OpenAI ChatGPT (поток) |
citeturn\d+[a-z]+\d+ |
turn0file2, fileciteturn0file2turn0file6 |
OpenAI file_search |
turn\d+file\d+ |
\]\(sandbox:/mnt/data/...\) |
OpenAI ChatGPT (анализ данных) |
\]\(sandbox:/mnt/data/ |
Невидимые символы U+E200–E204 |
OpenAI ChatGPT (служебные разделители цитат) |
[\ue200-\ue204] |
Короткая форма сноски: цифра в U+EA01/U+EA02 (новое в v3.2) |
OpenAI ChatGPT |
[\uea01\uea02] |
<think>…</think> |
DeepSeek и другие рассуждающие модели |
(?m)^\s*</?think>\|</think>\s*$ |
Сцепка ISO+3ISO+3 |
OpenAI ChatGPT (ошибка отрисовки сносок) |
[A-Za-z\u0410-\u042f\u0430-\u044f\u0401\u0451)]\+\d+(?=[A-Z\u0410-\u042f\u0401][A-Za-z\u0410-\u042f\u0430-\u044f\u0401\u0451&.\-]*(?: [A-Z\u0410-\u042f\u0401][A-Za-z\u0410-\u042f\u0430-\u044f\u0401\u0451&.\-]*){0,3}\+\d) |
[cite_start] |
Google Gemini (анализ PDF) |
\[cite_start\] |
[cite: 8], [Cite: 12], [cite: 19, 20, 21] |
Google Gemini (ссылка на фрагменты источника; расширено в v3.2) |
\[[Cc]ite:\s?\d+(?:,\s?\d+)*\] |
[span_N] start_span / end_span (новое в v3.5) |
Google Gemini (внутренние границы фрагментов) |
\[span_\d+\][\[(](?:start_span\|end_span)[\])] |
Символы нулевой ширины U+200B–U+200D, U+2060, U+FEFF |
Внутренние разделители цитат и кодировочные артефакты; U+FEFF в начале файла — BOM, не ИИ |
[\u200b\u200c\u2060\ufeff]\|(?<![\U0001f000-\U0001faff\u2600-\u27bf\ufe0f\U0001f1e6-\U0001f1ff])\u200d(?![\U0001f000-\U0001faff\u2600-\u27bf\ufe0f\U0001f1e6-\U0001f1ff]) |
:::writing{variant="document" id="68427"} |
Writing-разметка интерфейса; атрибуция версии не подтверждена evidence registry |
:::\w+\{variant |
turn0image0, turn0news0, turn0video0, turn0ref0 |
OpenAI ChatGPT (мультимедиа-инструменты) |
turn\d+(?:image\|news\|video\|ref)\d+ |
?utm_source=copilot.com |
Microsoft Copilot |
[?&]utm_source=copilot\.com |
?referrer=grok.com |
xAI Grok |
[?&]referrer=grok\.com |
<grok-card ... data-type="citation_card"> |
xAI Grok (XML-тег карточки) |
<grok-card\b[^>]*\bcitation_card\b |
grok_render_citation_card_json={...} |
xAI Grok (JSON карточек) |
grok_render_citation_card_json |
【85†L261-269】, 【854†L119-L123】 |
DeepSeek и производные (ссылки на строки) |
【\d+†L\d+(?:-L?\d+)?】 |
[attached_file:N], [web:N] |
Perplexity (скобочная форма ссылок, осень 2025) |
\[(?:attached_file\|web):\d+\] |
[citation:3] |
Perplexity и другие поисковые ИИ |
\[citation:\d+\] |
citegenerated-reference-identifier |
ChatGPT (сгенерированный идентификатор) |
citegenerated-reference-identifier |
INSERT_SOURCE_URL, URL_HERE, PASTE_*_URL_HERE |
Placeholder-URL из шаблонных ответов |
\b(?:INSERT_SOURCE_URL(?:_\d+)?\|URL_HERE\|PASTE_\w+_URL_HERE)\b |
2025-XX-XX, 2022-11-XX |
Placeholder-даты из шаблонных ответов (чаще всего «дата обращения») |
\b(?:19\|20)\d{2}-(?:0[1-9]\|1[0-2]\|[Xx]{2})-[Xx]{2}\b |
ppl-ai-file-upload в URL (новое в v3.5) |
Perplexity (ссылки на Amazon S3-bucket) |
ppl-ai-file-upload |
Полный список с дословными образцами — в references/test-fixtures.md.
Подлог источников (новое в v2.3)
Отдельный класс проверок для текстов со ссылками: 404, DOI ведёт на чужую статью, несуществующий ISBN, автор умер до даты публикации, книжная ссылка без номера страниц. См. references/source-fabrication.md.
Границы ложного срабатывания (новое в v2.3)
Длинное тире у Цветаевой и Бродского, изогнутые кавычки от автозамены macOS, правило трёх в риторической прозе, канцелярит в юридическом документе — это не признаки ИИ. Скилл намеренно не исправляет такие случаи. См. references/false-positives.md.
Отпечатки моделей (новое в v2.3)
references/llm-fingerprints.md не ведёт каталог актуальных версий моделей. Он описывает уровни доказательств, воспроизводимые артефакты и локальные наблюдения с явными ограничениями атрибуции. Версию или доступность модели нельзя выводить из стилистического признака без первичного датированного источника. Там же собраны ручные мягкие сигналы русских моделей — GigaChat, Алисы и YandexGPT: они помечены как наблюдения без корпусного подтверждения, регулярных выражений для них нет.
Шкала критичности: высокая — мгновенно выдаёт ИИ · средняя — сильный сигнал · низкая — слабый сигнал
Источники
История изменений
Актуальная версия — на значке в начале страницы. Полную историю изменений
смотрите в CHANGELOG.md и на странице
GitHub Releases.
Лицензия
MIT