SimpleEnglish — заставь ИИ писать как в авиационном мануале
📂 Исходный код на GitHubAgent skill, который заставляет LLM писать техническую документацию на Simplified Technical English (ASD-STE100). 53 правила контролируемого языка, адаптации под ошибки, runbook/инциденты и замеренное снижение нарушений на 72,9%.
SimpleEnglish: заставь ИИ писать как в авиационном мануале
Проект SimpleEnglish — это agent skill для LLM, который заставляет нейросети писать техническую документацию на упрощённом техническом английском ASD-STE100 Simplified Technical English. Это контролируемый язык, который авиакосмическая отрасль использует с 1983 года — чтобы уставший механик физически не мог прочитать инструкцию неправильно.
Главный слоган проекта: «твой ИИ пишет как пост в LinkedIn — заставь его писать как мануал от Boeing». AI-слоп (пустые обороты, канцелярит, хеджирование) умирает как побочный эффект.
Зачем это нужно
Современные LLM по умолчанию пишут в продающем, «профессиональном» тоне: накрученные вводные, пассивный залог, «should», «leverage», «seamlessly». Для маркетинга это норм, но для документации, инструкций и сообщений об ошибках — это мусор. SimpleEnglish берёт стандарт авиации и применяет его к коду и документации, превращая размытые фразы в конкретные указания.
Перед / после
Лучший способ понять суть — сравнить реальный необработанный вывод Claude до и после загрузки скилла.
| 🤖 Без скилла | ✈️ Со скиллом |
|---|---|
| Leveraging sqlpipe's robust architecture, users can seamlessly synchronize their Postgres tables to S3 with minimal configuration overhead. Before getting started, you should ensure that your AWS credentials have been properly configured. | sqlpipe copies your Postgres tables to S3. It needs one configuration file. Before you start, make sure that your AWS credentials are correct. If they are not, S3 rejects the upload with a permission error. |
| Oops! Something went wrong while attempting to establish a connection. Please ensure your credentials have been properly configured and try again, or reach out to your administrator. | Connection to the database failed: the password for user app is not correct. Set DB_PASSWORD to the correct value, then connect again. |
| We have identified an issue that may have impacted some users' ability to access the service. | Between 14:02 and 14:31 UTC, 12% of requests failed. A deploy at 14:00 removed the cache warmup step. We reverted it at 14:27. |
Разница очевидна: конкретика вместо расплывчатости, факты вместо вежливых отговорок. Больше примеров — в examples/before-after.md: README, сообщения об ошибках, отчёты об инцидентах, релиз-ноуты.
Правила
В стандарте 53 пронумерованных правила, разбитые на 9 секций. Ключевые, которые делают основную работу:
| Правило | Что убивает |
|---|---|
| Максимум 20 слов на инструкцию, 25 на описание | длинные предложения |
| Одно слово = одно значение во всём документе | рулетку check / verify / confirm / validate |
| Только простые времена | «has been updated» → «we updated» |
| Никаких форм на -ing | конструкции «, making it easy to...» |
| Действительный залог | «it should be noted that» |
| Без should / would / may / might | хеджирование (can, will, must разрешены) |
| Условие перед командой | хвостовые «...if the flag is set» |
| Одна инструкция в предложении | шаги, которые невозможно выполнить в 2 часа ночи |
| Сохранять артикли и «that» | телеграфный стиль. STE короткий, но не обрезанный |
Полный парафраз правил с примерами под софт — в SKILL.md.
Не только документация
Скил поставляется с адаптациями под разные жанры (use-cases.md):
- Сообщения об ошибках — что случилось → почему → что делать, в этом порядке
- Runbook'и — родная стихия STE, runbook и есть инструкция по обслуживанию
- Отчёты об инцидентах — простое прошедшее убивает «we have identified an issue»
- Release notes — breaking changes как предупреждения: сначала команда, потом риск
- AGENTS.md / промпты — системный промпт это процедура для читателя, который не может задавать вопросов. Модели читают «should» как необязательное. STE его запрещает. Подумай об этом.
- Подготовка к переводу — изначальная задача STE: понятно не-носителям, дёшево локализовать
Куда скилл отказывается идти: маркетинг-копи, блог-войс, брендовые тексты. Намеренно плоским. Правила в README нарушают половину своих же правил — маркетинг явно вне scope STE, и скилл это знает.
Как установить
Для агентов, поддерживающих стандарт Agent Skills (Claude Code, Cursor, Copilot, Codex, Gemini CLI, OpenCode и ~25 других):
npx skills add AminBlg/SimpleEnglish
Скилл детектит агентов и ставится нужным. Можно попробовать до установки:
npx skills use AminBlg/SimpleEnglish@simple-english
Как плагин Claude Code — репозиторий также является plugin marketplace:
claude plugin marketplace add AminBlg/SimpleEnglish && claude plugin install simple-english@simple-english
Или внутри Claude Code: /plugin marketplace add AminBlg/SimpleEnglish, затем /plugin install simple-english@simple-english.
Скилл идёт и как output style для Claude Code: он срабатывает, когда подходит пишущая задача, а стиль работает всегда для каждого ответа. После установки плагина: /config, открыть Output style, выбрать simple-english. Тогда Claude пишет всю свою прозу в STE, а код — как раньше.
Нет поддержки SKILL.md вообще? Вставь prompts/system-prompt.md в системный промпт, AGENTS.md или .cursorrules. Есть даже версия ~60 токенов для ограниченных бюджетов. Дальше проси любую техническую писанину или говори «rewrite this with simple-english».
Без терминала (claude.ai, ChatGPT, Gemini):
- Claude.ai (платные тарифы) поддерживает скиллы нативно: скачай SKILL.md, затем Settings → Capabilities → code execution, Settings → Customize → Skills → Upload, загрузи файл и включи.
- ChatGPT без скиллов — используй промпт-версию из
prompts/system-prompt.md, вставь в Settings → Personalization → Custom Instructions. - Gemini — создай Gem и вставь блок в его инструкции.
- Любой другой чатбот — прикрепи или вставь
prompts/system-prompt.mdв чат и скажи «apply this to everything you write for me».
Бенчмарки
Скилл получил с измеримой разницей: 72,9% меньше нарушений STE на 100 слов при включённом скилле, в среднем по 6 моделям × 8 задач письма (96 генераций).
| Модель | Baseline наруш./100w | Со скиллом | Снижение |
|---|---|---|---|
| claude-opus-4-8 | 1.05 | 0.62 | 41% |
| claude-opus-4-7 | 2.28 | 0.42 | 82% |
| claude-opus-4-6 | 2.24 | 0.40 | 82% |
| claude-opus-4-5 | 2.55 | 0.57 | 78% |
| claude-sonnet-5 | 2.67 | 0.53 | 80% |
| claude-sonnet-4-6 | 2.06 | 0.52 | 75% |
Слепой pairwise-судья (claude-opus-4-8, оба порядка текста, без меток) предпочёл вывод со скиллом в 38 из 48 пар, 4 ничьих и 6 поражений. Средний рубрик-скор: 8.3 со скиллом против 6.1 без. Выходные токены упали на всех шести моделях. Метод и воспроизведение: run python3 evals/run_bench.py.
Перекрёстная проверка Pi
Отдельный прогон Pi тестировал четыре модели на тех же 8 задачах и 2 условиях — все 64 генерации завершились.
| Модель | Baseline viol./100слов | Со скиллом | Сохран. |
|---|---|---|---|
| GLM-5.2 max | 2.56 | 0.40 | 84.4% |
| GPT-5.6 Sol medium | 1.33 | 0.16 | 88.0% |
| GPT-5.6 Terra medium | 1.69 | 0.48 | 71.6% |
| GPT-5.6 Luna medium | 1.28 | 0.42 | 67.2% |
Скилл снизил нарушения на всех четырёх моделях. Пи-методы: RESULTS.md.
Какие уроки извлекли
- Скилл писался TDD-стилем против первичного текста Issue 9 (2025), а не по блог-дайджестам
- Базовые агенты без скилла писали предложения по 40 слов и выдумывали номера правил — один уверенно цитировал «Rule 3.1: short sentences», но настоящая Rule 3.1 это про формы глаголов
- Вторичные источники в интернете ошибаются про модальные глаголы:
canиwillодобрены. Проверено по PDF стандарта - Скилл писали так: записывали каждую ошибку бейзлайна, закрывали, перетестировали до прохода
- Community audit (#4) проверил таблицы словаря против словаря Issue 9 и нашёл, что consistency pass предлагал «pick one» там, где словарь уже выбрал. Исправили и A/B-протестировали: агент со старым скиллом выбирал забракованный глагол easy «run», с исправленным — operate, do, erase, show.
- Сценарии и записанные результаты:
evals/pressure-tests.md
Частые вопросы (из FAQ)
Это делает вывод STE-сертифицированным? Нет. Ничто не делает, потому что ASD не сертифицирует никакой инструмент. Дефолтный режим прагматичный: структурные правила + твой доменный словарь. Строгий режим максимально приближается; словесные решения живут в офиц. стандарте (бесплатная загрузка).
Будет ли звучать роботизированно? Будет звучать как мануалы Airbus: плоско и невозможно прочитать неправильно. Для документации это и есть цель. Свой голос оставь для блога.
Почему не просто написать «пиши ясно»? «Ясно» — это мнение. «Не более 20 слов в предложении» — это спецификация. Агенты следуют спецификациям.
Почему 40-летний аэрокосмический стандарт? Потому что это не вайбс. Он поддерживается (Issue 9, январь 2025), пронумерован и тестируем. И это почти идеальный негатив каждого типа приёма AI-предложения.
Итог
SimpleEnglish — редкий пример скилла, который делает из размытого и «вежливого» AI-вывода конкретную, проверяемую техническую документацию. Это и скилл, и плагин, и output style, и промпт-вставка — единое правило работает в любой среде. Если тебя раздражает продающий тон LLM в ошибках, README и инцидентах — этот проект стоит попробовать.
Лицензия MIT. Скилл парафразирует правила для обучения и воспроизводит ноль текста спецификации или словаря. Неофициальный проект, не аффилирован с ASD или STEMG. ASD-STE100 — зарегистрированная торговая марка ASD.
Источник: https://github.com/AminBlg/SimpleEnglish