Искусственный интеллект не только сочиняет тексты и рисует картинки, но и помогает писать код. Современные AI-инструменты на основе больших языковых моделей в действительности могут генерировать практически что угодно — от музыкальных треков до полноценных финансовых моделей. Чем код хуже?

Речь идет не о «сырых» моделях машинного обучения, а о дополнениях, которые уже сейчас можно подключить к  редактору кода. Они проверены, «обкатаны» и одобрены сотнями разработчиков.

Таких программных дополнений много, но мы поговорим о шести самых популярных и полезных — как для опытного программиста, так и для джуна.

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

OpenAI Codex + GitHub Copilot

Ребята из OpenAI подарили нам не только ChatGPT, но и другие полезные штуки — например, DALL·E, инструмент для генерации изображений. А еще из-под их пальцев вышел OpenAI Codex — основанная на GPT-3 модель машинного обучения, которая способна писать код на самых востребованных языках программирования: JavaScript и TypeScript, PHP, Perl, Ruby и других. Обучена модель на миллионах строчек кода из репозиториев GitHub и других открытых источников.

Читайте также: «Под капотом у ChatGPT: как работает нашумевший чат-бот».

На OpenAI Codex основан GitHub Copilot — готовый генератор кода, который есть в виде плагина к VSCode и другим средам разработки. Он создает код, основываясь на заявках, написанных простым человеческим языком, и неплохо с этим справляется, по сути заменяя Google и Stack Overflow. Если научиться составлять грамотные промты, он сэкономит часы кодинга.

Polycoder

Polycoder — это как OpenAI Codex, но с открытым исходным кодом. Он основан на языковой модели OpenAI GPT-2, обучен на 249 Гб данных, способен генерировать код на 12 языках программирования, включая JavaScript, TypeScript, C, C# и C++, Python, и тоже готов заменить начинающим и опытным кодерам Stack Overflow, только совершенно бесплатно и с возможностью развернуть его локально. Разработчики Polycoder уверяют, что на C их искусственный интеллект пишет лучше, чем Codex.

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

Tabnine

Тогда как GitHub Copilot и Polycoder генерирует код на основе заявок, Tabnine его дописывает. И не только отдельные теги, но и полноценные строчки кода и функции. Причем, будучи моделью машинного обучения, Tabnine работает с контекстом и даже копирует стиль программирования конкретного разработчика.

Работает этот инструмент более чем с 20 языками и 15 редакторами кода, среди которых наверняка есть и привычный вам. Данные он нигде не хранит, так что о безопасности можно не беспокоиться.

Есть и недостаток — в бесплатной версии Tabnine будет дописывать только слова. Полный функционал начинается с платных тарифов от $12 в месяц.

Mintlify

Mintlify — ИИ-инструмент для написания документации и комментариев, потому что для многих разработчиков нет ничего скучнее, чем эти занятия. Генерация происходит автоматически, потому что инструмент обладает впечатляющей способностью распознавать чужой код — возможно, даже более продвинутой, чем у вашего тимлида.

Mintlify понимает довольно сложные функции, с его помощью можно быстро и легко генерировать комментарии к определенным участкам кода. Более того: он помогает разобраться, что хотел сказать своим кодом другой разработчик.

CodeT5

В инструментарии разработчиков есть модели машинного обучения, которые позволяют переводить человеческий язык в программный. Значимая среди них фигура — CodeT5 от команды SalesForce, инструмент с открытым исходным кодом, основанный на фреймворке T5 от Google.

Его можно использовать для того, чтобы преобразовывать запрос в код, дописывать с его помощью начатые функции и писать комментарии к имеющимся участкам кода.

CodeT5 обучили на более чем 8 миллионах строчек кода из публичных репозиториев GitHub. Он знает JavaScript, Python, C и C#, PHP и другие языки программирования.

Cogram

Cogram — еще один no-code инструмент для генерации кода, только заточен он под дата сайентистов и разработчиков на Python, использующих SQL-запросы и интерактивные блокноты Jupyter.

Cogram берет составленный простым человеческим языком запрос и переводит его на язык баз данных — то есть SQL. Он поддерживает такие БД как MySQL, PostgreSQL, SQLite и Amazon Redshift.

Инструмент интегрируется со средой разработки Jupyter и генерирует код, реагируя в том числе на контекст в зависимости от комментариев. И даже умеет делать визуализации при помощи Seaborn, Plotly или Matplotlib — полезная фича для дата сайентистов.

Машинное обучение это круто, потому что автоматизирует рутину и освобождает время для творчества. Неважно, работаете вы с кодом или нет, искусственный интеллект поможет в любом случае, как и зерокодинг — принцип, основанный на разработке без программирования.