Как Cursor не справился, но помог и как остальные облажались

В этой статье изложен опыт без подробностей о том, как я использовал #Cursor, #DeepSeek, #ChatGPT, #YandexGPT и #GigaChat, чтобы написать небольшой скрипт для простой задачи на #JаvaScript, к каким выводам пришел.

Описание

Появилась задача скачать файл, который можно получить по ссылке через браузере. Переход по ссылке запускает <script> на странице. Через какое-то время, всегда по разному происходит автозагрузка файла без возможности выбрать путь. Сразу в папку загрузки.

Задача

Автоматизировать переход по ссылке, перехватить загрузку файла и складывать в свою папку.

Инструменты

Поскольку изучаю Фреймворк #n8n было решено задействовать все его возможности. Довольно быстро стало понятно, что стандартных инструментов не хватает и нужно сделать новую сборку для #Docker добавив в него #Puppeteer. Сказано, сделано. Поскольку используемая #VDS была слабенькая, то сборка производилась на локальном ПК с использованием #VirtualBox, #Linux #Ubuntu 22.04. Собрал и залил на #S3 от #Selectel, забрал tar на слабенькую #VDS от #RuVDS (рефералка – https://ruvds.com/pr33203).

Создание JavaScript с использование AI агентов

Развернул tar и загрузил образу в Docker. Дальше развернул ноду Puppeteer с Custm Script в n8n и начал пробовать сначала самостоятельно читая документацию и форумы. Потратил часов шесть и безрезультатно.

Следующим шагом пошли агенты #AI. Первый кто был, это Cursor. Он сообразил, мне нужно составить скрипт JavaScript в ноде n8n с использованием Puppeteer, составил скрипт, общался со мной, читал консоль моих логов и мои комментарии, но также безрезультатно!

Хорошо сказал я и попробовал славную пятерку ChatGPT, DeepSeek, ChatGPT, YandxGPT, GigaChat. Все написали полную дичь.

Ближе всех оказался Cursor, но ему не хватало подсказок, а я не понимал, почему это так сложно: открыть браузер, открыть вкладку, перейти по ссылке, подождать, проверить, что файл скачался, закрыть браузер.

Теперь то, какой промпт в итоге я подавал именитым AI ассистентам и чатам.

Первый вариант, где Cursor старался, но не справился:

напиши код для n8n и Puppeteer на javascript: 1) открыть страницу 2)дождаться автоматического скачивания файла: автоматическое скачивания запускает скрипт на странице 4) обернуть ответы вместе с binary в формат n8n. Переменные page = $page, browser = $browser, url = $url или puppeteer = $puppeteer уже есть в окне Puppeteer.

Окончательный вариант, когда я понял, что точно инициализировать сессию “createCDPSession”:

напиши код для n8n и Puppeteer на javascript через createCDPSession: 1) открыть страницу 2) скрипт на странице начнет скачивание файла автоматически в папку загрузки 3) прочитать скаченный файл в бинарном формате 4) обернуть ответы вместе с бинарным файлом в формат n8n. Переменные page = $page, browser = $browser, puppeteer = $puppeteer уже есть в окне Puppeteer. Переменная url задана.

Тогда Cursor смог сделать первый годный медленный вариант из 370 строк кода!!!

Прикладываю все варианты кусков кода от AI для собственного изучения и мой вариант.

1) #Cursor (370 строк кода) – https://disk.yandex.ru/d/JDPpLXBFm1tY1g

2) #DeepSeek (87 строк кода) – https://disk.yandex.ru/d/vX3foPwor4Bacg

3) #GigaChat (43 cтрок кода) – https://disk.yandex.ru/d/QSLSI-6HMywW-A

4) #ChatGPT OpenAI (118 строк кода) – https://disk.yandex.ru/d/U7USrpT_3eFu7A

5) #YandexGPT 5 – https://disk.yandex.ru/d/h2mGYOjUyagjgA

6) Мой вариант #KIMKARUS (32 строки кода) – https://disk.yandex.ru/d/2VJvAw2TEXxMOQ

Мой вариант работает значительно быстрее чем Cursor. Но у Cursor получился скрипт-приложения для загрузки файлов со всеми возможными сценариями.

Выводы

Будьте внимательны и достаточно компетентны при использовании AI ассистентов при написании кода в ваших приложения! Либо г**** код, либо избыточный и медленный код.

Добавить комментарий