Комментарии 11
Вот буквально неделю назад решил протестировать.
1) Умеет генерить простой шаблонный код.
2) При работе с не шаблонным кодом бесполезен, более того он мешает.
Личное мнение если основная часть работы написание шаблонного кода, шутка полезная.
Если же в основном создается уникальный, толку нет, одно расстройство.
А я на днях протестировал на сайте https://codepal.ai нейронку CodeGen, про которую я слышал в открытых источниках, что она удивительно обнадёживающая. Я кинул туда ТЗ для создания двух классов с наследованием друг от друга для реализации кастомного stream wrapper для виртуализации файловых операций для решения одной задачи, которую не смог до конца реализовать на ChatGPT 3.5 из-за ограничений размера сообщений. ChatGPT терял контекст даже через одно сообщение, полностью или частично. CodeGen на том же ТЗ подумал с пол минуты и выдал готовое решение реализации с двумя классами, более качественно откомментированное и реализующее именно то, что требовалось в ТЗ. Попробуйте и вы, там без регистрации можно несколько тестовых генераций запустить, потом после регистрации еще 5 бесплатных. Один минус, что поле для ввода ТЗ очень маленькое, но зато более вместительное, чем кажется по началу. Мой ТЗ в сумме состоял из 13 предложений. Не знаю какой там максимальный лимит.
По ощущениям, потратил приличное количество времени на составление максимально точного ТЗ еще для ChatGPT. Начинал с потока мыслей в виде описания задачи. Потом просил ChatGPT составить по этому наброску полное ТЗ. Потом несколькими итерациями обьяснял какие пункты поняты неправильно, и в конце получил точное описание, пригодное для реализации.
Не знаю на все 100, что потраченное время на ТЗ было потрачено более эффективно. Вот к примеру, если бы я просто сразу начал писать код классов + несколько стадий рефакторинга и переосмысления, проверок на ошибки (как я делаю это обычно). Хотя с другой стороны, более тщательная стадия обдумывания и проектирования, которую я потратил на составление ТЗ, позволяет писать более качественный и поддерживаемый код, а экономлю только на стадии кодогенерации.
Я писал именно про копайлот, генераторы начиная с того же чатгпт могу нагенерить на выходе много вполне вменяемого кода. Но опять же шаг в сторону и он генерит мусор, которому дорога только в мусорку.
Но опять же если надо делать шаблонные вещи, очень и очень годно. Например мне надо было накидать сайтик для знакомого, я практически ни в зуб ногой, описал, что надо задал вводные по технологиям получил на выходе на 95% готовый код на который оставалось только натянуть нужную шкурку.
Сравнивали с ChatGPT, что можете рассказать про опыт использования?
Ибо мой опыт с gpt резонирует с комментарием выше.
Пользуюсь им пару недель с Typescript. Очень доволен. Часто складывается ощущение, что он читает мои мысли. Бывает даже, что я мысль свою ещё недомыслил, а уже вижу его решение и это именно то, что я хочу. Резюмирую: copilot не пишет сложный код за меня, но выполняет 50+% шаблонной работы. И делает это с учётом контекста проекта.
Простой пример. Мы используем пакет classnames
. И импортируем его так: import cx from 'classnames'
. vsCode не помогает мне с этим. copilot
угадывает с пары символов. Просто потому что знает что мы так делаем повсеместно.
Очень помогает с заполнением всяких JSON-данных по аналогии. Построением простых React компонент и их кусочков. Пишет typescript guard-ы. Даже выбор нужной иконки по окружающей разметке предлагает.
Единственное, что пока пугает, это то что начинаешь ему доверять.
Как будто с МКПП на АКПП пересел. Водишь всё ещё сам, но некоторая часть головняка ушла. Изначально был очень скептически настроен.
GitHub Copilot X
По тексту статьи возникает ощущение что работа велась с обычным GitHub Copilot.
Тем более что название GitHub Copilot X относится не к конкретному продукту, а к проекту в рамках которого AI будут пытаться внедрять и в другие процессы разработки, а не только как авдополнение на стероидах.
Правильно ли понимаю, что Copilot не является альтернативой зеро-кодингу и лоу-кодингу?
Первый опыт работы с GitHub Copilot X: взгляд программиста