⬇️ Шёл пятый месяц. Впечатления от Cursor ⬇️
Господа коллеги, если вы до сих пор программируете не через Cursor/Windsurf/другой_AI_IDE - вы допускаете ошибку и подсаживаетесь в лодочку к луддитам.
И так, Cursor - это IDE построенная поверх vscode (если вы пользуетесь другой - об этом ниже) со встроенным AI-инструментарием. Если в двух словах - есть окно для ввода промпта, где вы описываете что вам нужно сделать и смотрите на магию.
❓ Почему это сильно отличается от подхода "Вбил в чатгпт => скопировал"?
0. Начнем с того, что не нужно использовать ChatGPT для кодинга. Сегодня - Claude Sonnet (3.5/3.7) от антропиков - пока лучшая модель для генерации кода. Однако, можно выбрать если захочется и модели openAI
1. Курсор умеет сразу в обработку многих файлов. Добавление/изменение/удаление - на каждом этапе он создаёт restore point (можно всё откатывать в один клик
2. Прямо в процессе вы можете видеть удобный DIFF - фича, которая позволяет вам посмотреть что именно и в каких файлах он поменял и провести "ревью" изменений после каждого промпта (или после нескольких). Да, у вас может быть "цепочка" промптов, т.е. "мини-сессия"
3. Курсор умеет индексировать и засовывать в контекст от "нужных файлов" до либ из специфичных урлов, которые нужны вам именно в этом проекте. Да, контекст ограничен, но в целом уже достаточен. О нём чуть ниже.
4. Уже сейчас (после обновы) он работает в агентском режиме по-умолчанию, т.е. перед отправкой вашего промпта он на локальной машине собирает нужную ему информацию (допустим грепает файлы или их структуру, ходит по импортам и тд), а уже потом с правильным контекстом бежит на сервер.
5. Он умеет смотреть на ошибки компиляции после применения кода и автоматически их править, вам не нужно "вклиниваться" в процесс и просить его об этом.
6. Есть отдельные настройки и инструкции для всех запросов, куда вы можете написать свои пожелания по генерации.
В общем.. а что вам еще нужно?
Как это ощущается?
Ощущается это - как вы КУПИЛИ себе МИДЛА за 20$!!! Ну такой, немножко с особенностями, но точно уже не джун. Вы формулируете ему задачу по коду, отправляете делать, а вы на N секунд/минут отправляетесь заниматься чем-то другим. А потом приходите и проверяете что он там вам накрабил. Делаете ревью, просите что-то поправить или вовсе переделать.
‼️ Экономит тонну времени - вот что вам нужно знать в первую очередь о курсоре.
Где он особенно хорош :
- написание тестов (это просто киллер-фича. только ради этого уже можно платить)
- небольшие/пет-проекты/прототипирование. Если проект небольшой или выхотите написать какой-то пруф-оф-концепт - он справляется с этим на 10 из 10, т.к. чаще всего имеет в контексте вообще всё что нужно
- бойлерплейты. Если у вас есть какие-то "типовые" классы, конструкции, связи, сервисы и тд и вы можете ему на это указать и написать "сделай вот как тут, но..."
- прекрасно "подстраивается" под то, что вы ему указываете как референс. Всю скучную генерацию всяких DTO, схем, моделей, маппингов - прекрасно отрабатывает.
Но давайте немного и о минусах
1) Чем развесистее кодовая база, тем ему сложнее "подстроится" под проект. Контекстное окно - вот вокруг чего сейчас крутятся все оптимизации тулов и справляются они уже неплохо. Курсор построен на RAG'е, а так же может юзать ваши MCP если нужно. Ну и простроенные AST в самой IDE всё лучше интегрируются с AI (привет JetBrains'у, который до сих пор почему-то отстаёт в этой гонке).
2) Порог входа. Он и супер-низкий и ... неочевидно сложен. Поясню - вы очень легко можете "потыкать" в триальную версию. Не впечатлиться. И уйти дальше крабить в своей любимой IDE. И всё - будете рассказывать всем вокруг как оно не работает и вообще фу. Нужно пожить с ним недельки две каждодневного взаимодействия - и тогда вы сможете "распробовать". На разных задачах, с разными подходами, как работать с лимитами и прочее.
Так ... растёкся как всегда тут ручьём по древу. Не влазит в пост. Продолжение чуть ниже ⬇️
