В последние годы искусственный интеллект быстро развивался и применялся во всех сферах жизни, особенно в последние два года появились инструменты разработки ИИ для разработчиков, из которых мы видим безграничные возможности, которые ИИ может предоставить разработчикам. Эта серия статей посвящена Kite, Codota, TabNine, GitHub Copilot, Microsoft IntelliCode, Alibaba Cloud Cozy и AIXcoder, которые являются одними из самых популярных интеллектуальных инструментов кодирования, и за ними последуют более подробные и личные сравнительные обзоры.

В прошлой статье мы представили Microsoft IntelliCode, в этой статье мы рассмотрим недавно выпущенный Alibaba Cloud AI Coding Assistant (сокращенно Cosy), домашняя страница официального сайта: https://alibaba-cloud-toolkit.github.io. /уютно/#/ru-ru/»

Alibaba Cloud AI Coding Assistant, или сокращенно Cozy, был выпущен только в октябре 2021 года и в настоящее время поддерживает только язык Java. Из справочной документации Cosy я узнал, что она использует комбинацию модели глубокого обучения и технологии синтаксического анализа для создания длинного последовательного кода с помощью мощной обучающей способности модели глубокого обучения и в то же время исправляет ошибки, сгенерированные моделью, с помощью комбинации способности анализа синтаксиса. Я понимаю, что Cosy пытается решить проблему генерации некорректного кода, которая распространена в TabNine и GitHub Copilot и т.д. По опыту использования Cosy чувствую, что некорректного кода действительно гораздо меньше, но он все же есть.

Что мне лично нравится, так это функция поиска кода, предоставляемая Cosy, которая извлекает общие фрагменты кода из GitHub, StackOverflow и другого открытого исходного кода, что позволяет мне легко выполнять поиск непосредственно в IDE, а также копировать и вставлять код еще проще.

Функции поддержки

Из-за недавнего выпуска в настоящее время предоставляется только подключаемый модуль IntelliJ IDEA, поддержка языка Java.

Интеллектуальное завершение кода

  • Поддержка всей строки результата завершения кода
  • В автономном режиме Cozy загрузит модель в локальную область при первом запуске, а затем ее можно будет использовать в автономном режиме.

Поиск примера кода

  • Поддержка поиска примера кода указанного API в IDE
  • Поддержка поиска фрагментов открытого исходного кода из таких источников, как StackOverflow, GitHub и т. д., с помощью описаний функций на английском языке в среде IDE.

Официальная демоверсия

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

Вот видео из справочного документа Cozy, в котором сравнивается скорость кодирования с установленным плагином Cozy и только со встроенными дополнениями IDE, вы можете видеть, что скорость кодирования намного выше с установленным Cozy.

Опыт

Давайте взглянем на интеллектуальную функцию завершения кода Cosy.

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

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

2. Cozy может автоматически определять текущую позицию XSSFSheet в соответствии с приведенным выше.

Получив информацию об обязательном преобразовании типа XSSFSheet, Cozy может предоставить результат завершения кода длинной последовательности метода getSheetAt. .

3. Но Cozy немного слабее для циклов for и может заполнить только один абзац, но циклы for часто генерируются быстро с помощью шаблона кода fori IDEA.

4. Cozy иногда имеет синтаксические ошибки, например, класс World, сгенерированный на рисунке ниже, не существует в текущем проекте.

Давайте взглянем на функцию поиска примера кода Cosy.

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

Cozy предоставляет аналогичную Codota API функцию поиска примеров кода, не то же самое место, где вы также можете искать примеры кода через английское описание функции, результаты можно увидеть из GitHub, StackOverflow и других источников результатов примеров кода. Прежде чем IDEA имеет плагин StackOverflow, но этот плагин основан на поиске Google, поэтому разработчики, не имеющие доступа к Google, не могут его использовать, а ощущение подключаемого модуля Cozy не основано на поиске Google.

Как видно из рисунка ниже, Cosy может искать фрагменты кода, связанные с Android, если щелкнуть пример «список Wi-Fi для Android» на главной странице правой панели инструментов Cosy. При вводе условий поиска в поле поиска Cosy может автоматически предлагать ключевые слова, чтобы уменьшить ввод английских слов. Когда мы вводим «read excel», Cozy может искать фрагменты кода, связанные с чтением файлов excel, мы знаем, что существует множество сторонних библиотек для чтения excel. Если мы хотим использовать библиотеку Apache POI, мы можем объединить запрос, введя имя API «Workbook».

В целом автодополнение кода Alibaba Cloud Cosy в эффекте TabNine идет дальше, чтобы решить часть дефектов генерации неправильного кода, но все еще есть некоторые проблемы в деталях полировки, по сравнению с TabNine, GitHub Copilot имеет массу преимуществ. Функция поиска кода в Cozy — это действительно хорошее преимущество по сравнению с другими инструментами, которое значительно облегчает мне ежедневное «копирование» кода.

Alibaba Cloud Уютно для всех, чтобы представить здесь, текст, если есть ошибки, можно исправить. Заинтересованные партнеры могут приобрести опыт работы на рынке подключаемых модулей IDE, выполнив поиск Alibaba Cloud AI Coding Assistant или Cosy ( в настоящее время поддерживается только IntelliJ IDEA), добро пожаловать на обмен отзывами в комментариях. В следующей статье этой серии мы познакомим вас с еще одним отечественным инструментом AIXcoder, так что следите за обновлениями!