Files
dotfiles/agents/.agents/skills/ai-text-lint/references/patterns.md
T
Dmitriy DementievandClaude 061a8d062b feat(skills): ai-text-lint ловит потерю голоса и делает самоаудит
- Зачем:
  - линтер умел только вычитать маркеры, а текст без авторского голоса
    палится не хуже текста с em dash'ами: после чистки оставался
    безлико правильный результат.
  - у прогона не было критерия завершения, поэтому проверка сводилась
    к тому, что бросилось в глаза.
- Что:
  - T03 развёрнут в три срабатывания (перечисление без вывода, безличные
    конструкции, абстрактная оценка) с требованием назвать, что конкретно
    добавить, вместо совета «добавить позицию автора».
  - добавлен шаг самоаудита поверх закрытого каталога: находки X01, X02
    с тестом «нельзя записать ни под один ID» и разрешением нулевого
    результата.
  - Шаг 2 получил критерий «каждый паттерн применён к тексту», quick scan
    сведён к паттернам с механической детекцией.
  - S04 стал единственным владельцем однородности ритма; удалены дубль
    T03b, неоперационализируемый T03e, шаг «Ответить на вопросы» и девять
    перефразировок одной ветки в description.
- Проверка:
  - тестов на скиллы в репозитории нет, прогон ручной: вызвать скилл
    на абзаце AI-прозы и на коротком сообщении в мессенджер.
  - git show --stat HEAD: SKILL.md и references/patterns.md.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-21 10:35:34 +03:00

47 KiB
Raw Blame History

База паттернов AI Text Lint

Каждый паттерн имеет:

  • ID — уникальный идентификатор
  • Название — краткое описание
  • Описание — что именно ищем и почему это маркер
  • Примеры — конкретные срабатывания (RU/EN)
  • Severity — по контексту: article / message / resume
  • Рекомендация — что делать при срабатывании
  • Детекция (не у всех) — как искать механически: подстрока, счёт, порог

Паттерн может делиться на подпункты с буквенными ID (T03a, T03b): это отдельные срабатывания с общей причиной. В отчёт они идут раздельно, под своим буквенным ID. Severity наследуется от родителя, если у подпункта не оговорена своя.

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 решётка ровная на всех уровнях сразу. Примеры маркеров:

  • Три-четыре предложения подряд по 8-9 слов, все построенные одинаково
  • Пять 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 по умолчанию стремится к нейтральности. Человек на Хабре скажет «мне этот подход не нравится, потому что...» или «мы обожглись на этом».

Важно: убрать маркеры — половина работы. Текст, из которого вычистили em dash'и и «в современном мире», но не вернули голос, палится не хуже исходного, просто по-другому: он становится безлико-правильным. T03 — главный паттерн, где рекомендация не «убрать», а «добавить».

Что искать — три отдельных срабатывания:

T03a. Перечисление вместо вывода. Позиции разложены ровно, а что автор про это думает — не сказано. Граница с S06: S06 владеет самой симметричной подачей (секции, «с одной стороны / с другой стороны»), T03a — отсутствием вывода после неё. Симметрия с честным «мне ближе первое, вот почему» — это S06 без T03a.

  • Маркер: «Существуют различные мнения по этому вопросу.» / «Оба варианта имеют право на жизнь.»
  • С голосом: «Подход рабочий, но мы на нём дважды теряли данные при ребалансе.»

T03b. Нет первого лица там, где оно уместно. Безличные конструкции и «рекомендуется» в тексте про собственный опыт.

  • Маркер: «Рекомендуется использовать пул соединений.»
  • С голосом: «Мы держим пул на 20, больше упирается в базу.»

T03c. Абстрактная оценка вместо конкретной. Автор вроде бы высказался, но проверить или оспорить нечего. В резюме этот же случай идёт по R01, там своя severity.

  • Маркер: «Это вызывает вопросы», «решение выглядит спорным», «требует внимания»
  • С голосом: «Непонятно, что будет на 10к rps: мы не проверяли.»

Рекомендация: Для каждой находки назвать, что конкретно добавить: чьё это мнение, какой случай из опыта, какая цифра, какой сломанный прод. Рекомендация вида «добавить позицию автора» бесполезна — она возвращает пользователю ту же абстракцию, которую скилл только что нашёл. Позиция не обязана быть резкой, но обязана быть личной и проверяемой.

Контекст Severity
article 🔴 high
message 🟢 low
resume 🟢 low

Исключение: T03b в переписке — 🔴 high. Голос в чате не нужен, поэтому T03a и T03c там 🟢 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