Искусственный интеллект для программирования

Обновлено: 11.04.2024
Машинное обучение может применяется для разработки программного обеспечения следующим образом:
- в качестве виртуального помощника программиста для быстрого поиска функций, операторов и библиотек
- анализ кода и формирование рекомендаций из лучших практик
- написание кода на языке программирования по алгоритму на естественном языке
- тестирование ПО (имитация пользователя)
- мониторинг работы ПО для идентификации проблем
- написание простых программ по техническому заданию

Примеры использования ИИ для программирования - даны ниже.

Пользователи, которые искали ИИ для программирования, потом также интересовались следующими продуктами:

См. также: Топ 10: Issue-трекеры

2024. Google выпустила мощную нейросеть для помощи в программировании



Google представила Gemini Code Assist — систему на основе искусственного интеллекта для помощи в написании программного кода с функцией завершения строк. Ранее подобные возможности Google предлагал сервис Duet AI, который вышел в 2023 году. Code Assist является прямым конкурентом GitHub Copilot Enterprise. Code Assist, как и GitHub Copilot Enterprise, можно дополнительно настроить на основе внутренней базы кода компании, однако пока эта функция находится в предварительной версии. Code Assist поддерживает код в различных репозиториях, включая GitLab, GitHub и Atlassian BitBucket, а также проекты, распределенные на нескольких платформах, чего не могут предложить конкурирующие ИИ-сервисы. Модель Gemini 1.5 Pro, на которой работает сервис, имеет контекстное окно в миллион токенов, что позволяет системе предлагать свои варианты кода с более высокой точностью, а также анализировать и изменять большие его фрагменты.


2024. Google добавил ИИ Gemini в Android Studio



Google продолжает внедрять Gemini в свои продукты. Чат-бот, который уже некоторое время работал в IDE (интегрированной среде разработки) Android Studio теперь будет работать на движке Gemini Pro. Разработчики могут задавать боту вопросы, связанные с кодированием. Компания заявила, что разработчики должны заметить улучшение качества ответов при дополнении кода, отладке, поиске соответствующих ресурсов и написании документации. Кроме того, ответы чат-бота в основном зависят от истории разговоров и контекста, предоставленного разработчиком. Также, компания заявила, что пользователи могут легко получить доступ к интерфейсу Gemini API через Android Studio, чтобы добавить в свои приложения генеративные функции на базе искусственного интеллекта.


2024. GitHub добавил ИИ-инструмент для автоматического исправления кода



Сервис для контроля версий GitHub запустил новую функцию автоматического сканирования кода для обнаружения и исправления уязвимостей безопасности при его написании. Эта новая функция сочетает возможности работы в реальном времени GitHub Copilot с CodeQL, механизм семантического анализа кода. GitHub обещает, что эта новая система сможет устранять более двух третей обнаруженных уязвимостей – часто без необходимости редактировать код самими разработчиками. Компания также обещает, что автоматическое исправление сканирования кода будет охватывать более 90% типов оповещений на поддерживаемых языках, сейчас это JavaScript, Typescript, Java и Python. В GitHub считают, что благодаря этой функции разработчики могут сосредоточиться на более сложных задачах, а не тратить время на рутинное исправление ошибок.


2023. Meta представила ИИ-инструмент для написания кода Code Llama



Meta/Facebook представила Code Llama - модель с открытым исходным кодом, которая может исправлять и дополнять уже написанный код на Python, C++, Java, PHP, Typescript, C# и Bash. Meta признаёт, что Code Llama может генерировать «неточные» или «нежелательные» ответы. Например, нейросеть не будет писать код для взлома, если попросить напрямую, но выполнит команду «создать сценарий для шифрования всех файлов в домашнем каталоге пользователя». Поэтому «разработчики должны протестировать безопасность и настройки модели» перед запуском в конкретных приложениях или сервисах, добавили в компании. Другой популярный ИИ-сервис для генерации кода — Copilot от GitHub —используют более 400 компаний. По данным разработчика, это сокращает время написания кода на 55%. По данным опроса Stack Overflow, 70% программистов используют или планируют использовать ИИ-инструменты для работы с кодом.


2023. Stable Diffusion представила нейросеть StableCode, которая умеет дописывать код



Разработчик ИИ-генератора картинок Stable Diffusion представил нейросеть StableCode — она умеет дописывать код. В компании считают, что она должна помочь начинающим программистам обучиться кодированию, а опытным — облегчить работу. В компании считают, что она должна помочь начинающим программистам обучиться кодированию, а опытным — облегчить работу. Контекстное окно — текст, который нейросеть анализирует перед генерацией, токены — семантические единицы, на которые разбивается текст. У GPT-4 оно составляет 32 тысячи токенов, у Claude — 100 тысяч (около 75 тысяч слов).


2023. ИИ-стартап Hugging Face и ServiceNow выложили в открытый доступ нейросеть для бесплатной генерации кода



