AI Level 0

Последние пару лет программирование сильно изменилось. 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. 1.Вайб-кодинг (от англ. vibe coding) — подход к разработке, при котором программист описывает задачу словами, а ИИ пишет весь код. Программист не вникает в детали реализации.
  2. 2.Vue 3 — популярный JavaScript-фреймворк для создания пользовательских интерфейсов.
  3. 3.TypeScript — надмножество JavaScript с поддержкой статической типизации.
  4. 4.Vite — быстрый инструмент для сборки фронтенд-приложений.
  5. 5.Репозиторий — хранилище исходного кода проекта, обычно на GitHub или GitLab.
  6. 6.README — главный текстовый файл в репозитории: описание проекта, инструкция, бейджи.
  7. 7.CI/CD — автоматические скрипты, которые запускают тесты и деплоят проект при каждом изменении кода.
  8. 8.Бойлерплейт-код — стандартный шаблонный код, одинаковый от проекта к проекту (например, конфигурация, инициализация).