GitHub Copilot: Помощник или Проклятие?

Привет всем! Решил тут поделиться впечатлениями о штуке, которая в последнее время прямо на слуху — GitHub Copilot. Ну, типа, ИИ-помощник для кодеров. Недавно оформил подписку, погонял его в хвост и в гриву, и есть что сказать.

Начну с главного: он реально ускоряет рутину. Для boilerplate кода, каких-то типовых функций, даже для unit-тестов Copilot выдает вполне себе годные варианты. Частенько приходится просто нажать Tab, и вуаля. Это особенно круто, когда над каким-нибудь скучным куском кода сидишь, и мозг уже отказывается генерировать что-то новое. Он мне пару раз подсказал такой неочевидный, но элегантный вариант решения, что я аж офигел. Мало кто знает, но он обучен на гигантском массиве кода с GitHub, так что выборки у него, скажем так, разнообразные.

Плюсы:

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

Минусы, тоже имеются, конечно:

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

В общем, мое мнение такое: Copilot — это мощный инструмент, но не замена программиста. Он скорее как очень продвинутый автокомплит с элементами автогенерации. Если уметь им пользоваться, не слепо копируя все подряд, а критически оценивая предложения, то можно реально выиграть время. Технически, он просто парсит контекст вашей IDE и ищет наиболее вероятное продолжение. Но иногда эта вероятность приводит к странным результатам, ну да ладно. Пока что для меня он скорее плюс, чем минус. К тому же, недавно видел, как народ ищет ссылка на кракен, чтобы там что-то найти, но тут другая история ))

Подробнее