feat(skills): добавлены новые паттерны и quick scan в ai-text-lint
- Зачем:
- расширить покрытие AI-маркеров и добавить быстрый режим для коротких текстов.
- Что:
- добавлен режим quick scan (только 🔴 high, без развёрнутых объяснений).
- новые паттерны: P05 (буква «ё»), L06 (hedging), S07 (двоеточие перед списком), T05 (sandwich pattern).
- расширен словарь L01 (формирование, реализация, осуществлять, функционирование).
- улучшена детекция S04 (добавлен синтаксический аспект однородности).
- обновлены таблицы severity для всех контекстов.
- Проверка:
- /ai-text-lint на тестовом тексте с новыми паттернами.
This commit is contained in:
1 parent
e11258b51d
commit
5d2d9e3d22
2 files changed
+93
-12
No files matched your search
@@ -96,6 +96,34 @@ AI-модели же подставляют типографически кор
|
||||
| message | 🟡 medium |
|
||||
| resume | 🔴 high |
|
||||
|
||||
### P05: Буква «ё» — второй em dash
|
||||
|
||||
**Что:** Последовательное использование буквы «ё» в тексте: «идёт», «всё», «ещё», «берёт», «нёс», «подчёркивает».
|
||||
**Почему:** Это один из самых надёжных маркеров наравне с P01. Клавиша «ё» расположена в неудобном месте (левый верхний угол, под `~`), и культура её использования в русскоязычном интернете слабая. Подавляющее большинство людей набирают «идет», «все», «еще» — и это нормально, языковая норма допускает оба варианта. AI-модели же обучены на отредактированных текстах (книги, Википедия, СМИ), где «ё» используется последовательно. Результат: если в тексте из мессенджера стабильно стоит «ё» — это красный флаг.
|
||||
|
||||
**Исключения:** Некоторые люди принципиально пишут с «ё» (ёфикаторы). Текст, прошедший через корректора/редактора, тоже будет с «ё». Если автор — известный сторонник «ё», это не маркер.
|
||||
|
||||
**Примеры маркеров:**
|
||||
- «Проект идёт по плану, всё готово к деплою» (в Slack)
|
||||
- «Ещё нужно разобраться с конфигурацией» (в Telegram)
|
||||
**Как выглядит реальный человеческий текст:**
|
||||
- «Проект идет по плану, все готово к деплою»
|
||||
- «Еще нужно разобраться с конфигурацией»
|
||||
|
||||
**Рекомендация:** В переписке заменить «ё» на «е» повсеместно. В статьях — допустимо, если автор осознанно ёфицирует, но в сочетании с другими маркерами усиливает подозрение.
|
||||
|
||||
**Детекция:** Подсчитать количество «ё» в тексте. Порог: 3+ вхождения в коротком тексте (до 200 слов) или стабильное использование по всему тексту (ни одного «е» там, где должно быть «ё» — подозрительная последовательность).
|
||||
|
||||
| Контекст | Severity |
|
||||
|----------|----------|
|
||||
| article | 🟡 medium |
|
||||
| message | 🔴 high |
|
||||
| resume | 🔴 high |
|
||||
|
||||
---
|
||||
|
||||
## Категория: Лексика-маркер
|
||||
|
||||
### L01: AI vocabulary (русский)
|
||||
|
||||
**Что:** Слова и обороты, статистически чрезмерно используемые LLM в русском тексте.
|
||||
@@ -109,6 +137,8 @@ AI-модели же подставляют типографически кор
|
||||
- данный (вместо "этот"), текущий (вместо "нынешний/сейчашний")
|
||||
- неотъемлемая часть, играет важную роль
|
||||
- оптимизация, масштабирование (вне технического контекста)
|
||||
- формирование (вместо "создание"), реализация (вместо "сделали/написали")
|
||||
- осуществлять (вместо "делать"), функционирование (вместо "работа")
|
||||
|
||||
**Список (tier 2 — подозрительные в скоплении):**
|
||||
- безусловно, несомненно, очевидно
|
||||
@@ -189,9 +219,25 @@ AI-модели же подставляют типографически кор
|
||||
| message | 🔴 high |
|
||||
| resume | 🟢 low |
|
||||
|
||||
---
|
||||
### L06: Hedging (перестраховочная лексика)
|
||||
|
||||
## Категория: Структурные паттерны
|
||||
**Что:** Оговорки и смягчающие конструкции: «возможно», «вероятно», «в определённой степени», «в той или иной мере», «не исключено, что», «можно предположить», «как правило», «в большинстве случаев».
|
||||
**Почему:** AI хеджирует рефлекторно — ставит оговорки там, где человек сказал бы прямо. Одна оговорка в абзаце — нормально. Три — сигнал, что текст сгенерирован моделью, которая боится быть неточной.
|
||||
**Примеры маркеров:**
|
||||
- «Вероятно, это связано с особенностями архитектуры»
|
||||
- «В определённой степени это позволяет улучшить производительность»
|
||||
- «Можно предположить, что данный подход окажется эффективным»
|
||||
**Как выглядит человеческий текст:**
|
||||
- «Это из-за архитектуры»
|
||||
- «Это улучшает производительность»
|
||||
- «Этот подход работает»
|
||||
**Рекомендация:** Убрать оговорку, если автор уверен в утверждении. Если не уверен — написать почему, а не прятаться за «возможно».
|
||||
|
||||
| Контекст | Severity |
|
||||
|----------|----------|
|
||||
| article | 🟡 medium |
|
||||
| message | 🟡 medium |
|
||||
| resume | 🔴 high |
|
||||
|
||||
### S01: Negative parallelism ("не X, а Y")
|
||||
|
||||
@@ -249,7 +295,9 @@ AI-модели же подставляют типографически кор
|
||||
- Четыре абзаца по 50-60 слов каждый
|
||||
**Рекомендация:** Варьировать длину осознанно. Добавить один короткий пункт (одно предложение) и один длинный.
|
||||
|
||||
**Подсказка по детекции:** Посчитать слова в каждом пункте списка или абзаце. Если разброс длин менее 20% от среднего — это паттерн. Например, пять пунктов по 12, 11, 13, 12, 11 слов — подозрительно ровно.
|
||||
**Подсказка по детекции:** Два аспекта однородности:
|
||||
1. *Длина.* Посчитать слова в каждом пункте списка или абзаце. Если разброс длин менее 20% от среднего — это паттерн. Например, пять пунктов по 12, 11, 13, 12, 11 слов — подозрительно ровно.
|
||||
2. *Синтаксис.* AI часто строит предложения по одной схеме: подлежащее → сказуемое → дополнение, подлежащее → сказуемое → дополнение. Человек чередует порядок слов, начинает с обстоятельства, вставляет вводные конструкции, использует инверсию.
|
||||
|
||||
| Контекст | Severity |
|
||||
|----------|----------|
|
||||
@@ -287,9 +335,24 @@ AI-модели же подставляют типографически кор
|
||||
| message | 🟡 medium |
|
||||
| resume | 🟡 medium |
|
||||
|
||||
---
|
||||
### S07: Двоеточие перед каждым списком
|
||||
|
||||
## Категория: Тональные паттерны
|
||||
**Что:** Вводная фраза с двоеточием перед каждым bullet-списком: «Основные преимущества:», «Ключевые особенности:», «Что мы сделали:».
|
||||
**Почему:** AI рефлекторно ставит "заголовок:" перед каждым списком, даже когда список и так понятен из контекста. Человек часто начинает список без вводной фразы или встраивает его в предложение.
|
||||
**Примеры маркеров:**
|
||||
- «Основные преимущества ClickHouse:» + список
|
||||
- «Что было сделано в рамках проекта:» + список
|
||||
- «Ключевые технологии:» + список
|
||||
**Как выглядит человеческий текст:**
|
||||
- Список начинается после абзаца, без отдельной вводной строки
|
||||
- Или встроен в предложение: «Мы использовали ClickHouse, Kafka и Airflow»
|
||||
**Рекомендация:** Убрать вводную фразу, если из контекста и так ясно, о чём список. Или встроить перечисление в текст.
|
||||
|
||||
| Контекст | Severity |
|
||||
|----------|----------|
|
||||
| article | 🟡 medium |
|
||||
| message | 🟡 medium |
|
||||
| resume | 🟡 medium |
|
||||
|
||||
### T01: Vague attribution (размытые ссылки на авторитет)
|
||||
|
||||
@@ -352,9 +415,23 @@ AI-модели же подставляют типографически кор
|
||||
| message | 🔴 high |
|
||||
| resume | 🟡 medium |
|
||||
|
||||
---
|
||||
### T05: Sandwich pattern (похвала-оговорка-похвала)
|
||||
|
||||
## Категория: Паттерны, специфичные для резюме
|
||||
**Что:** Структура, где критика или ограничение обёрнуты в два слоя позитива: «Отличный инструмент. Есть некоторые ограничения. Но в целом достойное решение.»
|
||||
**Почему:** AI боится быть категоричным и рефлекторно смягчает любую критику обрамлением из похвалы. Человек, если ему что-то не нравится, скажет прямо: «Работает, но тормозит на больших объёмах — для нас это критично».
|
||||
**Примеры маркеров:**
|
||||
- «Kafka — мощный инструмент. Настройка может быть непростой. Тем не менее, для нашей задачи это лучший выбор.»
|
||||
- «Хороший фреймворк с активным сообществом. Документация могла бы быть лучше. В целом — рекомендую.»
|
||||
**Как выглядит человеческий текст:**
|
||||
- «Kafka подходит, но настройка — боль. Будьте готовы потратить на это время.»
|
||||
- «Документация слабая, приходится разбираться по исходникам. В остальном норм.»
|
||||
**Рекомендация:** Убрать обрамляющие позитивные предложения, если они не несут информации. Критику подать прямо, с конкретикой.
|
||||
|
||||
| Контекст | Severity |
|
||||
|----------|----------|
|
||||
| article | 🟡 medium |
|
||||
| message | 🟡 medium |
|
||||
| resume | 🟢 low |
|
||||
|
||||
### R01: Абстрактные impact-фразы без цифр
|
||||
|
||||
@@ -445,12 +522,12 @@ AI-модели же подставляют типографически кор
|
||||
|
||||
### article (статьи, Хабр, документация)
|
||||
🔴 high: P04 (эмодзи в заголовках), L03 (inflated significance), L04 (AI-зачины), S01 (negative parallelism), S05 (bold bullet headers), T01 (vague attribution), T03 (стерильная нейтральность)
|
||||
🟡 medium: P01, P03, L01, L02, L05, S02, S03, S04, S06, T02, R01, C01, C02
|
||||
🟡 medium: P01, P03, P05, L01, L02, L05, L06, S02, S03, S04, S06, S07, T02, T05, R01, C01, C02
|
||||
|
||||
### message (переписка)
|
||||
🔴 high: P01 (длинное тире), L01 (AI vocabulary RU), L04 (AI-зачины), L05 (вводные приглашения), S01, S03 (compulsive summary), T04 (вежливые обрамления), C01 (conjunctive phrases)
|
||||
🟡 medium: P02, P03, P04, L03, S02, T01, T02, C02
|
||||
🔴 high: P01 (длинное тире), P05 (буква ё), L01 (AI vocabulary RU), L04 (AI-зачины), L05 (вводные приглашения), S01, S03 (compulsive summary), T04 (вежливые обрамления), C01 (conjunctive phrases)
|
||||
🟡 medium: P02, P03, P04, L03, L06, S02, S07, T01, T02, T05, C02
|
||||
|
||||
### resume (резюме)
|
||||
🔴 high: P01 (длинное тире), P04 (эмодзи), L01, L02, L03, S01, R01 (abstract impact), R02 (buzzword stacking), R03 (однородные bullets), T02 (причастные оценки), C02 (false range)
|
||||
🟡 medium: P03, L04, S02, S03, S04, T04, C01
|
||||
🔴 high: P01 (длинное тире), P04 (эмодзи), P05 (буква ё), L01, L02, L03, L06, S01, R01 (abstract impact), R02 (buzzword stacking), R03 (однородные bullets), T02 (причастные оценки), C02 (false range)
|
||||
🟡 medium: P03, L04, S02, S03, S04, S07, T04, T05, C01
|
||||
Reference in new issue
Block a user