Вроде уже давно работаю с Cursor, но все всё-таки иногда удивляет то, что они с Sonnet в агентском режиме могут выкинуть.
tl;dr
Cursor, не сумев воспользоваться готовыми картинками для теста скрипта сравнения картинок, "нарисовал" свои в html, запустил браузер, сделал скриншоты этих страниц, и использовал скриншоты в качестве тестовых картинок. И всё за один запуск Composer Agent
Дебажу тут консольный скрипт сравнения картинок, принимающий пути к двум картинкам (и пути довольно длинные).
А у интеграции Cursor с Powershell есть какой-то глюк, что если команда длинная и переносится в терминале, то выполнится только первая ее строка - это и послужило причиной всего, что началось :)
1.
* Cursor пытается запустить скрипт с путями к картинкам, но у него не получается из-за того, что команда слишком длинная
* после нескольких попыток решает, что виноваты длинные пути к файлам, и "я пойду другим, коротким путём для тестирования"
2.
* создаёт отдельную тестовую директорию с коротким названием и пытается туда скопировать одну из картинок, дав её файлу короткое имя
* снова обламывается, т.к. путь даже к одному исходному файлу оказывается слишком длинным
3.
* ладно, говорит, тут у тебя какая-то неведомая фигня с длинными путями и Powershell, давай я тестовые картинки сам сделаю
🍿 время попкорна
* иии... начинает писать html-код:
Test Image 1
body {
margin: 0;
padding: 20px;
background: white;
}
.box {
width: 100px;
height: 100px;
background: blue;
margin: 10px;
}
... я даже не сразу понял, что происходит, какие картинки, какой html, какая блоха
* а он сохраняет этот html в файл, потом делает еще один html, отличающийся цветом и шириной блока, и сохраняет в другой файл
4.
* в проекте есть Playwright (фреймворк для автотестов), и Cursor знает об этом
* так что он пишет временный скрипт, который с помощью Playwright открывает браузер, загружает в нём созданные html файлы и делает скриншоты страниц!
5.
* потом запускает этот скрипт и вот у нас теперь есть 2 картинки с чуть разными по цвету и размерам прямоугольниками
* наконец, успешно запускает скрипт сравнения картинок и рапортует о результатах
Всё это происходило в рамках одного запуска Composer Agent - я просто пожаловался на баг в скрипте, и понеслось.
Вобщем, будущее обещает быть весьма интересным, если у нас тут такое настоящее уже :)
tl;dr
Cursor, не сумев воспользоваться готовыми картинками для теста скрипта сравнения картинок, "нарисовал" свои в html, запустил браузер, сделал скриншоты этих страниц, и использовал скриншоты в качестве тестовых картинок. И всё за один запуск Composer Agent
Дебажу тут консольный скрипт сравнения картинок, принимающий пути к двум картинкам (и пути довольно длинные).
А у интеграции Cursor с Powershell есть какой-то глюк, что если команда длинная и переносится в терминале, то выполнится только первая ее строка - это и послужило причиной всего, что началось :)
1.
* Cursor пытается запустить скрипт с путями к картинкам, но у него не получается из-за того, что команда слишком длинная
* после нескольких попыток решает, что виноваты длинные пути к файлам, и "я пойду другим, коротким путём для тестирования"
2.
* создаёт отдельную тестовую директорию с коротким названием и пытается туда скопировать одну из картинок, дав её файлу короткое имя
* снова обламывается, т.к. путь даже к одному исходному файлу оказывается слишком длинным
3.
* ладно, говорит, тут у тебя какая-то неведомая фигня с длинными путями и Powershell, давай я тестовые картинки сам сделаю
🍿 время попкорна
* иии... начинает писать html-код:
Test Image 1
body {
margin: 0;
padding: 20px;
background: white;
}
.box {
width: 100px;
height: 100px;
background: blue;
margin: 10px;
}
... я даже не сразу понял, что происходит, какие картинки, какой html, какая блоха
* а он сохраняет этот html в файл, потом делает еще один html, отличающийся цветом и шириной блока, и сохраняет в другой файл
4.
* в проекте есть Playwright (фреймворк для автотестов), и Cursor знает об этом
* так что он пишет временный скрипт, который с помощью Playwright открывает браузер, загружает в нём созданные html файлы и делает скриншоты страниц!
5.
* потом запускает этот скрипт и вот у нас теперь есть 2 картинки с чуть разными по цвету и размерам прямоугольниками
* наконец, успешно запускает скрипт сравнения картинок и рапортует о результатах
Всё это происходило в рамках одного запуска Composer Agent - я просто пожаловался на баг в скрипте, и понеслось.
Вобщем, будущее обещает быть весьма интересным, если у нас тут такое настоящее уже :)