GitHub Copilot, Cursor и 2 других IDE-ассистента. Год тестов.

TLDR: 10 лет я писал код руками, а последний год использовал ассистентов: GitHub Copilot, Tabnine, Amazon CodeWhisperer и лучший — Cursor. Я всё ещё пишу код. Но уже меньше.

GitHub Copilot, Cursor и 2 других IDE-ассистента. Год тестов.

Чаще всего программисты мне отвечали, что используют ChatGPT в качестве ассистента. Сорри, гайз, но это не то, и звучит для меня:

– Как ты подкуриваешь сигарету?
– Жду, пока в меня ударит молния.

ChatGPT – это не помощник, а обуза. Я говорю конкретно о формате чата (вопрос-ответ). Писать вопросы в чат во время набора кода – бесконечно долго. И если это всё, чем вы пользовались, то не спешите делать выводы.

Статья-репост из моего Телеграм канала Max's saying.

Этот пост об ассистентах для IDE

Disclaimer: Информация устареет к моменту, когда вы дочитаете пост. Я использую ИИ в работе ~1 год и не могу сосчитать, сколько раз менял мнение и предпочтения. Обновления поступают почти каждую неделю. В черновике этого поста я описал весь свой опыт, но не влез в лимит по символам, поэтому оставил только самое значимое. Если нашли, где я ошибся, тогда велкам в комменты к посту в Тг канале – я ок.

Почему ChatGPT – не ассистент для написания кода

...а также Gemini, Claude, etc. Я говорю именно про формат чата, а не про LLM. Несколько раз слышал мнение «я использую ChatGPT, но много пользы не получил». Это так, когда вместо поиска ответа на stackoverflow, человек ищет ответ в ChatGPT. Если это и экономит время, то незначительно.

Ассистенты, которые я перечисляю, участвуют непосредственно в наборе кода. Это совсем другая механика.

«Спасибо, мне хватает IntelliSense» – недавно мне так сказали. Если очень коротко, то: ИИ автодополнение и IntelliSense нифига не одно и тоже.

Ассистенты, которые я тестировал

Вся статистика субъективная. У меня нет возможности проводить бенчмарки, которые будут устаревать каждый день. Единственное, что меня интересует - это мой личный опыт. Им и делюсь.

Amazon CodeWhisperer (Q Developer)

Бестолковый настолько, что даже не верится. Во время работы не пропадает ощущение, что я как препод, вытягивающий троечника на пятёрку, но тот не понимает, что от него хотят. Зато бесплатно. Но зачем? Автодополнение самое "глупое" из всех. Использовал 4 месяца.

GitHub Copilot

Я работал с ним больше остальных – 8 мес. Он крут. Куски кода генерирует средне, иногда дольше описывать, что тебе нужно, чем набрать сам код. Можно использовать ~50% того, что он генерит. Основное, чем пользуюсь – автодополнение, и здесь он лучший после Cursor. $10 в месяц.

Еabnine

Жаждет быть "особенным", но по факту воюет за клиента с GitHub Copilot. И в этом его ошибка: они выбрали себе не самого крутого конкурента. Вот что значит ставить не самые амбициозные цели. Если их не задушит Copilot, то у них большое будущее. В душе болею за них. Автодоп не сильно уступает Copilot, а вот генерация кусков кода чуть хуже. $12 в месяц, 90 дней бесплатно. Использовал 2 месяца.

Cursor

На голову выше остальных. Их даже неловко сравнивать. Я чувствовал, что GitHub Copilot и его друзья могли бы работать как-то продуктивнее, но думал, что для этого пока нет технической возможности. Как оказалось, Cursor такую возможность нашёл. На его фоне остальные выглядят как дети. $20 в месяц, 14 дней бесплатно.

3 причины, почему Cursor – лучший AI ассистент

GitHub Copilot, Cursor и 2 других IDE-ассистента. Год тестов.

