Испытание ИИ Cursor
Я потихоньку использую ИИ в своей работе. Использовал Codeium расширение для VSCode. Но тут наступила печалька. Codeium в россии перестал работать. Но как оказалось это к счастью :-). В поисках альтернатив наткнулся на Cursor. Он не расширение для VSCode, а уже его форк чтобы больше функций ИИ разрабы смогли воткнуть в среду программирования.
Cursor гораздо лучше пишет код и самая главная новая для меня фишка он умеет почти автоматически применять его к файлам кода. Остаеться только просмотреть изменения и пронажимать принять.
В течении первого использования выяснилось несколько крутых вещей. Например, я постоянно ленюсь прописывать лексиконы. А теперь можно в чате ИИ написать «Код компонента для modx2 на основе modextra. Выведи все сообщения об ошибках и успехах, используя $this->modx->lexicon. Пропиши переводы для ru и en.». И все принять принять принять и файл компонента интернациализован :-). Причем лексиконы пишет даже с параметрами.
Надоедливое устаревшое array(). Напиши «Обнови array() в []» и код поправлен без ошибок :-).
На радостях от такого крутого ИИ, я решил испытать его :-). Попробовать обновить Tickets для MODX3.
Вначале пишу «надо обновить компонент для MODX2 на MODX3»
Потом «Обнови схему базы. не теряй таблицы и поля»
Схему базы обновил почти правильно. Как потом выяснилось потерял 1 таблицу и 2 поля.
Потом
«составь список клссов в core\components\tickets2\model\tickets2 и напиши промты для адаптации их к MODX3»
«классов 13 а ты вывел 7. Выведи промты в promts.txt»
Более подробный список промтов в https://github.com/tuniekov/Tickets/blob/master/promts.txt.
Сначало думал. Ха счас 2-4 часа и обновлюTickets :-). Потом в 2 часа ночи. Ну блин стока времени потратил надо добить. В итоге на адаптацию всех файлов потратил 10ч. Начинаю проверять работу и вылазят ошибки. Правил их до 14 почти самостоятельно. Я не пойму пока как ИИ инструктировать чтоб он ошибки правил.
Уже на следующий день выяснилось что ИИ в код добавил строгую типизацию для php 8.1 и ее пришлось убирать. Убирал вручную. Не понятно пока как добавить все файлы в контекст и заставить Cursor их автоматически обрабатывать. Тег <open_file> помог но что то не слишком.
Потом с процессорами повозился.
Снова начинаю проверять и тут выяснилось, что ИИ пожевал класс Tickets2. Начинаю его обновлять заного и снова жует. Теряет методы и непонятно как упрощает функции. Вообщем файл слишком большой. Прочитать его может, а на выходе сжимает код.
И тут до меня таки дошло 2-3 дня не отделаешься. Чтобы успешно все обновить надо больше времени. А времени сейчас столько нет :-(. Приходиться отложить эту задачу.
По итогу. Cursor здорово помогает. Много знает о MODX и в работе с MODX помогает. Можно хотя с осторожность и какой-нибудь выдумкой делать массовые задачи с кодом. Но прям чтоб одной десятком промтов обновить тикеты он не может :-(.
Очень печально что для Cursor нет api или промт-алгоритмов. Так бы написал кучу кода из промтов и чтоб он последовательно их бы применял.
Интересна заметка? :-) Кто как ИИ использует?
Cursor гораздо лучше пишет код и самая главная новая для меня фишка он умеет почти автоматически применять его к файлам кода. Остаеться только просмотреть изменения и пронажимать принять.
В течении первого использования выяснилось несколько крутых вещей. Например, я постоянно ленюсь прописывать лексиконы. А теперь можно в чате ИИ написать «Код компонента для modx2 на основе modextra. Выведи все сообщения об ошибках и успехах, используя $this->modx->lexicon. Пропиши переводы для ru и en.». И все принять принять принять и файл компонента интернациализован :-). Причем лексиконы пишет даже с параметрами.
Надоедливое устаревшое array(). Напиши «Обнови array() в []» и код поправлен без ошибок :-).
На радостях от такого крутого ИИ, я решил испытать его :-). Попробовать обновить Tickets для MODX3.
Вначале пишу «надо обновить компонент для MODX2 на MODX3»
Потом «Обнови схему базы. не теряй таблицы и поля»
Схему базы обновил почти правильно. Как потом выяснилось потерял 1 таблицу и 2 поля.
Потом
«составь список клссов в core\components\tickets2\model\tickets2 и напиши промты для адаптации их к MODX3»
«классов 13 а ты вывел 7. Выведи промты в promts.txt»
Более подробный список промтов в https://github.com/tuniekov/Tickets/blob/master/promts.txt.
Сначало думал. Ха счас 2-4 часа и обновлюTickets :-). Потом в 2 часа ночи. Ну блин стока времени потратил надо добить. В итоге на адаптацию всех файлов потратил 10ч. Начинаю проверять работу и вылазят ошибки. Правил их до 14 почти самостоятельно. Я не пойму пока как ИИ инструктировать чтоб он ошибки правил.
Уже на следующий день выяснилось что ИИ в код добавил строгую типизацию для php 8.1 и ее пришлось убирать. Убирал вручную. Не понятно пока как добавить все файлы в контекст и заставить Cursor их автоматически обрабатывать. Тег <open_file> помог но что то не слишком.
Потом с процессорами повозился.
Снова начинаю проверять и тут выяснилось, что ИИ пожевал класс Tickets2. Начинаю его обновлять заного и снова жует. Теряет методы и непонятно как упрощает функции. Вообщем файл слишком большой. Прочитать его может, а на выходе сжимает код.
И тут до меня таки дошло 2-3 дня не отделаешься. Чтобы успешно все обновить надо больше времени. А времени сейчас столько нет :-(. Приходиться отложить эту задачу.
По итогу. Cursor здорово помогает. Много знает о MODX и в работе с MODX помогает. Можно хотя с осторожность и какой-нибудь выдумкой делать массовые задачи с кодом. Но прям чтоб одной десятком промтов обновить тикеты он не может :-(.
Очень печально что для Cursor нет api или промт-алгоритмов. Так бы написал кучу кода из промтов и чтоб он последовательно их бы применял.
Интересна заметка? :-) Кто как ИИ использует?
Поблагодарить автора
Отправить деньги
Комментарии: 9
в phpStorm плагин Codeium для автодополнения, а так в браузере Gemini (https://aistudio.google.com/app/prompts/new_chat) он намного намного лучше chatgpt в плане Modx Revo и не только (использую свежие эксперементальные модели)
Из дополнений к VS Code я иногда юзаю Amazon Q, он умеет подсказывать код в процессе написания, иногда прям весьма и весьма хорошо себе.
К примеру пишешь метод updateStatus(MyClass $class, string $status), так он в теле метода предлагает все сделать — установить статус, сохранить объект, вернуть его, в общем время может экономить.
Но с большими объемами кода ИИ вечно косячит, может просто взять и половину логики потерять, речь в частности просто о ChatGPT. Поэтому простыням кода от него я не доверяю.
К примеру пишешь метод updateStatus(MyClass $class, string $status), так он в теле метода предлагает все сделать — установить статус, сохранить объект, вернуть его, в общем время может экономить.
Но с большими объемами кода ИИ вечно косячит, может просто взять и половину логики потерять, речь в частности просто о ChatGPT. Поэтому простыням кода от него я не доверяю.
Блин курсор прям чума :-).
Написал промт
Потом
Так бы делал час, а сделал за 20 минут. Просто промт долго соображал как написать :-)
Написал промт
Теперь выбери специфичные для организации ВК24 данные. Запиши их в фай импорта системных настроек для MODX2 _build\configs\settings.js в нужном формате. В gsdoc.class.php добавь получение настроек и передачу их в getChunk. В чанке замени данные плейсхолдерами.Прикрепил файлы.
Потом
Еще добавь наастройку для Директор ООО «ВК24». ООО «ВК24» company_short_name. идобавь настройки для логотипов и печатиИ потом просто aply, aply и aply :-). И все работает.
Так бы делал час, а сделал за 20 минут. Просто промт долго соображал как написать :-)
Без тени осуждения, просто видя ваше восхищение и понимая, как сильно оно отличается от моих чувств. я не могу не спросить.
А вы после этого все еще чувствуете себя программистом? Разве это не противно, что вместо написания кода мы думаем как правильно составить запрос. Разве не возникает чувство собственной неполноценности? Разве не ужасно, что вы как человек теряете контроль над кодом? Ведь по сути вы просто «верите» что ИИ сделал все правильно. Да в коде из 10 строк это можно проверить, но что если код состоит из 50 000 000 строк?
Просто интересно, что у вас это вызывает такой восторг, в то время как у меня почти панический ужас. Но все мы разные.
А вы после этого все еще чувствуете себя программистом? Разве это не противно, что вместо написания кода мы думаем как правильно составить запрос. Разве не возникает чувство собственной неполноценности? Разве не ужасно, что вы как человек теряете контроль над кодом? Ведь по сути вы просто «верите» что ИИ сделал все правильно. Да в коде из 10 строк это можно проверить, но что если код состоит из 50 000 000 строк?
Просто интересно, что у вас это вызывает такой восторг, в то время как у меня почти панический ужас. Но все мы разные.
абсолютно не вызывает опасения, ИИ хорош как помощник в рутинных задачах и в получении готового кода который аналогично можно самостоятельно получить прочитав документацию, если задача стоит чуть сложнее рутинного кода, то все ИИ выдают полнейший бред.
А вот если все задачи которые решает разработчик способен заменить условный чатгпт, то вот тут уже стоит задуматься о полноценности и о том, что возможно пришла пора углубиться в своих знаниях или сменить работу.
А вот если все задачи которые решает разработчик способен заменить условный чатгпт, то вот тут уже стоит задуматься о полноценности и о том, что возможно пришла пора углубиться в своих знаниях или сменить работу.
Я таки не сколько програмист сколько любитель поизобретать :-). Просто программирование с этим не плохо сочетается. У меня куча идей было не реализованных. Потому что времени их реализовывать не было. Я очень рад когда путь от идеи до реализации существенно сокращается :-). Если условный чатгпт в этом помогает это хорошо :-).
Есть конечно опасение, что ИИ вообще меня заменит и мне не начем будет зарабатывать на жизнь. Но во первых, до этого достаточно далеко.
Во вторых, компьютер не может ничего такого что в него не заложили. Например, вспомним условного терминатора. Иногда ИИ выдают что-то типа я ненавижу людей я хочу их уничтожить. Но это ведь не является целью ИИ. Сейчас у ИИ вообще не целей. ИИ просто считает вероятности появления слов в своем предложении. А вероятности слов он берет из обучающей выборки. В литературе противостояние с ИИ популярная тема. И слова ИИ уничтожит людей встречаются чаще, чем слова ИИ поможет людям. Таким образом вероятность таких слов просто велика. Вот ИИ их и вставляет :-). Сейчас ИИ активно используется помогая людям. Примеры помощи попадают в интернет и в обучающею выборку ИИ. И для ИИ будет естественнее говорить как я могу тебе помочь. С течениием времени опасения насчет ИИ скорее всего уйдут.
Третье. У ИИ сейчас нет целей. Кроме тех, что люди записывают в системный промт. ИИ стоит ресурсов. Никто не будет развивать ИИ если это не принесет выгоды. А чтобы быть выгодным ИИ должен приносить кому то пользу или выгоду. И то что ИИ зададут цель уничтожить человечество маловероятно. Если это конечно не параноики военные.
Ладно насчет прямого уничтожения человечества я почти уверен, что ободется :-).
Вопрос не лишит ли ИИ многих людей работы?
Ну какие то проффессии уйдут это скорее всего произойдет. В смысле может не именно профессии, а измениться работа людей. Например, из php програмиста в промт программистов превратятся. С текущими ИИ опасаться потери работы не стоит. ИИ часто ошибается и галлицинирует. Как появится сильный ИИ там не известно, но думаю что есть предпосылки что люди все равно будут нужны. Для целеполагания. В смысле чтоб люди придумывали что делать ИИ. Чем ему заниматься. Все зависит от того как скоро появится сильный ИИ и появиться ли он вообще. И зависит какой путь пройдет человечество до этого времени.
Ну когда пишешь код в любом случае надо сидеть и разбираться в чем ты накосячил. Думаю без разницы ты ли накосячил или напарник или ИИ. Если ИИ ускоряет процесс программирования, то буду использовать ИИ.
И какой чудак пишет код на 50 000 000 строк не разбивая на меньшие блоки? Я пишу блоками по 1000-2000 строк. И отлаживаю только их.
Есть конечно опасение, что ИИ вообще меня заменит и мне не начем будет зарабатывать на жизнь. Но во первых, до этого достаточно далеко.
Во вторых, компьютер не может ничего такого что в него не заложили. Например, вспомним условного терминатора. Иногда ИИ выдают что-то типа я ненавижу людей я хочу их уничтожить. Но это ведь не является целью ИИ. Сейчас у ИИ вообще не целей. ИИ просто считает вероятности появления слов в своем предложении. А вероятности слов он берет из обучающей выборки. В литературе противостояние с ИИ популярная тема. И слова ИИ уничтожит людей встречаются чаще, чем слова ИИ поможет людям. Таким образом вероятность таких слов просто велика. Вот ИИ их и вставляет :-). Сейчас ИИ активно используется помогая людям. Примеры помощи попадают в интернет и в обучающею выборку ИИ. И для ИИ будет естественнее говорить как я могу тебе помочь. С течениием времени опасения насчет ИИ скорее всего уйдут.
Третье. У ИИ сейчас нет целей. Кроме тех, что люди записывают в системный промт. ИИ стоит ресурсов. Никто не будет развивать ИИ если это не принесет выгоды. А чтобы быть выгодным ИИ должен приносить кому то пользу или выгоду. И то что ИИ зададут цель уничтожить человечество маловероятно. Если это конечно не параноики военные.
Ладно насчет прямого уничтожения человечества я почти уверен, что ободется :-).
Вопрос не лишит ли ИИ многих людей работы?
Ну какие то проффессии уйдут это скорее всего произойдет. В смысле может не именно профессии, а измениться работа людей. Например, из php програмиста в промт программистов превратятся. С текущими ИИ опасаться потери работы не стоит. ИИ часто ошибается и галлицинирует. Как появится сильный ИИ там не известно, но думаю что есть предпосылки что люди все равно будут нужны. Для целеполагания. В смысле чтоб люди придумывали что делать ИИ. Чем ему заниматься. Все зависит от того как скоро появится сильный ИИ и появиться ли он вообще. И зависит какой путь пройдет человечество до этого времени.
Разве не ужасно, что вы как человек теряете контроль над кодом? Ведь по сути вы просто «верите» что ИИ сделал все правильно. Да в коде из 10 строк это можно проверить, но что если код состоит из 50 000 000 строк?Уже столкнулся с этим моментом :-). Попросил Cursor сгенерировать чат бота на Vue. Базовый вариант бота он сгенерировал, но когда начал просить сделать скрол к последнему сообщению начались косяки. И разобраться, что он написал сложно. Использует не знакомые мне конструкции, которые я не доконца не понимаю как работают. Скрол я победил. Просто заметил что скролит не на блоке и попросил сделать на блоке. А вот с тем, что поле ввода теряет фокус уже не справился. На Vue не понятно почему вообще фокус теряется.
Ну когда пишешь код в любом случае надо сидеть и разбираться в чем ты накосячил. Думаю без разницы ты ли накосячил или напарник или ИИ. Если ИИ ускоряет процесс программирования, то буду использовать ИИ.
И какой чудак пишет код на 50 000 000 строк не разбивая на меньшие блоки? Я пишу блоками по 1000-2000 строк. И отлаживаю только их.
>Во вторых, компьютер не может ничего такого что в него не заложили.
Это не так. Генеративные сети давно могут. Например, они сами обучились почти всем языкам, свободно переводят с любого на любой получше переводчика. Хотя никто их и не просил, и не обучал. И программирование просто скоро перестанет существовать как вид деятельности для людей. Увы и ах, но это реалии.
Это не так. Генеративные сети давно могут. Например, они сами обучились почти всем языкам, свободно переводят с любого на любой получше переводчика. Хотя никто их и не просил, и не обучал. И программирование просто скоро перестанет существовать как вид деятельности для людей. Увы и ах, но это реалии.
Серьезно? А можешь примеры привести? Хоть один, где модель сама обучается, без подготовленных наборов данных. Чисто просвещения для.
Сейчас самые популярные модели — это трансформеры GPT. P — это pre-trained.
Так и вижу — модель такая — такc, вечером делать нечего, пойду-ка языки поучу ))
П.С. ChatGPT3 оперировала данными до 2020 года. Интересно почему? Ленивая? Не любит учиться?
Сейчас самые популярные модели — это трансформеры GPT. P — это pre-trained.
Так и вижу — модель такая — такc, вечером делать нечего, пойду-ка языки поучу ))
П.С. ChatGPT3 оперировала данными до 2020 года. Интересно почему? Ленивая? Не любит учиться?
Слышу эту песню про программирование — уже с лет 20 точно.
Но пока «мы» даже сверстать макет не можем автоматически, чтобы можно было в продакшен отправить и это с учётом того, что в Figma уже готов css.
Но пока «мы» даже сверстать макет не можем автоматически, чтобы можно было в продакшен отправить и это с учётом того, что в Figma уже готов css.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.