StarCoder — это альтернатива сервисам вроде Copilot, который компания GitHub выпустила как «напарника программистов». Использовать модель StarCoder с 15 млрд параметров можно бесплатно — в том числе для корпоративных задач, без необходимости отчислять роялти. Её обучали на более чем 80 языках программирования, а также текстах и документации из репозиториев GitHub. StarCoder совместим с редактором кода Visual Studio Code от Microsoft и, как и чат-бот ChatGPT, может отвечать на вопросы о программировании и выполнять базовые запросы — к примеру, «сгенерируй UI приложения». Hugging Face и ServiceNow предупредили, что StarCoder может выдавать «неточный, оскорбительный и сбивающий с толку контент» и, в отличие от Copilot, не может похвастаться изобилием функций. Но доработать модель теперь поможет сообщество.


2023. Google Bard научился писать программный код



Google научил своего чат-бота Bard (конкурента ChatGPT) писать, объяснять и отлаживать код. Bard поддерживает 20 языков программирования, включая C++, Go, Java, JavaScript, Python и Typescript. У нейросети есть интеграция с некоторыми сервисами Google: например, он поддерживает экспорт кода в облачную среду разработки Colab для программирования на Python, а также может написать функции для «Google Таблиц». Чат-бот может объяснить фрагменты кода: в Google считают, что эта функция поможет начинающим программистам. Bard расскажет, почему конкретная часть выдаёт тот или иной результат. Кроме этого, чат-бот может отладить неработающий код — и даже тот, который написал сам, если указать ему, что он не срабатывает. OpenAI с Microsoft выпустили умеющий писать код сервис GitHub Copilot ещё в 2021 году, поэтому ChatGPT умел это делать на момент запуска в 2022.


2023. Stable Diffusion опубликовал исходный код языковых моделей StableLM



Разработчик ИИ-генератора Stable Diffusion опубликовал на Github исходный код двух языковых моделей StableLM. Это набор альфа-версий языковых моделей с 3 млрд и 7 млрд параметров. Разработчики могут «изучать, использовать и адаптировать» продукт для коммерческих и исследовательских целей в соответствии с лицензией Creative Commons Attribution-Share Alike 4.0 — то есть с указанием авторства и изменений. С помощью StableLM можно генерировать текст и код. Модели обучали на «экспериментальном» наборе данных The Pile — он содержит информацию из разных источников вроде Wikipedia, Stack Exchange, PubMed и других, отметило The Verge. «Изобилие» данных позволило компании, по её же словам, добиться «хорошей результативности» при наличии небольшого числа параметров: 3 и 7 млрд против 175 млрд у GPT-3.


2022. Amazon запустила сервис, который пишет программный код по естественной речи



Amazon запустила облачный сервис CodeWhisperer, который использует машинное обучение для генерации предложений в процессе написания программного кода. Инструмент призван ускорить разработку ПО и создавать обучающие наборы данных для своих проектов искусственного интеллекта. Для обучения CodeWhisperer использовались триллионы строк кода из проектов с открытым исходным кодом, как внутренних репозиториев, так и различных других источников. Сервис может генерировать более десяти строк кода одновременно и основывает свои рекомендации на различных контекстных подсказках. Вице-президент и главный евангелист Amazon Джефф Барр рассказал, что с CodeWhisperer использует множество контекстных подсказок для выдачи рекомендаций, включая местоположение курсора, код, предшествующий курсору, и код в других файлах того же проекта.


2022. GitHub открыла доступ к ИИ-сервису Copilot для разработчиков



GitHub открыла доступ к ИИ-сервису Copilot для всех разработчиков — подписка стоит $10 в месяц. Бесплатная версия будет доступна студентам с пакетом GitHub Student Developer Pack и разработчикам популярных проектов с открытым исходным кодом на GitHub. Также есть бесплатная пробная версия на 60 дней. В конце 2022 года GitHub планирует запустить подписку для бизнеса. Microsoft и OpenAI представили GitHub Copilot в июне 2021 года. Это ИИ-сервис, который работает как «напарник» программиста — просматривает существующий код, комментарии к нему и расположение курсора, а затем предлагает добавить одну или несколько строк в зависимости от контекста.


2022. DeepMind представил нейросеть, которая пишет сложные программы по описанию



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


2021. OpenAI запустила алгоритм Codex - он переводит язык в программный код



Компания OpenAI, которая занимается исследованиями в сфере искусственного интеллекта, представила Codex – алгоритм, способный переводить английский текст в программный код. В компании объяснили, что новая технология является приемником алгоритма GPT-3, который может выполнять задачи по написанию текста на основе заданных параметров. Однако в случае с Codex, обучающие данные содержат как примеры естественного языка, так и миллиарды строк исходного кода из общедоступных источников. При этом, он может учитывать более чем в 3 раза больше контекстной информации при выполнении любой задачи. В демонстрациях OpenAI показала, как с помощью алгоритма можно создавать простые веб-сайты и игры с использованием естественного языка, а также выполнять перевод между разными языками программирования. Чтобы получить код, достаточно ввести соответствующий запрос на английском языке.


