- Зачем: - устранена дублирующая сводная матрица severity, которая устаревала при изменении паттернов. - улучшена навигация по документу за счёт группировки паттернов в категории. - Что: - добавлены разделы категорий: Структура и форматирование, Тон и авторская позиция, Резюме-специфичные паттерны. - переупорядочены паттерны S05 и S06 внутри категории Структура. - обновлена ссылка на severity в SKILL.md с указанием inline-таблиц. - Проверка: - git diff agents/.agents/skills/ai-text-lint/
556 lines
43 KiB
Markdown
556 lines
43 KiB
Markdown
# База паттернов 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 |
|
||
|
||
### P05: Буква «ё» — второй em dash
|
||
|
||
**Что:** Последовательное использование буквы «ё» в тексте: «идёт», «всё», «ещё», «берёт», «нёс», «подчёркивает».
|
||
**Почему:** Это один из самых надёжных маркеров наравне с P01. Клавиша «ё» расположена в неудобном месте (левый верхний угол, под `~`), и культура её использования в русскоязычном интернете слабая. Подавляющее большинство людей набирают «идет», «все», «еще» — и это нормально, языковая норма допускает оба варианта. AI-модели же обучены на отредактированных текстах (книги, Википедия, СМИ), где «ё» используется последовательно. Результат: если в тексте из мессенджера стабильно стоит «ё» — это красный флаг.
|
||
|
||
**Исключения:** Некоторые люди принципиально пишут с «ё» (ёфикаторы). Текст, прошедший через корректора/редактора, тоже будет с «ё». Если автор — известный сторонник «ё», это не маркер.
|
||
|
||
**Примеры маркеров:**
|
||
- «Проект идёт по плану, всё готово к деплою» (в Slack)
|
||
- «Ещё нужно разобраться с конфигурацией» (в Telegram)
|
||
**Как выглядит реальный человеческий текст:**
|
||
- «Проект идет по плану, все готово к деплою»
|
||
- «Еще нужно разобраться с конфигурацией»
|
||
|
||
**Рекомендация:** В переписке заменить «ё» на «е» повсеместно. В статьях — допустимо, если автор осознанно ёфицирует, но в сочетании с другими маркерами усиливает подозрение.
|
||
|
||
**Детекция:** Подсчитать количество «ё» в тексте. Порог: 3+ вхождения в коротком тексте (до 200 слов) или стабильное использование по всему тексту (ни одного «е» там, где должно быть «ё» — подозрительная последовательность).
|
||
|
||
| Контекст | Severity |
|
||
|----------|----------|
|
||
| article | 🟡 medium |
|
||
| message | 🔴 high |
|
||
| resume | 🔴 high |
|
||
|
||
### P06: Слеш как разделитель («REST/gRPC», «удаленно/гибрид»)
|
||
|
||
**Что:** Косая черта `/` для разделения однородных понятий или альтернатив: «backend/frontend», «удаленно/гибрид/офис», «MergeTree/ReplacingMergeTree», «Kubernetes/Helm», «SQL/ETL-скрипты». Особенно в скоплении — когда слешей в тексте много.
|
||
**Почему:** Люди в обычной прозе разделяют через «и», «или», запятую или скобки: «REST и gRPC», «удаленно или гибрид». Слеш требует переключения регистра мысли на «компактную запись» и в живом наборе встречается редко. AI-модели же ставят `/` рефлекторно как нейтральный компактный разделитель — он экономит токены и выглядит «аккуратно». Результат: текст, усыпанный слешами, читается как сгенерированный, особенно в резюме, где их плотность выдаёт шаблонную сборку списка навыков.
|
||
|
||
**Исключения (не маркер):** устоявшиеся написания, которые и люди пишут через слеш — `CI/CD`, `A/B-тест`, `и/или`, `вкл/выкл`; даты (`12/05`), дроби и единицы (`км/ч`, `руб/мес`); пути и URL; обозначения вида `вход/выход` как термин. Маркер — это слеш на месте, где естественнее «и» / «или» / запятая, и особенно скопление таких слешей.
|
||
|
||
**Примеры маркеров:**
|
||
- «Опыт работы с Kafka/RabbitMQ/NATS» (в резюме)
|
||
- «Настраивал мониторинг/алертинг/логирование»
|
||
- «Data Engineer / Backend Data Engineer / ETL Developer»
|
||
- «Формат: удаленно/гибрид/офис»
|
||
**Как выглядит человеческий текст:**
|
||
- «Опыт работы с Kafka, RabbitMQ и NATS»
|
||
- «Настраивал мониторинг, алерты и логирование»
|
||
- «Data Engineer, Backend Data Engineer, ETL Developer»
|
||
- «Формат: удаленно, гибрид, офис»
|
||
|
||
**Рекомендация:** Заменить `/` на «и», «или», запятую или скобки по смыслу. «REST/gRPC» → «REST и gRPC». «удаленно/гибрид» → «удаленно или гибрид». Парные технологии — через «и» или запятую. Устоявшиеся `CI/CD`, `и/или` оставить.
|
||
|
||
**Детекция:** Искать символ `/` вне URL, путей, дат и устоявшихся терминов. Одиночное вхождение — 🟢, скопление (3+ на абзац или сплошные слеши в списке навыков резюме) — паттерн.
|
||
|
||
| Контекст | Severity |
|
||
|----------|----------|
|
||
| article | 🟢 low |
|
||
| message | 🟡 medium |
|
||
| resume | 🟡 medium |
|
||
|
||
---
|
||
|
||
## Категория: Лексика-маркер
|
||
|
||
### 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 |
|
||
|
||
### L06: Hedging (перестраховочная лексика)
|
||
|
||
**Что:** Оговорки и смягчающие конструкции: «возможно», «вероятно», «в определённой степени», «в той или иной мере», «не исключено, что», «можно предположить», «как правило», «в большинстве случаев».
|
||
**Почему:** AI хеджирует рефлекторно — ставит оговорки там, где человек сказал бы прямо. Одна оговорка в абзаце — нормально. Три — сигнал, что текст сгенерирован моделью, которая боится быть неточной.
|
||
**Примеры маркеров:**
|
||
- «Вероятно, это связано с особенностями архитектуры»
|
||
- «В определённой степени это позволяет улучшить производительность»
|
||
- «Можно предположить, что данный подход окажется эффективным»
|
||
**Как выглядит человеческий текст:**
|
||
- «Это из-за архитектуры»
|
||
- «Это улучшает производительность»
|
||
- «Этот подход работает»
|
||
**Рекомендация:** Убрать оговорку, если автор уверен в утверждении. Если не уверен — написать почему, а не прятаться за «возможно».
|
||
|
||
| Контекст | Severity |
|
||
|----------|----------|
|
||
| article | 🟡 medium |
|
||
| message | 🟡 medium |
|
||
| resume | 🔴 high |
|
||
|
||
---
|
||
|
||
## Категория: Структура и форматирование
|
||
|
||
### 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 слов каждый
|
||
**Рекомендация:** Варьировать длину осознанно. Добавить один короткий пункт (одно предложение) и один длинный.
|
||
|
||
**Подсказка по детекции:** Два аспекта однородности:
|
||
1. *Длина.* Посчитать слова в каждом пункте списка или абзаце. Если разброс длин менее 20% от среднего — это паттерн. Например, пять пунктов по 12, 11, 13, 12, 11 слов — подозрительно ровно.
|
||
2. *Синтаксис.* AI часто строит предложения по одной схеме: подлежащее → сказуемое → дополнение, подлежащее → сказуемое → дополнение. Человек чередует порядок слов, начинает с обстоятельства, вставляет вводные конструкции, использует инверсию.
|
||
|
||
| Контекст | Severity |
|
||
|----------|----------|
|
||
| article | 🟡 medium |
|
||
| message | 🟢 low |
|
||
| resume | 🟡 medium |
|
||
|
||
### S05: Bullet points с жирным заголовком + расшифровка
|
||
|
||
**Что:** Списки, где каждый пункт — **Жирное слово/фраза**: а потом то же самое другими словами.
|
||
**Почему:** Фирменный стиль ChatGPT. На Хабре и в документации так не пишут.
|
||
**Примеры маркеров:**
|
||
- **Масштабируемость**: Система легко масштабируется горизонтально и вертикально.
|
||
- **Отказоустойчивость**: Обеспечивается высокий уровень отказоустойчивости.
|
||
**Рекомендация:** Либо убрать жирные "заголовки" и писать обычными пунктами, либо убрать расшифровку, если заголовок и так ясен.
|
||
|
||
| Контекст | Severity |
|
||
|----------|----------|
|
||
| article | 🔴 high |
|
||
| message | 🟡 medium |
|
||
| resume | 🟡 medium |
|
||
|
||
### S06: Balanced pros/cons ("Преимущества / Недостатки")
|
||
|
||
**Что:** Структура с симметричными секциями плюсов и минусов, часто с одинаковым количеством пунктов в каждой.
|
||
**Почему:** AI обожает "сбалансированную" подачу — 4 преимущества, 4 недостатка, аккуратно разложенные по полочкам. Человек обычно пишет асимметрично: «мне понравилось X и Y, но бесит Z» — в потоке текста, а не в табличке.
|
||
**Примеры маркеров:**
|
||
- Секция "Преимущества" с 4 пунктами, затем секция "Недостатки" с 4 пунктами
|
||
- «С одной стороны... С другой стороны...» как организующая структура всего текста
|
||
**Рекомендация:** Если сравнение нужно — сделать его асимметричным. Написать в потоке текста, а не раскладывать по секциям. Или честно сказать: «плюсов больше, минус один, но существенный».
|
||
|
||
| Контекст | Severity |
|
||
|----------|----------|
|
||
| article | 🟡 medium |
|
||
| message | 🟢 low |
|
||
| resume | 🟢 low |
|
||
|
||
### S07: Двоеточие перед каждым списком
|
||
|
||
**Что:** Вводная фраза с двоеточием перед каждым bullet-списком: «Основные преимущества:», «Ключевые особенности:», «Что мы сделали:».
|
||
**Почему:** AI рефлекторно ставит "заголовок:" перед каждым списком, даже когда список и так понятен из контекста. Человек часто начинает список без вводной фразы или встраивает его в предложение.
|
||
**Примеры маркеров:**
|
||
- «Основные преимущества ClickHouse:» + список
|
||
- «Что было сделано в рамках проекта:» + список
|
||
- «Ключевые технологии:» + список
|
||
**Как выглядит человеческий текст:**
|
||
- Список начинается после абзаца, без отдельной вводной строки
|
||
- Или встроен в предложение: «Мы использовали ClickHouse, Kafka и Airflow»
|
||
**Рекомендация:** Убрать вводную фразу, если из контекста и так ясно, о чём список. Или встроить перечисление в текст.
|
||
|
||
| Контекст | Severity |
|
||
|----------|----------|
|
||
| article | 🟡 medium |
|
||
| 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 |
|
||
|
||
### T05: Sandwich pattern (похвала-оговорка-похвала)
|
||
|
||
**Что:** Структура, где критика или ограничение обёрнуты в два слоя позитива: «Отличный инструмент. Есть некоторые ограничения. Но в целом достойное решение.»
|
||
**Почему:** AI боится быть категоричным и рефлекторно смягчает любую критику обрамлением из похвалы. Человек, если ему что-то не нравится, скажет прямо: «Работает, но тормозит на больших объёмах — для нас это критично».
|
||
**Примеры маркеров:**
|
||
- «Kafka — мощный инструмент. Настройка может быть непростой. Тем не менее, для нашей задачи это лучший выбор.»
|
||
- «Хороший фреймворк с активным сообществом. Документация могла бы быть лучше. В целом — рекомендую.»
|
||
**Как выглядит человеческий текст:**
|
||
- «Kafka подходит, но настройка — боль. Будьте готовы потратить на это время.»
|
||
- «Документация слабая, приходится разбираться по исходникам. В остальном норм.»
|
||
**Рекомендация:** Убрать обрамляющие позитивные предложения, если они не несут информации. Критику подать прямо, с конкретикой.
|
||
|
||
| Контекст | Severity |
|
||
|----------|----------|
|
||
| article | 🟡 medium |
|
||
| message | 🟡 medium |
|
||
| resume | 🟢 low |
|
||
|
||
---
|
||
|
||
## Категория: Резюме-специфичные паттерны
|
||
|
||
### 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 |
|