«Добавь комментарий к функции», — говорю я вслух, и код пишется сам. Не магия. Просто за последний месяц я наелся обоими инструментами так, что теперь могу сравнивать их не по маркетинговым слайдам, а по реальному опыту. Делюсь.
С чего начиналось и почему я вообще сравниваю
До прошлого года у меня не было вопросов. Copilot — стандарт, он стоит в VS Code, у него подписка. Всё. Потом в команде кто-то перешёл на Cursor, кто-то остался на Copilot, а я решил не выбирать и попробовал оба параллельно на реальных задачах. Задачи были разные: REST-API на FastAPI, фронтенд на React, скрипт миграции базы данных, и пара проектов где нужно было разобраться в чужом коде за пару часов.
Результат меня немного удивил. Спойлер: победителя нет. Но есть ситуации, в которых один инструмент заметно лучше другого.
Архитектура и подход — здесь главное отличие
Copilot — это облачный сервис. Код отправляется на серверы GitHub, модель возвращает дополнения. Из этого следуют плюсы: всегда свежая модель, не ест локальные ресурсы, работает в любом редакторе с расширением. Минусы: задержка, зависимость от сети, и — что важно — контекст ограничен открытыми файлами. Copilot неплохо понимает, что у тебя в проекте, но границы этого понимания размыты.
Cursor построен поверх Claude (и не только) и заточен именно под работу в своём редакторе. Это IDE с встроенным ИИ, а не просто расширение. Здесь контекст берётся шире: можно загрузить целую папку, кинуть ссылку на документацию, попросить посмотреть конкретные файлы. Для меня это оказалось решающим в задачах, где нужно было понять структуру незнакомого проекта за двадцать минут.
Скорость и качество на реальных задачах
На простых вещах — автодополнение строк, подсказки по сигнатурам — Copilot быстрее и точнее. Он как умный человек, который сидит рядом и дописывает за тебя начатое предложение. Типичный случай: пишешь функцию валидации, и он подхватывает паттерн после третьей строки. В Cursor это тоже работает, но Copilot в этом сценарии быстрее реагирует и меньше ошибается.
Но когда задача усложняется — нужно написать целый роут, объяснить, что делает модуль, или рефакторить три файла сразу — Cursor вырывается вперёд. Там есть режим Composer, где можно вести диалог с контекстом всего проекта. Я в прошлый четверг попросил: «перепиши этот сервис так, чтобы он использовал dependency injection вместо глобальных синглтонов» — и получил готовый diff. Copilot на такое не способен в текущем виде.
Отдельно замечу: Cursor лучше понимает русские комментарии в коде. Мелочь, но когда пишешь на русском в интерфейсе — это влияет на качество.
Цена и что реально входит в подписку
Copilot стоит 10 долларов в месяц (или 100 в год). Copilot Chat входит в эту цену — можно задавать вопросы по коду. Есть Copilot Workspace, но он пока в бете и ощущается как бета.
Cursor бесплатен в базовой версии. Pro-версия — 20 долларов в месяц, включает более мощные модели и лимит на использование. Для фрилансера или небольшой команды разница в деньгах не критична, но сам факт, что Cursor даёт попробовать бесплатно, а Copilot просит данные карты сразу — на пользу Cursor.
Где Copilot побеждает
Если ты работаешь в команде со стандартным стеком — VS Code, JetBrains, стандартные фреймворки — и тебе нужна фоновая помощь при написании кода, без отвлечения на переключение контекста. Copilot в этом сценарии менее навязчив, он просто подсказывает и молчит. Cursor же постоянно предлагает что-то, иногда слишком активно. Это можно настроить, но по умолчанию Cursor хочет быть умнее, чем нужно.
Ещё Copilot лучше для быстрых одноразовых скриптов. Открыл файл, написал заголовок функции — он уже подхватил. Cursor в этом режиме чуть медленнее, потому что сначала индексирует проект.
Где Cursor побеждает
Когда приходишь в новый проект и нужно понять, как всё устроено. Я в прошлом месяце разбирал микросервисный проект на Go, который писал другой разработчик. Загрузил в Cursor всю папку, попросил описать архитектуру — за минуту получил карту зависимостей и объяснение, за что отвечает каждый сервис. Copilot на это не способен в принципе — у него просто нет такого уровня доступа к контексту.
Ещё Cursor реально помогает с рефакторингом. Задачи, которые обычно требуют часа рутины, он делает за пять минут и показывает diff. Я переписал API-клиент с axios на fetch — не потому что сам не мог, а потому что лень. И стыда в этом нет, если честно.
Что в итоге
Я не забросил ни один из инструментов. На новых проектах и задачах по рефакторингу открываю Cursor. На текущих задачах в знакомом коде работаю с Copilot — он быстрее и незаметнее. Это не «один победил», это просто разные инструменты для разных ситуаций.
Если бы мне завтра нужно было выбрать что-то одно — я бы взял Cursor. Потому что потолок у него выше, даже если для простых задач он чуть медленнее. Но если в команде стандарт Copilot и нет причин менять — не сломается.
Попробуй оба на одной и той же задаче. Не на примерах из документации, а на своей реальной задаче. Пятнадцать минут — и картина станет яснее любого сравнения.
