- Зачем:
- калибровка была неверной в обе стороны: скилл снимал находку в
статье, считая, что текст прошел через редактор с автозаменой, и
одновременно ловил букву «ё», которая маркером не является вовсе.
- в режиме правки не было запрета доводить текст до идеала, поэтому
вычитка делала его ровнее и машиннее исходника.
- Что:
- линза Клавиатура переписана вокруг простой причины: этих знаков нет
на клавиатуре. Главным тестом стало не наличие тире, а равномерность:
умный редактор подставляет неровно, модель безупречно везде.
- markdown отделен от статьи в Word: подставлять знаки там нечему,
поэтому тире и елочки в .md машинные сразу.
- «ё» выведена из маркеров как личная стилистика; вместо нее записано
предпочтение владельца скилла ее не писать, с исключениями на
смыслоразличение и имена.
- эмодзи вне переписки подняты до безусловного маркера и вместе с
тире в markdown вынесены в блок «везде, среда роли не играет».
- в Решетку добавлен третий слой, ровность правильности; в границы
правки добавлены «не вычищать до блеска» и запрет добавлять ошибки.
- Проверка:
- прогон скилла на секции «Дизайн-решения» из README.md, который и
вскрыл обе ошибки калибровки.
Co-Authored-By: Claude <noreply@anthropic.com>
168 lines
22 KiB
Markdown
168 lines
22 KiB
Markdown
---
|
||
name: ai-text-lint
|
||
description: "Оптика для вычитки текста на slop — признаки AI-генерации. По умолчанию правит текст, по запросу выдаёт отчёт с находками. Используй, когда пользователь просит: применить скилл и внести правки, вычистить AI-стиль, гуманизировать текст, вернуть авторский голос; проверить или пролинтовать статью, письмо, сообщение или резюме перед публикацией; быстро глянуть короткий текст на явные маркеры."
|
||
---
|
||
|
||
# AI Text Lint
|
||
|
||
Оптика для вычитки готового текста. Скилл вызывается вручную и намеренно: держать эти линзы в голове во время письма — значит тратить внимание на форму вместо смысла. Сначала текст пишется, потом прогоняется.
|
||
|
||
## Рамка
|
||
|
||
Один вопрос порождает всё остальное:
|
||
|
||
> Похоже, что этот текст **набрал руками** вот **этот человек** вот в **эту среду**?
|
||
|
||
Пять линз — пять способов, которыми ответ бывает «нет».
|
||
|
||
## Линзы
|
||
|
||
### Клавиатура — набрал ли это человек руками?
|
||
|
||
**Половины типографики нет на клавиатуре.** Тире, длинное тире, ёлочки, неразрывный пробел, троеточие одним знаком набираются только Alt-кодом, которого никто не помнит. Человек ставит дефис, лапки и три точки.
|
||
|
||
Взяться в тексте они могут из двух источников, и различаются те по **равномерности**:
|
||
|
||
- **Умный редактор.** Word, Google Docs и часть CMS подставляют знаки сами, но неровно: где-то подстановка сработала, где-то нет, в одном абзаце ёлочки, в соседнем лапки. Эта неаккуратность и есть человеческий след.
|
||
- **Модель.** Ставит правильный знак везде и без пропусков. Безупречная типографика по всему тексту, без единой осечки, машинная.
|
||
|
||
В markdown, README и редакторе кода умного редактора нет, подставлять знаки нечему. Там любое тире или ёлочка машинные сразу, равномерность разбирать не нужно.
|
||
|
||
Второй слой слабее: знаки, которые на клавиатуре есть, но требуют лишнего движения. Все запятые на местах в чате.
|
||
|
||
**Буква «ё» не маркер.** Это личное предпочтение: либо стоит по всему тексту, потому что автор её любит, либо не стоит нигде, потому что автор её пропускает. Оба варианта допустимы по правилам языка, и ни один ничего не говорит про происхождение текста.
|
||
|
||
**Владелец скилла ё не пишет** и делает это не задумываясь, поэтому правка молчаливая: убрать и не выносить в отчёт.
|
||
|
||
Два исключения, где ё остаётся. Первое: слова, в которых она различает смысл (всё/все, узнаём/узнаем, нёбо/небо, передохнём/передохнем). Второе: имена и фамилии (Фёдор, Артём, Королёв). В именах пропуск ё аукается в документах и при транслитерации, и это единственное место, где привычка её опускать реально вредит.
|
||
|
||
Линза генеративна: она порождает не список символов, а вопрос «есть ли это на клавиатуре, и если есть, то ровно ли расставлено». Новый типографский изыск попадёт под неё без обновления скилла.
|
||
|
||
### Голос — этот ли человек говорит?
|
||
|
||
Есть ли в тексте автор. Признаки отсутствия: предмет описан со стороны, позиция не занята, критика обёрнута в два слоя позитива, плюсы и минусы разложены симметрично и вывода не следует, ссылка на авторитет размыта («эксперты считают»), оценка навешена хвостовым оборотом («...значительно упростив оркестрацию») вместо отдельной мысли, слеш вместо выбора («удалённо/гибрид»). Отдельный случай — безличность там, где уместно «я» или «мы»: «рекомендуется использовать пул соединений» вместо «мы держим пул на 20, больше упирается в базу».
|
||
|
||
**Голос — единственная линза, которая правится добавлением, а не вычитанием.** Добавить нужно то, чего у скилла нет: мнение автора, случай из его практики, его цифру, его сломанный прод. Поэтому Голос никогда не чинится молча — см. «Режим правки».
|
||
|
||
### Решётка — рука так ровно не кладёт
|
||
|
||
Неестественно ровная сетка на любом уровне: предложения внутри абзаца, абзацы, пункты списка, разделы. Живой текст рваный: где-то проваливается в детали, где-то проскакивает тему одной строкой.
|
||
|
||
Одна цифра, чтобы линза не была вкусовщиной: считать длину однородных единиц **в словах**, брать **размах** (максимум минус минимум) и делить на среднее. Меньше 20% — решётка. Пять пунктов по 12, 11, 13, 12, 11 слов дают размах 17% — ровно подозрительно. Абсолютная длина роли не играет, важен разброс.
|
||
|
||
Второй слой — синтаксическая решётка: подряд идущие предложения по одной схеме, одинаковые зачины, буллеты «**жирный заголовок** — расшифровка» без единого исключения, форсированные триады («быстро, надёжно, удобно») там, где естественная группа — две вещи или четыре.
|
||
|
||
Третий слой — **ровность правильности**. Живой текст содержит опечатку, пропущенную запятую, слово, повторённое дважды подряд, термин, названный в двух местах по-разному, мысль, которая начата и брошена. Текст на две страницы без единой шероховатости ровен так же неестественно, как абзацы одинаковой длины. Немного ошибок — признак руки.
|
||
|
||
### Вода — прибавилось ли информации?
|
||
|
||
Тест: убрать фразу и посмотреть, изменилось ли что-нибудь. Не изменилось — вода. Ловит канцелярит («является», «данный», «в рамках», «осуществлять»), раздувание важности, impact-фразы без цифр, стопки баззвордов, связки-пустышки («кроме того», «вместе с тем», «стоит отметить»), ложные диапазоны («от стартапов до корпораций»), хеджирование в три слоя.
|
||
|
||
Одна конструкция заслуживает имени, потому что срабатывает почти безошибочно и в любой среде: **«не X, а Y»**, «не просто X, но и Y». Обещает контраст, доставляет пустоту.
|
||
|
||
### Ассистент — не чат-бот ли это отвечает?
|
||
|
||
Артефакты интерфейса помощника, протёкшие в авторский текст: церемония на входе («В современном мире...», «Давайте разберёмся»), церемония на выходе («Надеюсь, это поможет», «Буду рад помочь»), подведение итогов там, где никто не просил, вступительное двоеточие перед каждым списком.
|
||
|
||
**Декоративные эмодзи — самый однозначный маркер из всех.** В русском тексте вне переписки их не ставят: ни в заголовках, ни в буллетах, ни в README, ни в документации. Конвенции «так принято на GitHub» не существует, есть привычка моделей украшать структуру. Одна 🚀 в заголовке весит больше десятка стилистических подозрений.
|
||
|
||
Самая механическая из пяти, ловится почти поиском по подстроке.
|
||
|
||
## Калибровка по средам
|
||
|
||
Severity в основном свойство среды. Но три маркера не зависят от неё вообще, и они же самые надёжные.
|
||
|
||
**Везде 🔴, среда роли не играет:**
|
||
декоративные эмодзи вне переписки · тире и ёлочки в markdown · безупречно ровная типографика по всему тексту · «не X, а Y» / «не просто X, но и Y»
|
||
|
||
**article** (статья, блог-пост, README) — вес на **Голосе** и **Воде**.
|
||
🔴 нет позиции автора · размытая ссылка на авторитет · раздувание важности · «В современном мире» · буллеты «жирный заголовок + расшифровка»
|
||
|
||
**message** (Slack, Telegram, email коллеге) — вес на **Клавиатуре** и **Ассистенте**. Голос почти не считается: в чате нужна краткость, а не позиция.
|
||
🔴 плотный канцелярит · «давайте разберёмся» · «буду рад помочь» · итоги в конце сообщения · связки «кроме того / вместе с тем» · безличное «рекомендуется» · безупречная пунктуация в чате
|
||
|
||
**resume** (резюме, сопроводительное) — вес на **Воде** и **Решётке**.
|
||
🔴 impact-фраза без цифр · стопка баззвордов · однородные буллеты в опыте · причастные хвосты («...значительно упростив») · хеджирование
|
||
|
||
Красные списки — это калибровка, которую из общих соображений не вывести. Остальное взвешивать самому: насколько уверенное срабатывание и насколько мешает в этой среде. Механического правила понижения нет — уверенная находка по неглавной линзе спокойно бывает важнее вялой по главной.
|
||
|
||
Находка часто попадает сразу в две линзы («данный подход имеет как преимущества, так и ограничения» — это и Голос, и Вода). Назвать обе, вес ставить по той, что сильнее в этой среде.
|
||
|
||
## Гейт: человеческий дубль
|
||
|
||
Линзы открыты, поэтому находку легко выдумать. Гейт один и он обязателен:
|
||
|
||
> Находка засчитывается, только если получается написать правдоподобный человеческий вариант этого фрагмента, **заметно отличающийся** от исходного.
|
||
|
||
Не получается — находки нет, есть вкусовщина. Гейт бесплатный: дубль сразу становится правкой или рекомендацией.
|
||
|
||
**Плотность — не гейт, а интерпретация.** Одиночное срабатывание в живом тексте нормально, человек тоже так пишет. Кластер (три и больше маркера в абзаце, или одна линза ровным слоем по всему тексту) означает, что текст генерился, а не писался. Плотность влияет на вердикт и на то, насколько настойчиво предлагать правки, но не отменяет отдельную находку: одинокое «не просто X, а Y» остаётся красным.
|
||
|
||
## Как применять
|
||
|
||
**Шаг 1. Определить среду** — article / message / resume. Если не ясно из разговора, спросить: от среды зависит вся калибровка.
|
||
|
||
**Шаг 2. Пройти пятью линзами.** Готово, когда приложены все пять. Каждое срабатывание провести через гейт до того, как оно куда-то попадёт.
|
||
|
||
**Шаг 3.** Дальше — по тому, что просили.
|
||
|
||
### Режим правки (по умолчанию)
|
||
|
||
«Примени скилл», «вычисти», «поправь» — значит внести правки, а не отчитаться.
|
||
|
||
Четыре линзы правятся молча: **Клавиатура**, **Решётка**, **Вода**, **Ассистент**. Все четыре вычитают — убрать символ, разорвать ровность, выкинуть пустое. Ошибиться тут дёшево, и правка обратима.
|
||
|
||
**Голос не правится молча никогда.** Починить его — значит дописать мнение, случай или цифру, которых у скилла нет. Выдуманный инцидент в чужом тексте хуже любого slop'а.
|
||
|
||
Отдать результат строго в этом порядке:
|
||
|
||
1. **Голос — первым и всегда явно, даже когда находок нет.** Нет находок — одна строка «Голос: чисто». Есть — предъявить вопросом, по одному на находку: «второй абзац ничей: что ты про это на самом деле думаешь?», «тут просится цифра — какая была?».
|
||
2. Поправленный текст.
|
||
3. Что изменено — компактным списком по линзам, без цитат: «Клавиатура: 6 em dash → дефис, убрана „ё“. Вода: выкинуто „является ключевым фактором“, „кроме того“ ×2».
|
||
|
||
Порядок именно такой, потому что Голос — единственное, что требует действия от автора, а остальное уже сделано. В конце вывода, под простынёй правок, он теряется, и самая ценная линза пропадает молча.
|
||
|
||
**Правка не закончена, пока про Голос не сказано что-то одно: вопросы или «чисто».** Пропуск этой строки читается как «проверено, всё хорошо», хотя означает «забыли».
|
||
|
||
Границы правки: меняется форма, не смысл. Термины, числа, факты, ссылки — неприкосновенны. Авторские особенности (короткие рубленые фразы, мат, необычная пунктуация как приём) — это голос, а не slop, их не выравнивать.
|
||
|
||
**Не вычищать до блеска.** Опечатка, пропущенная запятая, дважды повторённое слово, термин, названный в двух местах по-разному — следы руки. Убирать slop, а не доводить текст до идеала: мелкие огрехи автора оставлять на месте.
|
||
|
||
**Ошибки не добавлять никогда.** Из того, что шероховатость есть признак руки, не следует, что её надо производить. Подделанная опечатка — такая же имитация, как безупречная типографика, просто с другой стороны. Человеческий след даёт Голос: мнение автора, его случай, его цифра. Мусор в тексте его не заменяет.
|
||
|
||
### Режим отчёта (когда просят диагностику)
|
||
|
||
«Проверь», «что тут не так», «прогони и покажи находки» — значит не трогать текст.
|
||
|
||
```
|
||
## Результаты проверки
|
||
|
||
**Среда:** [article / message / resume]
|
||
**Вердикт:** [одно предложение: сколько находок, какая линза доминирует, кластер или разрозненно]
|
||
|
||
1. 🔴 **Голос** — [в чём проблема, полстроки]
|
||
> [цитата, проблемный фрагмент **жирным**]
|
||
Человек бы написал: [дубль]
|
||
|
||
2. 🟡 **Вода / Решётка** — ...
|
||
```
|
||
|
||
Порядок: по убыванию severity, внутри — по порядку в тексте. 🟢 включать, если их немного; при десятке мелочей свернуть в одну строку «плюс по мелочи: ...».
|
||
|
||
Находок нет — сказать это и перечислить, что проверялось: на чистом тексте автору важно видеть, что линзы приложены, а не что скилл поленился.
|
||
|
||
### Quick scan
|
||
|
||
Только по явной просьбе («глянь быстро», «на бегу»). Короткий текст сам по себе в этот режим не отправляет.
|
||
|
||
Линзы **Клавиатура** и **Ассистент**, только 🔴, списком без объяснений. На коротком сообщении они дают почти все находки и стоят один проход глазами.
|
||
|
||
Голос сюда не входит. Если быстрый скан просят на статье — сказать одной строкой, что Голос не смотрелся: в article это главная линза, и молчаливый пропуск создаёт ложное ощущение чистоты.
|
||
|
||
## Важно
|
||
|
||
- **Это не AI-детектор.** Скилл не определяет, писал ли текст AI. Он находит стилистику, которая _ассоциируется_ с генерацией. Живой человек пишет так же — особенно аккуратный человек после редактора.
|
||
- **Русский приоритетнее.** Линзы настроены на русский. В смешанной технической прозе английские маркеры («delve», «leverage», «testament to») ловятся теми же линзами, отдельного списка не нужно.
|
||
- **Содержание не трогать.** Форма, не фактическая корректность.
|
||
- **Последнее слово за автором.** Не согласен с находкой — объяснить, почему она отмечена, и принять решение автора.
|