Мир разработки программного обеспечения переживает коренную трансформацию благодаря искусственному интеллекту. Писать код теперь не только человеческое дело — рядом с нами работают ИИ-ассистенты. Эти инструменты действительно повышают продуктивность или это просто хайп? Мы несколько месяцев использовали три разных ИИ-инструмента для написания кода в реальных проектах.
Cursor: редактор кода на основе ИИ
Cursor — редактор на базе VS Code, но со встроенными возможностями искусственного интеллекта. Он не просто дополняет код, а умеет вносить изменения сразу в несколько файлов, отлаживать и делать рефакторинг.
Мы использовали Cursor как основной редактор в нашем проекте на Next.js в течение трёх месяцев. Первое впечатление было поразительным. Когда я писал компонент React, он предлагал все типы пропсов, управление состоянием и даже CSS-классы с учётом контекста. Компонент, на который у меня раньше уходило пять минут, я заканчивал за две.
Самая сильная сторона Cursor — понимание кодовой базы. Он читает весь ваш проект и делает предложения с учётом существующего кода. Например, если в проекте используется дизайн-система, Cursor автоматически предлагал те же компоненты и стили. Когда в команду пришёл новый участник, благодаря Cursor он очень быстро адаптировался к стилю кода в проекте.
Функция чата тоже очень удобна. Когда вы сталкиваетесь с ошибкой, можно спросить Cursor, почему она возникает, и обычно вы получаете верный ответ. Время на отладку у нас сократилось на 40 процентов.
Мой друг, full-stack-разработчик, говорит, что после перехода на Cursor не думает о возвращении. Особенно ценно время, которое он выигрывает при написании шаблонного (boilerplate) кода и создании повторяющихся структур.
Из недостатков: мы заметили, что Cursor иногда может предлагать неправильный или устаревший код. Каждое предложение нужно просматривать.
GitHub Copilot: ассистент построчного уровня
GitHub Copilot — ИИ-ассистент, разработанный GitHub совместно с OpenAI и встраиваемый прямо в ваш редактор. Он работает в VS Code, JetBrains и других популярных редакторах.
Мы используем Copilot в нашем проекте на Python уже полгода. Его самая сильная сторона — построчное автодополнение кода. Когда вы пишете имя функции и её параметры, он автоматически заполняет тело. Если описать в комментарии, что вам нужно, он создаст соответствующий код.
Реальный пример: при написании API-эндпоинта я написал в комментарии «Получить заказы пользователя, отсортировав их по дате». Copilot автоматически создал запрос к базе данных, обработку ошибок и формат ответа. После небольших правок получился код, пригодный для прямого использования.
В написании тестов Copilot действительно блестящ. После того как вы написали функцию, стоит в тестовом файле начать вводить её имя, и он автоматически создаёт соответствующие тест-кейсы. Время, которое мы тратим на написание тестов, сократилось вдвое.
Недостаток — отсутствие такого глубокого понимания контекста, как у Cursor. Внутри одного файла он работает очень хорошо, но связи между проектами понимает не так хорошо, как Cursor.