За пределами всем известного GitHub Copilot лежит огромный мир полезных приложений для программистов, и каждую неделю в нем появляется что-нибудь новенькое. В этом посте мы расскажем об этих инструментах — как полноценных конкурентах продукта GitHub, так и более специфических плагинах, а также о нашей собственной разработке в этом направлении.

Cody AI

Расширение Cody AI создано той же командой, что сделала SourceGraph. Cody AI загружает ваш репозиторий в базу SourceGraph, и каждый раз опирается на него, отвечая на ваши вопросы. Инструмент поддерживает много функций, которые здесь называются «рецепты». Например, вы можете выделить текст и попросить написать к нему комментарий в стиле JS. Или попросить «понюхать» выбранный кусок кода — и в ответ получите список, куда войдут не только необходимые фиксы, но и пункты «на подумать». Например, большое количество if в коде; если это вам не нравится, можно попросить оптимизировать код. В ответ вам не только предложат альтернативу, например, со switch, но и расскажут, почему она будет работать быстрее.

Cody AI в работе. Источник 
Cody AI в работе. Источник 

SourceGraph — это платный продукт, но Cody AI — бесплатный; сейчас, на ранней стадии продукта, единственное ограничение — это количество запросов к GPT 3.5, 250 в месяц. Cody AI экономичен в запросах и умело сжимает контекст, поэтому лимит получается не такой уж и маленький.

Amazon CodeWhisperer

CodeWhisperer — аналог Copilot, созданный Amazon и почти не уступающий ему. Но при этом бесплатный. CodeWhisperer активно развивается, и если вы первый раз хотите попробовать AI-инструменты в работе, то это будет хорошим стартом, прежде чем вы решитесь на еще одну строчку расходов.

Источник

Copilot Labs

Copilot Labs — бесплатное расширение для VS Code, которое отделено от самого Copilot. Оно основано примерно на тех же «рецептах», что и Cody AI, но здесь они называются «кистями» (brush). Примечательна здесь возможность настройки кастомных «кистей» — сценариев, к которым можно регулярно возвращаться в работе. В них можно включать разные шаги — фикс багов, создание списков, улучшение читаемости и т. д. Помимо кастомных кистей, Copilot Labs умеет создавать тесты, объяснять код и переводить его на другой язык.

Пример работы.

Lintrule

Lintrule — это LLM (большая языковая модель), которая проводит код-ревью. Работает она через командную строку. Для работы Lintrule может подгрузить пользовательские config-файлы и учитывать их при ревью. Это недешевый инструмент, ревью 1000 строчек кода обойдется в $1.

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

OpenCommit

OpenCommit — инструмент для создания коммитов, победивший на хакатоне GitHub в этом году. Он видит все ваши изменения в коде и выдает краткое отформатированное описание того, что вы сделали. Таким образом, перед коммитом вам не нужно сводить всем изменения с начала — получается неплохая экономия времени. OpenCommit можно интегрировать в GitHub Actions.

Пример коммита до и после обработки в OpenCommit. Источник
Пример коммита до и после обработки в OpenCommit. Источник

OpenCommit работает через API-ключ OpenAI и подгружает туда только изменения, поэтому стоимость использования инструмента невелика — в среднем несколько долларов в месяц.

Replit Ghostwriter

Ghostwriter — продукт компании Replit, создателя браузерной IDE и собственной LLM c открытым исходным кодом. Ghostwriter совместим только с их собственной IDE, где он берет на себя функции Copilot. Проект будет интересен в первую очередь тем, кто занимается машинным обучением, поскольку в IDE Replit интегрированы проекты AI-сообщества HuggingFace — десятки тысяч различных моделей, датасетов и готовых приложений. Среди них выделяют StarCoder — модель для написания кода с 15,5 млрд параметров, тренированную на более чем 80 языках программирования.

CodeGeex

CodeGeex — альтернатива Copilot от китайских разработчиков, что может стать важным фактором в текущих условиях. CodeGeeX умеет генерировать код, переводить его, добавлять комментарии, фиксить баги, объяснять код и не только. Доступен бесплатно в виде расширения для популярных IDE. По вопросам корпоративного использования с приоритетной поддержкой и развертыванием в контуре компании можно написать разработчикам.

Перевод кода Python на Java с CodeGeex. Источник
Перевод кода Python на Java с CodeGeex. Источник

Codium AI

Codium AI фокусируется исключительно на создании тестов. Распространяется в виде плагина для VS Code и IDE JetBrains, поддерживает пока только Python, JS и TS, но скоро обещают добавить Java. Также в арсенале разработчиков есть AI-инструмент для пул-реквестов, а в будущем планируется представить и полноценную платформу для кодинга.

Tabnine

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

CodeT5

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

OpenAI Codex

Подборка была бы неполной без упоминания Codex от OpenAI. Основная функция этого инструмента — перевод естественного языка на язык программирования, но Codex предлагает и множество других функций, на основе которых энтузиасты уже делают свои инструменты.

PolyCoder

PolyCoder — конкурент Codex, полностью открытый для развития комьюнити. Вы можете самостоятельно добавлять и улучшать его датасеты. PolyCoder был создан с оглядкой на ChatGPT 2, но создатели заявляют, что он все еще является самым лучшим AI-инструментом для разработки на C.

Snyk Code

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

Источник

GigaCode

В завершение упомянем и свой продукт. Недавно мы представили GigaCode — LLM-платформу, которую развиваем параллельно с GigaChat. GigaCode умеет генерировать продолжение кода по его фрагменту, проводить семантический поиск, искать некоторые уязвимости. Сейчас GigaCode используют несколько тысяч наших разработчиков; в ближайшие месяцы мы планируем публичный релиз, а пока он в ограниченной бете. GigaCode поддерживает Java, JS, TS, Python, C/C++ и ряд других языков, а также популярные среды разработки — IDEA, PyCharm, VSCode, Jupiter и другие.

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


  1. gmtd
    19.10.2023 06:38
    +4

    А где, простите, Codeium?

    Слона-то я и не приметил? (с)


    1. SomeAnonimCoder
      19.10.2023 06:38

      Тссс, не мешайте сберу рекламировать свою говноразработку


      1. gmtd
        19.10.2023 06:38

        Да я уже понял, по минусу в карму
        Зарекался ведь писать в комментах блогов отечественных "IT-гигантов"...


  1. Graid
    19.10.2023 06:38

    Последнее время постоянно пользуюсь AI Assistant от JetBrains. Если не ошибаюсь работает на основе Grazie. Пишит довольно не плохой код иногда лучше чем gpt4 и copilot. Единственная пробема доступен по waitlist, но осбо умелые ребята обходят его и получают инвайт двовольно быстро ;)


  1. Cherryoff
    19.10.2023 06:38

    В статье не упомянуто расширение OpenVINO Code Completion для VSCode. Главный плюс, работает локально, никуда ваш код не отправляет.