Где мы используем ИИ в разработке, а главное — где не используем
Почему нельзя доверять нейросетям архитектуру продукта, а вот скучные задачи — можно. Объясняет Александр Медведев, технический директор Руллы

Solutions Architect, 10+ опыта разработки программного обеспечения
ИИ в разработке действительно работает, но не так, как обещают рекламные слоганы. Искусственный интеллект помогает разработчику: ускоряет поиск решений, генерирует фрагменты кода, предлагает подсказки. Но часто даже простая и на первый взгляд корректная функция, написанная нейросетью, может вести себя странно и ломать структуру проекта изнутри. Мы в команде Руллы много экспериментировали с Artificial Intelligence и поняли: эта технология полезна, но далеко не везде.
Где ИИ полезен в разработке: задачи, которые ему можно доверить
Ускорение ресерча — нужный ответ за минуту. Вместо того чтобы тратить часы на чтение технических статей или поиск информации в разрозненных источниках, можно просто задать вопрос ИИ и сразу получить ответ.
Однажды мне нужно было реализовать функцию «тайпинг» в мессенджере — ту самую, когда видишь, что собеседник печатает. Я спросил ИИ, как это реализовано в Telegram, WhatsApp (принадлежит корпорации Meta, деятельность которой признана в России экстремистской и запрещена) и других платформах, — и сразу получил детальный обзор. На исследования вручную ушло бы в разы больше времени.
Главное в ресерче — не полагаться на первый же выданный нейросетью результат. Нужно переспрашивать, уточнять, обязательно требовать ссылки и проверять критичные моменты по оригинальным источникам, чтобы не взять в использование неточную или неверную информацию.
Генерация тестовых данных — быстро и правдоподобно. В команде Руллы мы используем ИИ для наполнения демо-среды. Это может быть список фейковых пользователей с именами и аватарами, структура проектов с описаниями, задачи по тематикам, распределенные по группам. Чтобы функция выглядела как реальная, нам нужны правдоподобные данные. Раньше это приходилось придумывать самим, тратить на это время и усилия. Сейчас можно попросить ИИ и за минуту получить, например, коллекцию из 20 задач, разбитых по категориям, или сгенерированные диалоги пользователей.

