В ближайшем обозримом будущем ИИ будет помогать человеку во всё большем количестве отраслей. Включая, конечно, и разработку. Как известно, уже сейчас есть нейросети, которые способны оказывать неплохую помощь программистам. В этой подборке расскажем о пяти таких нейронках. Самую популярную из них, GitHub Copilot, упоминать не будем, поскольку о ней и так все и всё знают. Подробности о других пяти инструментах — под катом.

Codeium

Нейросеть, которая, судя по отзывам пользователей, значительно ускоряет рабочий процесс. Она способна как дописывать код, так и предлагать готовые инструменты. Кроме того, она умеет проверять код и генерировать базовую документацию.

Модель использует технологию генеративного искусственного интеллекта для прогнозирования направления работы и предложения строк кода на основе как контекста, так и синтаксиса самого пользователя.

Судя по отзывам, производительность нейросети отличная, она ни в чём не уступает «коллегам», вроде Copilot, Tabnine, Replit Ghostwriter и т. п. Главный положительный момент нейронки — система поиска контекста — context aware everything, которая позволяет решить сразу несколько задач:

  • анализ естественного языка и ЯП при помощи docstrings

  • фрагментация контекста в зависимости от запроса

  • гибридный поиск редких сущностей

Нейросеть поддерживает популярные среды разработки, есть и расширение, позволяющее работать из браузера. Языки, с которыми «знаком» Codeium, — C#, C, Python, CSS, Go, Groovy, Kotlin.

Стоимость Codeium составляет $12 за пользователя в случае подписки целой команды. Для остальных категорий — всё бесплатно.

Tabnine

Как и предыдущий инструмент, эта нейронка не сделает всю работу за пользователя. Она позволяет дописывать код на базе уже готовой части. Отличительный момент в том, что нейросеть способна адаптироваться к стилю и приёмам работы отдельного человека. Она анализирует индивидуальные особенности кода и дописывать то, что осталось, примерно в таком же стиле.

Нейронка достаточно универсальная, она работает с C#, C, Python, PHP, Ruby, Kotlin плюс поддерживает наиболее распространённые фреймворки и библиотеки: React, Sass и Matlab. Также интегрируется с VSCode, Atom, Sublime Text, Vim и другими востребованными редакторами кода.

Дополнительные возможности Tabnine:

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

  • интеграция с разными редакторами кода: Tabnine интегрируется с большинством популярных редакторов кода, включая VSCode, Atom, Sublime Text, Vim и другие

  • работа без интернета. Tabnine доступна и локально, без необходимости соединения с удалённым сервером

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

Стоимость — $12 в месяц. Есть бесплатный вариант, но в нём много ограничений. Предусмотрен и пробный период на 14 дней.

AskCodi

А это — чат-бот для программистов, в котором основные функции доступны прямо в браузере. Авторы проекта заявляют, что наиболее типичный вариант использования сервиса — в качестве справочника.

При этом сервис поддерживает популярные среды разработки, постоянно добавляются новые. В некоторые, включая, например, Visual Studio или IntelliJ IDEA, AskCodi встраивается как расширение.

В сервисе два основных модуля — чат и т. н. «рабочая тетрадь». Бота можно просить оптимизировать уже готовый код, преобразовать отдельные процедуры или функции.

В «рабочей тетради» пользователь может попросить сгенерировать код на одном из поддерживаемых языков, объяснить уже готовый код (инструмент даёт хорошие пояснения, что делают конкретные фрагменты кода) или написать комментарий к какому-либо участку. Более того, нейронка может перевести код с одного языка на другой, хотя, по словам пользователей, бывают и проблемы.

Работает с такими ЯП, как Python, C, Java, JavaScript, Lua, Rust.

Тарифы стартуют от $8,3. Есть и бесплатный пакет, но с определённым количеством ограничений.

Documatic

Эта нейросеть по текстовому запросу кодера может сгенерировать документацию к коду, что является главным умением нейронки. Кроме того, Documatic может дать ёмкий и понятный ответ насчёт особенностей собственного кода — например, как работают определённые функции. Для того чтобы создавать документацию, Documatic анализирует как комментарии к коду, так и структуру. При необходимости нейросеть может объяснить и то, как работает весь код, а не отдельные его участки.

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

Сервис «знает» Python, JavaScript, TypeScript, Golang, Java. Платить придётся только бизнес-пользователям, обычным разработчикам, которые работают индивидуально, всё бесплатно. 

Mintlify

И ещё один сервис, созданный для автоматической генерации документации. Он весьма дружелюбен к юзеру, те, кто его тестировал, говорят, что проблем с пониманием, как всё работает, нет. Поддерживает сервис сразу 12 языков программирования, включая Python, JavaScript и PHP.

Для создания описания функции нужно её выделить и нажать на кнопку Generate Docs — нейросеть всё сделает сама: описание значения функции, её параметров и т. п. Стоит отметить, что поддерживаются лишь VS Code и IntelliJ IDEA. Для других IDE плагинов пока нет.

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

Комментарии (2)


  1. Wiggin2014
    23.04.2024 01:54

    В чем смысл просто скопировать статью??

    На какие AI Coding Assistants стоит обратить внимание в 2024? https://habr.com/p/809421/


  1. rPman
    23.04.2024 01:54

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

    p.s. ни слова про недавно вышедшую llama3-70b, она в coding догнала gpt4, да и мои личные тесты проходит так же хорошо, например

    write a C++ class that simulates a two-dimensional array, so that working with elements of this class is the classic syntax mas[x][y] using operator[], but the data is stored in a one-dimensional array in a class object (without using std vector, only pure mas[x+Sx*y]) . The element type and array dimensions must be determined by the template parameters