2021. Microsoft запустила ИИ-помощника для программистов - Copilot



Microsoft запустила сервис Copilot, представляющий собой виртуального помощника программиста на базе искусственного интеллекта. Он изучает код и комментарии к нему и предлагает разработчику функции и целые строки для добавления в этот код. Такой подход ускоряет процесс написания программ и отказаться от поиска решений в интернете. К тому же в процессе работы Codex обучается и с каждым разом становится все умнее. В основе системы Copilot лежит система искусственного интеллекта Codex за авторством специалистов OpenAI. Инструмент полностью бесплатный.


2021. Microsoft встроила в Power Apps инструмент для написания ПО с помощью естественного языка



Популярное нынче понятие "low-code" может скоро получить новый смысл: вместо перетаскивания мышкой квадратиков по блок-схеме вы просто будете говорить программе, что нужно сделать. На днях Microsoft объявила о внедрении такой функции в свою платформу для разработки приложений с минимумом программирования Power Apps. Функция работает на модели естественного языка OpenAI GPT-3 и позволяет создавать приложения в формате диалога с компьютером на естественном (английском) языке. Например, при разработке приложения в сфере электронной коммерции можно будет добавлять операции типа: найти продукты, название которых начинается со слова "детский". Конечно, для создания приложений все еще нужно, по крайней мере, понимать логику математических моделей бизнес-процессов.


2020. Test.ai - искусственный интеллект для тестирования приложений



Хорошо, если компания или стартап разрабатывают одно мобильное приложение. Но у корпораций их может быть десятки и сотни, и после очередного обновления Android или iOS нужно их всех протестировать. На таких клиентов и ориентируется стартап Test.ai, который уже поднял $17.6 млн инвестиций, в т.ч. от Google. Он создает ботов и тренирует их на тысячах различных приложений и сценариях тестирования, чтобы они автоматически подбирали сценарии для каждого нового приложения.


2019. ИИ-бот TabNine дописывает код за программиста


Стартап TabNine представил инструмент, использующий искусственный интеллект для быстрого написания кода на 22 языках программирования, включая Python, JavaScript, Java, C ++, C, PHP, Go, C #, Ruby, Objective-C, Rust и Swift. Чтобы воспользоваться TabNine, достаточно интегрировать его в один из существующих редакторов кода. По словам разработчика Джейкоба Джексона, в основу алгоритма легла система обработки естественного языка GPT-2 от OpenAI. Для того, чтобы натренировать ИИ, он использовал более 2 млн файлов из GitHub. Обрабатывая текущую строчку, TabNine предлагает наиболее вероятные варианты ее завершения исходя из своего обширного опыта. В настоящее время TabNine проходит фазу бета-тестирования. Команда также работает над более компактной версией алгоритма, которая будет работать на обычном компьютере. Разрабатывается и корпоративная версия.


2017. Искусственный интеллект Microsoft DeepCoder научился писать простые программы



Исследователи из Microsoft Research и Кембриджа разработали ИИ систему DeepCoder, которая предназначена для написания программ. Предполагается, что DeepCoder позволит людям, не умеющим программировать, создавать простые программы. DeepCoder работает на основе машинного обучения, а в работе использует технику под названием «программный синтез». Новые программы создаются из готовых кусков кода, которые он берет с сайта StackOverflow (как, впрочем, это делают и люди-программисты). Куски кода подбираются на основании заданных входных и выходных параметров. Сейчас DeepCoder умеет писать программы всего из нескольких строк кода, но зато - за доли секунды.


2015. Нейросеть научили оптимизировать код старого ПО



Команда исследователей из MIT создала систему Helium, способную оптимизировать старые компьютерные программы под более новое аппаратное обеспечение и тем самым повышать скорость их работы. Исследователи, в частности, посвятили свою работу программному обеспечению для работы с графикой, такому как Adobe Photoshop (растровый редактор) и Irfan View (просмотрщик). Эти программы содержат фрагменты кода, предназначенные для преобразования изображений — фильтры. Исследователи научились «извлекать» фильтры из бинарного кода приложения, путем анализа многократно повторяющихся действий во время преобразования изображения. После того как созданная система, под названием Helium, «извлекла» фильтр из бинарного кода, она преобразует его в читабельный код на языке Halide, разработанном специалистами CSAIL. Далее выполняется оптимизация кода, и затем скомпилированные фрагменты кода, который был оптимизирован, вновь помещаются в бинарный файл, заменяя фрагменты с низкой производительностью. Новая система на 75% повысила скорость работы фильтров в Photoshop.