Содержание:
AffTimes 0 26 апреля, 2024
Сначала нейросети пришли на помощь копирайтерам и дизайнерам, а теперь позарились на программистов. Искусственный интеллект научился генерировать код с нуля, проверять его на ошибки, переводить на другие языки и многое другое. Чтобы не проигрывать коллегам, которые взяли ИИ на вооружение, юзать ИИ придется.
Рассказываем, какие нейросети снимут часть типовых задач с программистских плеч и почему ИИ не вытеснит людей из IT в ближайшие 10 лет.
7 нейросетей, которые пригодятся программистам
Составляя подборку нейросетей, мы ориентировались на 3 фактора.
Поддержка нескольких языков программирования. Если ИИ умеет работать с одним языком, его полезность стремится к нулю.
Бесплатная версия или тестовый период. Чтобы не купить «кота в мешке», нужно протестировать ИИ на практике. Доступны россиянам. Все нейросети из ТОПа работают на территории России без ограничений или их можно обойти. Несмотря на доступность, купить платную подписку с карты российского банка не получится — нужен зарубежный пластик.
Tabnine
Суперспособность: дописывать код за программистом, опираясь на его стиль
Tabnine — плагин, который встраивается во внешний редактор кода. Фишка этого сервиса в умении подстраиваться под стиль и задачи юзера. Нейросеть запоминает привычки и имитирует поведение конкретного разработчика.
Если программист работает с несколькими языками, нейросеть переключится между ними — инструмент поддерживает 22 языка. Привыкать к интерфейсу другого редактора кода не придется, Tabnine интегрируется с 15 программами.
Tabnine умеет:
- дополнять код, опираясь на готовые куски и привычки программиста;
- генерировать код с нуля через текстовый промт;
- структурировать и оптимизировать написанное;
- проверять код на ошибки.
Сервис предлагает пользователям 3 типа подписок: 2 платные и 1 бесплатную. Любители экономии получат доступ только к 1 инструменту — дополнению кода.
Adrenaline
Суперспособность: исправлять и объяснять ошибки в коде
Adrenaline — нейросеть с встроенным редактором кода, работающая на базе Open AI Codex. Сервис заточен под проверку кода на ошибки. Если ИИ найдет факап, исправит и подробно объяснит в чем проблема. Если вы учитесь программированию без наставника, присмотритесь к Adrenaline.
В нейросеть встроен чат. Получить совет или спросить у ИИ, как улучшить код можно не отходя от кассы. Если вы сомневаетесь в компетенции Adrenaline, загляните в исходный код — разработчики не стали его прятать.
Нейросеть поддерживает 22 языка программирования. Как и Tabnine, сервис подстраивается под привычки конкретного пользователя.
Adrenaline умеет:
- исправлять и объяснять ошибки;
- запускать внешний код во внутреннем редакторе;
- предлагать несколько вариантов исправления.
Разработчики выкатили 3 тарифных плана. Перед покупкой можно бесплатно тестировать нейросеть в течение 7 дней — нужно ввести данные банковской карты, по истечении пробного периода деньги спишутся автоматически.
Documatic
Суперспособность: составляет и улучшает документацию к коду
Documatic — нейросеть, которая умеет генерировать документацию к коду. Если вы хотите проанализировать написанное и найти уязвимости, ИИ нарисует карту зависимостей.
Сервис составляет документацию, опираясь на структуру кода и комментарии разработчика. В нейросеть встроен поисковик, который ответит на вопросы юзеров и расскажет, как работает код или отдельные части.
Documatic умеет:
- писать документацию к коду с нуля и улучшать имеющуюся;
- объяснять, как работает код или его элементы;
- рисовать карту зависимостей;
- отвечать на вопросы программистов.
Опробовать нейросеть можно бесплатно. Доступ к платным тарифам открывается после консультации с представителем разработчика.
Snyk Code
Суперспособность: анализировать код и находить уязвимости
Snyk Code — плагин, который встраивается во внешний редактор кода. Нейросеть создана для поиска уязвимостей в коде, сторонних библиотеках и фреймворках к различным атакам. Тратить время на ручную проверку больше не придется.
Плагин Snyk Code не такой гибкий, как остальные — его можно интегрировать с 4 редакторами кода.
На выбор юзера 3 тарифных плана: 2 платных и 1 бесплатный.
Любители экономии смогут проверять код не более 100 раз в месяц. Чтобы работать с Free-версией, нужно авторизоваться на сайте через Google или GitHub аккаунты. Платные подписки снимают количественные лимиты и добавляют другие плюшки. Например, интеграцию с Jira или расширенный API.
Copilot
Что умеет: все сразу
GitHub Copilot — нейросеть компании Microsoft, интегрированная с IT-хранилищем GitHub. «Под капотом» у сервиса языковая модель OpenAI Codex, через которую пропустили миллиарды строк кода в процессе обучения.
Искусственный интеллект находит пути решения задач в базе GitHub и предлагает разработчику до 10 вариантов.
Copilot понимает по-русски, но не всегда. Если ИИ не понял ваш запрос, продублируйте на английском языке.
Работа с кодом недоступна в браузерной версии. Чтобы юзать Copilot для айтишных нужд, придется скачать десктопную версию на GitHub. Утилита интегрируется с 4 редакторами кода: VS Code, Neovim, Visual Studio и JetBrains IDEs.
GitHub Copilot умеет то же, что и программисты уровня junior:
- дополнять код, опираясь на контекст программы;
- генерировать куски кода через текстовые промты;
- структурировать и оптимизировать написанное;
- делать отбор информации и баз;
- переводить код с одного языка на другой;
- находить и исправлять ошибки.
Сервис доступен на 3 платформах: Windows, Linux и MacOS. В будущем разработчики планируют выпустить мобильную версию нейросети.
Создатели выкатили 3 платных подписки — есть 30-дневный пробный период. Чем дороже тариф, тем больше «плюшек» внутри.
Учителя, студенты и разработчики приложений с открытым исходным кодом, могут работать с Copilot бесплатно — россияне не исключение. Чтобы получить бесплатный доступ к ИИ, нужно заполнить анкету и приложить подтверждающие документы: зачетку, студенческий билет, трудовую книжку.
ChatGPT
Что умеет: все сразу
ChatGPT — чат-бот, разработанный компанией Open AI. Функционал нейросети ограничен только воображением айтишника. ИИ умеет:
- писать документацию к коду;
- находить и объяснять ошибки;
- генерировать куски кода;
- отвечать на вопросы программиста;
- проверять написанное на соответствие стандартам;
- искать уязвимости.
Общаться с ботом можно на русском языке. ИИ запоминает вопросы, которые задавал пользователь. Генерируя ответ, ChatGPT опирается на контекст диалога. Работать с ИИ можно в браузере или установить неофициальные плагины в редактор кода.
Разработчики выкатили 4 уровня подписок: 1 бесплатную и 3 платных. Бесплатная версия работает на языковой модели ChatGPT 3.5, а платные на 4.0.
Если вы не хотите довольствоваться устаревшей версией, придется искать обходные пути — оплатить подписку картой российского банка не получится.
Нейросетей, которые заточены только под работу с кодом намного больше. Они повторяют функционал наших «героев», поэтому их не включили в материал.
Как бесплатно работать с ChatGPT в России
Рассмотрим работу с кодом на примере нейросети ChatGPT 3.5 от OpenAI.
1. Перейдите на официальный сайт OpenAI и нажмите на клавишу «Try ChatGPT».
2. Кликните по клавише «Sign Up», чтобы создать аккаунт.
3. В открывшемся окне введите адрес электронной почты с доменом в зоне «.com» и придумайте пароль. Не забудьте подключиться к VPN — в противном случае форма регистрации заглючит.
4. После создания аккаунта вас перекинет в диалоговое окно с чат-ботом. Если вы хотите перейти на модель ChatGPT 4.0 и у вас есть зарубежный пластик, кликните по кнопке «Upgrade plan».
Учетная запись активирована, можно приступать к программированию.
Проверка на прочность: тестируем ChatGPT
Не будем изобретать велосипед — поручим нейросети задачи для программистов-джунов. Зарубежного пластика у нас нет, поэтомы протестируем бесплатную версию ChatGPT 3.5.
Напиши программу для калькулятора на JavaScript
Попросим ИИ написать программу для калькулятора, который умеет складывать два числа.
ChatGPT не только сгенерировал код, но и рассказал, как им пользоваться, хотя мы об этом не просили.
Сделай рефакторинг
Нашли в интернете рандомный код на Python, который проставляет водяные знаки на картинках. Программа объемная, попросим нейросеть сделать рефакторинг — упростить код, не изменяя его поведение.
Чтобы не провоцировать ИИ на ахинею, зададим парочку уточняющих вопросов.
ИИ опять дал пояснения по каждому пункту. Начинающие программисты, берите на заметку.
Переведи код с Python на JavaScript
Возьмем простенький код на Python, который преобразует текст в аудио. Попросим ИИ перевести написанное на язык JavaScript. Зададим контекст уточняющим вопросом, чтобы избежать недопонимания.
ChatGPT справился и с этим заданием — не факт, что хорошо, но краткая инструкция на месте. Не нам судить нейросети, пусть это делают профессионалы.
«Друзья частенько скидывают коды, написанные ChatGPT и просят оценить. Я открываю, а это просто нечитаемый кусок дерьма»
анонимный программист о ChatGPT
Не тратьте время на рутину, поручите ее нейросети. Если вы только вкатываетесь в айти, берите ИИ на вооружение — он «разжует» сложные термины человеческим языком и даст парочку советов.
«Для опытных программистов ИИ — помощник, а для джунов — учитель», — Михаил
Узнаем, что думает о нейросетях программист уровня senior, Михаил.
Основная тема интервью — нейросети-помощники для программистов. Расскажите о своем опыте, с какими нейросетями вы успели поработать.
Привет. Я больше менеджер проектов, чем программист, но у меня мидловские знания в Backend и сеньорские в DBA. Мой последний проект — Web3fees. Программа вычисляет, какие комиссии человек платил в блокчейне Etherium по номеру криптовалютного кошелька.
С ИИ я познакомился в конце 2022 года, когда был «бум» искусственного интеллекта. За 1,5 года успел поработать с 4 нейросетями:
- ChatGPT 3.5;
- Claude 2;
- Gemini;
- Perplexity.
Claude был неплох, но бесплатная версия периодически отказывалась работать из-за мнимой перегрузки серверов. Gemini реально крутая нейросетка, ничуть не хуже ChatGPT. Больше всего мне понравилась Perplexity, которая выдает ссылки на источники, в отличии от других нейросетей.
Недавно вышел Devin, который закрывает 14 % тасков. Это в 28 раз больше, чем ChatGPT 3.5, но все равно мало. Нейронку я еще не тестил, но уверен, что до «человекозаменителя» еще далеко.
Нейросети — удел джуна или «палочка-выручалочка» каждого программиста? Стоит ли сеньору юзать ИИ?
Нейросети — помощник каждого программиста. Мидлу и сеньору нет смысла писать полстранички простого кода вручную. Составить ТЗ для нейросети быстрее.
Неопытным программистам не нужно проходить мимо ИИ. Джуны — мальчики и девочки на побегушках, на которых сваливается неблагодарная работа: составлять таблицы, делать выборки и так далее. Вместо того чтобы гуглить и отвлекать старших товарищей, можно сформулировать понятный промт, загрузить вводные и спросить у ИИ.
Нейросеть — помощник, а не заменитель, за которым нужно перепроверять. Если программист не умеет тестировать и отличать плохой код от хорошего, нейросеть ему не поможет. Без базовых знаний никуда.
Часто ли юзаете нейросети и какие задачи перекладываете на ИИ?
Обычно юзаю ИИ, когда пишу простенькие коды на малознакомом языке программирования. Например, есть массив данных, его нужно отсортировать. Если 5 лет назад мне бы пришлось гуглить функции для сортировки, в 2024 году я могу переложить эту задачу на ИИ.
С джуновской работой ИИ справляется отлично, но не тянет мидловскую и сеньорскую — выдает кучу кода, написанного с ошибками. Чем меньше уровней у кода и чем чаще он встречается, тем лучше результат.
ИИ хорошо справляется с типовыми задачами. Джуны больше не нужны?
Нейросети уже частично заменили джунов. Опытным программистам приходится вычитывать написанное и за ИИ, и за неопытным коллегой. Проверить за нейросетью быстрее, чем за джуном.
Если искусственный интеллект ошибется, можно скопировать факапный элемент код и попросить исправить — это займет 10 секунд. Если ошибется джун, ему нужно объяснять и ждать правок — это займет минимум час.
«ИИ поднял входной порог в программирование, но в то же время снизил его»
Михаил
Если джун на «ты» с нейросетями, вкатиться в айти и прокачать скилл до мидловского уровня будет проще и быстрее.
Заключение
Нейросети — помощник и учитель, а не заменитель. ИИ по силам тягаться с джунами, но не с сеньорами и мидлами. Предпосылок к полной замене кожаных программистов пока что нет.
Специалист, игнорирующий ИИ, будет проигрывать продвинутым коллегам в скорости и качестве. Не исключено, что в ближайшем будущем опыт работы с нейросетями станет ключевым фактором при трудоустройстве.