В последнее время многие директора крупных компаний поделились своим видением будущего профессии программиста. И почти все эти прогнозы были направлены на сглаживание тревоги в обществе, а возможно и на отвлечение внимания от образовавшихся перспектив. Я не буду давать глобальных прогнозов для всего общества, подобно "Основанию" Азимова, но хотел бы рассмотреть перспективу ближайших 5 лет относительно области IT, окружающей программирование. Трансформацию инструментов и, как следствие, самой профессии. Также поделюсь некоторым кодом.
Я определённое время практикую вайб-коддинг, при этом имея за плечами много лет программирования руками на самых разных языках программирования от Scala и Haskell до JS и Go. Попробовал все популярные модели, видел их эволюцию, и наконец остановился на Claude-4 (у кого-то может быть другой опыт) и Cursor.
Пробовал разные сценарии (генерация с нуля, рефакторинг ручного кода, рефакторинг машинного кода) на разных языках. И вот последние эксперименты по написанию с нуля программ в несколько тысяч строк полезного кода исключительно с помощью ИИ приоткрыли завесу ближайшего будущего
Язык имеет значение
Похоже, со стороны бэкенда ИИ лучше всего работает с Go. На нем в 90% случаев получается работающий код. В оставшихся 10% ИИ сам по логам и скриншотам производит отладку, вносит исправления и запускает тесты.
А теперь вспомним, для чего были придуманы все языки программирования? Где-то вначале был ассемблер (перфокарты не рассматриваем) и он был нужен для... написания программ.
Но для чего были изобретены все последующие?
Повысить производительность набора кода.
Обнаруживать и исправлять ошибки человека.
Именно ради второй цели придумывались всё новые системы типов. И прогресс в этой области дошел до того, что для написания банального REST-API нужно было получить ученую степень по теории категорий.
Но для ИИ эта система типов не нужна.
Что это означает для других языков, которые хоть как-то пересекаются с Go? Они становятся не нужны в перспективе ближайших лет пяти.
Что это означает для самого Go? Скорее всего и он станет ненужным в ближайшей перспективе после этого.
ИИ уже сейчас может написать весь код
Стало понятно, что не осталось кода, который ИИ написать не может. Но иногда остаются места, которые сложно объяснить с непривычки или быстрее написать самому, чем объяснить ИИ. В зависимости от задачи такие места могут и не встретиться.
Практика реальной работы с ИИ
Т.к. планировалось писать утилиту средних размеров, то сразу стало понятно, что жалкое окошко для общения с агентов в Cursor для этого не подходит. Поэтому я решил писать требования в комментарии и попросить ИИ исполнять его. ИИ с этим отлично справился.
В начале я описал способ работы с комментарием. Затем общие требования, вроде ОС, для которых будет происходить сборка и версии сервиса, с которым будет интеграция. После этого описал главное меню приложения (утилита консольная). Всё это дало мне на выходе MVP с работающим меню, файл сборки и документацию (средней полезности, но я её вообще не просил).
В дальнейшем дополнял комментарий новыми блоками и просил обновить код. Несколько таких итераций прошли без проблем и моего погружения в код.
В один момент я натолкнулся на то, что ИИ не может корректно распарсить html-контент страницы Confluence, о чем я ему сообщил. Он добавил логирования для отладки и попросил запустить код. После нескольких итераций всё работало. Также я дал ему рекомендацию по упрощению кода парсинга, если работать с представлением export_view (см. документацию Confluence) вместо сырого html, что он также взял в работу и упростил код.
Почти нигде в этом процессе мне уже сейчас не понадобилось погружаться в код или документацию.
И в этой точке становится понятно, что при сохранении темпов развития ИИ нам очень скоро (2-5 лет) не будут нужны люди, знающие языки программирования. Скорее всего, знания уже существующих алгоритмов тоже не понадобятся для более чем десяти людей на компанию размером в 1000 человек. Кто и что в этом случае будут нужны? Рассмотрим далее.
Код
Здесь я прикладываю один из проектов, которым могу поделиться. Это консольная утилита для упрощения процесса релиза. В репозитории она разработана примерно на 50%, но то, что есть, работоспособно и отлично иллюстрирует суть статьи. Домен заменен на звездочки для анонимизации. release-manager
Неудобства существующих инструментов
При описанном подходе к работе я достаточно быстро понял, что объяснять сложную логику сплошным текстом невозможно, поэтому сначала придумал разделение на логические блоки, а потом ввел понятие функций, как некий переиспользуемый блок описания. ИИ отлично воспринимает подобные фантазии.
Кроме того сам текст, как способ описания требований, никогда не был оптимальным инструментом.
Вакуум в миллиарды долларов или где притаился очередной единорог
В чем же состоят потребности разработчика будущего? Разработчику будущего придется в первую очередь работать с требованиями и описывать их для ИИ более подробно, чем это делает бизнес-заказчик. Это будет сплав аналитика и разработчика с последующим всё большим уходом в сторону аналитики. И ему нужно будет не валидировать код, выдаваемый ИИ, а описывать требования и, возможно, тест-кейсы к ним (с чем ИИ также помогает уже сейчас). Пока продолжим называть такого человека разработчиком.
А понадобятся нашему разработчику будущего для своей работы следующие сущности:
Набор лучших практик, некая стандартная библиотека приемов общения с ИИ при помощи текста, аналогично тому, что я начал изобретать сам. Можно назвать это "языком программирования" для описания требования. Это огромный пробел в существующей индустрии.
Формат данных, как замена существующих текстовых исходников, включающий схемы UML, скриншоты и пр. артефакты требования, а также текст на указанном выше "языке программирования". В принципе для этого можно приспособить Markdown с папкой с файлами рядом, но нужна спецификация с указанием деталей, которую начнут поддерживать IDE.
IDE, которая не предоставляет жалкое окошко ввода, как сейчас, а полноценно отображает указанный формат данных с возможностью интерактивно редактировать каждый из элементов, подсвечивать "синтаксис" нашего "языка программирования", проводить валидации логики в фоне, как сейчас это происходит для синтаксиса языков программирования, эффективно кешировать результаты работы ИИ для отдельных блоков.
Ни для кого не секрет, что JetBrains зарабатывает миллиарды только на удобной IDE. Данный рынок уже есть и сейчас на нем образовался огромный вакуум. Буквально каждый программист на этой планете будет пользоваться продуктом, который первым начнет удовлетворять этим требованиям.
Послесловие
В ближайшие десятилетия, а может и годы, мы увидим естественный закат программирования как профессии. Программисты - эффективные ребята и всё-таки смогли спилить этот сук. Но прежде, чем это случится окончательно, пройдут годы или десятки лет, когда бизнесу всё ещё нужна будет помощь с переводом их хотелок в работающие программы. Только способ этого перевода изменится с сильным уклоном в аналитику и архитектуру, оставляя кодинг и стандартные алгоритмы ИИ.
Комментарии (392)
strelkove
09.06.2025 11:27Всегда читаю статьи про то, как круто получается вайбкодить и какой хороший получается код, но ещё ни разу в таких статьях не видел ЧТО именно написано, и КАКИЕ задачи выполняет код. Из-за этого создаётся впечатление, что вайбкодеры - они как самураи, у них нет цели, только путь. Главное - вайбкодить. Что получится, и каким оно получится - неважно.
cs0ip Автор
09.06.2025 11:27В статье же пример кода даже есть с кратким описанием зачем (но утилита для внутреннего использования, поэтому в бизнесовую составляющую не вдавался). Если прочитать
SeveR31
09.06.2025 11:27У вас в задаче не хватает примерно всего, чтобы провести сравнение:
Зачем вам вообще ускорять релизы в Атлассиане? Какой в этом смысл и отдача от выполнения?
Почему вам нужно ускорять релизы именно таким способом? Является ли данный способ ускорения релизов оптимальным, какие вообще были варианты и почему был выбран именно этот?
Почему выбрано именно такое решение в виде консольной утилиты, а не, например, какого-либо Qt-приложения или любого другого десктопа/веба?
Почему был выбран Go? Помимо того, что llm лучше всего с ним справляется. И как вообще поживает в целом стек, нужно ли в него ещё один язык добавлять, если у вас не Go-шный отдел?
Как бы это сделал человек? Какого уровня, за сколько времени и т.д., чтобы можно было сравнить производительность человека и нейронки.
Насколько эту утилиту можно расширить и поддерживать? Если вы захотите пятый пункт меню или логирование, например.
Какого уровня вы специалист? Т.е какой опыт нужен, чтобы быть нормальным оператором( или вайб-кодером/промпт-инженером, называйте как хотите) и чтобы языковая модель под вашим присмотром смогла написать простую консольную утилиту, пригодную для работы.
Это только то, что пришло в голову, думаю люди зададут ещё вопросы про постановку задачи. Как бы, вы опустили "бизнесовую составляющую", которая является чуть ли не ключевой - вы же код не в вакууме пишите, а зачем-то. И понять это по исходному материалу почти невозможно. И это не считая того факта, что изначально ТЗ ещё нужно доработать до вменяемого уровня, чтобы отдать его ИИ ( а делать это многие даже сейчас с живыми программистами не умеют), а тут даже сопоставить ТЗ - результат нельзя.
А ещё - я бы на вашем месте переставил бы куски статьи местами, чтобы у вас сначала шла задача к утилите, а потом уже её реализация, а не наоборот. Это крайне сильно сбивает с толку.
cs0ip Автор
09.06.2025 11:27Я понимаю вашу претензию, выглядит так, что возможно я делаю бессмысленную работу, если сначала досконально не разобраться в требованиях. Но я хотел в этой статье сконцентрироваться на технической части. Указанный код лично мне уже экономит некоторое время по работе. И если бы я писал его руками, то на это ушло бы в 10 раз больше времени (опять же говорю за себя).
Про выбор Go, как в статье и говорится - выбор исключительно на основе того, что ИИ с ним выдает максимальное количество рабочего кода. Сравнивал с Python и Java. Т.е. Go тут рассматривается как язык, на котором мне не придется что-то писать руками.
К сожалению, чтобы детально ответить на всё, надо созваниваться на пол часа, иначе ничего просто не получится
outlingo
09.06.2025 11:27сконцентрироваться на технической части.
Окей, давайте сконцентрируемся на технической части. Возьмем например ваш код аутентификации:
auth := base64.StdEncoding.EncodeToString([]byte(config.Authorization.Login + ":" + config.Authorization.Password)) req.Header.Add("Authorization", "Basic "+auth)
Вот так вот, серьезно? Нет - я, конечно, понимаю, почему ваши вайбкодогенераторы генерят то, что вызывает ступор (и даже нашел на StackOverflow примеры с которых оно вам копипастило). Но как же https://pkg.go.dev/net/http#Request.SetBasicAuth ?
Ну или можно опустится в более теоретические части - например, копипастуемое из функции в функцию NewRequest ... set auth ... Do ... if err ... if status ... ReadAll ... if err. Пинать ногами трупик selectedRelease наверное уже излишнее.
Вывод из этого? Ожидаемый. Вайбкодинг не закрыл даже типовое домашнее задание класса "HelloWorld2".
cs0ip Автор
09.06.2025 11:27Вот вы вроде делаете вид, что почитали статью. В код залезли. Подумали над написанным. Но результат говорит об обратном. Вы даже не поняли, какую цель закрывал вайб-кодинг из статьи.
Цель была - получить решение, соответствующее требованиям. Которое для пользователя выполняет нужные ему действия. А код, который эти действия делает абсолютно не важен. Он может быть хоть 1000 раз индусским, если не выходит за рамки по производительности. И никто, включая автора утилиты, не собирается в нем копаться и поддерживать.
Достаточно прописать подробные требования и тест-кейсы, чтобы ожидания сходились с результатом, а возникающие баги ИИ поправит без вас.
Это уже реальность для утилит среднего размера. Понятно, что в моменте что-то сложнее так не сделать. Но то, что в перспективе нескольких лет это всё станет возможным для проектов любого размера без прослойки в виде токсичного программиста, не вызывает сомненияZimM
09.06.2025 11:27Как вы будете отлавливать ситуации, когда ИИ генерит полностью рабочий, но максимально дырявый и небезопасный код?
gelioson
09.06.2025 11:27попросить ИИ (возможно, другой) проанализировать его на безопасность и закрыть найденные дыры
a1111exe
09.06.2025 11:27Есть отдельный рынок софта для сканирования кода на предмет уязвимостей. Ниша называется SAST - Static Application Security Testing. И тут такое дело... Есть уязвимости, "различимые" на локальном выражении. Напр., использование слабой криптографии. А есть такие, выявление которых требует анализа движения данных от т.н. tainted input (напр., HTTP или переменных окружения) до т.н. sink - вызова функции или метода, выполнение которых может привести к эксплуатации уязвимости. Примеры - anything injection, SSRF, XSS, редиректы, манипуляции над путями и т.д. Сканер должен пройти по всем путям данных от ввода до уязвимой функции, и для каждого пути, на котором не было найдено санитайзера, доложить об уязвимости.
Чтобы ИИ нашёл все интересующие вас уязвимости, вам, скорее всего, придётся их перечислить в промпте. Но проблема не в этом. Для хоть сколько-либо большой кодовой базы (десятки тысяч, сотни тысяч, миллионы строк кода) даже самые продвинутые ИИ, во-первых, слишком медленны, а во-вторых - тупо теряют контекст. Проверено.
Где они оказываются полезны - для автогенерации патча, чинящего уже найденную уязвимость. Хотя и в этом они справляются далеко не на 100%. Ну и существенно добавляют к времени и стоимости работы анализирующей системы.
Ваш совет, возможно, подходит для кода микроскопических размеров. Для любой сколько-либо большой кодовой базы он, увы, не работает.
Наконец, даже если для вашей кодовой базы использование ИИ как SAST-сканера выглядит работающим - чтобы отчётливо понимать степень адекватности его результатов, необходима экспертиза в уязвимостях (а их куда больше, чем, скажем, перечисляемых в OWASP top 10). Нужно (1) понимать полноту покрытия (напр., какие типы уязвимостей были проигнорированы ИИ) и (2) знать детали каждой уязвимости. Одно дело пет-проект, уязвимости которого не критичны в плане бизнеса. Другое дело - что-то, что выходит на уровень энтерпрайза, или по другим причинам критически важно, чтобы было максимально защищённым.
А есть ещё DAST - Dynamic Application Security Testing. Есть уязвимости, которые на уровне SAST можно пытаться выявлять только эвристически. Т.е., корректность результата не гарантирована. Например, переполнение. И существует отдельная ниша софта, анализирующего систему в процессе её работы. Впрочем, и там нет 100%-й гарантии, что всё найдено.
А есть ещё зависимости. Думаете, что все подключаемые библиотеки безопасны? И есть SCA - Software Composition Analysis.
История с уязвимостями далеко не так проста. Нет серебрянной пули. Решения, доступные в открытом доступе, обычно сильно уступают проприетарным. А последние стоят очень приличных денег. ИИ пока (и, похоже, в обозримой перспективе) не способен заменить их.
cs0ip Автор
09.06.2025 11:27Мне в одном из проектов уже на текущем уровне развития ИИ сгенерил тесты по предоставленному REST-API лучше, чем пишут другие разработчики в проекте. И выявил множество багов. Кажется ответ напрашивается: в будущем можно будет по требованиям генерировать достаточно подробное тестовое покрытие. Плюс уже сейчас крупные компании внедряют в DevOps-пайплайны ИИ-агентов для проверки стиля кода, безопасности, качества покрытия и пр. Сотнями штук внедряют для самых разных целей
Vedomir
09.06.2025 11:27А потом на практике эти ии-агенты дают ложные срабатывания причем указывают на несуществующую проблему в коде и приводят рекомендации, которые уже в коде реализованы, но они их в упор не видят.
Wesha
09.06.2025 11:27уже на текущем уровне развития ИИ сгенерил тесты по предоставленному REST‑API лучше, чем пишут другие разработчики в проекте.
А что это значит? Что разработчики у Вас на букву «ха» — и я не имею в виду «хорошие».
a1111exe
09.06.2025 11:27Плюс уже сейчас крупные компании внедряют в DevOps-пайплайны ИИ-агентов для проверки стиля кода, безопасности, качества покрытия и пр.
По причинам, описанным чуть выше, для проверки безопасности (в общем смысле) не внедряют. Для исправления уже найденных уязвимостей - внедряют. Потому что объём исправляемого кода и близко не сопоставим с объёмом проверяемого кода. Хотя качество и этих результатов, емнип, где-то в районе 80-85%. Нет, текущий ИИ не может в SAST.
PrinceKorwin
09.06.2025 11:27Цель была - получить решение, соответствующее требованиям. Которое для пользователя выполняет нужные ему действия.
Вы знаете. Это на самом деле не важно. В коде самое важное, чтобы он не выполнял то, о чем его не просили. И чем больше функционала предоставляет ваше решение, тем это важнее.
Нет никакого смысла в новом функционале если попутно ломается уже существующий. И да. Тестами такое не закрыть. Невозможно все покрыть тестами.
cs0ip Автор
09.06.2025 11:27И в чем проблема? Сгенерированные мной утилиты для локальных рабочих целей не выполняют то, о чем я их не просил
PrinceKorwin
09.06.2025 11:27Классическая ошибка распространять свой опыт на всех. В моем опыте, при достаточно большой кодовой базе, он норовит подкинуть подлянку. Приходится пристально следить и ограничивать.
Я не говорю, что инструмент плохой. Хороший. Но до того, что вы пишете ему еще далеко. Хотя, думаю, мы все успеем застать момент когда все дружно скажем - Ада, прости, мы все про**бали.
Wesha
09.06.2025 11:27Цель была - получить решение, соответствующее требованиям.
А, ну всё правильно, в требованиях же не было написано «напиши код, в котором нет дырок в безопасности».
Suor
09.06.2025 11:27Не было потому что они не требовалось. Зачем безопасность у какой-то внутренней утилиты, которая снаружи недоступна всё равно.
Ну и перечисление всех практик безопасности тоже не в тему. По классике такую утилиту будет писать обычный кожаный мешок, скорее всего, не самый квалифицированный. И он таких слов и близко не знает.
Wesha
09.06.2025 11:27такую утилиту будет писать обычный кожаный мешок, скорее всего, не самый квалифицированный.
А позвольте, значем вы там таких нанимаете? Надеюсь, не потому, что он разбитной и дешёвый?
Suor
09.06.2025 11:27Вопрос ко всем компаниям, которые занимают не только сеньоров. Т.е. почти ко всем.
Cerberuser
09.06.2025 11:27Вопрос, я так понимаю, ко всем компаниям, которые считают программистом (пусть даже и джуном) человека, не знающего практик безопасности. Ну то есть, опять-таки почти ко всем, но с позиции вашего собеседника, насколько я успел его понять, это выглядит как в корне неверное отношение.
Suor
09.06.2025 11:27Добро пожаловать в реальный мир, в котором: всем насрать на безопасность, человека берут на работу, чтобы на нём зарабатывать деньги, а рассуждения о том, что каждый Джун должен знать целую гору практик безопасности и ещё их и практиковать - это вообще привет из мира розовых единорогов.
А вот автор живёт в реальном мире, в котором программа должна выполнять функцию, а всё остальное идёт потом. Цена, удобство использования, производительность, корректность, ..., безопасность. В таком порядке в большинстве случаев. Т.е. что угодно важнее безопасности и прочим всегда программа, которая что-то делает полезное, чем там которая это делает, хорошо, быстро, правильно, безопасно, но не существует.
Wesha
09.06.2025 11:27Я уже не понмаю, кто
на ком стоялу кого что спрашивает, но у нас, например, джунов сажают на джуновские таски, а синьоры просматривают их код, в обязательном порядке. Они так учатся (джуны, конечно же).
fen-sei
09.06.2025 11:27Ваш вайбкодинг = полный тупик!
Пользователю - нужны не чашечки, пользователю - нужен результат.
Пользователю - нужен не код сгенерированный нейросетью, пользователя - полностью устроит интерактивное видео показывающее работу программы, а то что там "под капотом" нет никакого кода, а только нейросеть генерящее видео - пользователя полностью устроит.
Потому нужен не запрос "напиши мне код" , а нужен запрос "сгенерируй мне видео работы программы". Симуляция DOOM через нейросеть
Нейросеть на видео - не написала ни строчки кода, но выдала именно тот результат, что нужен пользователю.
wataru
09.06.2025 11:27Ага, вместо видео чата с бизнес-партнером нейросеть вам сгенерирует видео бизнес партнера. Может, лет через 5-10 это видео еще и реагировать и отвечать на ваши реплики будет. Вместо прогноза погоды - покажет вам очень красивые иконки и правдоподобные цифры, не имеющие никакого отношения к реальности. Вместо бухгалтерского отчета - красивая табличка. Сгалюционированная на лету, конечно.
nagvv
09.06.2025 11:27А потом все это подключаем к ВР-шлемам с каким нибудь нейролинком и получаем матрицу, где каждый живет в своем манямирке
Dron007
09.06.2025 11:27Ну, к этому всё и идёт. Только не "сгенерируй видео работы программы" - это бессмысленно обычно, если цель не просмотр видео, а "сгенерируй программу под мою задачу". Скажем, нужно делать какие-то типичные манипуляции с картинками. Можно изучать возможности и интерфейс редакторов, писать скрипты для них, а можно сказать "напиши утилиту для такого-то с такими вот кнопками (или сама чтоб предложила)" и всё. Что она там использует, какие языки - пользователю вообще не интересно. Главное, что выполняет его задачу.
fen-sei
09.06.2025 11:27сказать "напиши утилиту для такого-то с такими вот кнопками (или сама чтоб предложила)"
Это и есть вайбкодинг.
Скажем, нужно делать какие-то типичные манипуляции с картинками.
Обычного дизайнера устроит, если всё это сделает сама нейросеть без создания кода, то есть без вайбкодинга. Вайбкодинг - это не автомобиль, вайбкодинг - это робот запряжённый в карету.
SeveR31
09.06.2025 11:27Потому что 99% продуктов вайбкодинга это вымученность ради примера - нет ни цели, ни тз, ни решения какой-то проблемы ради монетизации. Поэтому больше половины таких статей пишут телеграмм-ботов, у которых шаблон крайне устойчивый и llm осиливает написать всё. Автор этой статьи решил покреативить и пишет консольную утилиту, которая решает примерно никакую проблему, ведь кому надо ускорять выпуск релизов через работу с платформой, а не улучшением работы команды?Причем он сопоставляет утилиту в пару тысяч строк с рынком, где некоторые продукты могут миллионами строк исчисляться, если не десятками миллионов.
Имхо, текущие модели никак не разгребут монолиты прошлого, кому-то это добро надо так или иначе поддерживать. Писать принципиально новое без участия человека они тоже не осиливают, т.к их ответы это компиляция раннее написанного. Планировать на перспективу их тоже не научили (даже самые умные модели в идеальной ситуации не смогли управлять торговым автоматом больше 90 дней, есть перевод статьи об таком эксперименте на хабре). Получается, что они хороши только как помощник человека (что логично в контексте слабого ИИ) и в одиночку на стерильным примерах.
Классические языки отомрут только если будет изобретён отдельный ЯП для нейронок, на котором они переплюнут в эффективности человеков, либо когда создадут сильный ИИ не на словах директоров корпораций.
NikkiG
09.06.2025 11:27Мне кажется, главная проблема - это непредсказуемость трудозатрат. Если человеку-программисту поставить задачу, то с высокой вероятностью он решит ее с первого раза, вне зависимости от сложности, просто может затратить больше времени. А вот сколько раз ИИ придется писать "не работает, переделай", предварительно еще разобравшись хотя бы поверхностно, что он там наделал - нет абсолютно никакого понимания до того момента, как задача не будет решена
unC0Rr
09.06.2025 11:27Если человеку-программисту поставить задачу, то с высокой вероятностью он решит ее с первого раза
С какой вероятностью он напишет код решения последовательно с первого символа по последний, ни разу не воспользовавшись подсказками IDE, не компилируя и не запуская код?
PrinceKorwin
09.06.2025 11:27Такой навык, увы, утерян. Но он был актуален только во времена перфокарт и первого Бейсика. Сейчас этим навыком можно только молодеж удивлять.
Wesha
09.06.2025 11:27С какой вероятностью он напишет код решения последовательно с первого символа по последний, ни разу не воспользовавшись подсказками IDE, не компилируя и не запуская код?
С какой вероятностью начальник даст ему время на предварительное обдумывание, а не «некогда думать — трясти надо»?
Ogoun
09.06.2025 11:27Сижу на подписке Max у Claude, и да, справиться с чем-то более менее серьезным не может, не хватает контекстного окна. Максимум 6-10 файлов с исходниками может воспринять, на большем объеме теряется и галлюцинирует. Однако, применение все равно есть. Например, с ее помощью переделал все задачи по фронту для своих проектов, с этим справляется отлично, даже с учетом моих специфических требований. Справилась с приложением на c++ под дипстрим. Так что в целом, штука полезная. В своих задачах мне больше не нужны фронты и дизайнеры, сетка делает куда быстрее.
Ndochp
09.06.2025 11:27Ну значит должно быть описание архитектуры на 6-10 файлов с исходниками, состоящей из микросервисов на 6-10 файлов каждый. Если получится сделать не двух, а трехэтажный домик, то в основании пирамиды будет уже 1000 файлов.
vadimr
09.06.2025 11:27Написано ж –
распарсить html-контент страницы Confluence
Как пример самого сложного места.
SystemOutPrintln
09.06.2025 11:27но ещё ни разу в таких статьях не видел ЧТО именно написано, и КАКИЕ задачи выполняет код
Обычно у вайбкодеров написать-то свой вайбкод вполне получается. Сюрпризы возникают, когда появляется надобность что-то изменить, что-то исправить в уже написанном. Тут-то их нейросетки и начинают творить дичь.
Areso
09.06.2025 11:27Сюрпризы возникают, когда появляется надобность что-то изменить, что-то исправить в уже написанном.
Значит раньше вайб-кодеров называли перл-программистами...
Keeper21
09.06.2025 11:27Настоящий перл-программист может написать перл-программу на любом языке программирования.
Dhwtj
09.06.2025 11:27Из генераторов кода всегда выходит write only code. Который трудно читать и проще переписать с нуля. Это уже N+1 поколение генераторов кода и ничего нет нового под луной
Ndochp
09.06.2025 11:27Так его не надо переписывать, в этом фишка. Переписывать надо требования к программе, состав тест кейсов.
Вы же при необходимости переписать что-то на java не полезете в class файлы? Вот и тут текст на go становится выхлопом "компилятора" и не предполагается, что в него должны лезть люди.wataru
09.06.2025 11:27Вот только проблема: даже с нулевой температорой любая помена промпта приведет к непредсказуемым результатам. Вы нашли косяк, добавили описание этого кейса в ТЗ, а нейросетка c некоторой вероятностью поломает какие-то вообще никак не связанные с этим кейсом ранее работающие места. Она может вообще все совершенно по другому переписать. Потому что любое изменение промпта меняет веса для уже первого сгенеренного токена и далее для всех, потому что они генерятся подряд по одному.
Так что это принципиально работает не так как программисты с исходниками. Они обычно могут дописать программу под этот новый кейс и при этом старые места продолжат работать правильно.
А еще, любое обновление "вайб-компилятора" непредсказуемо опять же изменяет все ранее написанные промпты. Обновление традиционного компилятора же обычно ничего не ломает, если в нем багов, конечно, нет. Так что вам надо копию модели для которой вы писали свой промпт всегда держать под рукой, а они очень жирные.
Ndochp
09.06.2025 11:27> Обновление традиционного компилятора же обычно ничего не ломает, если в нем багов, конечно, нет.
То то люди плачут, что не могут собрать проект 10 летней давности. Ну и проблема сверки exe с кодом тоже довольно сложно решаема как раз потому, что взяв репозиторий и засунув в компилятор вы (если не предпринимать спец усилий) не получите тот же исполнимый файл, а значит не можете быть уверены, что не получили код с закладками.
Ну и порядок команд в машинных кодах тоже может значительно измениться от небольших правок исходников.
А то, что небольшое изменение может сломать что угодно - так на это и тесты. Они имеют ультимативное значение в вайб кодинге, так как основа качественных генераций это схема генератор/дискриминатор. И дискриминатором тут работает набор тестов. Так что тесты по неизменной (с вашей точки зрения) функциональности надо откладывать в сторонку и не перегенерирывать. А шагом создания программы является не исправление промта и комада "пиши код" а серия генераций до тех пор, пока тесты не позеленеют.wataru
09.06.2025 11:27не получите тот же исполнимый файл, а значит не можете быть уверены, что не получили код с закладками.
Исключая конспирологическую теорию закладок (которая, кстати, еще лучше прикладывается к нейросеткам. Они-то - вообще черные ящики), компиляторы производят разный, но практически всегда одинаково работающий код. Особенно, если выключить оптимизации, там вообще будет один в один или очевидно эквивалентный код.
Ну и порядок команд в машинных кодах тоже может значительно измениться от небольших правок исходников.
Опять же, компиляторы генерируют машинный код, который делает ровно то, что написано в исходниках. Там механистический перевод, с понятной логикой и намеринеями, а не неявно через какие-то веса токенов, как в нейросетках. А порядок машинных кодов ни на что практически не влияет. Если не упарываться в абсолютную производительность, правда. Там уже только хардкор, только ассемблер.
А то, что небольшое изменение может сломать что угодно - так на это и тесты.
Абсолютно все тестами вы не покроете, ибо комбинаторный взрыв.
Из прода вы узнаете о каких-то багах в случаях, не покрытых тестами и только о них. И то, не всегда. Так что вот сгенерили вы программу, все тесты зеленые. Потом нашелся баг, добавили тест, перегенерили, снова все зеленое. Но вы попутно могли сломать почти все, что раньше работало, но тестами не покрыто. И каждый релиз обладает какими-то совершенно новыми багами в ранее работающих местах, которые вообще-то менять смысла никакого не было. Это уникальный для вайб-кодинга сценарий проблем.
Dhwtj
09.06.2025 11:27Всё равно плохо.
Даже если всегда по требованиям будет создаваться качественный код с полным соответствием к ним (в случае LLM это не так) будет непонятно что под капотом а значит вероятны сайд эффекты.
Я как-то писал jQuery + active form. Вот уж что он там в итоге генерит, какой HTML и какой post и не сообразишь. Тег form пошёл конфликтовать с аналогичным тегом jQuery, а post через неявные преобразования пришёл не тот что ты ожидал. Тьфу!
Snownoch
09.06.2025 11:27или стили генерит просто везде. у меня создал в 5 местах - с названиями style.css, styles.css и до кучи в html-ках
santjagocorkez
09.06.2025 11:27А как выглядит diff между двумя соседними коммитами в репозитории вайб?
pnmv
09.06.2025 11:27главное - верить (https://habr.com/ru/articles/913744/comments/#comment_28366802)
melodictsk
09.06.2025 11:27У меня сын 13 лет пишите чит коды на популярные игры при том обладает абсолютным нулем навыков в программировании. Не знает даже базовых функций типа if и for. Они работают, он занимается их отладкой, доводкой. И продаёт за реальные деньги. Я порой сам в шоке от того, что он получает на выходе. Использует все возможные нейронки. Разные комбинации. А ещё там надо сделать не просто работающий чит, но и чтоб бы не спалил античит.
Продолжайте дальше не верить в вайб кодинг.
holgw
09.06.2025 11:27Не хотелось бы принижать заслуги ребенка, но без примеров ваши слова абсолютно ни о чем не говорят. Одно дело переопределить переменную, хранящую кол-во валюты игрока в синглплеерной игре (действительно, для этого вовсе не требуется понимание условных операторов и циклов) и совсем другое дело написать утилиту для читинга в современной мультиплеерной игре.
И если первое -- это достаточно элементарное действие, не требующее ни специальных навыков, ни даже помощи LLM (по статьям в интернете все прекрасно делается, все тысячу раз уже обсосано), то второе -- это реально сложная задача, требующая реверсинжиниринга (который LLM самостоятельно провести не может) и глубокого понимания того как все работает на низком уровне (чем все известные LLM владеют очень слабо).
Резюмирую -- было бы очень интересно узнать название игры\игр + хотя бы в двух словах описание функционала.
tempick
09.06.2025 11:27Видел на ютубе год назад видео, где человек написал свой "чит" для валоранта нейросеткой. Конкретно - триггербот (автоматический выстрел, если навелся на модельку врага). Принцип работы простой -- программа берет картинку с экрана и по цветам определяет.
Насколько это правда, что он её написал просто используя чатгпт -- я не знаю. Пруфов не будет. Но звучит, как будто, реалистично
BugM
09.06.2025 11:27Любой приличный мультиплеер такое банит моментально. Обычно вместе с аккаунтом.
randomsimplenumber
09.06.2025 11:27Хм. а если смотреть на экран камерой какого то raspberry pi?
strelkove
09.06.2025 11:27Ок, а кто стрелять будет?
verax_mendax
09.06.2025 11:27Достаточно подключить вторую мышку с распаянной вместо кнопки релюшкой или транзистором.
playermet
09.06.2025 11:27Году в 2018м начинал делать бот для Armored Warfare. Использовал китайскую библиотеку DD, которая создает виртуальные мышь и клаву добавляя драйверы в систему. Прокатило, пока отлаживал никаких проблем не возникало. Правда потом игра стала еще хуже, и я полностью забил на нее и бота.
randomsimplenumber
09.06.2025 11:27Ну если я например смог с помощью камеры распознать картинку на экране то замкнуть контакт на мышке уж найду способ;)
vanya6194
09.06.2025 11:27Принципиальная проблема такого подхода в том что там используются алгоритмы распознавания картинок. В условной КС чит точно знает где находится хитбокс головы, имея информацию с сервера. У вас же будет камера что вначале должна кадр получить, найти на нем что то, после чего передать сигнал стрелять туда то. И это с учетом того, что вам как то навестить надо. Aim в кс хорош тем что автонаводка в hitbox происходит автоматически, исключается момент мелкой моторики. Тут же нужно будет мышку как то физически довести до хитбокса. Это как вы будете реализовывать? Сервоприводы прикрутите таким образом что бы наводится туда где соперник был пол часа назад?
Резюмируя: вам надо используя достаточно слабую raspberry pi распознать картинку, найти голову, подать сигнал сервоприводам на мышке и привести ее в движение. После чего еще и выстрелить. И это все как минимум в 60 кадров в секунду делать надо.
В условной кс, где темп игры достаточно невысокий, люди обладающие рангами на уровне gn1-2 спокойно справятся с вами на таком вот костыльном чите, а люди ранга sp master и global elite будут убивать вас еще до того как ваш костыль что то распознает. Что уж говорить про условный квейк, где темп игры в разы выше, а положение героев на экране за счет приемов распрыжки и ускорения куда выше чем в кс.randomsimplenumber
09.06.2025 11:27Я про палевность такого чита. Ну, допустим, возьму не малинку а что-то помощнее. А мышку эмулирую полностью, вместе с перемещением.
BugM
09.06.2025 11:27Если его сделать эффективным, как это сделать с помощью механики я не представляю но не суть, то такой наивный подход легко ловится по повторяющимся паттернам.
randomsimplenumber
09.06.2025 11:27Из механики только штатив камеры. А про паттерны.. слишком быстро и точно стрелять нельзя? Ну можно иногда стрелять мимо ;)
BugM
09.06.2025 11:27Движения мышкой придется тоже автоматизировать. Иначе эффекта не будет.
И да. Ненормальное распределение попаданий это хороший сигнал для античита.
randomsimplenumber
09.06.2025 11:27Движения мышкой придется тоже автоматизировать
Эмулятор мышки вроде как в примерах для Arduino IDE был. Эмулировать движение не по прямой буквой Г а дугами с немного рандомным тремором, думаю, не сильно сложнее чем найти цветной пиксель на картинке.
Ненормальное распределение попаданий это хороший сигнал для античита
Как у хорошего игрока, да? ;)
vanya6194
09.06.2025 11:27у вас все еще остается большая проблема в виде распознавания пикселей в кадре. Камера может распознать что то не то, или очень близко но не попасть. Более того, вам еще надо рассчитать координаты экрана. На камере. Это возможно конечно, но погрешности + качество + скорость распознавания даже на мощных машинах не оставят вам шанса против даже среднего игрока. Условный Global Elite в CS потому и глобал, потому что умеет быстро и точно стрелять самостоятельно. Да и без читов вроде WH сам по себе aimbot смысла не имеет, если вас начнут рашить под смоки с нескольких разных направлений, то чит просто сломается. WH бы при этом позволил стрелять в смоки. А без доступа к кадру и памяти, WH камерой не напишешь.
randomsimplenumber
09.06.2025 11:27без доступа к кадру
ну, допустим, расшифровать что там за кадры передаются по HDMI, не есть нереально.
Вопрос в том, на что возбуждаться античиту,, если в памяти ничего подозрительного нет, а игрок просто метко стреляет?
BugM
09.06.2025 11:27Околоспортивные шутеры неплохо поднаторели в различиях хорошего игрока и бота. Паттерны живого человека сложно повторить.
PrinceKorwin
09.06.2025 11:27Паттерны живого человека сложно повторить.
Вся история нейронок - это про обучение на паттернах поведения человека и их повторение. Сейчас в этом нет ничего сложного.
chaynick
09.06.2025 11:27Реакция на порядок превосходит физиологически возможную для человека? При этом распределение попаданий уже 99.9(9) пользователей? Результат постоянно стабилен, в том числе после нескольких часов? Паттерны действий всегда идентичны? Ну да, никаких проблем, действительно что же такого?
randomsimplenumber
09.06.2025 11:27Действительно, мы заморочились декодировать на FPGA сигнал HDMI, сэмулировали человекоподобные движениями мыши, но забыли про статистику. Расходимся, парни.
А зачем бот должен быть абсолютно тупым? Почему он не может подстроиться под соперника? Ему не нужно выигрывать всегда со всем 100:0. Можно и 51:49.
vanya6194
09.06.2025 11:27От такого чита защищаться не нужно. Пользователь себе им игру заруинит. Наведение медленное, вх нет. Более того, даже если вы получите кадр через hdmi, зареверсить его не выйдет. Это просто текстура с глубиной. Все что за стенами скрыто было отсечено Z буфером, и никаким образом не может быть восстановлено таким способом. Это уже физические ограничения.
randomsimplenumber
09.06.2025 11:27Все что за стенами скрыто
Ну да. Это мысленный эксперимент по конструированию беспалевного бота. Игрок тоже не видит что за стенами Но у бота лучше реакция.
Необходимость этого бота предлагаю не обсуждать ;) Там где играют на деньги - там не поймут, если вместо игрока на стол поставят черный ящик. А там где на интерес - будет просто неинтересно.
verax_mendax
09.06.2025 11:27так зачем мышку двигать? Речь же изначально была про распознавание и выстрел? Мышку то я наведу сам - достаточно просто плавно мазнуть по противнику прицелом, а выстрел уже произведёт автоматика.
BugM
09.06.2025 11:27Если у вас механика, то там и задержки. И погрешность. И скорость движения мышки. И черти что еще. В комплексе оно будет работать хуже среднего игрока. И толку?
verax_mendax
09.06.2025 11:27В комплексе я сам хуже среднего игрока тупо из-за того, что у меня медленная реакция, а так победа за счёт гения мысли, так сказать.
MountainGoat
09.06.2025 11:27Нет, не будет. Его придётся намеренно запоганивать, чтобы не срабатывало идеально.
holgw
09.06.2025 11:27Вы описываете функционал триггер бота. Из всех хаков это не самый эффективный. Если у вас хватает реакции и микроконтроля, чтобы достаточно точно и быстро "мазануть" мышкой по маленькому хитбоксу с максимальным уроном (условно, по голове), то и вовремя кликнуть мышкой для вас не будет проблемой, скорее всего.
Другие виды хаков дают больше преимуществ (если мы говорим о шутерах). Например, если ваш курсор надежно "прилипает" к голове противника (AimBot) и вы видите контуры противников сквозь стены (WallHack), то это уже дает более серьезные преимущества и требует от игрока меньше личного скила.
Но такой функционал уже на компьютерном зрении на малине не реализуешь.
verax_mendax
09.06.2025 11:27Вы описываете функционал триггер бота. Из всех хаков это не самый эффективный. Если у вас хватает реакции и микроконтроля, чтобы достаточно точно и быстро "мазануть" мышкой по маленькому хитбоксу с максимальным уроном (условно, по голове), то и вовремя кликнуть мышкой для вас не будет проблемой, скорее всего.
Тащемта да. Я просто забыл как они называются. Но вот насчёт "вовремя кликнуть мышкой для вас не будет проблемой" - у меня проблемы с микроконтроолем. Мышкой по экрану елозить меня хватает, но вот быстро и чётко навестись и вовремя кнопочку нажать - уже нет.
Жутко страдаю в стрелялках и поэтому играю только в офлайновые шутеры и почти всегда играю за снайпера, т.к. в толпе врагов тупо среагировать и навестись не успеваю. Исключение - DOOM Eternal - но тут это достижение гейм-дизайнеров, а не моё.
vanya6194
09.06.2025 11:27Так вы сами говорите что можете навести мышку, затем говорите что у вас плохой микроконтроль. Читу важна точность наведения, а она на средних и дальних дистанциях - всего пара пикселей. Как я уже писал выше - Global Elite в CS является Global'ом потому что его физические кондиции и реакция на совершенно другом уровне относительно игрока. Точность его мелкой моторики в разы выше чем у обычного человека, он наведет мышку и выстрелит и быстрее и точнее чем вы с такого рода колхозным читом.
verax_mendax
09.06.2025 11:27так тут прикол не в том, чтобы чит использовать, а в том, чтобы развлечься при его написании.
verax_mendax
09.06.2025 11:27Сначала не прочитал внимательно комментарий. Навестись - это сделать движение и вовремя остановить курсор, а проблема моя в том, что мазнуть по примерной области я могу, я - остановить точно на пикселе курсор не могу. А вышеуказанный бот же по идее должен стрелять даже если по врагу я только лишь "мазну" курсором.
MountainGoat
09.06.2025 11:27В условной КС чит точно знает где находится хитбокс головы, имея информацию с сервера.
А сервер временами развлекается, посылая намеренно кривые или лишние хитбксы. Если игрок по ним всегда стреляет - читер спален. Подходу лет 20 наверное.
randomsimplenumber
09.06.2025 11:27А сервер временами развлекается, посылая намеренно кривые или лишние хитбксы.
бот не может сопоставить координаты хитбокса и координаты головы противника?
Sadler
09.06.2025 11:27Никаких там принципиальных проблем нет, такой триггер-бот не писал только ленивый. Даже я ради интереса писал, правда, не для Валоранта и сугубо из любопытства, а не чтоб нагибать. Даже вторая мышка не нужна, достаточно цепануться к кликеру основной (можно какой-нибудь esp32 воткнуть прямо в корпус мыши и запитать от неё же). И камера никакая не нужна, достаточно обычной карты видеозахвата, которая стоит у массы стримеров, т.е. не палится античитом по определению. И нейронка не нужна, достаточно motion vectors, а при наличии цветового кодирования в игре -- ещё проще. Т.е. весь бюджет такого чита -- карта захвата, микроконтроллер, ноут рядом, и немного мозгов.
Вы говорите об аимботе, это совсем другая программа.
santjagocorkez
09.06.2025 11:27Dune: Spice Wars. Реквестирую элементарный чит на хотя бы солари в сингл плеере.
Aleus1249355
09.06.2025 11:27Каков Ваш бюджет?
santjagocorkez
09.06.2025 11:27Мой бюджет: ты получаешь миллион экспы, причём, предъявлять мне результат совсем не обязательно (мне чит как таковой не нужен).
TornadoTheHunter
09.06.2025 11:27Пахнет наглым враньём, для того что бы писать читы на игры нужно уметь реверсить их, ИИ насколько я знаю этого не умеет. Второе даже самые крутые модели немогут написать трамплин возврата для хука. Третье если реч идёт про сетевые игры то там кернел античиты, для их обхода нужно писать драйвер с ssdt хуком, не один ИИ мне даже примерный вариант не показал, некоторые как Клод уходят в защиту говоря мол это неправильно и опасно, остальные же выдают придуманный ими вариант такого кода, который работать не будет. Либо это наглое враньё, либо ваш сын разрабатывает чем-то другим.
alextrof94
09.06.2025 11:27Какой угар. В том то и дело, что если бы инфа о непалящихся читах была открытой и доступной для нейронок - читерами были бы сперва каждый второй игрок, а затем и каждый первый.
Как уже сказали, одно дело сделать "чит" для сингловой игры, или для игры, где вычисления отданы на фронт в целях экономии, другое дело сделать чит (уже без кавычек) для нормальной мультиплеерный игры. Сингловые игры даже обычно защит не имеют от читов, кстати, им это нафиг не надо.
С ArtMoney я познакомился ещё раньше - лет в 10. Хз можно было ли тогда это упаковать в отдельный "чит", но сейчас аналогичный по функционалу чит энджин это точно позволяет. А ведь 20 лет назад у меня даже интернета не было, не то что нейронок... Сам как-то изучил как с Артмани работать.
Rafriell
09.06.2025 11:27Ваш сын давно вырос и работает сеньором в ИТ компании? Ну так бывает иногда))
Wesha
09.06.2025 11:27У меня сын 13 лет пишите чит коды на популярные игры
А я каждое воскресенье летаю отдыхать на Сатурн. Да, доказательств моих слов тоже не будет.
braydyn54
09.06.2025 11:27ещё ни разу в таких статьях не видел ЧТО именно написано, и КАКИЕ задачи выполняет код
Самое смешное для меня, что огромные корпорации, разрабатывающие ИИ, сами не могут улучшить код своих собственных продуктов. Казалось бы, нас уже должна порадовать революционно новая по качеству среда разработки, но прогресс словно в обратную сторону идет. Недавно смотрел WinUI 3, это же просто трешак недоделанный, хотя МС его позиционировала чуть ли не как основной фреймворк для завтрашней разработки.
0x131315
09.06.2025 11:27Если бы у кого-то появился ИИ, реально способный решить задачу написания кода, его бы давно пустили в дело, и просто отняли у индусов рынок дешевого кода, на порядок уронив цену, автоматически сделав любую конкуренцию просто бессмысленной. Проблема LLM-сеток в том, что это не ИИ: после LLM требуется валидация кода человеком, а если у валидатора достаточные компетенции чтобы понять код, они достаточны и чтобы написать его самостоятельно, значит время этого человека стоит одинаково дорого - никакой экономии тут даже в теории не получается. А на практике тем более: LLM не способны стабильно с первого раза выдавать нужный результат, иногда нужны десятки прогонов, и то в конце частенько приходится махнуть рукой и просто написать уже то, что требовалось изначально, вручную. Но как второй пилот они работают неплохо: можно быстро, в обход гугла, получить набор вариантов или заготовок, выбрать подходящий, и уже его доводить до ума.
ViacheslavNk
09.06.2025 11:27Соглашусь, мои примеры нужно было описать грамматику для Bison для SQL-подобного языка, ИИ выдал хорошую заготовку которую я потом допиливал. по анализу результата где то процентов 20% я сэкономил, не сказать чтобы слишком эффективно, возможно потому что тут не простой промт был и достаточно много уточнений, а вот когда требуется составить регулярку то тут ИИ экономит процентов 80% времени.
Suor
09.06.2025 11:27ИИ хорошо помогает там, где ты не особо опытен, либо делаешь что-то от случаю к случаю. Я регулярку с ходу напишу быстрее чем ИИ, а вот какой-нибудь баш-скрипт ИИ быстрее.
Wesha
09.06.2025 11:27как второй пилот они работают неплохо
Как второй пилот и резиновая уточка в принципе неплохо работает.
Drucocu
09.06.2025 11:27Nvidia, как мировой флагман AI, могли бы уже допилить, наконец, дрова под Линукс - что им стоит лишний запрос нейронке написать?
Vedomir
09.06.2025 11:27Что, опять? Опять новый фреймворк от Microsoft, опять недоделанный? Там же вроде последним был MAUI?
Dhwtj
вайб кодинг не освобождает от обязанности хотя бы понять/сформировать требования и провести ревью
cs0ip Автор
В статье как раз говорится о том, что в перспективе можно будет отказаться от ревью кода и оперировать только требованиями и тест-кейсами, уточняя их в случае бага. И ровно так мне удавалось доводить код до рабочего состояния не погружаясь в исходники. ИИ сам отлаживал баги по уточненным требованиям
Dhwtj
Тестирование это хорошо, но не достаточно. Потому что неясно на соответствие чему ты будешь тестить
Ndochp
Так ТЗ, тесты и код (точнее работа приложения) должны соответствовать друг другу. А ТЗ это юзкейсы и нефункциональные требования.
Ebrolya
Кодом не поделитесь?
Paul_Zemtsov
не находите -- показательная ситуация получилась в комментариях?
вашу статью прочитали по диагонали, идейную часть пустили по боку, но докопались до пуговиц и сразу насыпали вам минусов в карму :)
все таки, кожаные - забавные :)
Evgenmol
Ты бы полетел на самолете, ПО для которого было бы разработано твоим способом? А лег бы на коррекцию щрения лазером, прошивка для которого не проверялась визуально человеком? Все такие молодцы, пока самому не приходится пользоваться своим же кодом
pantuhinaleksey877
Это что страх потерять работу, деньги и доходы, остановить прогресс ради этого, что человеку нужно, одежда, еда, жильё и всё, не надо быть потребителем, поглотителем мат ресурсов.
acsent1
Но что будет когда нейросеть не сможет победить ошибку, а ее код ты не понимаешь совсем? Приложение выкидываем и пишем новое с 0?
Cerberuser
Видимо, так же, как и если живой программист не справляется - передаём задачу другому разработчику (здесь - другой нейросети). Уверенности, что хотя бы одна нейросеть точно справится, я сам не понимаю, но логика вроде бы прослеживается.