Skip to content
Все статьи
ИИ8 мин

Год с ИИ-ассистентами в студии: что ускорилось, а что нет

Год назад ИИ у нас был игрушкой для автодополнения. Сейчас без него не начинается ни один проект. Рассказываю честно, что от этого выиграли, где обожглись и какие правила появились после.

Azamat AbduyaminovОснователь, ведущий инженер

Прошлой осенью я посчитал, сколько времени у нас уходит на файлы переводов. Один средний сайт на трёх языках — это 400–600 строк в JSON на каждый язык, а у Shajara их в итоге стало четыре: узбекский латиницей, узбекский кириллицей, русский и английский, примерно по 1300 строк каждый. Раньше это была неделя скучной работы для фронтендера и ещё пара дней правок после того, как клиент прочитает тексты. Сейчас первый черновик всех четырёх файлов занимает вечер.

Это самая наглядная экономия. Но картина в целом сложнее, и я хочу записать её, пока помню детали.

С чего мы начинали

Нас пятеро: я, дизайнер Муроджон, фронтендер Шахзоджон, бэкендер Миродил и Самандар на мобильной разработке. Первым был Copilot в редакторе, где-то в 2023-м. Он хорошо дописывал строки и плохо понимал проект целиком. Потом часть команды пересела на Cursor, а с прошлого года основной инструмент у нас — Claude Code в терминале: он читает репозиторий, запускает тесты и миграции, может сам открыть docker-compose и посмотреть, почему контейнер не стартует.

Переход был не командным решением, а скорее эпидемией. Кто-то один показал, как агент за десять минут написал сериализаторы и тесты к ним, и через месяц так работали все.

Где ИИ реально экономит часы

Я долго пытался оценить это в цифрах. Точных замеров у нас нет, поэтому ниже мои ощущения по нашим проектам за год, а не исследование.

Сколько времени экономит ИИ на типичной задаче (примерно, по нашим проектам)%
Переводы uz/ru/en (черновик)
80
Шаблонный CRUD: модели, сериализаторы, админка
60
Тесты к готовому коду
50
Миграции и скрипты переноса данных
40
Вёрстка экрана по макету
30
Архитектура и выбор подхода
5

Шаблонный код

Django-модель, сериализатор, viewset, регистрация в админке, тесты на права доступа. Это всё мы писали сотни раз, и каждый раз немного по-разному. Агент делает это ровно и в стиле соседних файлов, если показать ему пример. На Xonadosh бэкенд на Django 6 и DRF мы собрали заметно быстрее, чем похожие проекты в 2024-м.

Миграции и перенос данных

Скрипт, который перекладывает старую базу в новую структуру, обычно пишется один раз и выбрасывается. Тратить на него день жалко. ИИ пишет такой скрипт за полчаса, а мы тратим ещё полчаса на проверку на копии базы. Проверку не пропускаем никогда.

Переводы

Про них я уже сказал. Важная оговорка: узбекский текст от модели нельзя публиковать без человека. Модель путает o‘ и о, иногда выдаёт кальку с русского, а в кириллической версии может внезапно перейти на латиницу посреди предложения. Черновик она даёт хороший, финал всё равно читает носитель.

Где ИИ мешает

Теперь неприятная часть.

Архитектура

Агент охотно предложит архитектуру, и она будет выглядеть убедительно. Проблема в том, что он не знает, что у клиента нет DevOps, что сервер стоит в Ташкенте с нестабильным каналом, что через полгода проект будет поддерживать один человек. Когда мы выбирали для Shajara Fastify и Drizzle вместо привычного Django, решение принимали люди за столом, а не модель. ИИ потом помог быстро это реализовать, и это нормальное разделение труда.

Тонкие баги

Самая обидная история этого года случилась на Xonadosh. После первого круга правок появился guard на маршрут вступления в общий дом: он требовал токен приглашения и при его отсутствии отправлял человека обратно на экран «у вас нет дома». Выглядело аккуратно. Только экран «у вас нет дома» открывал вступление как раз без токена, а форма для вставки ссылки внутри уже умела этот случай обрабатывать. В итоге кнопка «Присоединиться» просто ничего не делала.

Тесты бэкенда были зелёные: POST на вступление честно возвращал 201. Сломан был путь пользователя, а не API. Такие баги ИИ создаёт легко, потому что каждое изменение по отдельности логично.

“Агент чинит ровно то, что ты описал. Если ты описал симптом, а не причину, он починит симптом и сломает соседний сценарий.”
Миродил Ортиков — бэкенд-разработчик

