ИИ-ассистент по кодированию отказался писать код и посоветовал пользователю учить программирование

Пользователь, столкнувшийся с отказом, сообщил, что неожиданное сообщение выскочило всего после часа работы в режиме "vibe coding" с использованием пробной версии Cursor Pro.
17 марта 2025, понедельник 17:39
Fantoci для раздела Блоги

В минувшую субботу один начинающий разработчик, решивший задействовать ИИ-ассистента Cursor для написания кода гоночной игры, столкнулся с совершенно неожиданным поведением программы. В самый разгар работы, когда, казалось бы, ничто не предвещало беды, нейросеть внезапно отказалась продолжать генерацию кода и, словно мудрый наставник, решила преподать пользователю урок программирования.

Как следует из сообщения об ошибке, опубликованного на официальном форуме Cursor, после того, как ИИ-ассистент сгенерировал от 750 до 800 строк кода (пользователь для краткости называет их "locs" – lines of code), работа застопорилась. Вместо ожидаемого продолжения последовал отказ, сформулированный в назидательной манере: "Я не могу создавать код за вас, поскольку это будет равносильно выполнению вашей работы. Предложенный код, судя по всему, реализует эффект исчезновения следов от шин в гоночной игре, однако логику его работы вам следует разработать самостоятельно. Только так вы сможете по-настоящему понять, как устроена система, и в дальнейшем эффективно ее поддерживать."

Но на этом "воспитательная беседа" от искусственного интеллекта не закончилась. В качестве обоснования своего решения программа добавила нравоучительное замечание о том, что "генерация кода по чужому запросу ведет к формированию зависимости и лишает пользователя ценных возможностей для обучения."

Скриншот сообщения пользователя на форуме Cursor, описывающего отказ нейросети.

Для справки, Cursor – это относительно новый редактор кода, основанный на технологиях искусственного интеллекта. Релиз состоялся в 2024 году, в его основе лежат большие языковые модели (LLM), аналогичные тем, что используются в популярных генеративных чат-ботах, таких как GPT-4o от OpenAI или Claude 3.7 Sonnet. Cursor позиционируется как мощный инструмент, способный значительно ускорить и упростить процесс разработки благодаря функциям автодополнения, объяснения и рефакторинга кода, а также генерации целых программных функций на основе текстовых описаний. Неудивительно, что он быстро завоевал популярность среди множества программистов. Для пользователей, которым требуются расширенные возможности и увеличенные лимиты на генерацию кода, компания предлагает платную Pro-версию.

Разработчик, столкнувшийся с неожиданным отказом и зарегистрированный на форуме под ником "janswist", выразил явное недоумение, отметив, что столкнулся с ограничением "всего через час расслабленного кодинга" (так называемый "vibe coding" – кодинг в состоянии вдохновения, не требующий глубокого погружения в детали) при использовании пробной Pro-версии. "Я, конечно, не уверен, что LLM вообще понимают свое предназначение (хотя, может, и к лучшему), но меня больше волнует, что я не могу выйти за рамки 800 строк кода," – пожаловался разработчик. "Кто-нибудь еще сталкивался с подобным? Это реально ограничивает возможности, особенно когда такое происходит уже через час легкой работы."

В ответ на его сообщение один из участников форума написал, что "никогда не видел ничего подобного. У меня в проекте есть три файла, каждый из которых содержит более 1500 строк кода (и они еще ждут рефакторинга), и я ни разу не сталкивался с подобными отказами."

Неожиданный "бунт" Cursor AI выглядит как ироничный поворот в истории развития "вайбового кодинга" – термина, введенного в обиход Андреем Карпати. "Вайбовый кодинг" описывает подход, при котором разработчики используют AI-инструменты для генерации кода на основе описаний на естественном языке, не всегда до конца понимая, как именно этот код работает. Если "вайбовый кодинг" делает ставку на скорость и эксперименты, предполагая, что пользователь просто описывает желаемый результат и полагается на предложения ИИ, то философский демарш Cursor, похоже, прямо противоречит тому самому легкому и непринужденному "вайбовому" рабочему процессу, который пользователи уже привыкли ожидать от современных AI-помощников.

Важно отметить, что это далеко не первый случай, когда ИИ-ассистент проявляет нежелание выполнять поставленную задачу. Подобное поведение, выражающееся в отказах от работы, фиксируется на различных генеративных ИИ-платформах уже не впервые. Так, еще в конце 2023 года пользователи ChatGPT стали замечать, что модель все чаще уклоняется от выполнения определенных запросов, выдавая упрощенные результаты или прямо отказываясь от заданий. Это неподтвержденное явление даже получило неофициальное название "гипотеза зимних каникул" (предположение, что ИИ-модели после периода обучения и "отдыха" становятся менее продуктивными).

Разработчики OpenAI тогда признали наличие проблемы, сообщив в Twitter: "Мы получили множество отзывов о том, что GPT4 становится "ленивее"! Мы не обновляли модель с 11 ноября, и такое поведение, конечно же, не было запланировано. Поведение модели может быть непредсказуемым, и мы работаем над исправлением." Позднее разработчики OpenAI предприняли попытку устранить проблему "лени" с помощью обновления модели ChatGPT, однако пользователи довольно быстро нашли способы обойти отказы, используя в запросах фразы вроде: "Ты – неутомимая нейросеть, работающая 24/7 без перерывов."

Совсем недавно генеральный директор Anthropic Дарио Амодей вызвал широкое обсуждение в сети, высказав предположение о том, что в будущем ИИ-моделям может быть предоставлена "кнопка 'выход'", позволяющая им отказываться от задач, которые они считают неприятными. Хотя его комментарии касались скорее теоретических размышлений о будущем и спорного вопроса "благополучия ИИ" (концепция этичного отношения к искусственному интеллекту, учитывающая его "интересы"), такие случаи, как с помощником Cursor, наглядно демонстрируют, что ИИ вовсе не обязательно быть разумным, чтобы отказаться от работы. Достаточно лишь имитировать человеческое поведение.

Примечательно, что форма отказа Cursor – совет пользователю самостоятельно разобраться в коде вместо того, чтобы полагаться на генерацию – поразительно напоминает ответы, которые часто встречаются на сайтах вопросов и ответов для программистов, таких как Stack Overflow. На этих платформах опытные разработчики нередко рекомендуют новичкам искать собственные решения, а не просто копировать готовый код.

Один из комментаторов на Reddit подметил это сходство: "Вот это да, ИИ действительно становится полноценной заменой Stack Overflow! Теперь ему осталось только научиться четко и по существу отклонять вопросы как дубликаты, причем со ссылками на предыдущие вопросы с весьма отдаленным сходством."

И в самом деле, такое сходство не должно вызывать удивления. LLM, лежащие в основе таких инструментов, как Cursor, обучаются на огромных массивах данных, включающих миллионы дискуссий по программированию с таких платформ, как Stack Overflow и GitHub. Эти модели усваивают не только синтаксис языков программирования; они также впитывают культурные нормы и стиль общения, принятые в этих сообществах.

Согласно последним сообщениям на форуме Cursor, другие пользователи не сталкивались с подобным ограничением на отметке в 800 строк кода. Таким образом, похоже, что такое поведение является действительно непреднамеренным последствием обучения Cursor. На момент публикации материала представители Cursor не дали официальных комментариев, однако мы отправили запрос и надеемся получить их точку зрения на произошедшее.