AI Level 0

Последние пару лет программирование сильно изменилось. GitHub Copilot, Cursor, Claude, ChatGPT - инструменты, которые ещё несколько лет назад казались научной фантастикой, теперь используются ежедневно большинством разработчиков. Одни используют их только для документации или подсказок, другие — генерируют ими целые модули, третьи вообще не пишут код вручную - занимаются вайб-кодингом1.

Я сам довольно скептически отношусь к коду, сгенерённому нейросетями. У меня в черновиках лежит статья, где я подробнее на этом останавливаюсь, но если одной строкой, то моё отношение можно сформулировать так: “Оно выглядит рабочим, но в статистически значимом количестве случаев таким не является”. Есть много людей, которые думают так же. Однако есть и много людей, в том числе вокруг меня, которые в восторге от нейронок; иногда, я бы даже сказал, в фанатичном восторге. Налицо некоторое разделение на 2 лагеря, один из которых настороженно относится к коду, написанному AI, а другой - с энтузиазмом. И я задумался: а что, если я хочу как-то обозначить, как я использовал (если использовал) AI при создании проекта? Если ли какой-то индикатор, некая метка, которую можно “прилепить” к описанию проекта? И тогда все желающие смогли бы прикинуть - соответствует ли этот “уровень AI” их чувству прекрасного, или нет.

Оказалось, что таких инициатив хватает (о них можно почитать, например, тут). Большинство из них не очень подходили мне по смыслу, потому что были нацелены, скорее, на креатив; но самым большим для меня неудовольствием было то, что все они были… как бы сказать… немного категоричными, противопоставляющими AI человеку. Я же хотел нейтральной оценки, когда разработчик сам обозначает, насколько он, гм, “толерантен” к использованию нейронок в конкретном своём проекте.

Как хорошо быть программистом, вы не находите? 😁 Есть потребность в программном продукте - пишешь его самостоятельно. Так появился ai-level.dev.

Основная идея проста: пять уровней (0–4), каждый “поднимает планку” того, что позволено нейронке делать в проекте. Эти уровни - не сертификация, а самооценка.
Уровни выглядят так:

  • AI-Free (0): ИИ не использовался вообще. Вообще ни для чего.
  • Docs (1): ИИ помогал с документацией, комментариями или консультировал по архитектуре - но к коду или креативу не прикасался. Это уровень запроса к нейронке: “напиши README”.
  • Assets / Tooling (2): ИИ генерировал нефункциональный код (например, тесты, конфиги, скрипты CI/CD7) или креатив (картинки, музыка, дизайн). Функциональный код — без ИИ. Это уровень “нарисуй дизайн главной страницы” или “напиши workflow сборки для GitHub”.
  • Assisted (3): ИИ писал отдельные функциональные модули или куски кода, но под строгим человеческим контролем: всё проверялось и вычитывалось. Это уровень нечастых просьб к ИИ написать какую-то функцию или бойлерплейт-код8, а также использования авто-завершения кода в редакторах кода.
  • Heavy AI (4): Значительная часть кодовой базы сгенерирована ИИ с ограниченной проверкой или вовсе без неё. ИИ принимал ключевые архитектурные решения. Это уровень вайб-кодинга.

Добавить бейдж в проект просто: заходишь на 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.Бойлерплейт-код — стандартный шаблонный код, одинаковый от проекта к проекту (например, конфигурация, инициализация).