Главное, что выделяет Cursor – это то, что он не просто extension, а обёртка над VSCode, и полагаю, это даёт ему столько возможностей. Иначе я не понимаю, что тогда ограничивает GitHub Copilot скопировать те же фичи. У Курсора как будто на три руки больше, по сравнению с Копайлотом.

Что меня отталкивало от Cursor долгое время – я не хотел отказываться от своего VSCode. После первого прочтения лендинга, мне показалось, что это отдельная IDE. Но я ошибся – это тот же VSCode. Я могу один раз ошибиться?

Привыкание к Cursor заняло 10 секунд. Он скопировал абсолютно все настройки из VSCode. Есть отличия в интерфейсе, но незначительные.

Почему я выбираю Cursor

  1. Автодополнение. Cursor ошибается реже остальных.
  2. Его функции не заканчиваются автодопом, он понимает намерение. Пример: ты изменил название переменной, и Cursor сам предлагает переименовать все вхождения далее в пару кликов. GitHub Copilot для такого требует действие над каждым вхождением переменной. Cursor понимает не только что переименовать, а как меняется смысл написанного.
  3. Работа с контекстом. Все помощники индексируют проект, но Cursor "бредит" реже остальных. И есть киллер фича: когда задаёшь вопрос ИИ в Cursor, ты точно знаешь файлы контекста, которые он использует. Для примера, в CodeWhisperer и Copilot ты просто гадаешь, что они "видят", а что нет. В доке написано, что их контекст – это открытые вкладки, но на деле чем больше вкладок, тем хуже результат. Закрывать вкладки, чтобы облегчить жизнь ИИ ассистенту – так себе идея, кто кому тут помогает?

Минусы

  1. Cursor самый дорогой на рынке. Если не он, я бы выбрал GitHub Copilot или Tabnine.
  2. Cursor – это переодетый VSCode. У него нет плагина для JetBrains WebStorm и других IDE.

  3. Почему вам может быть "больно" привыкать. Часто эти помощники "лезут под руку", и приходится шлёпать их эскейпом Esc по голове, чтобы не умничали. Это может накалять, когда ты из за сниппетов автопредложений не видишь свой код, но это дело привычки. Но признаю, Cursor "мусорит" сниппетами и перекрывает код чаще, чем остальные. Думаю, скоро сделают удобнее.
  4. Все ассистенты вызывают привыкание. Если вдруг теряется интернет, и умный автодоп пропадает, то становится немного больно печатать ручками :(

Вместо выводов

Да, я видел, как 8-ми летняя девочка генерирует программу с помощью ИИ ассистента, но это рекламный шум. За целый год использования ИИ, я всего пару раз сгенерировал что-то действительно с нуля. В реальных боевых задачах ИИ всё ещё не умеет качественно следовать архитектуре, стилю кода и (обиднее всего) читать мысли.

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

Субъективно:

  • самый отсталый CodeWhisperer ускорил мою работу на ~10%
  • GitHub Copilot и Tabnine ускорили меня на ~20%
  • Cursor - на ~30%

Даже если мои цифры не работают для вас, и будут вполовину меньше, то можете посчитать за сколько времени вы оправдаете стоимость ИИ ассистента, который прибавит вам хотя бы 5% продуктивности.

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

Я заруинил больше стартапов, чем некоторые имели за карьеру и не стыжусь. Об этом в Телеграм канале Max's saying.

22
5 комментариев

Ц, я думал тут про грибы будет...

1

Значит где-то лежит статья про галлюциногены с айтишниками на фото...

Спасибо за статью. Я второй день уже кодю в курсоре и что могу сказать. ИИ курсора иногда пишет косячно. Просишь допустим добавить кнопочку, она делает кнопочку и цепляет другой рабочий код, в итоге кнопка может заработать а что то сломаться. Потом я разобрался, что по умолчанию в настройках был другой ИИ. Переключил на GPT 4 - стало лучше.

1

Больше времени занимает не написать код, а решить как это всё реализовать.

Согласен, бывает и так. А вы видите где-то противоречие в статье?