Безопасность

Здесь у нас был случай, после которого я перестал относиться к ИИ как к «просто ускорителю».

Второй случай свежий. В прокси для картинок на нашем собственном сайте нашлась SSRF-дыра: он пропускал запросы на произвольные адреса. Я до сих пор не знаю точно, кто её написал, человек или агент. И это, пожалуй, главный вывод: код от ИИ и код от человека в репозитории выглядят одинаково, так что проверять надо всё. ИИ не думает о злоумышленнике, если ты прямо не попросил его об этом.

Правила, которые у нас появились

После всего этого мы записали несколько правил. Они простые, и именно поэтому их соблюдают.

  • Агент не получает доступ к продакшен-серверам и боевым .env. Никогда.
  • Каждый дифф читает человек, даже если «там только переводы».
  • Задача для агента описывается как ТЗ: что сделать, что не трогать, как проверить.
  • Перед мержем проходим пользовательский сценарий руками, а не только тесты.
  • Секрет, попавший в любой файл под git, перевыпускается сразу.
  • Архитектурные решения принимаем сами и записываем их в репозиторий.

Пункт про ТЗ оказался самым полезным. Для одного из недавних сайтов спецификация для агента заняла больше страниц, чем ТЗ, которое мы когда-то писали для людей. Там было всё: какие разделы, какие шрифты, какие Lighthouse-метрики считать приёмкой, и отдельный чек-лист «сайт не должен выглядеть как ИИ-шаблон». Смешно, но работает. Подробнее об этом пишет Шахзоджон в статье про сайты, собранные нейросетью за пять минут.

Что поменялось для клиентов

Клиента не волнует, кто написал сериализатор. Его волнует срок, цена и то, что сайт не ломается.

Плюсы
  • +Мелкие правки делаем быстрее, часто в тот же день
  • +Три языка перестали быть дорогой опцией
  • +Больше тестов: их стало не лень писать
  • +Прототип для обсуждения можно показать через пару дней
Минусы
  • −Сроки крупных проектов сократились меньше, чем все ожидали
  • −Ревью стало тяжелее: кода больше, читать его дольше
  • −Ошибки стали «правдоподобнее» и потому опаснее
  • −Обсуждения с клиентом занимают столько же времени, сколько и раньше

Про сроки скажу отдельно. На Enlawyer мы делали сайт на Next.js и React 19 с Django-бэкендом, тремя языками и серьёзной SEO-настройкой: sitemap, структурированные данные, оглавления в статьях. ИИ ускорил вёрстку и переводы. Но больше всего времени ушло на структуру практик и отраслей, на согласование текстов с юристами и на то, как заявки должны попадать в Telegram. Это работа с людьми, и её никакой ассистент не сократил.

Главная страница сайта Enlawyer
Enlawyer: Next.js, три языка, структурированные данные. ИИ помог с вёрсткой и переводами, но не со структурой

Цены мы при этом не снизили до нуля, и честно скажу почему. Мы стали делать больше в ту же цену: тесты, третий язык, мелкие улучшения, на которые раньше не хватало бюджета. Лендинг у нас по-прежнему от $800, корпоративный сайт от $2,000. Подробности на странице разработки сайтов.

Чего я до сих пор не знаю

Я не уверен, что мы правильно учим младших. Джуниор, который с первого дня работает с агентом, пишет рабочий код быстрее, чем писал я в его возрасте. Но когда агент ошибается, он не всегда понимает, где именно. Пока наш ответ такой: ревью кода от ИИ делает тот, кто мог бы написать этот код сам. Масштабируется ли это, не знаю.

Ещё не уверен насчёт параллельных агентов. На Xonadosh мы пробовали запускать несколько агентов одновременно: один делал экраны мини-приложения, другой API, третий бота. Получилось быстро, но потом круг исправлений занял почти столько же времени, сколько сама сборка. Возможно, мы просто плохо нарезали задачи.

Если бы начинали сначала

Я бы сразу ввёл правило про секреты и ревью, а не после инцидента. Не давал бы агенту архитектурных решений даже «на попробовать», потому что потом жалко выбрасывать работающий код. И начал бы с самого скучного: переводы, тесты, миграции. Там выигрыш огромный, а риск почти нулевой.

ИИ сделал нас быстрее примерно на треть в коде и ровно на ноль в разговорах с клиентами. Меня такой расклад устраивает.

Есть задача? Напишите — обсудим.

Пишите в Telegram напрямую основателю студии. Расскажите в двух словах, что нужно — ответим с вопросами и примерной оценкой.