125. Отзыв на Cursor в 2025 году
Неделю назад я решил установить Cursor для эксперимента. В этой статье расскажу о своем опыте использования: что понравилось, а что нет. Уже можно заменять сеньоров джунами с cursor?)
Установка
Делал все по официальной инструкции (ссылка), и базовый функционал запустился сразу - чат и режим агента.
Подсветка синтаксиса мне не понравилась, и это было исправлено установкой отдельного расширения.
Дополнительно сразу установил sweetpad
, чтобы можно было запускать симулятор и сборку прямо из cursor, но пользовался этим всего пару раз, потому что очень непривычно и выглядит костыльно (но вдруг кому-то понравится).
Навигация по коду тоже не работала после первой базовой установки, т.е. нельзя было перейти к определению, посмотреть документацию к своему же коду и т.д. - это я решал уже под конец недели на выходных, и уже с использованием чата в самом cursor, достаточно было после установки sweetpad
запустить одну команду, и об этом прямо сказано в первом предложении соответствующего абзаца в документации, но эту строку успешно пропустил 😅
Важные моменты
Cursor не является самостоятельной нейросетью - он предоставляет возможность выбрать нейросеть для работы, и дополнительно реализует некоторые удобные штуки в UI для работы с нейросетью.
В бесплатной двухнедельной версии набор нейросетей чуть меньше, чем в платной, и первые несколько дней я пользовался бесплатной версией claude-3.5-sonnet
, которая мне понравилась больше, чем остальные доступные варианты.
Когда оплатил подписку, то переключился на claude-4-sonnet
, которая чуть лучше. Остальные пробовал - не понравились.
Когда ниже по тексту я буду говорить, что нейросеть тупит, это будет относиться именно к выбранной нейросети, в моем случае claude-4-sonnet
, а когда буду говорить, что тупит cursor - это будет конкретно про UI/UX в самом cursor.
Я не использую режим MAX - он требует активации Usage-Based Pricing
, а у меня нет зарубежной карты (и не планируется), и сколько бы там ни стоил этот режим, я не могу за него заплатить.
Что понравилось
- Не нужно переходить в браузер, чтобы спросить нейросеть о чем-то, можно это сделать прямо в cursor, там же где видно код - это самое сильное преимущество перед веб-версией других нейросетей
- Чтобы добавить контекст для задачи, достаточно выделить строчки кода и нажать "добавить в чат", или перетащить нужные файлы в окно чата с нейросетью
- Можно добавлять в контекст целые папки, причем как при помощи перетаскивания, так и при помощи горячих клавиш - вводишь
@
и выбираешь нужную папку/файл - Если описать задачу достаточно подробно, то можно в короткий срок увидеть и применить работающее решение задачи
- Удобно разбираться с кодом в режиме чата (Ask), а потом по мере необходимости можно переключиться в режим агента (Agent) и попросить внести нужные изменения в коде
- В режиме агента cursor вносит правки до тех пор, пока задача не будет выполнена, и предлагает запустить сборку, чтобы проверить работоспособность кода - если сборка упадет, он поправит ошибки
- Отлично справляется с генерацией описания для выполненных работ, например описание этой задачи составил cursor, я исправил только одну строку в самом конце
- Можно попросить посмотреть его посмотреть конкретный коммит или найти в истории изменений определенный функционал, и чаще всего поиски заканчиваются успехом - cursor находит, анализирует и отвечает
- Можно запустить проект на любом другом языке программирования и получить ответы на большинство вопросов со всеми удобствами из предыдущих пунктов, и я этим уже воспользовался, благодаря чему завел задачу на доработку для пет-проекта - у меня есть доступ к коду серверной части проекта, поэтому большинство вопросов теперь могу решить за пару минут, и не нужно дергать бэкендера лишний раз по выходным.
С чем справляется не очень
Генерация команд для сборки
Команды для запуска билда часто выдает с ошибками, даже если раньше 10 раз успешно собирал, может на 11 раз выдать нерабочую команду. Скорее всего это проблема нейросети, но у меня ведь настроены правила в самом cursor, и там написано четко - собирай билд для проекта с project
-файлом, не ищи workspace
.
Правила
Правила cursor либо не работают, либо работают плохо. Четкая формулировка "не используй CAPS-LOCK в ответах" не дает результата. Я пробовал разные формулировки, результат одинаковый - нейросеть пишет как ей вздумается, и часто капсом.
При этом правила я настраивал в том числе с использованием нейросети в самом cursor, и по мнению нейросети у меня отличные правила, которые точно должны работать, но похоже где-то есть ограничения или баги в самом cursor.
Swift
Нейросеть легко напишет код для структуры с @Published
-полями внутри - такое я впервые увидел именно в cursor, хотя использовал эту же нейросеть в perplexity - там такой фигни не было 😁
Concurrency
? Не слышал. В проекте лежит файл с версией Swift
, в настройках проекта тоже явно указана строгая проверка на concurrency
, но либо cursor всего этого не видит, либо нейросеть сильно тупит, потому что при работе со всякими Task внутри классов каждый раз возникают ошибки билда, которые потом нейросеть чинит в несколько итераций. В конечном итоге cursor может просто удалить этот код и сказать, что теперь все работает 🙈
Минимальную версию iOS
в проекте тоже не уважает - легко пишет код с использованием import Observation
в проекте с iOS 15
.
Если это и должно решаться правилами, то правила работают плохо, и мне не хочется тратить время на битву с неработающим функционалом - просто в том же диалоге пишу "не используй Observation, потому что в проекте iOS 15".
UI/UX
Мне не понравился ни UI, ни UX в cursor. Знаю, что это немного измененный Visual Studio Code, но тот мне тоже совсем не нравится - для iOS-разработки Xcode на мой взгляд лучший, во всяком случае пока. И знаю, что есть ребята, которым наоборот больше нравятся сторонние IDE, но я не в их числе 😁
Чтобы разобраться в настройках cursor, мне пришлось обращаться к нескольким нейросетям, включая встроенные в самом cursor, и ни одна мне не дала правильный ответ ни разу, потому что настройки там просто дикие: есть Cursor Settings
, которые открываются при нажатии на шестеренку, а есть Settings
, которые открываются при нажатии на open в разделе General -> Editor Settings
.
Если вам вдруг понадобится изменить настройки cursor напрямую в json, то это можно сделать именно в Editor Settings -> Open Settings (JSON)
- эта кнопочка отображается справа сверху, и ее легко не заметить.
Решили что-то написать в cursor в коде проекта, а потом понадобилось перейти в Xcode? А вот и нифига - пока вручную не сохранишь в cursor свои изменения, они не отобразятся в Xcode. Я два раза пытался что-то написать в cursor, но просто бросил эту затею - привыкать к новой IDE без повода не хочу и не буду.
Дебаг
У меня установлен sweetpad
для дебага, и я честно попробовал им воспользоваться, даже дважды. Этот раздел можно было смело сложить в предыдущий про UI/UX, но там уже и без того немало написано.
Симулятор запускается дольше, чем в Xcode, логи отображаются без фильтров по уровню, ну и в принципе нет этого функционала, ведь это не Xcode. Если я его просто не нашел, то опять же не удивляюсь, потому что UI/UX там на мой взгляд просто никакой 🤬
Скорее всего при большом желании можно пересесть на cursor даже для дебага, но должна быть сильная мотивация, и желание должно быть очень большим (ну или должна быть сильная ненависть к Xcode).
Разработчики резко теряют работу
Это просто новый инструмент, который кому-то поможет разобраться в проекте, сделать фичу или поправить старый баг, а кому-то поможет наговнокодить с три короба, потому что нужно уметь формулировать постановку задачи, чтобы нейросеть сделала то что нужно (или хотя бы рядом с этим).
В интернете многие пишут, что не знают языка программирования, но с cursor написали целый проект с нуля и уже отправили в прод, и бла-бла-бла.
Одно дело - нагенерировать код и радоваться рабочему приложению/сайту/телеграм-боту, а другое дело - решать настоящие задачи в настоящих проектах, за зарплату. Можно и без нейросети научиться получать зарплату, почти не работая, но даже в этом случае на первом месте софт-скилы, а на втором - инструменты типа cursor и т.д.
Так что если вас посещает мысль "войти в айти" с использованием cursor или подобных инструментов без навыков программирования, то мне остается чистосердечно пожелать вам удачи 😉
Считаю свой гайд "Как стать iOS-разработчиком" все еще актуальным и полезным для старта в iOS.
Заключение
Несмотря на все перечисленные минусы, мне очень понравилось делать задачи с использованием cursor, и я все время сравниваю этот процесс с предыдущим вариантом - использованием веб-версий разных нейросетей, включая perplexity, qwen, deepseek (RIP).
Возможность не открывать браузер для решения большинства вопросов по проекту - это невероятный плюс, который перевешивает все минусы.
Особенно круто cursor себя показывает при погружении в новый проект, и вполне может помочь с онбордингом в команде, чтобы не дергать по каждому вопросу коллег.
Я все еще очень жду релизную версию Xcode 26, чтобы сравнить нативный режим агента с вариантом от cursor, а бета-версию не ставлю, потому что мне хватает официальных релизных заметок. И даже если целиком перейду на Xcode 26 осенью, то все равно продолжу использовать cursor для проектов на других языках программирования, пока не появится более удобная альтернатива 🙂