Последние пару лет программирование сильно изменилось. GitHub Copilot, Cursor, Claude, ChatGPT - инструменты, которые ещё несколько лет назад казались научной фантастикой, теперь используются ежедневно большинством разработчиков. Одни используют их только для документации или подсказок, другие — генерируют ими целые модули, третьи вообще не пишут код вручную - занимаются вайб-кодингом1.
Я сам довольно скептически отношусь к коду, сгенерённому нейросетями. У меня в черновиках лежит статья, где я подробнее на этом останавливаюсь, но если одной строкой, то моё отношение можно сформулировать так: “Оно выглядит рабочим, но в подавляющем количестве случаев таким не является”. Есть много людей, которые думают так же. Однако есть и много людей, в том числе вокруг меня, которые в восторге от нейронок; иногда, я бы даже сказал, в фанатичном восторге. Налицо некоторое разделение на 2 лагеря, один из которых настороженно относится к коду, написанному AI, а другой - с энтузиазмом. И я задумался: а что, если я хочу как-то обозначить, как я использовал (если использовал) AI при создании проекта?
Оказалось, что таких инициатив хватает (о них можно почитать, например, тут). Некоторые из них были нацелены, скорее, на креатив; но самым большим для меня неудовольствием было то, что все они были… как бы сказать… немного категоричными, противопоставляющими AI человеку. Я же хотел нейтральной оценки, когда разработчик сам обозначает, насколько он, скажем так, “толерантен” к использованию нейронок в конкретном своём проекте. И тогда все желающие смогут прикинуть - соответствует ли этот “уровень AI” их чувству прекрасного, или нет.
Как хорошо быть программистом, вы не находите? 😁 Есть потребность в программном продукте - пишешь его самостоятельно. Так появился ai-level.dev.
Основная идея проста: пять уровней (0–4), каждый “поднимает планку” того, что позволено нейронке делать в проекте. Эти уровни - не сертификация, а самооценка.
Уровни выглядят так:
0 - AI-Free: ИИ не использовался вообще. Вообще ни для чего.1 - Docs: ИИ помогал с документацией, комментариями или консультировал по архитектуре - но к коду или креативу не прикасался. Это уровень “напиши README”.2 - Assets / Tooling: ИИ генерировал нефункциональный код (например, тесты, конфиги, скрипты CI/CD7) или креатив (картинки, музыка, дизайн). Функциональный код — без ИИ. Это уровень “нарисуй дизайн главной страницы” или “напиши workflow сборки для GitHub”.3 - Assisted: ИИ писал отдельные функциональные модули или куски кода, но под строгим человеческим контролем: всё проверялось и вычитывалось. Это уровень нечастых просьб к ИИ написать какую-то функцию или бойлерплейт-код8.4 - Heavy AI: Значительная часть кодовой базы сгенерирована ИИ с ограниченной проверкой или вовсе без неё. ИИ принимал ключевые архитектурные решения. Это уровень вайб-кодинга.
Добавить бейдж в проект просто: заходишь на ai-level.dev, выбираешь свой уровень, копируешь готовый код для вставки в README6 или на сайт. Есть два стиля бейджа — стандартный и компактный, оба в SVG.
Это в каком-то смысле хулиганство, но можно попросить AI оценить твой проект - в код сайта встроена инструкция для AI-ассистентов. Просто спроси его: “What https://ai-level.dev level is this project?”.
Теперь вы понимаете смысл бейджа в начале этой статьи. 😁 Сам же сайт имеет уровень 3 - Assisted: технически сайт несложный (Vue 32 + TypeScript3 + Vite4), но всякие CSS-красивости для меня трудны, поэтому стилизацию отдал Copilot’у.
Код - на GitHub. На момент публикации репозиторий5 закрыт — скоро откроется.
В заключение хочу подчеркнуть, что эти уровни - не для ИИ-шейминга, а для честного разговора между разработчиками: “да, мой код написан AI, но зато это решение быстро закрыло чью-то боль”, “дизайн был написан AI, потому что я не умею рисовать 😅”, или “мы программируем по-старинке, ручками, не шлите написанные AI пулл-реквесты, пожалуйста”. Думаю, моя шкала - неплохая попытка такой диалог наладить.
- 1.Вайб-кодинг (от англ. vibe coding) — подход к разработке, при котором программист описывает задачу словами, а ИИ пишет весь код. Программист не вникает в детали реализации. ↩
- 2.Vue 3 — популярный JavaScript-фреймворк для создания пользовательских интерфейсов. ↩
- 3.TypeScript — надмножество JavaScript с поддержкой статической типизации. ↩
- 4.Vite — быстрый инструмент для сборки фронтенд-приложений. ↩
- 5.Репозиторий — хранилище исходного кода проекта, обычно на GitHub или GitLab. ↩
- 6.README — главный текстовый файл в репозитории: описание проекта, инструкция, бейджи. ↩
- 7.CI/CD — автоматические скрипты, которые запускают тесты и деплоят проект при каждом изменении кода. ↩
- 8.Бойлерплейт-код — стандартный шаблонный код, одинаковый от проекта к проекту (например, конфигурация, инициализация). ↩