Мне не нравится нейросеть Codeium

8f2097a93ea373d10f4df37794f17583

Сейчас многие компании пытаются внедрять ИИ-помощники в среды разработки в надежде упростить работу программистам и повысить эффективность работы. В начале этого года я участвовала в пилотном тестировании бесплатной Codeium. Нейросеть использовалась из коробки (без дообучения) и была испробована при разработке на C# в Visual Studio 2022(продуктовый код и тесты). В целом работоспособность Codeium мне не понравилась и вот почему.

Понимание контекста

Создается ощущение, что нейросеть смотрит только в контексте текущего файла. Неправильно советует использовать поля и методы (публичные!) из других классов, просто генерирует рандомные имена. Не умеет работать со сторонними библиотеками. 

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

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

[Test]
public void Test_1()
{
    ...
}

// Ставлю курсор здесь и получаю рекомендацию от Codeium
Test_2();

[Test]
public void Test_2()
{
    ...
}

Качество сгенерированного кода

Что касается синтаксического сахара: советует что-то из более старых стандартов языка. После принятия сгенерированного кода приходится его редактировать, это занимает время.

Скорость работы

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

Часто не может предложить варианты вообще.

Раздражает, что после установки расширения Codeium, в Visual Studio наблюдались небольшие тормоза. После удаления Codeium среда разработки снова работает как обычно.

Дообучение нейросети

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

  • Обучение на продуктовой кодобазе

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

  • Сгенерированный код принят, значит он правильный

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

Есть одна вещь, которая реально понравилась

Единственно, на чем экономишь время с использованием Codeium — отлично автодополняет комментарии (на русском и английском). И для меня это все. Но ради этого устанавливать Codeium, думаю, не стоит :) Помню, на прошлой работе использовали ReSharper, который тоже отлично с этим справлялся.

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

P.S. Нейросети классно показывают себя при работе с изображениями, успешно помогают в медицине для диагностики. В этом году особо радуют создаваемые с помощью нейросетей видеоролики. Достаточно вспомнить вирусный ролик в период президентской предвыборной компании 2024.

Предвыборная компании 2024

© Habrahabr.ru