Кодовые заготовки и мелкий рефакторинг — без рутинной возни. Иногда требуется на основе модели данных сформировать модель на нужном языке программирования. Это скучная, но технически несложная задача. Можно отдать ее ИИ, и он за пару секунд сделает черновик, который можно сразу вставить в проект или подправить по мелочам. То же касается мелких правок: добавить приватные сеттеры, поменять названия переменных, заменить фрагмент на более читаемый — все это можно отдать на аутсорс искусственному интеллекту.
Бывает, что код писали давно, и сходу сложно вспомнить, как работает тот или иной метод. Я отдаю его ИИ — нейросеть построчно объясняет логику, помогает разобраться, какие модули подключены и как они взаимодействуют.
Перевод и адаптация технических текстов — быстрее, чем гуглить. В IT-сфере многие важные статьи выходят на английском или других языках. Даже при хорошем знании языка уходит много времени, чтобы не просто прочитать, но и вникнуть в тему. ИИ же не только переводит — он может адаптировать текст и объяснить сложные термины. Это удобнее, чем использовать, например, онлайн-переводчик или читать в оригинале.
Общее у этих кейсов то, что ИИ не заменяет мышление и не берет на себя ответственность за результат. Нейросеть экономит время на подготовительных этапах, упрощает рутину и снижает входной порог в незнакомые задачи. Но эта технология однозначно требует участия опытного человека — того, кто задаст правильный вопрос, проверит результат и решит, что использовать, а что выкинуть.
Что ИИ не умеет: границы автоматизации в разработке
Линия раздела между тем, что можно доверить ИИ, и тем, что нельзя, проходит не по типу задачи, а по уровню ответственности. Все, что влияет на архитектуру, продуктовые сценарии, безопасность и бизнес-логику, должно оставаться в руках человека. И главная задача разработчика сегодня — уметь отделить автоматизируемое от критически важного.
Например, если просто попросить ИИ улучшить фрагмент кода, он может заменить функции на более современные. Но при этом упустит незначительные, по его мнению, детали и создаст тем самым неявные ошибки, которые сложно отловить. За слепое доверие искусственному интеллекту в итоге придется дорого заплатить.
Нейросеть не видит всей картины целиком и не учитывает внутренние договоренности команды: стиль кода, структуру модулей, принятые правила, допустимые компромиссы. Поэтому даже при рефакторинге чужого кода ее стоит использовать только как второе мнение, в помощь человеку.
Еще один важный момент: если разработчик сам плохо понимает задачу, ИИ не спасет. Подсказки будут, но пользы от них мало — человек просто не поймет, что с ними делать. Поэтому работает не нейросеть, а связка: опыт плюс ИИ-инструмент.
Может ли ИИ сам написать рабочий фрагмент кода?
Может, но с большой вероятностью вы не захотите его использовать. Проблема вовсе не в том, что сгенерированный код не запускается — как правило, он работает. Но часто он не соответствует архитектуре проекта, стилю команды и просто здравому смыслу. Функция работает, но ее тяжело читать, поддерживать, использовать — она не вписывается в остальную логику. Это как если в современный дом провести электричество, перекинув провод через окно — лампочка загорится, но жить с этим нельзя.
Если кто-то будет просто копировать код из нейросети и вставлять — я его уволю.
Дело в том, что ИИ обучался на коде из открытых репозиториев, где есть все: и хорошие образцы, и технический мусор. Разработчик не может быть уверен, что в сгенерированном фрагменте не окажется антипаттернов, костылей или уязвимостей. Особенно это критично в масштабных проектах, где цена ошибки огромна.
Можно сравнить с «теорией разбитых окон»: как только в проект начинают вставлять некачественный, неряшливый код, уровень дисциплины падает. Команда перестает проектировать и начинает просто «штопать» баги. Разработка превращается в хаотичную паутину, где каждый следующий разработчик боится прикасаться к чужим модулям.
Есть и вторая причина, почему мы не доверяем ИИ ключевые фрагменты. Чтобы получить действительно качественный результат, нужно очень долго объяснять ИИ, что именно от него требуется. Промпт должен включать и бизнес-логику, и архитектуру, и технические детали. А если разработчик продумал и разжевал сложную задачу, то ему проще самому написать код.
Сгенерированный искусственным интеллектом код — это не кирпичная кладка, а хижина из веток и соломы: она может простоять какое-то время, но строить на ней второй этаж рискованно. Особенно если вы работаете над продуктом, который должен жить и развиваться годами. Именно поэтому мы в Рулле не используем ИИ для написания бизнес-критичных функций. Но активно используем как помощника — для подсказок и ускорения.
Команда разработки через 5 лет: человек плюс ИИ, но человек — главный
Разработку ждет не замена людей искусственным интеллектом, а сращивание: сильная команда будет использовать нейросети так же естественно, как сейчас используют среды разработки с подсказкой кода. Все идет к тому, что мы становимся операторами ИИ — людьми, которые умеют с ним работать и направлять в нужную сторону.
ИИ становится обычным инструментом в наборе каждого разработчика. Он помогает искать ошибки, ускорять ресерч, подсказывать фрагменты кода. Через несколько лет такие сценарии будут встроены в рабочую среду абсолютно естественно. При этом ключевая задача останется за человеком: думать, выбирать из вариантов, проектировать и отвечать за решение.
Команды будущего будут эффективнее, но только если в них останутся опытные специалисты, способные задать правильный вопрос, интерпретировать ответ и увидеть последствия. ИИ — мощный инструмент. Но как и любой инструмент, он ничего не стоит без умелых рук.
Так что в ближайшие годы выигрывать будут не те, кто просто «прикрутил ИИ», а те, кто научился направлять его в нужную сторону.
Источники изображений:
Личный архив Руллы
Рубрики
Интересное:
Новости отрасли:
Все новости:


