# База паттернов AI Text Lint Каждый паттерн имеет: - **ID** — уникальный идентификатор - **Название** — краткое описание - **Описание** — что именно ищем и почему это маркер - **Примеры** — конкретные срабатывания (RU/EN) - **Severity** — по контексту: article / message / resume - **Рекомендация** — что делать при срабатывании Severity: 🔴 high (явный маркер, бросается в глаза), 🟡 medium (подозрительно в скоплении), 🟢 low (мелочь, но в сумме вносит вклад). --- ## Категория: Пунктуация и типографика ### P01: Длинное тире (em dash) — главный маркер AI-текста на русском **Что:** Наличие символа `—` (U+2014, em dash) в любом тексте, который подразумевает ручной набор. **Почему:** Это один из самых надёжных и высокочастотных признаков AI-генерации. На стандартной клавиатуре (и PC, и Mac) символ em dash отсутствует как отдельная клавиша. Его набор требует специальных комбинаций (Alt+0151, Ctrl+Shift+U 2014 и т.д.), которые подавляющее большинство людей не знает и не использует. В реальной переписке и даже в статьях люди набирают: - знак минус с клавиатуры (`-`) - дефис (`-`) - иногда двойной дефис (`--`) - или вообще перестраивают предложение без тире AI-модели же подставляют типографически корректное `—` автоматически, потому что обучены на отредактированных текстах. Результат: каждое `—` в тексте, который якобы набран руками — красный флаг. **Исключения:** Текст, прошедший через редактор с автозаменой (Word, Google Docs, некоторые CMS) может содержать em dash, вставленный автозаменой из ` - ` (пробел-дефис-пробел). Но в мессенджерах (Telegram, Slack) и plain-text средах автозамены нет. **Примеры маркеров:** - «Проект идёт хорошо — осталось два спринта» (в чате — откуда тут em dash?) - «Это не баг — это фича» (в Telegram) - «ClickHouse — отличный выбор для аналитики» (в Slack) **Как выглядит реальный человеческий текст:** - «Проект идёт хорошо - осталось два спринта» - «Это не баг, это фича» - «ClickHouse отличный выбор для аналитики» **Рекомендация:** Заменить все `—` на `-` (минус/дефис) в переписке. В статьях и резюме — заменить бОльшую часть на `-`, запятые или скобки. Допустимо оставить 1-2 на длинный текст, если контекст предполагает редакторскую обработку. **Детекция:** Искать символ U+2014 в тексте. Каждое вхождение — отдельная находка. | Контекст | Severity | |----------|----------| | article | 🟡 medium | | message | 🔴 high | | resume | 🔴 high | ### P02: Избыточная правильная пунктуация **Что:** Все запятые на местах, точки в конце каждого предложения, идеальные кавычки — в контексте, где люди так не пишут. **Почему:** В реальной переписке люди часто опускают точку в последнем предложении, пропускают запятые в длинных перечислениях, не ставят точку после "ок" или "спасибо". **Примеры маркеров:** - «Хорошо, я посмотрю это после обеда. Напишу, когда будет готово.» — слишком аккуратно для чата - Сравни с реальным: «Хорошо, посмотрю после обеда. Напишу когда будет готово» **Рекомендация:** В переписке — ослабить пунктуацию до естественного уровня. Убрать точку в конце последнего предложения. Допустить 1-2 "пропущенные" запятые в неформальном контексте. | Контекст | Severity | |----------|----------| | article | 🟢 low | | message | 🟡 medium | | resume | 🟢 low | ### P03: Em dash вместо скобок или запятых **Что:** Использование em dash для вводных конструкций, где человек поставил бы запятые или скобки. **Почему:** LLM-ы систематически предпочитают em dash для parenthetical clauses, создавая характерный "punchy" стиль. **Примеры маркеров:** - «ClickHouse — при правильной настройке — даёт отличную производительность» - Человек напишет: «ClickHouse (при правильной настройке) даёт отличную производительность» **Рекомендация:** Заменить на запятые или скобки. Одно-два тире в длинной статье — нормально. Три и больше — паттерн. | Контекст | Severity | |----------|----------| | article | 🟡 medium | | message | 🔴 high | | resume | 🟡 medium | ### P04: Эмодзи в заголовках и списках **Что:** Тематические эмодзи перед заголовками (## 🚀 Деплой), в пунктах списков (✅ Настроить CI, 📊 Метрики) или как "иллюстрации" к разделам. **Почему:** Фирменный стиль ChatGPT-генерированных README и документации. Человек использует эмодзи реактивно (в реакциях, в конце сообщения как эмоцию), а не "иллюстративно" — подбирая тематическую иконку к каждому пункту. **Примеры маркеров:** - `## 🚀 Быстрый старт` - `## 📦 Установка` - `- ✅ Поддержка кластеризации` - `- 📊 Мониторинг в реальном времени` **Как выглядит человеческий текст:** - `## Быстрый старт` - `- Поддержка кластеризации` **Рекомендация:** Убрать эмодзи из заголовков и списков. Оставить только если это осознанный стиль проекта (и то — подумать дважды). | Контекст | Severity | |----------|----------| | article | 🔴 high | | message | 🟡 medium | | resume | 🔴 high | ### L01: AI vocabulary (русский) **Что:** Слова и обороты, статистически чрезмерно используемые LLM в русском тексте. **Почему:** Эти слова не запрещены, но их плотность в AI-тексте в разы выше, чем в человеческом. Один — ничего. Три в одном абзаце — сигнал. **Список (tier 1 — самые частые):** - ключевой, комплексный, значительный, существенный - эффективно, целесообразно, в рамках, в контексте - является, представляет собой - обеспечивает, способствует, позволяет - данный (вместо "этот"), текущий (вместо "нынешний/сейчашний") - неотъемлемая часть, играет важную роль - оптимизация, масштабирование (вне технического контекста) **Список (tier 2 — подозрительные в скоплении):** - безусловно, несомненно, очевидно - вместе с тем, помимо этого, кроме того - стоит отметить, важно подчеркнуть, следует учитывать - широкий спектр, целый ряд, многообразие - актуальный, востребованный, перспективный **Рекомендация:** Заменить на простые синонимы. "Является ключевым" → "это важно для". "Обеспечивает эффективное" → "помогает" / "ускоряет". "В рамках проекта" → "в проекте". "Данный подход" → "этот подход" / вообще убрать. | Контекст | Severity | |----------|----------| | article | 🟡 medium | | message | 🔴 high | | resume | 🔴 high | ### L02: AI vocabulary (английский) **Что:** Английские слова-маркеры в технических текстах со смешанным языком. **Список (tier 1):** delve, crucial, pivotal, foster, landscape, testament, enhance, intricate, tapestry, underscore, leverage, streamline, holistic, robust, seamless, comprehensive. **Список (tier 2):** navigate, harness, cutting-edge, groundbreaking, game-changer, empower, unlock, spearhead. **Рекомендация:** Заменить на конкретные термины. "Robust solution" → "отказоустойчивое решение" / "решение, прошедшее нагрузочное тестирование". "Leverage Kafka" → "использовать Kafka". | Контекст | Severity | |----------|----------| | article | 🟡 medium | | message | 🟡 medium | | resume | 🔴 high | ### L03: Inflated significance (раздувание важности) **Что:** Фразы, которые подчёркивают значимость темы общими словами без конкретики. **Почему:** LLM систематически "надувает" важность предмета, добавляя высокопарные оценки. **Примеры маркеров:** - «знаменует собой важный этап в развитии» - «является переломным моментом для отрасли» - «открывает новые горизонты» - «вносит значительный вклад» - «трудно переоценить значение» **Рекомендация:** Убрать целиком или заменить конкретным фактом. Вместо «знаменует важный этап» — что конкретно изменилось и для кого. | Контекст | Severity | |----------|----------| | article | 🔴 high | | message | 🟡 medium | | resume | 🔴 high | ### L04: AI-зачины ("В современном мире...") **Что:** Вводные фразы вида «В современном мире», «В мире, где...», «В эпоху цифровой трансформации», «В условиях стремительного развития технологий». **Почему:** Классический AI-зачин для статей и эссе. Создаёт ложное ощущение масштаба. Человек, который разбирается в теме, начинает с сути, а не с философского отступления о состоянии мира. **Примеры маркеров:** - «В современном мире данные стали новой нефтью» - «В эпоху больших данных особенно важно...» - «В условиях растущей конкуренции компании вынуждены...» - «В мире, где каждая секунда на счету...» **Рекомендация:** Удалить первое предложение целиком. Начать со второго — почти всегда текст от этого только выигрывает. | Контекст | Severity | |----------|----------| | article | 🔴 high | | message | 🔴 high | | resume | 🟡 medium | ### L05: Вводные приглашения ("Давайте разберёмся") **Что:** Фразы-приглашения перед основным контентом: «Давайте разберёмся», «Давайте рассмотрим», «Let's dive in», «Let's explore», «Рассмотрим подробнее». **Почему:** AI использует эти фразы как переход от введения к основному тексту. Человек на Хабре просто начинает объяснять, без церемоний. **Примеры маркеров:** - «Давайте разберёмся, как это работает» - «Рассмотрим основные преимущества подробнее» - «Let's dive into the details» **Рекомендация:** Убрать. Начать объяснение напрямую. | Контекст | Severity | |----------|----------| | article | 🟡 medium | | message | 🔴 high | | resume | 🟢 low | --- ## Категория: Структурные паттерны ### S01: Negative parallelism ("не X, а Y") **Что:** Конструкция «Это не просто X — это Y», «It's not about X, it's about Y». **Почему:** Один из самых узнаваемых AI-паттернов. Создаёт ложный драматический контраст. **Примеры маркеров:** - «Это не просто инструмент — это философия разработки» - «Речь не только об автоматизации, но и о трансформации» - «Это не столько технология, сколько новый подход к мышлению» **Рекомендация:** Убрать контраст. Сказать прямо, что это такое, без ложной дихотомии. | Контекст | Severity | |----------|----------| | article | 🔴 high | | message | 🔴 high | | resume | 🔴 high | ### S02: Rule of three **Что:** Перечисление ровно трёх пунктов, особенно когда они идут через запятую с усилением. **Почему:** LLM-ы обучены на огромном объёме persuasive writing, где rule of three — стандартный приём. В AI-тексте это происходит слишком часто и слишком ритмично. **Примеры маркеров:** - «быстрый, надёжный и масштабируемый» - «простота, гибкость и производительность» - «анализировать, оптимизировать и внедрять» **Рекомендация:** Если перечисление реально содержит три пункта — ок. Если третий добавлен "для красоты" — убрать. Или сделать два, или четыре-пять. | Контекст | Severity | |----------|----------| | article | 🟡 medium | | message | 🟡 medium | | resume | 🟡 medium | ### S03: Compulsive summary (компульсивное подведение итогов) **Что:** "Таким образом", "Подводя итог", "В заключение", "В целом" — особенно когда текст короткий и итог не требуется. **Почему:** LLM рефлекторно подводит итог даже в двух абзацах. Человек в коротком тексте просто заканчивает. **Примеры маркеров:** - «Таким образом, ClickHouse отлично подходит для этой задачи.» (после двух предложений) - «В целом, данный подход показал свою эффективность.» **Рекомендация:** Убрать вводное слово. Если последнее предложение и без него звучит как итог — убрать его целиком. | Контекст | Severity | |----------|----------| | article | 🟡 medium | | message | 🔴 high | | resume | 🟡 medium | ### S04: Однородная длина абзацев/пунктов **Что:** Все абзацы примерно одной длины (3-4 предложения). Все bullet points одинаковой структуры и длины. **Почему:** Человеческий текст имеет вариативную ритмику. Короткий абзац после длинного — нормально. У AI — ровная "решётка". **Примеры маркеров:** - Пять bullet points, каждый ровно по два предложения - Четыре абзаца по 50-60 слов каждый **Рекомендация:** Варьировать длину осознанно. Добавить один короткий пункт (одно предложение) и один длинный. **Подсказка по детекции:** Посчитать слова в каждом пункте списка или абзаце. Если разброс длин менее 20% от среднего — это паттерн. Например, пять пунктов по 12, 11, 13, 12, 11 слов — подозрительно ровно. | Контекст | Severity | |----------|----------| | article | 🟡 medium | | message | 🟢 low | | resume | 🟡 medium | ### S06: Balanced pros/cons ("Преимущества / Недостатки") **Что:** Структура с симметричными секциями плюсов и минусов, часто с одинаковым количеством пунктов в каждой. **Почему:** AI обожает "сбалансированную" подачу — 4 преимущества, 4 недостатка, аккуратно разложенные по полочкам. Человек обычно пишет асимметрично: «мне понравилось X и Y, но бесит Z» — в потоке текста, а не в табличке. **Примеры маркеров:** - Секция "Преимущества" с 4 пунктами, затем секция "Недостатки" с 4 пунктами - «С одной стороны... С другой стороны...» как организующая структура всего текста **Рекомендация:** Если сравнение нужно — сделать его асимметричным. Написать в потоке текста, а не раскладывать по секциям. Или честно сказать: «плюсов больше, минус один, но существенный». | Контекст | Severity | |----------|----------| | article | 🟡 medium | | message | 🟢 low | | resume | 🟢 low | ### S05: Bullet points с жирным заголовком + расшифровка **Что:** Списки, где каждый пункт — **Жирное слово/фраза**: а потом то же самое другими словами. **Почему:** Фирменный стиль ChatGPT. На Хабре и в документации так не пишут. **Примеры маркеров:** - **Масштабируемость**: Система легко масштабируется горизонтально и вертикально. - **Отказоустойчивость**: Обеспечивается высокий уровень отказоустойчивости. **Рекомендация:** Либо убрать жирные "заголовки" и писать обычными пунктами, либо убрать расшифровку, если заголовок и так ясен. | Контекст | Severity | |----------|----------| | article | 🔴 high | | message | 🟡 medium | | resume | 🟡 medium | --- ## Категория: Тональные паттерны ### T01: Vague attribution (размытые ссылки на авторитет) **Что:** «Эксперты отмечают», «По мнению специалистов», «Согласно исследованиям», «Многие разработчики считают» — без указания, кто именно. **Почему:** AI не может сослаться на конкретный источник и подставляет weasel words. **Примеры маркеров:** - «Эксперты в области Big Data отмечают растущую популярность...» - «Согласно последним исследованиям, эффективность выросла на...» **Рекомендация:** Либо дать конкретную ссылку/имя, либо убрать апелляцию к авторитету. «Мы замерили — эффективность выросла» лучше, чем «эксперты отмечают». | Контекст | Severity | |----------|----------| | article | 🔴 high | | message | 🟡 medium | | resume | 🟡 medium | ### T02: Superficial -ing / причастные оценки **Что:** Завершающие причастные обороты, которые добавляют поверхностную оценку: «...обеспечивая гибкость», «...повышая эффективность», «...демонстрируя зрелость подхода». **Почему:** LLM добавляет "хвостовые" оценочные обороты как рефлекс. Человек либо скажет это отдельным предложением, либо не скажет вообще. **Примеры маркеров:** - «Мы перешли на Airflow, значительно упростив оркестрацию.» - «Компания внедрила CI/CD, ускорив доставку фич в продакшен.» - «...reflecting the continued relevance of the framework.» **Рекомендация:** Убрать причастный оборот. Если мысль важна — вынести в отдельное предложение с конкретикой. | Контекст | Severity | |----------|----------| | article | 🟡 medium | | message | 🟡 medium | | resume | 🔴 high | ### T03: Отсутствие личной позиции / стерильная нейтральность **Что:** Текст описывает предмет исключительно "со стороны", без мнения автора, личного опыта, субъективных оценок. **Почему:** AI по умолчанию стремится к нейтральности. Человек на Хабре скажет «мне этот подход не нравится, потому что...» или «мы обожглись на этом». **Примеры маркеров:** - «Данный подход имеет как преимущества, так и ограничения.» (без указания, какие конкретно и что автор думает) - «Существуют различные мнения по этому вопросу.» **Рекомендация:** Добавить конкретную позицию автора. Не обязательно резкую — но личную. | Контекст | Severity | |----------|----------| | article | 🔴 high | | message | 🟢 low | | resume | 🟢 low | ### T04: Вежливые обрамления **Что:** "Буду рад помочь", "Не стесняйтесь обращаться", "Надеюсь, это поможет", "Если возникнут вопросы..." — в конце каждого сообщения. **Почему:** Фирменный chatbot-стиль. В реальной переписке коллеги так не пишут (разве что в первом письме новому человеку). **Примеры маркеров:** - «Если нужна помощь — обращайся, буду рад помочь!» - «Надеюсь, информация окажется полезной.» **Рекомендация:** Убрать. В переписке с коллегами — просто закончить по делу. | Контекст | Severity | |----------|----------| | article | 🟢 low | | message | 🔴 high | | resume | 🟡 medium | --- ## Категория: Паттерны, специфичные для резюме ### R01: Абстрактные impact-фразы без цифр **Что:** «Значительно повысил эффективность», «Оптимизировал бизнес-процессы», «Внёс существенный вклад в развитие». **Почему:** AI не знает реальных цифр и подставляет generic impact-фразы. Рекрутер сразу видит отсутствие конкретики. **Примеры маркеров:** - «Существенно сократил время обработки данных» - «Повысил качество аналитических процессов» **Рекомендация:** Добавить цифры, названия систем, объёмы. «Сократил время ETL с 4 часов до 40 минут за счёт перевода на ClickHouse MergeTree». | Контекст | Severity | |----------|----------| | article | 🟡 medium | | message | 🟢 low | | resume | 🔴 high | ### R02: Buzzword stacking **Что:** Нагромождение модных терминов без привязки к конкретной работе. **Почему:** AI генерирует "красиво звучащие" наборы компетенций, которые не привязаны к реальным проектам. **Примеры маркеров:** - «Кросс-функциональное взаимодействие, стратегическое планирование, непрерывное совершенствование» - «Agile-трансформация, цифровая зрелость, data-driven подход» **Рекомендация:** Каждый buzzword привязать к конкретному проекту или убрать. Не более одного buzzword на bullet point. | Контекст | Severity | |----------|----------| | article | 🟡 medium | | message | 🟢 low | | resume | 🔴 high | ### R03: Однородная структура bullet points в опыте **Что:** Каждый пункт начинается с глагола в прошедшем времени, одинаковой длины, одинаковой конструкции. **Почему:** AI генерирует "правильные" bullet points по шаблону. Реальное резюме, написанное человеком, имеет разную структуру пунктов. **Примеры маркеров:** - «Разработал систему мониторинга...» - «Реализовал интеграцию с...» - «Оптимизировал процесс...» - «Внедрил автоматизацию...» (все по 8-12 слов, все глагол + объект + контекст) **Рекомендация:** Варьировать структуру. Добавить пункт с результатом ("Скорость выросла в 3 раза"). Добавить пункт с контекстом ("Проект для Ростелеком, команда 5 человек"). Разная длина пунктов. | Контекст | Severity | |----------|----------| | article | 🟢 low | | message | 🟢 low | | resume | 🔴 high | --- ## Категория: Переходные слова и связки ### C01: Избыточные conjunctive phrases **Что:** «Более того», «Кроме того», «Помимо этого», «Вместе с тем», «Moreover», «Furthermore», «Additionally» — слишком часто. **Почему:** AI использует формальные связки между каждым абзацем. Человек чаще начинает новый абзац без связки или использует неформальные переходы. **Примеры маркеров:** - Три абзаца подряд, начинающихся с «Кроме того», «Более того», «Помимо этого» **Рекомендация:** Убрать 2 из 3. Начать абзац с сути, без вводного оборота. | Контекст | Severity | |----------|----------| | article | 🟡 medium | | message | 🔴 high | | resume | 🟡 medium | ### C02: False range ("от X до Y") **Что:** «От небольших стартапов до крупных корпораций», «От технической экспертизы до креативного мышления», «From intimate gatherings to global movements». **Почему:** Конструкция подразумевает спектр, но на деле это просто две слабо связанные вещи, одетые в "красивую" рамку. **Примеры маркеров:** - «Опыт работы от MVP-проектов до enterprise-решений» - «Навыки от написания кода до управления командами» **Рекомендация:** Сказать прямо: «Работал и с MVP, и с enterprise-проектами» или перечислить конкретные проекты. | Контекст | Severity | |----------|----------| | article | 🟡 medium | | message | 🟡 medium | | resume | 🔴 high | --- ## Матрица severity (сводная) Ниже — быстрая справка для определения, какие паттерны критичны в каком контексте. ### 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 ### 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 ### 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