Как новые ИИ-инструменты трансформируют труд разработчиков
Развитие технологий искусственного интеллекта стремительно меняет ландшафт IT-индустрии. Какие возможности они открывают, и насколько готовы к полноценному внедрению, рассказал Михаил Емельянов, директор департамента разработки RuStore.
97 открытий938 показов
Все больше компаний внедряют ИИ-инструменты для оптимизации различных бизнес-процессов, включая разработку мобильных приложений. Чтобы ускорить свою работу, разработчики стали часто использовать нейросети, такие как ChatGPT, Codex или Copilot. Насколько эта практика оправдана и безопасна для индустрии?
Расширение горизонтов с помощью ИИ-решений
Сегодня разработчики активно экспериментируют с ИИ-инструментами и внедряют их в свои рабочие процессы. По данным недавнего исследования, около 70% компаний в сфере IT уже используют различные решения на базе искусственного интеллекта. Однако пока их применение носит скорее точечный характер, а не полностью заменяет всю разработку.
Дело в том, что чат-боты, вроде ChatGPT, используют достаточно обученные модели для генерации текста по запросу, но для написания кода все еще имеют определенные ограничения. Они пока не могут полноценно заменить Google или Яндекс в качестве поисковой системы, так как могут не иметь доступа к общей кодобазе проекта или доступ «в сеть». Если попытаться узнать элементарную актуальную информацию о погоде или котировках на бирже, ИИ-ассистенты будут вынуждены признать отсутствие таких сведений.
Для решения этой проблемы компании разрабатывают специализированных ИИ-агентов, способных взаимодействовать с онлайн-сервисами и предоставлять пользователям необходимую информацию. Так, VK запустил бета-версии генеративного ИИ в сервисах «Почта», «Облако», «Заметки» и «Календарь Mail.ru», которые помогут пользователям автоматизировать рутинные задачи и генерировать креативные идеи. Нейросети могут составить пересказ входящих писем, создать текст на заданную тему и придумать поздравления.
По мере совершенствования этих технологий и появления новых интеграционных решений, ИИ будет занимать все более значимое место в повседневной работе и программистов.
Новые возможности для разработки
Все больше компаний уже предлагают услуги по интеграции ИИ-решений под конкретные задачи заказчиков. Таким образом, организации могут ускорить процесс внедрения и начать использовать нейросети для решения тех или иных бизнес-задач.
Что касается популярных ИИ-инструментов, то помимо чат-бота ChatGPT, компании нередко используют Open Source разработки или даже создают собственные. Эти модели также показывают хорошие результаты в генерации текста и кода. Они используются внутри крупных IT-компаний, включая Microsoft.
Основные сферы применения ИИ-инструментов в разработке:
- Генерация кода. Когда человек формулирует задачу или предоставляет контекст, ИИ-модель может сгенерировать соответствующий код. При этом человеку необходимо проверить и доработать полученное решение.
- Трансформирование. Модели на основе трансформеров способны превращать одну форму информации в другую. Например, переводить код с одного языка программирования на другой.
- Поиск ошибок. Статические анализаторы кода на базе ИИ могут проводить инспекцию кодовой базы и предоставлять рекомендации по исправлению багов.
- Чат-боты. Встроенные в корпоративные системы чат-боты на основе ИИ позволяют быстро находить необходимую информацию в базах знаний компании.
- Помощь при составлении описаний и документации. Благодаря шаблонному характеру многих технических текстов, ИИ-инструменты эффективны в их написании.
- Генерация и оптимизация UI. Модели на основе трансформеров способны анализировать требования к дизайну, целевую аудиторию и пользовательские сценарии, а затем генерировать прототипы и макеты экранов с учетом лучших практик.
- Выбор оптимальных цветовых схем, типографики и размещения элементов интерфейса. ИИ-инструменты способны анализировать большие наборы данных по юзабилити и конверсиям, выявляя закономерности, которые человек может упустить.
- Оптимизация производительности и обнаружение узких мест в коде приложения. Статические анализаторы на базе ИИ могут сканировать исходный код, выявляя потенциальные проблемы с памятью, загрузкой процессора или задержками.
Сферы применения ИИ-инструментов в разработке становятся все более разнообразными. Однако для максимально эффективного использования этих технологий важно понимать, в каких задачах ИИ могут быть полезны для разработчика.
Code Assistants
- GitHub Copilot — плагин от GitHub интегрирован непосредственно в экосистему платформы, делая его чрезвычайно удобным для пользователей GitHub. Copilot использует последнюю версию ChatGPT, что обеспечивает высокое качество генерируемого кода и его релевантность текущим задачам. Основным недостатком является его недоступность на территории России, что создает серьезные ограничения для его повсеместного использования разработчиками.
- CodeGpt — плагин для IDEA/Android Studio отличается универсальностью и бесплатностью, предоставляя возможность подключать различные доступные модели ИИ, начиная от GPT и заканчивая Llama. В условиях санкций становится одним из наиболее удобных средств для российских разработчиков, так как не требует привязки к конкретным сервисам, доступ к которым может быть ограничен.
- Continue — плагин, поддерживающий VS Code и JetBrains, также предлагает пользователям возможность интеграции с различными моделями искусственного интеллекта. Однако его использование в России столкнулось с вопросами доступности, что делает его не самым оптимальным вариантом.
Инструменты для серфинга и чатов
- Google Gemini — модель LaMDA, мощная нейронная сеть, доступная для пользователей через Google аккаунт и на территории России. Gemini является достойным конкурентом на рынке благодаря возможностям обработки естественного языка и интеграции с различными сервисами Google.
- Anthropic Harmony — эта модель представляет собой мощную нейросеть, доступную для пользователей на территории России. Harmony является достойным конкурентом на рынке благодаря возможностям обработки естественного языка и интеграции с различными сервисами.
- Claude AI — еще одна быстрорастущая нейронная сеть. Одним из её ключевых преимуществ является способность хорошо сохранять контекст ответов, что особенно полезно для длительных диалогов. Claude AI также поддерживает работу как с текстом, так и с изображениями.
Эти инструменты предлагают широкий спектр возможностей, которые могут существенно упростить жизнь российским разработчикам, несмотря на существующие ограничения. Подбирая подходящий инструмент, важно учитывать его доступность, функциональность и соответствие конкретным требованиям, чтобы обеспечить максимальную эффективность и продуктивность в работе.
Как ИИ-инструменты помогают разным уровням специалистов
Наиболее эффективно ИИ показывает себя в работе именно с опытными программистами (миддлами и сеньорами). Именно они способны в полной мере использовать возможности нейросетей и извлекать максимум пользы.
Опытные специалисты могут применять ИИ-помощников для ускорения рутинных задач, таких как написание «бойлерплейт» (рутинного) кода, поиск и исправление ошибок, а также для генерации прототипов схем или оптимизации интерфейсов. Благодаря глубокому пониманию предметной области и хорошим навыкам программирования, опытные инженеры способны эффективно дорабатывать и адаптировать решения, предлагаемые ИИ-моделями.
Для начинающих же разработчиков-джунов использование таких инструментов может быть более рискованным. Молодые специалисты должны, в первую очередь, пока самостоятельно набирать опыт при решении задач и стараться не перекладывать эту ответственность на ИИ, особенно в учебном процессе. Иначе есть риск, что данные специалисты так и не укрепят свои навыки программирования, инженерии. Например, если джун-разработчик использует ИИ-инструмент для автоматической генерации кода, он может получить результат, который будет работоспособным, но плохо оптимизированным и трудным для понимания. Такой код он не сможет исправить самостоятельно и будет сложно поддерживать, развивать в будущем.
Тем не менее начинающие разработчики могут использовать ИИ-инструменты в качестве вспомогательных — например, для автодополнения кода или поиска ошибок. Это позволит им ускорить некоторые рутинные операции, не замещая при этом собственные знания и навыки.
Стоит ли игра свеч?
Использование ИИ-инструментов в разработке поднимает множество вопросов, которые необходимо тщательно рассмотреть.
Во-первых, возникает проблема ответственности. Если ИИ-система принимает ошибочное или вредное решение, кто будет за это в ответе — разработчики, компания, владеющая моделью, или сама система? Этот вопрос требует прозрачности алгоритмов и возможности аудита их работы.
Во-вторых, использование ИИ поднимает серьезные вопросы конфиденциальности и защиты личных данных. Алгоритмы могут раскрывать личную информацию или делать предположения о пользователях, что недопустимо. Необходимо обеспечить строгие меры по защите данных и получению согласия на их использование.
В-третьих, разработчики должны быть предельно внимательны к возможным ошибкам и уязвимостям в ИИ-решениях. Данные, на которых обучались модели, могут иметь недостатки, а качество самих решений зависит от общей культуры разработки. Поэтому необходимо тщательно тестировать и контролировать выходные данные ИИ, особенно в чувствительных областях.
Только при соблюдении этих принципов внедрение ИИ-технологий может быть безопасным и оправданным.
97 открытий938 показов