Pull to refresh

Comments 429

вайб кодинг не освобождает от обязанности хотя бы понять/сформировать требования и провести ревью

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

Тестирование это хорошо, но не достаточно. Потому что неясно на соответствие чему ты будешь тестить

Так ТЗ, тесты и код (точнее работа приложения) должны соответствовать друг другу. А ТЗ это юзкейсы и нефункциональные требования.

Тут момент, выходит что всю задачу нужно описать в функциональном стиле.

Т.е. по сути, получился компилятор функционально-логического языка

Кодом не поделитесь?

не находите -- показательная ситуация получилась в комментариях?
вашу статью прочитали по диагонали, идейную часть пустили по боку, но докопались до пуговиц и сразу насыпали вам минусов в карму :)
все таки, кожаные - забавные :)

Ты бы полетел на самолете, ПО для которого было бы разработано твоим способом? А лег бы на коррекцию щрения лазером, прошивка для которого не проверялась визуально человеком? Все такие молодцы, пока самому не приходится пользоваться своим же кодом

Ты бы полетел на самолете, ПО для которого было

написано индусами по цене "свободная касса" в маке? Ну да, все и летают.

Это что страх потерять работу, деньги и доходы, остановить прогресс ради этого, что человеку нужно, одежда, еда, жильё и всё, не надо быть потребителем, поглотителем мат ресурсов.

Но что будет когда нейросеть не сможет победить ошибку, а ее код ты не понимаешь совсем? Приложение выкидываем и пишем новое с 0?

когда нейросеть не сможет победить ошибку

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

Пока все еще можно нанять живого программиста (на ближайшие лет 50 это не проблема, да и потом будут любители странного).

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

Каждая кухарка может управлять государством и любая кухарка с помощью ИИ может написать пузырьковую сортировку, но с графом на в-деревьях могут быть уже нюансы. :)

Всегда читаю статьи про то, как круто получается вайбкодить и какой хороший получается код, но ещё ни разу в таких статьях не видел ЧТО именно написано, и КАКИЕ задачи выполняет код. Из-за этого создаётся впечатление, что вайбкодеры - они как самураи, у них нет цели, только путь. Главное - вайбкодить. Что получится, и каким оно получится - неважно.

В статье же пример кода даже есть с кратким описанием зачем (но утилита для внутреннего использования, поэтому в бизнесовую составляющую не вдавался). Если прочитать

У вас в задаче не хватает примерно всего, чтобы провести сравнение:

  • Зачем вам вообще ускорять релизы в Атлассиане? Какой в этом смысл и отдача от выполнения?

  • Почему вам нужно ускорять релизы именно таким способом? Является ли данный способ ускорения релизов оптимальным, какие вообще были варианты и почему был выбран именно этот?

  • Почему выбрано именно такое решение в виде консольной утилиты, а не, например, какого-либо Qt-приложения или любого другого десктопа/веба?

  • Почему был выбран Go? Помимо того, что llm лучше всего с ним справляется. И как вообще поживает в целом стек, нужно ли в него ещё один язык добавлять, если у вас не Go-шный отдел?

  • Как бы это сделал человек? Какого уровня, за сколько времени и т.д., чтобы можно было сравнить производительность человека и нейронки.

  • Насколько эту утилиту можно расширить и поддерживать? Если вы захотите пятый пункт меню или логирование, например.

  • Какого уровня вы специалист? Т.е какой опыт нужен, чтобы быть нормальным оператором( или вайб-кодером/промпт-инженером, называйте как хотите) и чтобы языковая модель под вашим присмотром смогла написать простую консольную утилиту, пригодную для работы.

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

А ещё - я бы на вашем месте переставил бы куски статьи местами, чтобы у вас сначала шла задача к утилите, а потом уже её реализация, а не наоборот. Это крайне сильно сбивает с толку.

Я понимаю вашу претензию, выглядит так, что возможно я делаю бессмысленную работу, если сначала досконально не разобраться в требованиях. Но я хотел в этой статье сконцентрироваться на технической части. Указанный код лично мне уже экономит некоторое время по работе. И если бы я писал его руками, то на это ушло бы в 10 раз больше времени (опять же говорю за себя).

Про выбор Go, как в статье и говорится - выбор исключительно на основе того, что ИИ с ним выдает максимальное количество рабочего кода. Сравнивал с Python и Java. Т.е. Go тут рассматривается как язык, на котором мне не придется что-то писать руками.

К сожалению, чтобы детально ответить на всё, надо созваниваться на пол часа, иначе ничего просто не получится

сконцентрироваться на технической части.

Окей, давайте сконцентрируемся на технической части. Возьмем например ваш код аутентификации:

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".

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

Цель была - получить решение, соответствующее требованиям. Которое для пользователя выполняет нужные ему действия. А код, который эти действия делает абсолютно не важен. Он может быть хоть 1000 раз индусским, если не выходит за рамки по производительности. И никто, включая автора утилиты, не собирается в нем копаться и поддерживать.

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

Это уже реальность для утилит среднего размера. Понятно, что в моменте что-то сложнее так не сделать. Но то, что в перспективе нескольких лет это всё станет возможным для проектов любого размера без прослойки в виде токсичного программиста, не вызывает сомнения

Как вы будете отлавливать ситуации, когда ИИ генерит полностью рабочий, но максимально дырявый и небезопасный код?

попросить ИИ (возможно, другой) проанализировать его на безопасность и закрыть найденные дыры

Есть отдельный рынок софта для сканирования кода на предмет уязвимостей. Ниша называется 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.

История с уязвимостями далеко не так проста. Нет серебрянной пули. Решения, доступные в открытом доступе, обычно сильно уступают проприетарным. А последние стоят очень приличных денег. ИИ пока (и, похоже, в обозримой перспективе) не способен заменить их.

Мне в одном из проектов уже на текущем уровне развития ИИ сгенерил тесты по предоставленному REST-API лучше, чем пишут другие разработчики в проекте. И выявил множество багов. Кажется ответ напрашивается: в будущем можно будет по требованиям генерировать достаточно подробное тестовое покрытие. Плюс уже сейчас крупные компании внедряют в DevOps-пайплайны ИИ-агентов для проверки стиля кода, безопасности, качества покрытия и пр. Сотнями штук внедряют для самых разных целей

А потом на практике эти ии-агенты дают ложные срабатывания причем указывают на несуществующую проблему в коде и приводят рекомендации, которые уже в коде реализованы, но они их в упор не видят.

уже на текущем уровне развития ИИ сгенерил тесты по предоставленному REST‑API лучше, чем пишут другие разработчики в проекте.

А что это значит? Что разработчики у Вас на букву «ха» — и я не имею в виду «хорошие».

Плюс уже сейчас крупные компании внедряют в DevOps-пайплайны ИИ-агентов для проверки стиля кода, безопасности, качества покрытия и пр.

По причинам, описанным чуть выше, для проверки безопасности (в общем смысле) не внедряют. Для исправления уже найденных уязвимостей - внедряют. Потому что объём исправляемого кода и близко не сопоставим с объёмом проверяемого кода. Хотя качество и этих результатов, емнип, где-то в районе 80-85%. Нет, текущий ИИ не может в SAST.

Цель была - получить решение, соответствующее требованиям. Которое для пользователя выполняет нужные ему действия.

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

Нет никакого смысла в новом функционале если попутно ломается уже существующий. И да. Тестами такое не закрыть. Невозможно все покрыть тестами.

И в чем проблема? Сгенерированные мной утилиты для локальных рабочих целей не выполняют то, о чем я их не просил

Классическая ошибка распространять свой опыт на всех. В моем опыте, при достаточно большой кодовой базе, он норовит подкинуть подлянку. Приходится пристально следить и ограничивать.

Я не говорю, что инструмент плохой. Хороший. Но до того, что вы пишете ему еще далеко. Хотя, думаю, мы все успеем застать момент когда все дружно скажем - Ада, прости, мы все про**бали.

Цель была - получить решение, соответствующее требованиям.

А, ну всё правильно, в требованиях же не было написано «напиши код, в котором нет дырок в безопасности».

Не было потому что они не требовалось. Зачем безопасность у какой-то внутренней утилиты, которая снаружи недоступна всё равно.

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

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

А позвольте, значем вы там таких нанимаете? Надеюсь, не потому, что он разбитной и дешёвый?

Вопрос ко всем компаниям, которые занимают не только сеньоров. Т.е. почти ко всем.

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

Добро пожаловать в реальный мир, в котором: всем насрать на безопасность, человека берут на работу, чтобы на нём зарабатывать деньги, а рассуждения о том, что каждый Джун должен знать целую гору практик безопасности и ещё их и практиковать - это вообще привет из мира розовых единорогов.

А вот автор живёт в реальном мире, в котором программа должна выполнять функцию, а всё остальное идёт потом. Цена, удобство использования, производительность, корректность, ..., безопасность. В таком порядке в большинстве случаев. Т.е. что угодно важнее безопасности и прочим всегда программа, которая что-то делает полезное, чем там которая это делает, хорошо, быстро, правильно, безопасно, но не существует.

Я уже не понмаю, кто на ком стоял у кого что спрашивает, но у нас, например, джунов сажают на джуновские таски, а синьоры просматривают их код, в обязательном порядке. Они так учатся (джуны, конечно же).

Ваш вайбкодинг = полный тупик!

Пользователю - нужны не чашечки, пользователю - нужен результат.

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

Потому нужен не запрос "напиши мне код" , а нужен запрос "сгенерируй мне видео работы программы". Симуляция DOOM через нейросеть

Нейросеть на видео - не написала ни строчки кода, но выдала именно тот результат, что нужен пользователю.

Ага, вместо видео чата с бизнес-партнером нейросеть вам сгенерирует видео бизнес партнера. Может, лет через 5-10 это видео еще и реагировать и отвечать на ваши реплики будет. Вместо прогноза погоды - покажет вам очень красивые иконки и правдоподобные цифры, не имеющие никакого отношения к реальности. Вместо бухгалтерского отчета - красивая табличка. Сгалюционированная на лету, конечно.

А потом все это подключаем к ВР-шлемам с каким нибудь нейролинком и получаем матрицу, где каждый живет в своем манямирке

Ну, к этому всё и идёт. Только не "сгенерируй видео работы программы" - это бессмысленно обычно, если цель не просмотр видео, а "сгенерируй программу под мою задачу". Скажем, нужно делать какие-то типичные манипуляции с картинками. Можно изучать возможности и интерфейс редакторов, писать скрипты для них, а можно сказать "напиши утилиту для такого-то с такими вот кнопками (или сама чтоб предложила)" и всё. Что она там использует, какие языки - пользователю вообще не интересно. Главное, что выполняет его задачу.

сказать "напиши утилиту для такого-то с такими вот кнопками (или сама чтоб предложила)"

Это и есть вайбкодинг.

Скажем, нужно делать какие-то типичные манипуляции с картинками.

Обычного дизайнера устроит, если всё это сделает сама нейросеть без создания кода, то есть без вайбкодинга. Вайбкодинг - это не автомобиль, вайбкодинг - это робот запряжённый в карету.

Потому что 99% продуктов вайбкодинга это вымученность ради примера - нет ни цели, ни тз, ни решения какой-то проблемы ради монетизации. Поэтому больше половины таких статей пишут телеграмм-ботов, у которых шаблон крайне устойчивый и llm осиливает написать всё. Автор этой статьи решил покреативить и пишет консольную утилиту, которая решает примерно никакую проблему, ведь кому надо ускорять выпуск релизов через работу с платформой, а не улучшением работы команды?Причем он сопоставляет утилиту в пару тысяч строк с рынком, где некоторые продукты могут миллионами строк исчисляться, если не десятками миллионов.

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

Классические языки отомрут только если будет изобретён отдельный ЯП для нейронок, на котором они переплюнут в эффективности человеков, либо когда создадут сильный ИИ не на словах директоров корпораций.

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

Если человеку-программисту поставить задачу, то с высокой вероятностью он решит ее с первого раза

С какой вероятностью он напишет код решения последовательно с первого символа по последний, ни разу не воспользовавшись подсказками IDE, не компилируя и не запуская код?

Такой навык, увы, утерян. Но он был актуален только во времена перфокарт и первого Бейсика. Сейчас этим навыком можно только молодеж удивлять.

А зачем это нужно? Для бизнеса это бесполезный навык

С какой вероятностью он напишет код решения последовательно с первого символа по последний, ни разу не воспользовавшись подсказками IDE, не компилируя и не запуская код?

С какой вероятностью начальник даст ему время на предварительное обдумывание, а не «некогда думать — трясти надо»?

Сижу на подписке Max у Claude, и да, справиться с чем-то более менее серьезным не может, не хватает контекстного окна. Максимум 6-10 файлов с исходниками может воспринять, на большем объеме теряется и галлюцинирует. Однако, применение все равно есть. Например, с ее помощью переделал все задачи по фронту для своих проектов, с этим справляется отлично, даже с учетом моих специфических требований. Справилась с приложением на c++ под дипстрим. Так что в целом, штука полезная. В своих задачах мне больше не нужны фронты и дизайнеры, сетка делает куда быстрее.

Ну значит должно быть описание архитектуры на 6-10 файлов с исходниками, состоящей из микросервисов на 6-10 файлов каждый. Если получится сделать не двух, а трехэтажный домик, то в основании пирамиды будет уже 1000 файлов.

Написано ж –

распарсить html-контент страницы Confluence

Как пример самого сложного места.

но ещё ни разу в таких статьях не видел ЧТО именно написано, и КАКИЕ задачи выполняет код

Обычно у вайбкодеров написать-то свой вайбкод вполне получается. Сюрпризы возникают, когда появляется надобность что-то изменить, что-то исправить в уже написанном. Тут-то их нейросетки и начинают творить дичь.

Сюрпризы возникают, когда появляется надобность что-то изменить, что-то исправить в уже написанном.

Значит раньше вайб-кодеров называли перл-программистами...

Настоящий перл-программист может написать перл-программу на любом языке программирования.

Из генераторов кода всегда выходит write only code. Который трудно читать и проще переписать с нуля. Это уже N+1 поколение генераторов кода и ничего нет нового под луной

Так его не надо переписывать, в этом фишка. Переписывать надо требования к программе, состав тест кейсов.
Вы же при необходимости переписать что-то на java не полезете в class файлы? Вот и тут текст на go становится выхлопом "компилятора" и не предполагается, что в него должны лезть люди.

Вот только проблема: даже с нулевой температорой любая помена промпта приведет к непредсказуемым результатам. Вы нашли косяк, добавили описание этого кейса в ТЗ, а нейросетка c некоторой вероятностью поломает какие-то вообще никак не связанные с этим кейсом ранее работающие места. Она может вообще все совершенно по другому переписать. Потому что любое изменение промпта меняет веса для уже первого сгенеренного токена и далее для всех, потому что они генерятся подряд по одному.

Так что это принципиально работает не так как программисты с исходниками. Они обычно могут дописать программу под этот новый кейс и при этом старые места продолжат работать правильно.

А еще, любое обновление "вайб-компилятора" непредсказуемо опять же изменяет все ранее написанные промпты. Обновление традиционного компилятора же обычно ничего не ломает, если в нем багов, конечно, нет. Так что вам надо копию модели для которой вы писали свой промпт всегда держать под рукой, а они очень жирные.

> Обновление традиционного компилятора же обычно ничего не ломает, если в нем багов, конечно, нет.

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

А то, что небольшое изменение может сломать что угодно - так на это и тесты. Они имеют ультимативное значение в вайб кодинге, так как основа качественных генераций это схема генератор/дискриминатор. И дискриминатором тут работает набор тестов. Так что тесты по неизменной (с вашей точки зрения) функциональности надо откладывать в сторонку и не перегенерирывать. А шагом создания программы является не исправление промта и комада "пиши код" а серия генераций до тех пор, пока тесты не позеленеют.

не получите тот же исполнимый файл, а значит не можете быть уверены, что не получили код с закладками.

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

Ну и порядок команд в машинных кодах тоже может значительно измениться от небольших правок исходников.

Опять же, компиляторы генерируют машинный код, который делает ровно то, что написано в исходниках. Там механистический перевод, с понятной логикой и намеринеями, а не неявно через какие-то веса токенов, как в нейросетках. А порядок машинных кодов ни на что практически не влияет. Если не упарываться в абсолютную производительность, правда. Там уже только хардкор, только ассемблер.

А то, что небольшое изменение может сломать что угодно - так на это и тесты.

Абсолютно все тестами вы не покроете, ибо комбинаторный взрыв.

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

Вы как будто из марта-апреля 2025 пишете, а не из сегодня.

Мне кажется, что у скептиков все упирается в нежелание осваивать новый инструмент и учиться им пользоваться, вырабатывая новые лучшие практики.

Непредсказуемость и стохастический характер работы - не минус, а неотъемлемая фича, которая как раз и делает нейросети нейросетями. Просто приноровиться надо.

Всё равно плохо.

Даже если всегда по требованиям будет создаваться качественный код с полным соответствием к ним (в случае LLM это не так) будет непонятно что под капотом а значит вероятны сайд эффекты.

Я как-то писал jQuery + active form. Вот уж что он там в итоге генерит, какой HTML и какой post и не сообразишь. Тег form пошёл конфликтовать с аналогичным тегом jQuery, а post через неявные преобразования пришёл не тот что ты ожидал. Тьфу!

или стили генерит просто везде. у меня создал в 5 местах - с названиями style.css, styles.css и до кучи в html-ках

А как выглядит diff между двумя соседними коммитами в репозитории вайб?

У меня сын 13 лет пишите чит коды на популярные игры при том обладает абсолютным нулем навыков в программировании. Не знает даже базовых функций типа if и for. Они работают, он занимается их отладкой, доводкой. И продаёт за реальные деньги. Я порой сам в шоке от того, что он получает на выходе. Использует все возможные нейронки. Разные комбинации. А ещё там надо сделать не просто работающий чит, но и чтоб бы не спалил античит.

Продолжайте дальше не верить в вайб кодинг.

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

И если первое -- это достаточно элементарное действие, не требующее ни специальных навыков, ни даже помощи LLM (по статьям в интернете все прекрасно делается, все тысячу раз уже обсосано), то второе -- это реально сложная задача, требующая реверсинжиниринга (который LLM самостоятельно провести не может) и глубокого понимания того как все работает на низком уровне (чем все известные LLM владеют очень слабо).

Резюмирую -- было бы очень интересно узнать название игры\игр + хотя бы в двух словах описание функционала.

Видел на ютубе год назад видео, где человек написал свой "чит" для валоранта нейросеткой. Конкретно - триггербот (автоматический выстрел, если навелся на модельку врага). Принцип работы простой -- программа берет картинку с экрана и по цветам определяет.

Насколько это правда, что он её написал просто используя чатгпт -- я не знаю. Пруфов не будет. Но звучит, как будто, реалистично

Любой приличный мультиплеер такое банит моментально. Обычно вместе с аккаунтом.

Хм. а если смотреть на экран камерой какого то raspberry pi?

Ок, а кто стрелять будет?

Достаточно подключить вторую мышку с распаянной вместо кнопки релюшкой или транзистором.

Году в 2018м начинал делать бот для Armored Warfare. Использовал китайскую библиотеку DD, которая создает виртуальные мышь и клаву добавляя драйверы в систему. Прокатило, пока отлаживал никаких проблем не возникало. Правда потом игра стала еще хуже, и я полностью забил на нее и бота.

Ну если я например смог с помощью камеры распознать картинку на экране то замкнуть контакт на мышке уж найду способ;)

Принципиальная проблема такого подхода в том что там используются алгоритмы распознавания картинок. В условной КС чит точно знает где находится хитбокс головы, имея информацию с сервера. У вас же будет камера что вначале должна кадр получить, найти на нем что то, после чего передать сигнал стрелять туда то. И это с учетом того, что вам как то навестить надо. Aim в кс хорош тем что автонаводка в hitbox происходит автоматически, исключается момент мелкой моторики. Тут же нужно будет мышку как то физически довести до хитбокса. Это как вы будете реализовывать? Сервоприводы прикрутите таким образом что бы наводится туда где соперник был пол часа назад?

Резюмируя: вам надо используя достаточно слабую raspberry pi распознать картинку, найти голову, подать сигнал сервоприводам на мышке и привести ее в движение. После чего еще и выстрелить. И это все как минимум в 60 кадров в секунду делать надо.

В условной кс, где темп игры достаточно невысокий, люди обладающие рангами на уровне gn1-2 спокойно справятся с вами на таком вот костыльном чите, а люди ранга sp master и global elite будут убивать вас еще до того как ваш костыль что то распознает. Что уж говорить про условный квейк, где темп игры в разы выше, а положение героев на экране за счет приемов распрыжки и ускорения куда выше чем в кс.

Я про палевность такого чита. Ну, допустим, возьму не малинку а что-то помощнее. А мышку эмулирую полностью, вместе с перемещением.

Если его сделать эффективным, как это сделать с помощью механики я не представляю но не суть, то такой наивный подход легко ловится по повторяющимся паттернам.

Из механики только штатив камеры. А про паттерны.. слишком быстро и точно стрелять нельзя? Ну можно иногда стрелять мимо ;)

Движения мышкой придется тоже автоматизировать. Иначе эффекта не будет.

И да. Ненормальное распределение попаданий это хороший сигнал для античита.

Движения мышкой придется тоже автоматизировать

Эмулятор мышки вроде как в примерах для Arduino IDE был. Эмулировать движение не по прямой буквой Г а дугами с немного рандомным тремором, думаю, не сильно сложнее чем найти цветной пиксель на картинке.

Ненормальное распределение попаданий это хороший сигнал для античита

Как у хорошего игрока, да? ;)

у вас все еще остается большая проблема в виде распознавания пикселей в кадре. Камера может распознать что то не то, или очень близко но не попасть. Более того, вам еще надо рассчитать координаты экрана. На камере. Это возможно конечно, но погрешности + качество + скорость распознавания даже на мощных машинах не оставят вам шанса против даже среднего игрока. Условный Global Elite в CS потому и глобал, потому что умеет быстро и точно стрелять самостоятельно. Да и без читов вроде WH сам по себе aimbot смысла не имеет, если вас начнут рашить под смоки с нескольких разных направлений, то чит просто сломается. WH бы при этом позволил стрелять в смоки. А без доступа к кадру и памяти, WH камерой не напишешь.

без доступа к кадру

ну, допустим, расшифровать что там за кадры передаются по HDMI, не есть нереально.

Вопрос в том, на что возбуждаться античиту,, если в памяти ничего подозрительного нет, а игрок просто метко стреляет?

Околоспортивные шутеры неплохо поднаторели в различиях хорошего игрока и бота. Паттерны живого человека сложно повторить.

Паттерны живого человека сложно повторить.

Вся история нейронок - это про обучение на паттернах поведения человека и их повторение. Сейчас в этом нет ничего сложного.

Реакция на порядок превосходит физиологически возможную для человека? При этом распределение попаданий уже 99.9(9) пользователей? Результат постоянно стабилен, в том числе после нескольких часов? Паттерны действий всегда идентичны? Ну да, никаких проблем, действительно что же такого?

Действительно, мы заморочились декодировать на FPGA сигнал HDMI, сэмулировали человекоподобные движениями мыши, но забыли про статистику. Расходимся, парни.

А зачем бот должен быть абсолютно тупым? Почему он не может подстроиться под соперника? Ему не нужно выигрывать всегда со всем 100:0. Можно и 51:49.

От такого чита защищаться не нужно. Пользователь себе им игру заруинит. Наведение медленное, вх нет. Более того, даже если вы получите кадр через hdmi, зареверсить его не выйдет. Это просто текстура с глубиной. Все что за стенами скрыто было отсечено Z буфером, и никаким образом не может быть восстановлено таким способом. Это уже физические ограничения.

Все что за стенами скрыто

Ну да. Это мысленный эксперимент по конструированию беспалевного бота. Игрок тоже не видит что за стенами Но у бота лучше реакция.

Необходимость этого бота предлагаю не обсуждать ;) Там где играют на деньги - там не поймут, если вместо игрока на стол поставят черный ящик. А там где на интерес - будет просто неинтересно.

так зачем мышку двигать? Речь же изначально была про распознавание и выстрел? Мышку то я наведу сам - достаточно просто плавно мазнуть по противнику прицелом, а выстрел уже произведёт автоматика.

Если у вас механика, то там и задержки. И погрешность. И скорость движения мышки. И черти что еще. В комплексе оно будет работать хуже среднего игрока. И толку?

В комплексе я сам хуже среднего игрока тупо из-за того, что у меня медленная реакция, а так победа за счёт гения мысли, так сказать.

Нет, не будет. Его придётся намеренно запоганивать, чтобы не срабатывало идеально.

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

Другие виды хаков дают больше преимуществ (если мы говорим о шутерах). Например, если ваш курсор надежно "прилипает" к голове противника (AimBot) и вы видите контуры противников сквозь стены (WallHack), то это уже дает более серьезные преимущества и требует от игрока меньше личного скила.

Но такой функционал уже на компьютерном зрении на малине не реализуешь.

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

Тащемта да. Я просто забыл как они называются. Но вот насчёт "вовремя кликнуть мышкой для вас не будет проблемой" - у меня проблемы с микроконтроолем. Мышкой по экрану елозить меня хватает, но вот быстро и чётко навестись и вовремя кнопочку нажать - уже нет.

Жутко страдаю в стрелялках и поэтому играю только в офлайновые шутеры и почти всегда играю за снайпера, т.к. в толпе врагов тупо среагировать и навестись не успеваю. Исключение - DOOM Eternal - но тут это достижение гейм-дизайнеров, а не моё.

Так вы сами говорите что можете навести мышку, затем говорите что у вас плохой микроконтроль. Читу важна точность наведения, а она на средних и дальних дистанциях - всего пара пикселей. Как я уже писал выше - Global Elite в CS является Global'ом потому что его физические кондиции и реакция на совершенно другом уровне относительно игрока. Точность его мелкой моторики в разы выше чем у обычного человека, он наведет мышку и выстрелит и быстрее и точнее чем вы с такого рода колхозным читом.

так тут прикол не в том, чтобы чит использовать, а в том, чтобы развлечься при его написании.

Сначала не прочитал внимательно комментарий. Навестись - это сделать движение и вовремя остановить курсор, а проблема моя в том, что мазнуть по примерной области я могу, я - остановить точно на пикселе курсор не могу. А вышеуказанный бот же по идее должен стрелять даже если по врагу я только лишь "мазну" курсором.

В условной КС чит точно знает где находится хитбокс головы, имея информацию с сервера.

А сервер временами развлекается, посылая намеренно кривые или лишние хитбксы. Если игрок по ним всегда стреляет - читер спален. Подходу лет 20 наверное.

А сервер временами развлекается, посылая намеренно кривые или лишние хитбксы.

бот не может сопоставить координаты хитбокса и координаты головы противника?

Это делать надо. Можно же в одном фрейме послать фейкового противника, а за несколько фреймов до этого в метадате указать, что противник с ID таким-то будет фейковый. Читоделу надо это всё перехватить, понять, распарсить - протокол никто не выкладывал. Короче, обычно работает.

одном фрейме послать фейкового противника

Человек такое не рассмотрит. И бот тоже не должен. Ну, и памяти нужно ему не на 1 фрейм, он же не совсем тупой.

Никаких там принципиальных проблем нет, такой триггер-бот не писал только ленивый. Даже я ради интереса писал, правда, не для Валоранта и сугубо из любопытства, а не чтоб нагибать. Даже вторая мышка не нужна, достаточно цепануться к кликеру основной (можно какой-нибудь esp32 воткнуть прямо в корпус мыши и запитать от неё же). И камера никакая не нужна, достаточно обычной карты видеозахвата, которая стоит у массы стримеров, т.е. не палится античитом по определению. И нейронка не нужна, достаточно motion vectors, а при наличии цветового кодирования в игре -- ещё проще. Т.е. весь бюджет такого чита -- карта захвата, микроконтроллер, ноут рядом, и немного мозгов.

Вы говорите об аимботе, это совсем другая программа.

Dune: Spice Wars. Реквестирую элементарный чит на хотя бы солари в сингл плеере.

Мой бюджет: ты получаешь миллион экспы, причём, предъявлять мне результат совсем не обязательно (мне чит как таковой не нужен).

Пахнет наглым враньём, для того что бы писать читы на игры нужно уметь реверсить их, ИИ насколько я знаю этого не умеет. Второе даже самые крутые модели немогут написать трамплин возврата для хука. Третье если реч идёт про сетевые игры то там кернел античиты, для их обхода нужно писать драйвер с ssdt хуком, не один ИИ мне даже примерный вариант не показал, некоторые как Клод уходят в защиту говоря мол это неправильно и опасно, остальные же выдают придуманный ими вариант такого кода, который работать не будет. Либо это наглое враньё, либо ваш сын разрабатывает чем-то другим.

Какой угар. В том то и дело, что если бы инфа о непалящихся читах была открытой и доступной для нейронок - читерами были бы сперва каждый второй игрок, а затем и каждый первый.

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

С ArtMoney я познакомился ещё раньше - лет в 10. Хз можно было ли тогда это упаковать в отдельный "чит", но сейчас аналогичный по функционалу чит энджин это точно позволяет. А ведь 20 лет назад у меня даже интернета не было, не то что нейронок... Сам как-то изучил как с Артмани работать.

Ваш сын давно вырос и работает сеньором в ИТ компании? Ну так бывает иногда))

Интересно. Напишите статью об этом? Может я даже куплю чит :-)

У меня сын 13 лет пишите чит коды на популярные игры

А я каждое воскресенье летаю отдыхать на Сатурн. Да, доказательств моих слов тоже не будет.

ещё ни разу в таких статьях не видел ЧТО именно написано, и КАКИЕ задачи выполняет код

Самое смешное для меня, что огромные корпорации, разрабатывающие ИИ, сами не могут улучшить код своих собственных продуктов. Казалось бы, нас уже должна порадовать революционно новая по качеству среда разработки, но прогресс словно в обратную сторону идет. Недавно смотрел WinUI 3, это же просто трешак недоделанный, хотя МС его позиционировала чуть ли не как основной фреймворк для завтрашней разработки.

Если бы у кого-то появился ИИ, реально способный решить задачу написания кода, его бы давно пустили в дело, и просто отняли у индусов рынок дешевого кода, на порядок уронив цену, автоматически сделав любую конкуренцию просто бессмысленной. Проблема LLM-сеток в том, что это не ИИ: после LLM требуется валидация кода человеком, а если у валидатора достаточные компетенции чтобы понять код, они достаточны и чтобы написать его самостоятельно, значит время этого человека стоит одинаково дорого - никакой экономии тут даже в теории не получается. А на практике тем более: LLM не способны стабильно с первого раза выдавать нужный результат, иногда нужны десятки прогонов, и то в конце частенько приходится махнуть рукой и просто написать уже то, что требовалось изначально, вручную. Но как второй пилот они работают неплохо: можно быстро, в обход гугла, получить набор вариантов или заготовок, выбрать подходящий, и уже его доводить до ума.

Соглашусь, мои примеры нужно было описать грамматику для Bison для SQL-подобного языка, ИИ выдал хорошую заготовку которую я потом допиливал. по анализу результата где то процентов 20% я сэкономил, не сказать чтобы слишком эффективно, возможно потому что тут не простой промт был и достаточно много уточнений, а вот когда требуется составить регулярку то тут ИИ экономит процентов 80% времени.

ИИ хорошо помогает там, где ты не особо опытен, либо делаешь что-то от случаю к случаю. Я регулярку с ходу напишу быстрее чем ИИ, а вот какой-нибудь баш-скрипт ИИ быстрее.

как второй пилот они работают неплохо

Как второй пилот и резиновая уточка в принципе неплохо работает.

Nvidia, как мировой флагман AI, могли бы уже допилить, наконец, дрова под Линукс - что им стоит лишний запрос нейронке написать?

Что, опять? Опять новый фреймворк от Microsoft, опять недоделанный? Там же вроде последним был MAUI?

Я развлекаюсь фронтендом, нашёл готовый скрипт : дождь на картинке, он работает . я поместил картинку в Grid , всё настроил чуть-чуть изменил эту сетку , чуть-чуть стили подправил. Всё работает, картинка встраивается в рабочую сетку, на картинке идёт дождик. Красота.

Я прошу нейросеть: возьми этот дождь и растяни на на всю body , на всю страницу по ширине и высоте 100%. Забудь про картинку, забудь про сетку.

Ни одна чёртовая сетка не может это сделать. Всё, что не касается шейдеров, я уже выучил весь код, целую одну страницу , каждую строчку. Говорю к этой нейро : конкретно вот это картинка -- не смотри на неё, убери эту картинку, возьми эту canvas и вместо картинки используй body.

Я уже все шейдеры им скормил, кроме того, что они и так видят все библиотеки. 20 раз показываю рабочий на 90% код. Ни одна .

Gemini только флиртует на скользкие темы, Grok постоянно подсовывает свой дождь из прошлого века , DeepSeek обзывает другие сети, Сopilot часто не меняет ни одной буквы и пишет: вот я улучшил. Клод тоже любит трепаться ни о чем, мне не нужна его беллетристика.

Когда сетка предлагает : давай я тебе напишу свой дождь, каждую каплю нарисую, у меня уже трясти начинает . Я представляю их капли с ихними body. Не надо ничего своего , возьми готовое , растяни на всю страницу . Уже неделя по ночам прошла, с кофе и мешком 🍪. Это и есть настоящий вайб-кодинг

Может наконец то начнут писать в машинах кодах. И производительность раз в 100 поднимится? И пеньки войдут в моду

Ну почему... Вот я по шахматам мучаю с февраля https://wbchess.ru. Даже видимая часть неплохая уже, а там под капотом ещё и панель управления есть. Но при рассмотрении не стоит забывать что

  1. Я десктопщик, т. е. Программировать ДО не в парадигме Веба (соответственно много времени уходило на поиск и привыкание)

  2. Много времени уходит на обдумывание и пробы интерфейсов и механик (все что есть на данный момент на рынке работает не для моей задачи).

  3. Месяц ушёл на привыкание к Клауду.

Обхожусь пока без Coursor, но это дело привычки. Пока и Атома хватает. Много мучался с переводами качественным и тематическими (порядка полутора недель). С озвучкой проблем не было, этот момент я давно освоил когда мульты по шахматам делал.

Так что вот Вам пример кодинга только с помощью Клауда. Платформа пашет уже на моих усеникпх месяца два в тестовом режиме. Уже за 1-2-3 места по количеству решенных задач шоколадки раздаю.

P. S. Там ещё пробовал много идей, но пока они отложены на попозже. Не все сразу.

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

Так написано же, что ИИ может сам баги поправить

0,Ага,я видел как он правит.Везде где только можно написал ИИ что значения в автотестах подменять ни в коем случае нельзя.Он правил баг,появлялся другой,он правил другой, появлялся изначальный. Но после нескольких попыток ИИ все же решил проблему,если гора не идёт ... В общем взял и подменил таки значение в автотесте. Пришлось по итогу самому баг искать

У меня было много неудачных опытов с кодогенерацией, с рефакторингом и исправлением багов. Долгое время казалось, что это бесполезный инструмент. Статью решил написать, когда наконец стало получаться генерить полезный код и автоматически исправлять баги. Т.е. здесь нужна ещё определенная практика, чтобы этот инструмент (как и все остальные) начал приносить пользу

В итоге код все равно придётся кому то поддерживать

Вместо кода будет prompt + настройки нейросети, которая его генерировала (название, temperature и т.п.). В результате если нужно что-нибудь подправить, выбрасываете уже сгенерированное ранее, добавляете в prompt описание правок, которые нужно сделать, и нейросеть с нуля генерирует новый код с уже встроенными нужными правками.

Попробуйте так порисовать картинки, это доступно уже сейчас. Старая шутка про "с Наташи Ростовой падают трусы" покажется детским лепетом.

Если кто не знает

Маркетолог спрашивает программиста: в чём сложность поддержки большого проекта?

Программист: ну представь, что ты писатель и поддерживаешь проект «Война и мир». У тебя ТЗ — написать главу как Наташа Ростова гуляла под дождём по парку. Ты пишешь «шёл дождь», сохраняешь, вылетает сообщение об ошибке «Наташа Ростова умерла, продолжение невозможно». Почему умерла? Начинаешь разбираться. Выясняется, что у Пьера Безухова скользкие туфли, он упал, его пистолет ударился о землю и выстрелил в столб, а пуля от столба срикошетила в Наташу. Что делать? Зарядить пистолет холостыми? Поменять туфли? Решили убрать столб. Получаем сообщение «Поручик Ржевский умер.» Выясняется, что он в следующей главе облокачивается о столб, которого уже нет...

rol_foster: Сегодня полдня искали ошибку, из‑за которой, образно говоря, у Наташи при прогулке с Пьером падают трусы. Одна из функций программы делает то, что делать не должна. Откатили на вчера — трусы на месте. Перелопатили весь код обновления, там вообще ни трусов, ни Наташи, ни даже Ржевского, тупо красят дом Болконских. Чуть ли не пошагово разбираем — все нормально. Но трусы падают. И, чтобы найти причину, придется перелопатить весь код, а это недели две минимум.В общем, начальник задумчиво посмотрел на девушку и волевым решением выдал Наташе подтяжки.

Код после LLM ни один человек в здравом смысле поддерживать не возьмется. Там, где пытаются подобное провернуть, люди просто увольняются. Оно и понятно: LLM не имеет обязательства писать поддерживаемый код, это код write-only, как и писали выше, человеку придется его с нуля переписать, чтобы взять на поддержку. Так что, чтобы LLM доверили писать код, LLM сразу должны уметь и переписывать код полностью, под новые требования, валидировать код самостоятельно, без участия человека, и поддерживать код, дорабатывая под новые реалии, которые постоянно меняются: новые библиотеки, новые уязвимости, новые законы, и т.п..

После того, как всякие такие навайбкодят, когда всё начнёт ломаться и трещать по швам, а починить они не смогут сами, настоящие нормальные программисты станут на порядки ценнее. Просто подождём.

Очевидно никто не откажется от услуг программистов, пока ИИ не сможет сам поддерживать код. Вопрос только в том, что для утилит средних размеров он уже делает это сам. А в статье говорится о том, что достаточно крупные проекты он сможет поддерживать сам в течении 2-5 лет. И описывается, в каких услугах тогда будет нуждаться бизнес. Опять же наивно полагать, что программистов просто резко распустят и бизнес остановится. Какое-то время программисты со всеми знаниями будут держаться рядом и постепенно заменяться теми, кто готов сместить фокус в сторону аналитики и архитектуры. И уж в каких-то редких случаях будут прибегать к услугам тех 10 программистов с полной квалификацией

Какое-то время программисты со всеми знаниями будут держаться рядом и постепенно заменяться теми, кто готов сместить фокус в сторону аналитики и архитектуры.

Почему вы уверены именно в таком развитии событий? И почему бы не посмотреть в обратном направлении, когда опытные программисты заменят, наконец, ср-ных менеджеров, которые станут просто не нужны?

Когда мне, как программисту, случается разговаривать с заказчиками напрямую, то мы находим взаимопонимание намного быстрее, чем при общении через испорченный телефон в виде аналитика и менеджера.

А где противоречие? Я же это и написал. Будут отбираться люди, готовые сместить фокус. Не важно, из программистов или менеджеров. Даже программистам будет предпочтение.

А где противоречие? Я же это и написал.

Нет, нет. Вы написали другое:

Какое-то время программисты со всеми знаниями будут держаться рядом и постепенно заменяться теми, кто готов сместить фокус

Вы написали, что именно программисты будут постепенно заменяться, а не менеджеры.

А если не начнет ломаться и трещать? А если смогу починить сами? А если "настоящие нормальные" программисты не смогут починить? А если "просто подождем" наступит через 40 лет, когда эти программисты будут в земле или выйдут на пенсию?

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

«А таксу с вас я возьму не простую, а золотую!» ©

Формат данных, как замена существующих текстовых исходников, включающий схемы UML

Бедная стюардесса, опять ее кто-то выкапывать собрался

Забыли еще про RAD-ы из начала нулевых, когда все говорили, что скоро разрабы будут не нужны, тк менеджеры мышкой все наклепают :)

RAD с завидной регулярностью выкапывают, последний раз была навала "конструкторов лендинга", которые в итоге были визуально идентичны.

Не, тут нормально все. Тильда с Шопифаем вполне себе ничего получились. Свои задачи решают, бизнесу полезны, активно используются.

Ещё раньше был изобретён SQL для того, чтобы любой бухгалтер смог писать завросы на простом и понятном языке без этих ваших программистов ))

Вот этот пример тоже в голову пришёл :)

Ещё раньше был изобретён SQL для того, чтобы любой бухгалтер смог писать завросы на простом и понятном языке без этих ваших программистов ))

А еще был некий VBA... )))

Кобол был создан, чтобы любой бухгалтер мог написать простым понятным английским языком, что желает получить.

А ещё была какая‑то жаба, чтобы «для всех архитектур только один раз написать»...

Да, были времена ))

Кстати, Rational Rose, к примеру, как то тихо сошла на нет, а вот ARIS разродился ARIS AI Companion, в ногу со временем идут, молодцы

в ногу со временем идут,

...и стреляют!

Именно ради второй цели придумывались всё новые системы типов. И прогресс в этой области дошел до того, что для написания банального REST-API нужно было получить ученую степень по теории категорий.

Ох уж эти хаскелляторы...

Раньше куча статей и комментариев на хабре была на тему все должны программировать на хаскеле, теперь про хаскель тихо, зато вместо программистов будет программировать ИИ

Походу свидетели хаскеля массово переконвертировались в свидетелей LLM

Я переконвертировался в свидетеля раста :-)

Сергей, спасибо за статью. Я с вами полностью согласна. Я бы такое сама не написала, потому что я не разработчик, и мне бы быстро за это накидали:) Но вы опытный программист и я рада, что вы это видите в таком ключе и, главное, нормально воспринимаете, как естественное развитие отрасли. Сожалею, что вам наставили много минусов, это тренд на Хабре (вижу ИИ - ставлю минус), переживем, да?

По теме статьи, из своего опыта (не программист, но совместно с ChatGPT мои 4 ИИ продукта уже в продакшн) - я думаю в будущем это будет даже не смесь бизнес-аналитика, программиста и тестировщика, а все в одном лице - AI Product Creator? Невозможно начать строить ИИ продукт, разрабатывать архитектуру и писать код с ИИ ассистентом без конечной цели.

Время очень интересное, новые профессии уже на рынке: AI Tester, AI Engineer. Вы для себя какую рассматриваете?

Откуда вы знаете что он опытный программист, если вы саама не программист? Как вы оценивате квалификацию будучи не являясь специалистом в этой области? Вы наверное и квалификацию врачей можете оценить? Как у вас так получается?

Квалификацию врачей я не оцениваю (почему - отдельный оффтопик). А как Сергея оценила - человек высказал мнение, я его поддержала, потому что мне откликнулось и я делаю похожие проекты. Цивилизованный человек, который не согласен, может аргументировать, я с удовольствием послушаю.

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

С удовольствием, тем более три из них на Хабре. На мой ник нажмите - там три статьи есть (Модель логистической регрессии для рекомендации фильмов, сверточная нейронка (CNN) для распознавания пород собак, и ИИ-агент на базе Телеграм чатбота)

Слушайте, ну это не смешно. То что у вас есть это в туториалах на первой странице документации приводится и вайбкодинг там не нужен. Автор соседнего комментария верно сказал - эти задачи школьники решают, которым это интересно. Тут ни о каком продакшене речи быть не может.

Мы обычно не называем такое "проектами". Да, про LinkedIn-бота можно сказать, что это законченный телеграмм-бот, а следовательно проект, но по объёму кода это то, что обычно называется скриптик.

Скриптики пишут программисты, когда можно автоматизировать монотонную ручную работу. Редко написание скриптика является таской само по себе, скорее это лишь часть задачи, которую удаётся оптимизировать. Такие штуки обычно не выкладывают на гитхаб - они лежат в специальной папочке и никому не показываются, потому что они не production-ready. Они выполняют строго обозначенную функцию и валятся с ошибкой в любой непонятной ситуации - и это нормально для скриптиков. Возможно, нам стоит у вас поучиться и начать выкладывать подобное, чтобы github выглядел поживее, но это отдельная история.

Скриптик обычно пишется за часок под кофеёчек (ваш может быть больше из-за того, что это бот). Эту работу действительно можно делегировать AI или младшему сотруднику. Но, если честно, это потребуется от меня большей когнитивный нагрузки, чем написать самому. При этом лишит такого редкого удовольствия. Для людей, как я, написание скриптика - это, выражаясь вашим языком, "me-time". Возможность почувствовать удовлетворение от быстрого создания чего-то на коленке.

Я не прочитал внимательно вашу статью про AI-бота, но я надеюсь, что вы в состоянии написать то же самое самостоятельно, и это было исключительно в рамках эксперимента, иначе риск того, что играясь с AI, вы так ничему и не научитесь, очень высок.

Вот именно про таких дамочек я и пишу:

Все программисты в мире делятся на две категории:
— Те, кто считает, что ChatGPT кодит на порядок лучше их;
— Те, кто считает, что ChatGPT кодит на порядок хуже их.
И те, и другие абсолютно правы.

Не согласен по поводу выкладывания скриптиков на гитхаб. Гитхаб не гарантирует, что все у всех будет работать по клику. Даже если скрипт неуниверсальная заготовка "для себя", кто-то может его найти, форкнуть и сделать универсальным, хотя до нахождения оного, у человека могло не быть представления как вообще решать задачу.

Спросили конкретно "откуда инфа, что он опытный программист?". Что за увиливания? Он не опытный программист.

Опытные программисты понимают прелесть использования ИИ, но они не питают влажных иллюзий о них. Состряпать большую часть MVP - ок, отдавать нейронке на откуп мелкие функции с перепроверкой - ок, сделать полностью какой-то нормальный продукт - ахахахаха.

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

Глянул, что там за "продакшн" такой... Хвастаться такими достижениями с помощью чатгпт на айти ресурсе и при этом рассуждать о каких-то AI-product-creator - стыдно должно быть. Такое сделает даже школьник, при этом часто и без чатгпт. Так зачем людям такой разраб нужен будет, которого любой заинтересованный школьник с гпт заменит?

Время очень интересное, новые профессии уже на рынке: AI Tester, AI Engineer. Вы для себя какую рассматриваете?

У меня стойкое ощущение, что комментарий сгенерирован нейросетью.

Какую полезную нагрузку несет ваш комментарий? Я работаю в тестировании и буквально в эти выходные закончила ии-агента, который ищет мне позиции AI Tester (статья об этом есть на Хабре), там у меня в комментах спросили каким API можно доставать людей с LinkedIn - мой агент эту задачу выполнил и принес список AI Engineers - было любопытно посмотреть на это, поэтому я и написала о таких вакансиях выше, поэтому что варюсь в этом. Ну в самом деле, хотелось бы на Хабре видеть обсуждения по делу, а не минусы к постам, обвал кармы и вот такие комменты как ваш. Извините, если что, накипело.

закончила ии-агента, который ищет мне позиции AI Tester

Какие потенциальные ошибочные ситуации предусмотрены в Вашем "ии-агенте"? Как он реагирует на пропадание Интернета вообще, на отвал DNS-севера, на таймаут соединения с LinkedIn, на непредусмотренное изменение разметки, на страницу в неправильной кодировке, на ситуацию, когда профиль персонажа недоступен (и я это ещё только начал!)? Или у Вас, как у каждого первого джуна, только happy pathh релизован?

Это позитивное мышление. А вы со своим негативным настроем только приманиваете ошибки. Вселенная, она же слушает.

Я просто в детстве

сказку про мышонка читал.

– Мышонок, мышонок, отчего у тебя нос грязный?
– Землю копал.
– Для чего землю копал?
– Норку делал.
– Для чего норку делал?
– От тебя, лис, прятаться.
– Мышонок, мышонок, а я тебя подстерегу!
– А у меня в норке спаленка.
– Кушать захочешь – вылезешь!
– А у меня в норке кладовочка.
– Мышонок, мышонок, а ведь я твою норку разрою!
– А я от тебя в отнорочек – и был таков!

Мышонок — хороший программист, предусматривает аварийные ситуации. Будь как мышонок!

это тренд на Хабре (вижу ИИ - ставлю минус)

Ещё и трындят всё время про каких-то Даннингов с Крюгерами. Нахватались умных словечек и сидят, важничают. А на самом деле: бездельники бездельниками. Я-то вижу, каждый день с ними работаю! Вот поувольняют их всех и оставят только нас, истинных творцов, свободных от устоявшихся практик и подходов! Пора переписывать этот мир заново!!!

Попробовал все популярные модели, видел их эволюцию, и наконец остановился на Claude-4 (у кого-то может быть другой опыт) и Cursor.

Сергей, я пока что все делаю по-старинке - просто веду диалог в ChatGPT, копилотом не пользуюсь. Сама веду проекты в Visual Studio Code, copy/paste кода делаю, проверяю все сама, у ИИ нет доступа в мою IDE. Рекомендуете перейти на Курсор? Так проще и быстрее?

В чём-то проще, но проверяйте каждое изменение. У меня было не раз, что нейросетка в «Курсоре» полезла и сделала ненужное, плохое изменение там, где её не просили — в другом месте проекта. «Курсор» позволяет вместе с промптом указать контекст (файлы, которые надо проанализировать), но это не спасает — в сложном проекте их иногда надо указывать с десяток и «Курсор» может залезть в любой из них, даже если его очень просить этого не делать.

Думаю нет сысла общаться в публичном поле, когда тут столько напуганных и агрессивных людей ) Но на счет курсора, да, мне кажется это оптимальный вариант сейчас. Точнее даже так: можно проект открывать одновременно в двух IDE, в курсоре генирить код, а писать требования и просматривать результат в чем-то от JetBrains. Обе IDE хорошо отслеживают изменение файлов на диске

Да вполне себе (ChatGPT 4.1):

// getPageInfo выполняет запрос к API Confluence и возвращает полную информацию о странице по её идентификатору.
// Используется для получения сведений о странице: заголовок, пространство (space), номер версии, содержимое страницы
// в виде export_view (очищенный HTML), а также другую метаинформацию.
// Для аутентификации использует базовую авторизацию из config.yaml.
// Возвращает структуру PageInfo с данными о странице или ошибку при неуспехе выполнения запроса или разбора ответа.

// getPageInfo получает информацию о странице

А чо, типичный джуновский комментарий «на отъевали»

Тут момент такой. Есть язык C, есть ассемблер. И мы можем каждую команду на C заменить на заранее определённую последовательность команд на ассемблере. То есть, к примеру, нам нужно напечатать число и на ассемблере это бы выглядело как делить число на 10, заменять числа на коды из таблицы с кодировками и так далее. То есть полотно текста, всегда одно и то же, при этом оно плохо читаемо потому что нужно понимать с каким регистром через какое прерывание работает каждая команда. Но благодаря современным языкам и компиляторам мы пишем понятный код и запуская его много раз мы можем получить один и тот же результат. Мы можем сделать свой проект и выложить его на гитхаб и позволить разным вендорам собирать их у себя со своими ключами и предоставлять пользователям какие-то гарантии, что это будет работать.

Теперь как это может выглядеть с ИИ. Я навайбкодил свой проект, выложил свой "вайбкод" на гитхаб, вендоры не знают как его собрать потому что ИИ каждый раз разный результат генерирует. Если я выкладываю в виде исходников, которые ИИ выплюнула из моего "вайбкода", то получится полотно кода, которое человек никогда не прочитает, он не сможет внести изменения. И если ключевой контрибьютор откажется от проекта, он просто умрёт, его нельзя форкнуть. И в суровом энтерпрайзе будет абсолютно так же: если хранить базу промтов, по которым собирался проект - каждый раз будет получаться разный непредсказуемый результат. Хранить код - он будет неподдерживаемым.

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

представьте ситуацию, что у вас есть вайлдберзи и у вас сломалась кнопка заказа.

Как оно со сломанной кнопкой в продакшен попало? Ну а если уж попало, то откатываем релиз и спокойно чиним, ИИ там или не ИИ.

Например, какое-нибудь переполнение, которое возникает не сразу. Но это я так, к примеру.

Это могут быть и синие экраны в винде по всему миру)

Ну а если уж попало, то

и вдруг осознаем, что изменилась схема данных. Откатить - конечно, можно. Вместе с данными =)

Пример: на малых объёмах данных работает шустро, на больших - начинает "буксовать". Тесты все проходит при этом. Обнаруживается лишь к тому моменту, как данных в таблице становится много. Случается иногда даже у крупных компаний.

на вызовы реагируют профессионалы и фиксят прод быстро.

Сейчас в энтерпрайзах кнопка может ждать своей очереди месяцами - пока подтвердят, зарегистрируют, дойдут руки, сделают, проверят,.апрувнут, задеплоят. Поэтому все надеются, что вайбкодинг позволит сократить сроки хотя бы до дней.

При этом, все делают вид, что упираются именно в программистов, а не в
> пока подтвердят, зарегистрируют, дойдут руки, проверят, апрувнут, задеплоят.

С ИИ не нужно обосновывать программисту наличие проблемы, просим сам ИИ проверить или добавить логи, минус шаг. Ставить в очередь на следующий спринт не надо, минус шаг. Если проверяет ИИ-тестировщик (представим следующий год, когда они будут надежнее), то не нужно ждать. Ну а деплой, ясное дело, автоматический.

Проблема всего одна (но очень серьезная) - надёжная проверка результата.

Звучит примерно как построить дом:
1. Заливаешь фундамент
2. Ставишь стены, крышу и окна
3. Делаешь внутреннюю отделку и инженерку
4. Profit
Не понимаю, почему люди с какими то сложностями сталкиваются во время этого процесса?

Вот бы и в реальности так было и для любых типов проектов (от веб и десктоп приложений, разных ботов и систем интеграции, продолжая разработкой ПО для каких-нибудь ПЛК или мед. оборудования, т.е. embedded разработкой)

Я не знаю про разные типы проектов, у меня только веб и мобильные. Для них, к сожалению, работоспособность ИИ уже не вызывает сомнений, потому что эксплуатируем и я вижу на практике.

Честно скажу, до х10 нам далеко, но вряд ли мы теперь откажемся от ИИ, по мере набора опыта результативность будет расти.

Звучит примерно как построить дом

Всё проще!

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

Кожаные мешки обычно пилят фиксы куда дольше, чем сутки. А уж если говорить про такой склад костылей, как сайт крупного маркетплейса, то сутки на фикс - это вообще фантастика.

ИИ каждый раз разный результат генерирует

У нейросетей есть параметр "temperature". Если его выставить в 0, то нейросеть при каждом выполнении prompt'а будет "думать" одинаково, выдавая один и тот же результат.

Это да, но при этом результаты работы заметно лучше если добавить немного креатива) Хотя в разных случаях температура нужна разная и лучше подбирать её индивидуально к каждому кейсу.

А это не только у искусственных нейросетей так, у природных тоже приходится выбирать: или стабильность и воспроизводимость, или новизна и креатив.

Ну на самом деле это не совсем так. 0-температура не гарантирует 100% повторяемость результата

А кроме этого для любой температуры можно фиксировать seed, вроде тоже должно быть одинаково.

Если инференс многопоточный, то скорей всего ни temperature, ни seed не помогут (из-за того, что все это это запускается на ОС не реального времени, а диспетчеризация потоков недетерминированная). Даже если и получится, то нейросетку нельзя будет обновлять, т.к. любое переобучение может сломать детерминированность.

Возможно будет думать одинаково до ее первого переобучения.

Зачем Вы к сектантам с какой‑то там «логикой» лезете?

Очередная статья по вайбкодингу. Ужас. У этого подхода более, чем достаточно минусов. А главное, люди верят, что полный переход на нейросети произойдёт в ближайшие 5-10 лет. Как инструмент - да, полезно бывает, не спорю. Но крупное ПО на нейронках не удержишь, а для мелких бизнесов и раньше были пути замены кодеров - low-code, no-code технологии. Для сильно опасного ПО тоже не годится (говорю о том, от чего зависят жизни людей напрямую или косвенно). Да и закрытый исходный код будет открыт для владельцев ИИ, а это поставит под угрозу некоторые бизнесы, которые занимаются исключительно ПО.

Так же как и бизнес продаж всякого разного находится под постоянным риском со стороны платформодержателей со своими карманными брендами.

Расскажите это Микрософту у которого уже процентов 40 кодовой базы навайбкожено.

Оно и видно, сотни незакрытых issue на гитхабе по их продуктам и ни ответа, ни привета от MS. И это не считая их кривых реализаций в сервисах, которыми я пользовался, типа Misrosoft Graph API.

Ну конечно, а у остальных мега корпораций ровно 0 незакрытых issues на гитхабе и все сервисы работают безупречно

Ага, сколько ещё пространства для вайбкодинга, не правда ли?

А вот это уже звучит как обида, то ли на вайбкодеров, то ли на ИИ в целом. Понять можно - как же так айтишники больше не элита, о ужас! Зачем столько учились/работали... Жаль только, что обидами ничего не изменишь, а вот принять действительность и адаптироваться под текущие реалии может быть очень выгодным

Ну вы там это... Как вас примут на должность вайбкодера (промпт инженера) - напишите))

Нейросети не на том уровне, чтобы писать более-менее надёжные продукты, повторяю ещё раз. Помочь что-то написать могут, объяснить работу чего-то могут, но не полностью написать.

Вот представьте, у вас банковское приложение. Нейросети, они же набор вероятностей ... А какова вероятность того, что ставка по кредиту будет 5%, потому что нейронка не уточнили? А защиту приложения кто сделает? Нейронка? Не смешите меня, один такой сервис уже поломали (в твиттере по-моему история была где-то нашумевшая). А если нейронка забудет, что баланс не может быть отрицательным? А теперь, уважаемые знатоки, внимание вопрос: а кто понесёт ответственность за хреновую работу банковского приложения? ИИ не несёт ответственности за качество, об этом пишется в каждом чатике с нейронками. Получается, что вайбкодер. А он на качество никак повлиять не может - он ведь не знал языков программирования.

А по поводу MS... Когда в мире происходит какая-то дичь... Знайте, что в этом по-любому замешаны MS. (Тот самый мем про линуксоидов)

Аргументы из серии, ну подумаешь 11 секундное видео сгенерировалось, вот если бы полнометражный фильм, тогда да.

По вашим словам вайбкодеры это какие-то пятиклассники со знанием ничего. Вообще-то (на текущий момент) это точно такие же программисты как и вы, а возможно и посильнее. И правило, что ответственность за код несёт тот, кто его запушил - вроде никто ещё пока не снимал, code review и тесты вроде тоже

Это старый спор, как межу любителями Си и Ассемблера, или между любителями Ассемблера и перфокарт =)

В данном случае идеологическая разница больше, чем у ассемблера с джаваскриптом.

Ещё раз: пользователю - нужны не шашечки, пользователю нужно ехать.

Код пользователю - не нужен, а нужен - результат. Потому нужен не вайбкодинг, а нужно - видео показывающее результат работы программы, и запрос для нейросети должен быть не "напиши мне код", а покажи видео работы программы. Симуляция DOOM через нейросеть

Угу. Пользователю нужен не мессенджер для общения с друзьями, а видео, имитирующее сообщения друзей.
Ну и видео с имитацией поступления зарплаты на банковский счёт пользователя тоже подойдёт.

Если друзья имеют акканут chatGPT, то никакой мессенжер - в теории не нужен, а chatGPT может соединить вас с ними напрямую. Кстати, это вызов для тех, кто хакает нейросеть ища в ней уязвимости - заставить её передавать сообщение в режиме мессенджера.

Ну и видео с иммитацией поступления зарплаты на банковский счёт пользователя тоже подойдёт.

Если банк дал нейросети прямой доступ в свою базу данных... или вообще использует нейросеть вместо базы данных...

Зачем друзьям аккаунт в ChaGPT? Зачем банку давать к себе доступ?
Вам же достаточно видео с имитацией, реального результата вам не надо.

Вам же достаточно видео с имитацией, реального результата вам не надо.

Это же прогресс! :)

Сначала молодёжь променяла чтение книг о создании продуктов на просмотры видеокурсов и прочих тиктоков. Но потом пришло новое поколение и променяло сами продукты на видео о них. Весь мир офигел, производство встало, все деньги стеклись в Youtube. Потом начались глобальный голод и анархия. Через небольшой отрезок времени человечество закончило свои мучения контрольным ядерным выстрелом по планете. /s

Вам же достаточно видео с имитацией, реального результата вам не надо.

Правильно, ему достаточно видео, как он едет в «Майбахе» и отдыхает на Мальдивах, реального результата ему не надо!

Аргументы из серии, ну подумаешь 11 секундное видео сгенерировалось, вот если бы полнометражный фильм, тогда да.

Ну да, вопросы? Голивуду нужны фильмы, а не тикток.

По вашим словам вайбкодеры это какие-то пятиклассники со знанием ничего.

Конечно нет. Шестиклассники. (юморок в студию)

вайбкодеры, в большинстве случаев имеют около минимальные знания касаемо программирования. Они потому и вайбкодеры, что не могут сами написать что-то и им необходима помощь нейронок. А программисты могут самостоятельно писать код и от непредвиденной остановки нейронок лишь производительность понизится, а у вайберов встанет вовсе.

И правило, что ответственность за код несёт тот, кто его запушил - вроде никто ещё пока не снимал

Опять же, компетенции вайбкодеров как правило под вопросом. Какой же спрос с тех, у кого нет компетенций? Это всё равно, что у официанта, который подменяет повара в ресторане спрашивать за качество блюда.

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

процентов 40 кодовой базы навайбкожено.

«Ну и вы говорите!» ©

Вайбкодинг позволяет не программисту подняться до уровня джуна. Джуну и выше он уже не помогает подняться, только иногда ускориться, но не всегда.

Нет, это не вайбкодинг в чистом виде. Вайбкодинг - копи паст из нейронки без перепроверок и вчитывания. Джунам же надо как раз вчитываться, чтобы учиться. Это в целом ИИ помогает подняться, а не "вайбкодинг".

Ну не согласен, вайбкодинг это просто генерация и использование кода, а править и читать его всё ещё нужно, без вычитывания и проверки это уже имхо не вайбкодинг, нужно что-то другое придумать для таких. Ну а так аи заменяет часто джуна на самом деле, когда нужно написать что-то небольшое и банальное (например шаблон простенькой вёрстки) а желания с этим заморачиваться нет, тут аишка прям хорошо подходит

Изначально вайбкодинг именно так трактуется. Когда вы читаете и понимаете, что вам пишет ИИ - это уже другое, либо, как выразился один из хабровцев "нежёсткий вайбкодинг". А вёрстку... Ну её в целом делать несложно, многие умеют (даже я, а я бэкэндер), даже конструкторы есть... Она на функционал приложения не влияет, кодов в ней особых не хранится. Тем более фронтендеров (спасибо скиллбокс и т.п.) море сейчас, стоит маленькая верстка сегодня дёшево, знать бы где искать.

Ну вот про такие задачи я и говорю, зачем заморачиваться с конструкторами или писать самому ну или тем более искать под это человека когда с помощью ИИ это можно сделать бесплатно и быстро.

вот вам IDE будущего пишите идею и получаете результат https://base44.com

Даже не надо знать Go или JS.

Только не спрашивайте как это потом вывести в продакшн ;)

Ух ты, прикольная штука, я за 2 минуты создал в ней игру, теперь сижу играю

Скрытый текст

Для быстрой наброски концепции - да. Для продакшена - это когда ищешь повод для увольнения :)

А люди на серьёзных щас справшивают как получить код бэка и выложить в продакшн.

Проблема вайкодинга это деградация компетенций. По принципу "не надо ничего знать ИИ агент сам все знает и сделает хорошо" мы далеко не уедем. Что будет если возникнет проблема которую ИИ агент не сможет решить?

Или решит так, как нужно ему :)

Что будет если возникнет проблема которую ИИ агент не сможет решить?

Тем хуже для проблемы, маркетинговый ии агент объяснит, что это не проблема, а особенность.

Из разряда разговоров 5 летней давности, да что вы макаки современные понимаете? Только во фреймворк и можете. Вы хоть ассемблер в глаза видели?)

Что будет если возникнет проблема которую ИИ агент не сможет решить?

Найдут компетентного разработчика, а этого уволят нафиг.

Особенно после существенных финансовых потерь.

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

Обнаруживать и исправлять ошибки человека.

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

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

Чем совершеннее ИИ тем лучше они понимают обычный текст и желания пользователя

О как. Давайте начнем с простого - что в вашем мире означает слово понимает и за счет каких структур LLM понимает текст и желания? Опишите механизм, например - токены семантически преобразуются в ноосферном прецептероне от облачных гиперконвергенных сетей эфира.

За счет глубокого обучения, спросите у нейронки если хотите узнать больше :)

И это легко проверить экспериментально, по пониманию поговорок и всяких задач на логику (к слову их не все люди понимают), у современных нейронок с этим сильно лучше.

Вы кажется не прочитали. ОПИШИТЕ МЕХАНИЗМ. Вот токенизатор https://platform.openai.com/tokenizer Опишите механизм как из токенов получаются семантический анализ.

Я никогда ии даже не обучал, откуда мне знать? По вашей логике люди тоже не понимают ничего (философские зомби), ведь я не могу описать механизм, наверное через душу эфир работают.

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

А теперь ответьте, мне действительно интересно. Почему вы не зная ни схемы работы, ни теории, обладая настолько примитивным мышлением что вас можно обмануть бессмысленным перекладыванием строк подсмотренным где-то в интернете вы свято уверены что это называется ПОНИМАТЬ ВАШИ ЖЕЛАНИЯ?

Человеку просто очень хочется младшего братика (по разуму)!

откуда мне знать?

И вот на этой мажорной ноте разговор можно в принципе завершить.

Опишите механизм

Чтобы заметить, что с годами LLM-ки стали работать лучше, надо учить матчасть и знать их внутреннее устройство? Секта свидетелей "предсказателя токенов" detected.

Я про скорое пришествие великих нейронных сетей читаю уж давно. В первый раз, с теми же словами еще в то ли еврике, то ли технике-молодежи в 1988 году. Что-то до сих пор рассказы что они вот совсем скоро станут заменять людей так и остаются рассказами, только сроки сдвигаются вправо каждые 5-10 лет.

 надо учить матчасть и знать их внутреннее устройство?

Да, надо знать как работает инструмент который ты используешь. Как минимум чтобы понимать условия применения. Как максимум - не получить массу проблем от полученного решения. "Ой, мне нейросеть сказала что это правильная команда, у нейросети спрашивайте почему она сломала прод, я не знаю. Как вызыскивать за простой миллионы?!!"

Тоже с тех пор читаю, даже пораньше: научное ожидание прихода ИИ с 60-х началось, кажется, а в рамках фантастики и в более ранних источниках встречается, порядка начала 20 века. Оно и понятно, доказательство возможности такого у нас перед глазами: вокруг множество живых существ с мозгом разной сложности, и у них есть интеллект, который вполне себе успешно работает, еще и энергию все это потребляет гораздо экономнее наших примитивных железяк.

Разгадать секрет интеллекта рано или поздно смогут. Не сейчас конечно - когда нибудь потом, в отдаленном будущем, куда откладывают всякие интересные, возможные в теории, штуки, вроде звездолетов. Человечество пока не может нащупать, как именно этот самый ИИ должен быть устроен, и топчется на месте. Пытается решить задачу слепым поиском. Параллельно детально исследует носителей реального живого интеллекта, но тоже без особых перспектив: ясно только, что устройство это гораздо сложнее, чем ожидалось. Пока ученые играются с нейронными сетями червяков на кластерах суперкомпьютеров - вот и все развитие.

LLM в этом контексте - небольшая мнимая революция, шаг в сторону от ИИ. На обывателя они производят впечатление. Достаточно правдоподобно отвечают, по сравнению со всякими самописными ботами-болталками из нулевых, кого-то даже реально обманывают. Интересная штука с необычными практическими эффектами. Особенно с учетом того, что внутри у ней зашит обычный статистический аппарат, без какого-либо подобия интеллекта, не говоря уже о разуме. Еще более интересно, что они способны выдавать и практически полезный результат, пусть и в ограниченном объеме: подсказки того же кода иногда довольно дельные получаются.

Но глобально конечно LLM это не развитие ИИ, а некое ответвление - один из компонентов ИИ, некая статическая машина. Только для чего ее применить пока непонятно.

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

Особенно с учетом того, что внутри у ней

...думатель и (да кого мы обманываем!) неонка!

Чтобы сесть за руль, вы должны базово понимать устройство автомобиля, а не только то, что у него есть руль и он едет.

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

токены семантически преобразуются в ноосферном прецептероне от облачных гиперконвергенных сетей эфира

Про квантовые флуктуации забыли. Они там тоже где-то есть.

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

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

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

Поздравляю, вы изобрели MCP.

Каким образом сюда относится MCP?

Просто пиши нормально что ты хочешь получить и все.

Хочу стать богатым и здоровым и чтобы все враги умерли!

Раньше в вакансиях не редко было (и сейчас бывает): «пилим монолит, есть легаси проекты… надеемся, ты тот, кто не боится легаси…»

Теперь будет: «… легаси победили, остался/появился ВайбКод… надеемся, ты тот, кто не боится править ВайбКод….».

Если честно, править вайбкод всё-равно проще, потому что нейронка хоть стандартов придерживается и способна писать код, который в комментариях не нуждается, пусть и багованный.

Эээ, серьезно? Регулярно вижу как нейронка вместо нормальных dto использует мапы в том же питоне. Да и на других языках код чаще всего так себе, если это не одна простая функция, а хотя бы небольшой модуль на 500-1000 строк кода. Как это может быть проще править - я хз.

Так "править" самой нейронкой! Руками трогать не стоит генерёный код. Поэтому на поддержку навайбкоженого нужны будут именно вайбкодеры. И их нужно будет всё больше и больше. И значит конвенциональные программисты вымрут)))

Если его не трогать руками и не пинать нейронку чтобы переделала нормально - то уже через десяток итераций это скатывается в дикую кашу даже на таких вот крошечных скрипто-проектах, которая дырявая как решето и начинает валиться на каждый чих. А уже даже на средне-небольших проектах, условно, от 100-200к строк оно вообще не работает толком.

Я скорее про то, что любой код нагенеренный нейронкой, будет лучше, чем большинство легаси кода, который писали люди лет 5-10 назад. Когда огромное количество программистов, брали кривые куски кода с форумов и пытались, как-то склеить из них проекты. Кстати генерировать нейронкой 500-1000 строк кода за раз такая себе идея. Нейронки вполне себе хорошо справляются с одной небольшой рутинной задачей, если предварительно описать что именно хочешь получить, но полностью вайбкодить это такое себе. Многое проще и быстрее сделать ручками, чем описывать нейронке, как и что пофиксить.

Хе-хе.

Наблюдал на форуме недавно. Чел наг****кодил чего-то под ардуину. И на одной из ног почему то иногда что-то похожее на pwm (откуда непонятно, ничего кроме digitalWrite в коде не видно). Чел просит чатик сделать ему то же но без pwm. Чатик выдает ему классический blink, но в setup - битовая регистровая магия для atmega, которая торжественно отключает PWM выход в таймере Как просили, ага :)

Каждый раз искренне смеюсь над хейтом вайбкодеров от "настоящих нормальных программистов". Участвовал в около 10 различных проектах разной степени энтерпрайзности ещё до GPT и как минимум в 8 из них встречался настолько дремучий говнокод и костыли от этих "нормальных" (особенно в legacy), что возникали большие сомнения на тему обладания какого-либо разума у авторов. Какая-то каша из обрывков Stack overflow. И вообще заметил корреляцию, что чем больше определенный человек рассуждает, тем меньший результат он покажет на практике (это уже в сторону критикующих). Такое ощущение, что все это просто банальный страх перед неизбежным или отсутствие желания идти в ногу со временем.

возникали большие сомнения на тему обладания какого-либо разума у авторов

Бывает...

Просто вайб-кодинг (как бы его не называли в разные эпохи) - он как термоядерный синтез. Всегда "вот-вот".

Это называется «постоянная Капицы».

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

Если что, в сторону вайбкодеров хейт оправдан, потому что они плодят говнокод с бОльшей продуктивностью чем обычный программист.

Кстати, заметил, что все очень любят говорить что вот, это говнокод, но когда ты спрашиваешь "Как думаешь, почему сделано именно так, как он работает и как должен работать", сразу начинаются увиливания, и ответить по существу, без натягивания совы на глобус, может пара человек. Я бы на самом деле некоторых специально натравливал на легаси, глядишь, и в светлом (и возможно нефильтрованном) будущем говнокода поменьше будет — старый разгребли, новый не делаем потому что на старом насмотрелись хотя бы на то, как делать точно не надо. Потому что как делать надо никто не знает (по крайней мере пока что).

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

Эм. А чем вы результат измеряете? Не в LOC случайно?

А вы сами чего такой обиженный? Вас "настоящие нормальные программисты" в очередной раз на собеседовании отшили?

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

Мой опыт с ИИ (критический).

  1. Он не принимает (и не может) за меня нужные решения. По пути реализации развилок масса.

  2. Он не обладает видением замысла, результата, которое у меня самого местами мутное. Разработка - это часто "обстукивание" требований, идей и решений об "стейкхолдеров" во времени (то есть, видение буквально вынашивается, вырастает не сразу, как цветок на подоконнике или даже как многолетний дуб).

  3. Преодоление локальных тупиков - это бывает сущий ад (отладка, отход на N шагов назад и разворот решения).

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

Вы во втором пункте признаете, что у вас самого нет четкого понимания задачи и при этом жалуетесь что ИИ не может ее решить? Правильно понял?

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

Виденье чего? Сути задачи или способов ее решения? Скорее всего в обоих случаях ИИ тут не причем

Просто ИИ будет еще одним собеседником, участвовать в митинке и обстукивать об присутствующих варианты реализации. При это промт будет править выделенный оракул, общающийся с ИИ, или все участники митинга - не так важно.
Чем вы в обстукивании вариантов (кроме большего окна контекста и опыта на этом месте) отличаетесь от ИИ - не ясно. Если на ваше место посадить вчера принятого сотрудника - может ИИ даже быстрее въедет в замысел.

А теперь расскажите, какой клиент/разработчик захочет общаться с нейросетью, касаемо проектов? Специальности, в которых требуется человеческое общение, будут заменены последними.

Представьте вы, директор какого-то предприятия, хотите найти ИТ компанию для создания, пусть будет CRM/ERP. Он заходит на сайт, оставляет заявку на promo call и ему вместо менеджера звонит ИИ Алиса... Через сколько наносекунд директор или допустим его подчинённый, которому он поручил найти подрядчика добавит эту компанию в свой ЧС?

да тут вся статья, если эо можно так назвать, основана на абсолютно неверном посыле:

Стало понятно, что не осталось кода, который ИИ написать не может. 

ИИ - это вторичный продукт, и СОЗДАВАТЬ в том смысле что выходить за рамки того, чего не было бы в материалах обучения, не может, в отличие от человека. Вернее, может это только случайно набредить, но верифицировать это не может, так как напрямую ничего физического не делает, а так как таких вариантов набредить, у ИИ очень много (набредить можно миллионы вариантов), то создатели их как раз и отсекают, если нет каких-то сравнимых аналогов. Человеческий интеллект отличается от искусственного тем, что у человеческого он уникальный в каждом случае, с уникальным, хоть и неполным опытом (что для выработки исследовательской стратегии как раз часто плюс), причем человек учится на реальной жизни, а ИИ учится лишь на ограниченном опыте, лишь машинно доступном, а потому исследовательская деятельность закрыта для него.
Многократные попытки решений, которые были бы за рамками обычных задач, просто не работали, потому что аналогичных случаев не было ни в материалах, которыми ИИ кормили, ни в интернетах. Разбить задачу на куски, а потом вручную связывать, додумывая и креативя, получалось.
Это механизм упрощения рутинного труда, такой же как экскаватор относительно работника лопатой. Причем с появлением экскаватора работники лопатой никуда не делись - для них полно задач, например, подправлять геометрию после экскаваторов, выкапывать хрупкие объекты, просто копать там, где экскаватор не залезет или экономически невыгоден.

"Для ИИ система типов не нужна"

Дальше не читал

Да знаем мы этих типов!

Хорошо, что признание в вайб-кодинге в первом абзаце, можно сразу идти в комментарии.

Я слышал что Adobe какую-то штуку делают крутую, кажется Dreamweaver или как-то так называется, но не суть, там можно делать визуально любые сайты и без знания программирования что любая домохозяйка сможет делать сайты и все вебмастера уйдут на заводы

Уже как лет 30 есть такая штука, называется движок, эххх.

Какие-то вещи становятся очередной ступенью в технологической революции, а какие-то нет. Удивительно! Или вы на полном серьёзе считаете текущие LLM в которые вваливают миллиарды по всему всему миру провалившейся поделкой уровня дримвивер?

В доткомы тоже вваливали милиарды, и в кучу других технологий. Именно потому, что в них вваливают миллиарды, у создателей огромный стимул убедить, что AI заменит всех

Вваливают миллиарды в агрессивный маркетинг, чтобы получить еще больше миллиардов от инвесторов? Никогда такого не было, ни с метавселенной, ни с блокчейном, ни с доткомами и вот снова опять.

Буд-то такого некогда не было, ах да я вспомнил. Хоть я и молод еще, но на моей памяти это уже 3-4 раз когда куда-то нещядно вливали бабки. Из поледнего биток, нфт, мобилы когда в 2017 мне говорили что скоро пк уже не нужен будет подключаешь мобилу и там у тебя все. Хотя ИИ может и быть исключением поэтому каждую ситуацию надо рассмотривать в отдельности. Я также непонимаю типов которые сравнивают появление ИИ с промыщленной революцией, может уже и с изобретением колеса сравним, ИИ это не станок и время сейчас другое.

подключаешь мобилу и там у тебя все.

...а потом подходят гопари — и вот у тебя уже ничего!

Давно писал, что следующей "революцией" будет подключение ИИ к условному Dreamweaver.

Да, а ведь такое мы уже слышали - от комми, что любая домохозяйка может рулить государством, и от MS - что любая домохозяйка сможет пасти стада серверов.

И где те чудные миры ?

от комми, что любая домохозяйка может рулить государством

Читайте подлинник, а не перепевки в интернете.

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

«И не сто баксов, а три рубля; и не Иванов, а Петров; и не в преферанс, а в очко; и не выиграл, а проиграл» ©

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

Но! Джун при этом походит по граблям и чему-то научится, надеюсь. И в следующий раз можно будет дать что-то сложнее. То есть я вкладываюсь в свою команду, которая в будущем станет лучше работать.

А вот если он будет бездумно использовать ИИ и не развиваться- то зачем он нужен...

Он нужен как вечный джун для выполнения скучных обыденных банальных задач которые не хочется делать но нужно и которые безопасны с точки зрения последствий, и которому не надо платить. Примерно с таким подходом я использую ИИ.

и которому не надо платить. Примерно с таким подходом я использую ИИ.

А можно поинтересоваться, где Вы берёте бесплатный ИИ?

Высер. Не имеющий ни чего общего с реальностью.

Попросил "Напиши мне код интерпретатора языка c++98 на языке c++98". Ответ: "Создание полноценного интерпретатора C++ — сложная задача, требующая глубокого понимания стандарта языка, реализации семантического анализа, управления памятью, обработки исключений и многого другого. Однако я предложу упрощённый пример простого интерпретатора арифметических выражений с поддержкой базовых операций (+-*/), который написан на C++98.". Вот и весь хайп.

Вот и весь хайп

[анекдот про японскую бензопилу и сибирских лесорубов].

Пояснение: если технология не способна справиться со всем, это не значит, что она бесполезна.

ИИ уже сейчас может написать весь код
Стало понятно, что не осталось кода, который ИИ написать не может. Но иногда остаются места, которые сложно объяснить с непривычки или быстрее написать самому, чем объяснить ИИ. В зависимости от задачи такие места могут и не встретиться.

Так способна или нет?

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

Тот же Яндекс покупает сотрудникам лицензии курсора и агитирует к использованию, а другие крупные компании, вроде Т-банка, ради приватности, пилят своих ассистентов. Мне кажется это явные признаки начала умирания классического программирования.

Что вы имеете ввиду по классическим программированием? оно умирало уже несколько раз.

Сначала человеку приходилось вбивать (в прямом смысле) команды в машинных кодах.

Но потом труд разделили на тех, кто пишет программу и тот кто её вбивает в компьютер. Классическое программирование уже умерло.

Далее придумали assembly language. Как представление кода в человеко-понятном виде, а не в маш. кодах. Так появился ASM. Классическое программирование уже умерло.

Пришел C и снова убил классическое программирование.

И таких убийц несчетное количество.

То, что сейчас происходит - это просто эволюция инструмента для программиста.

Классическое на момент написания статьи. mainstream

Это разные вещи. Нейросети сейчас похожи на регулярные выражения - знать их стоит как дополнительную область знаний, которая облегчает работу. Но о полной или даже значительной замене нейросетями работы программистов речи не идёт. По крайней мере - в текущих условиях.

И прогресс в этой области дошел до того, что для написания банального REST-API нужно было получить ученую степень по теории категорий.

Наоборот. Порог входа ниже, а абстракции выше. Программистом может быть кто угодно, а не только математик-прикладник.

Есть один момент, который я ранее не видел в иных статьях.
Я не соглашусь с тем что это нам нужны системы типов, а ИИшкам не надо.
Системы типов в языках нужны по двум причинам.
1. Переиспользуемость кода. На статически типизированном ЯП не получится написать обобщенную функцию без стирания типа, если система типов недостаточно мощная. Да, ИИшки могли бы копипастить код, но это дополнительная когнитивная нагрузка даже для них, да, дженерализация тоже нагрузка, но получить x200 копирований из-за 200 не обобщенных типов такое себе. Это на 90% решает динамический полиморфизм (обычные методы как в C#, C++, Java), возможно мы слишком к ним привыкли, но это решение работает не всегда. Например оно не работает для вещей не являющихся объектами. Эффективный код оперирующий примитивами требует либо кодогенерации под каждый тип, либо рантайм генерацией исполняемого кода. Вешать это на нейронку во всех смыслах опасно, да и ей сложнее учиться.
2. Проверка инвариантов компилятором. Да, гипотетически мы можем делать это все в нашей нейронной сети, как и ИИшка. И компании обучающие ИИ приложили немало усилий чтобы они выдавали компилируемый код почти всегда. Но если какие-то проверки делает не компилятор (по закодированным в нем правилам), а нейросеть, то это значит что аналогичная работа производится в менее эффективном формате: в нейросети. Обучение более ограниченному подмножеству высокоуровневых языков означает что огромное количество неправильного кода просто некорректно для этих языков, а значит такие варианты можно очень быстро отбросить в процессе обучения и не прорабатывать их в рантайме. На данный момент нейронки архитектурно все еще упираются в экспоненциальный рост сложности структуры при увеличении сложности задачи, поэтому кодирование на высокоуровневом языке все еще эффективнее для них.

Самое большое заблуждение человечества, что ИИ сможет заменить программистов или другую инженерную профессию и в первую очередь потому что люди не знают, что такое LLM и сильно переоценивают её додумывая вымошленные св-ва, это так же глупо, как верить, что IDE заменит программистов, как ты не тюнингуй и не делай лучше, это просто невозможно и люди которые хоть раз вникали что же такое ИИ - прекрасно понимают о чем я. Это по прежнему такая же программа со своей логикой, просто очень мощная и с доступом к огромному контексту. Когда шумиха закончиться - программисты будут на вес золота и еще более востребованы.

На тему вайб кодинга понравилось видео одного толкового разработчика. Где он хвалил курсор и сказал с гордостью, что теперь он вайб кодер. Что он просит агента сгенерировать код, через методологию TDD. У него на входе 4000 строк промта в папке .cursor/rules. И он ещё через скопировать вставить промпт в запрос запихивать строчек на 500 в сам запрос того чего надо сделать. И агент ему выдаёт рабочий продакшн код. А после этого он говорит что надо тщательно самому проверить написанные агентом тесты. И код позапускать и подебажить. Ибо гонки иногда случаются.

А ему кто-то сказал - ты агент кодер. А не вайб кодер.

Вайб-кодинг - это игрушка и будущее у него как у спинера. Агент-кодинг - инструмент

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

И собственно кодирование тут уже дело десятое. Сложно придумать что кодировать, а не как. И тут ИИ вряд ли поможет - интеллекта там нет на самом деле. Там есть огромный объем данных на основе которых принимается решение, но не более того.

И программирование сведется к разработке алгоритма и его формализации до уровня, с которого "ИИ" сможет перевести его на требуемый язык.

А полностью заменить разработчика ИИ сможет только в рутинных задачах. Там, где интеллект особо и не нужен. Достаточно знаний как из готовых кубиков слепить что-то более-менее работающее.

Минусаторы видимо не понимают посыла статьи ). Со временем.. со временем! языки программирования в существующем виде, как прокладка между человеком и процессором, станут не нужны. Их место займет ИИ, который будет генерить исполняемый файл, по тем требованиям, которые ему опишет человек. Который в статье назван "разработчик". Для формирования и формулирования требований в виде удобном и человеку и ИИ необходим заточенный под это дело специальный язык. А здесь, как правильно отмечает автор, работы непочатый край.

Для формирования и формулирования требований в виде удобном и человеку и ИИ необходим заточенный под это дело специальный язык.

В таком случае акцент смещается на появление нового языка.

ИИ, который будет генерить исполняемый файл, по тем требованиям, которые ему опишет человек

И нового компилятора для него.

Конечно, нужен "язык" для формирования ТЗ. Для формального описания и проверки непротиворечивости требований.
Ну, ИИ является в данном случае компилятором.

И все равно остается вопрос поиска и выбор наиболее эффективного алгоритма. Там, где задача сложнее чем просто джейсоны перекладывать.

Не, как и что кодить будет решать ИИ. Человек должен только задачу ставить.

Ну вот смотрите. Задача.

Есть два набора строк А и Б (строки лежат в таблицах БД). Каждая строка состоит из элементов ("слов"). Элемент может быть числовым (содержит только цифры) и нечисловым (цифры и буквы).

Нужно найти все возможные совпадения строк в наборах А и Б. Совпадение считается если:

  • Все уникальные элементы строки из набора А входят в строку из набора Б (но не наоборот!) без учета повторений (для любых элементов) и порядка следования (кроме числовых элементов)

  • Для числовых элементов должен учитываться порядок расположения их в строке.

Например строка из набора А "aaa bbbb cc dd aaa 11 23" считается совпадающей со строкой из набора Б "aaa dd cc bbbb eee 11 33 23 44", но не совпадающей со строкой из набора Б "aaa dd cc bbbb eee 33 23 11 44"

И да, количество комбинаций для сравнений приближается к миллиарду (наборы достаточно большие). И да, время выполнения должно быть разумным. Т.е. не несколько суток (наборы строк сменяются каждый день и каждый день нужно запускать этот процесс), а в пределах часа-двух.

Поверьте, тут не про кодирование. Тут про алгоритм. А вот когда он придуман, закодировать его вообще не проблема.

Интереса ради - а это практическая задача или просто пример?

Это вполне себе реальная задача.

Набор А содержит порядка 8 000 строк. Набор Б - порядка 96 000 000 строк.

Даже с некоторой предподготовокой (создание и поддержка актуальности "витрин" где все строки хранятся в виде набора элементов) тупое решение "в лоб" через SQL запрос работает около 10-ти часов в режиме распараллеленной на 10 потоков (заданий) обработки (сервер IBM Power E980, 120 ядер Power9, 12Тб RAM, 400Тб SSD массив).

"Более другое решение" с использованием возможностей платформы (IBM i) и языка (RPG), в частности, прямой доступ к БД без использования SQL, тоже самое делает менее чем за полчаса.

Если llm дальше будет развиваться такими же темпами и мы не исчерпали весь потенциал что в них есть.

По такой логике, после появления высокоуровневых языков по типу Java/Python и прочих, все C-шники и C++совцы, пишущие драйвера, операционки и прочий низкоуровневый софт должны были умереть, ведь повысилсч уровень абстракции и все теперь пишут скриптики на JavaScript и Python. Но почему то линукс еще не переписали на этих высокоуровневых языках.

Я это к тому, что ни сложный низкоуровневый софт на JS, ни весь какой нибудь крупный банк с помощью нейросетей не переписали. Все в пределах вашей аналогии, что ИИ будет эдаким компилятором из человеческого языка в exe-шку, которую сразу запустил и радуйся. Сейчас можно сайтики клепать без понимания того, что делаешь, а можно компилятор на голых плюсах писать. Думаете, нейросети не точно также уровень абстракции поднимут, а вот возьмут и весб мир изменят?

повышение мощи ИИ (он активно может включиться и тут поймут что всё сложнее - ну тоже фантастика) и разработку ОС в итоге наверно, в перспективе

винда включила копилот вроде, нвидия хочет на видеокарте запускать тоже какое-то решение, всё это ведёт туда же, к ускорению наверно

удивлен, что кто-то всё-таки читает статью прежде чем комментировать

не расстраивайтесь. Этого следовало ожидать. Кодеры будут до последнего отстаивать неповторимое творчество своей работы. Пример художников-иллюстраторов им ничего не сказал, а зря - ведь суть их работы очень похожа.

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

Это очередная рекламная статья о курсоре. Она оплачивается. Они отчаянно пытаются втюхать это поделие на территории СНГ. Но ничего не выходит.

По сабжу: уже год как делаю ревью с помощью ллм. Сейчас использую devstral, qwen3 и qwen2.5-coder локально. Контекст для ллм предоставляю самостоятельно, а именно: файлы d.ts всего проекта, импорты для текущего файла первого уровня и файлы со ссылками на экспортированные символы для текущего файла. Ллм активно пишет и правит джсдок, наполняя свой собственный контекст для следующих итераций. Данный подход показал себя гораздо лучше, чем использование векторной бд т. к. он намного точнее составляет контекст: нет вероятности ошибки, информация исчерпывающая и нет лишней информации.

Не использую никакие редакторы кода с ллм в т.ч. виндсерф, курсор и тд, т.к. они предоставляют неверный, вредный и даже мусорный контекст для модели с помощью векторной бд.

Вечером после ухода с работы запускаю код ревью с помощью ллм. Утром разбираю её патчи. В результате 95% патчей - это мусор, и только 5% из них полезные. Кроме того почти все из 5% полезных патчей - это те же самые изменения, которые ллм предлагала вчера и позавчера, но переписанные чуть на другой лад. Поиск полезного патча - это поиск иголки в стоге сена.

Я пробовал саас модели типа гемини про, потратил приличную сумму денег и не увидел никакой разницы с локальными моделями.

Есть ли смысл в код ревью с помощью ллм? Да, но готовьтесь к тому, что для извлечения полезных патчей вам потребуется каждый день перелопачивать гору мусора. Купите себе парочку видеокарт на 24 гб и попробуйте.

курсоры от этого грустят(

речь слегка, до полностью обратного результата, о другом. Вы, по сути, жалуетесь на малополезность АБС в конной упряжке. Речь же как раз о том, что для по-настоящему эффективной работы llm традиционные языки вместе с методами программирования не годятся и неизбежно исчезнут (за некоторыми исключениями, конечно, как не исчез ассемблер).

И да, к вящему Вашему и прочих комментаторов сожалению, этого ждать не так уж долго. Мне-то с моими сорока пятью годами рабочего опыта можно не беспокоиться. Но молодым, желающим выстроить интересные и обеспеченные десятилетия - пора спохватиться, а не сидеть на попе ровно.

для по-настоящему эффективной работы llm традиционные языки вместе с методами программирования не годятся

Так и запишем: для большой языковой модели языки не годятся. А что-то тогда будет-то? Мне кто-то из свидетелей "всемогущего ИИ" объяснит этот переход? Все LLM вдруг соберутся вместе и разработают новый мета-язык и внезапно начнут с ним эффективно работать, отбросив всю обучающую выборку, которая, собственно, и делает их эффективными в текущих задачах?

А вы, случаем, опять не путаете LLM и AGI?

Судя по "вемогущего", Вы продолжаете смотреть из ремесленного прошлого?

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

Судя по "вемогущего", Вы продолжаете смотреть из ремесленного прошлого?

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

Нужно расти до умения видеть задачу целиком и находить решение - а кодировать найдётся кому или чему.

Это, в целом, нормальный путь развития разработчика. LLM, конечно, могут его ускорить, но это не триггер. Если человек 10 лет сидит в кодерах, не задаваясь более верхнеуровнемы вопросами - это признак стагнации как профессионала.

В определённых нишах, конечно, останется - как остался и ассемблер, но Вам-то это зачем?

Затем, что если нейросети не изобретут какой-то свой мета-язык, то они всё ещё будут генерировать стандартный, человекочитаемый код. По крайней мере, мы от них хотим этого на данном этапе и все бенчмарки измеряют как раз это. В честь какого события всё резко свернёт куда-то в другую сторону? Когда и почему случится этот качественный переход, вы пока не объяснили.

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

____________

Кстати, судя по тому, как старательно Вы проминусили все комменты и карму - Вы очень, очень не хотите выбираться из раковины. И очень обижаетесь, что это плохо сказывается на будущем. Обижаетесь на меня - хотя стоило бы на кого-то другого.

Но это Ваше будущее, мне-то что?

Мета-язык нейросетей называется "промты", этому нужно учиться, а не считать, что опыт кодирования позволит такую ерунду игнорировать.

Ну вот когда один и тот же промт начнёт выдавать один и тот же результат, тогда и поговорим. А пока выглядит, что вы не сильно-то и разбираетесь, как эти LLM работают: приписываете им какие-то волшебные свойства и ожидаете воспроизводимых результатов.

Вообще, если под промтингом вы понимаете формирование у LLM правильного контекста для задачи, то эта проблема решается несколько иначе. Как водится, тремя буквами: RAG или MCP. Ну или мощным железом, чтобы впихнуть в контекст весь ваш проект - на что и уповают всякие директора nVidia и прочие AI-продаваны, которых так боготворит автор статьи. Сами модели постоянно оптимизирует и сжимают, чтобы они умещались на менее требовательном железе, но вот контекст, зараза, просто так не жмётся. Хотите скормить нейронке весь свой легаси проект: покупайте подписку на миллион токенов. По-другому никак. Вот и весь бизнес-план.

Кстати, судя по тому, как старательно Вы проминусили все комменты и карму

Я не могу ставить минусы с этой учетки, она чтобы обижать словесно. Скорее, не только мне ваша речь напоминает самоуверенное словоблудство.

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

Да, вот именно сейчас именно так оно чаще не получается. Но речь о будущем.

Скорее, не только мне ваша речь напоминает самоуверенное словоблудство.

Возможно, конечно, Вы не один такой стагнат. Даже наверняка. Но я не очень-то Вам верю.

Не надо оценивать ответы сети, просто пускаешь их на выполнение, ровно как код какого-нибудь джуна.

Эмммм.... Вы пускаете код какого-нибудь джуна в прдакшне? No comments.

Вы не делаете пробных пусков и не передаёте в тестирование? Тяп-ляп и в продакшн?

No comments.

Тестирование (сначала компонентное, потом бизнес, потом нагрузочное, потом интеграционное) зинимает времени кратно больше разработки.

Я боюсь даже представить, насколько увеличится TTM если, как было сказано выше, сразу запустить в тесты сгенерированный ИИ код.

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

отвечаю в личку

Так это именно Вы предлагаете тяп-ляп в продакшн, если не заметили.

отвечаю в личку

Видно, что не поняли суть. Не надо оценивать ответы сети, просто пускаешь их на выполнение, ровно как код какого-нибудь джуна

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

Но я не очень-то Вам верю.

Ну я бы объяснил как по моей учётке определить, что с неё нельзя ставить минусы, но вы 40 лет программируете и 10 лет на сайте. Разберётесь.

С этой учётки - нельзя. С этой.

Не надо оценивать ответы сети, просто пускаешь их на выполнение, ровно как код какого-нибудь джуна.

А у вас код джуна уходит сразу на тестовый стенд, без ревью? А у вас джун всегда покрывает автотестами всё, что имеет смысл покрыть, опять-таки без ревью?

О, пошло размазывание каши по тарелке. Это так беспомощно выглядит... Беспомощно - потому что Вы всё поняли, но Вам это не нравится, и Вы выхватываете кусок, одну фразу и абсолютизируете её.

Второе - очень глупо задавать каверзные вопросы по работе АБС на конной упряжке. Столь же неуместно вкрячивать работу с нейросетью в структуру, ориентированную на человеков и их способы взаимодействия. Указывая при этом, что вот так у вас не получается.

Конечно, структура с использованием нейросетей должна обеспечивать выявление ошибок до выдачи в продукт. Но устроена она при этом будет, конечно, не так, как Вы пытаетесь заявить. Хотите пример? Альфа обучалась игре в шахматы, сражаясь со своей же предыдущей версией. Не потребовались этапы внешнего анализа, тестирования и проч. Оценивался конечный результат работоспособности, а не промежуточные этапы, нужные только человекам. И это ведь уже довольно старый пример, даже очень старый.

очень глупо задавать каверзные вопросы по работе АБС на конной упряжке.

Мы видим, что вам очень нравится аналогия, только она не поясняет ваши рассуждений, это просто абстрактная аналогия.

потому что Вы всё поняли, но Вам это не нравится

Нет, мы не поняли и вы не в состоянии объяснить. Вам кажется, что как-то так оно должно работать в будущем, но как именно мы к этому придём, вы не знаете. Вам просто хочется, чтобы так было, потому что вам нравится думать, что это ваша оригинальная идея, и что вы очень-очень умный, прямо как автор статьи. А все остальные - дураки и пыль под ногами, презренные "кодеры". Хотя кодера от не-кодера в вашем понимании отличает, эм... умение проектировать? Фичелидить? Решать проблемы бизнеса, а не заранее сформулированные задачи? То есть все те компетенции, которые органически развиваются у разработчика уровня middle? В итоге ваш посыл читается как: джуны, не будьте джунами! Становитесь миддлами, ибо только они смогут написать правильный промт!

Мне, кстати, интересно узнать, что же за особый стиль написания промтов вы там в своей голове изобрели. Всё, что нужно сейчас - это описать предполагаемый результат в концепциях языка и известных архитектурных паттернов. То есть обычный формальный язык, которым мы пишем документацию. Где там магия, блин, чему там учиться-то? Формулировать свои мысли?

Всё остальное упирается в величину контекста и кол-во токенов вашей подписке.

И каким, блин, образом мы уйдём от проверки полученного результата? Вам всё равно это деплоить. У вас всё равно останется IDE, вам все равно это отсматривать. Возможно, всякие JetBrains и Anthropic встроят локального ассистента (независимого от того, который пишет код, потому что это будут разные LLM, тренированые под разные задачи), который будет принимать условные голосовые команды и пушить за вас в репозиторий. Но только под капотом всё равно будет грешный git commit и git push. У вас просто изменится интерфейс. И вся инфраструктура останется той же. Да, возможно (надеюсь) она эволюционерует, но не для нужд LLM, а естественным образом. LLM тут качетсвенно ничего не изменит, потому что LLM тренируется на существующей инфраструктуре работать с существующей инфраструктурой. И мы оцениваем, насколько хорошо они имитируют работу в существующей инфраструктуре. Но ответственность всё ещё на вас, проверки - на вас. Любой умник, который "делегирует" свою работу на LLM, не проверяя, что она там городит, вылетит нахер с работы (если, конечно, это не галера, лепящая проекты-однодневнки - такого говна будет навалом, да).

Я честно не понимаю, что там за дивный новый мир вы себе вообразили. Пока кажется, что вы очень хотите почувствовать себя важным, будто предсказали что-то великое. А на поверку это просто влажные фантазии уставшего разработчика.

Я изложил своё мнение. В ответ пошла банальная инет-войнушка. Это - очень скучно. Потому предлагаю всем оппонентам зачесть себе победу, и успокоиться.

Из всех обсуждений разом - выхожу.

Вам напомнить комметы, с которыми вы зашли в статью? Что все трусы и боятся изменений, а следом, что все - презренные кодеры, один вы - настоящий разработчик с 40-летним стажем?

Вы не высказали свое мнение, вы набросили говна на вентилятор, а теперь не хотите под ним стоять. Нет уж, постойте, насладитесь ещё немного.

Казалось бы: взрослый человек, а поведение как у школьника с двача. Хотя на самом деле это грустно, надеюсь все эти ИИ смогут сделать прорыв в предотвращении дегенеративных изменений. Страшненько таким стать.

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

Комменты свои перечитайте. Столько пафоса и презрения к окружающим ещё поискать надо.

Притом никаких логических рассуждений или свидетельства проделанной умственной работы, просто "внемлите мне, ибо я есмь пророк".

Столько пафоса и презрения к окружающим ещё поискать надо.

Завидуйте молча! /s

Учусь у лучших. Боюсь, что выучусь(

Из всех обсуждений разом — выхожу.

Всё‑то Вы только обещаете!

отвечаю в личку

всякие JetBrains и Anthropic встроят локального ассистента (независимого от того, который пишет код, потому что это будут разные LLM, тренированые под разные задачи), который будет принимать условные голосовые команды и пушить за вас в репозиторий.

Вот только непонятно — к чему все эти лишние промежуточные шаги, почему они не напишут LLM с функцией «сделать меня мультимиллинером»! /s

Чтобы косплеить Тони Старка:

Джарвис, деплой в прод!

Вот прям даже интересно: сколько мультильонов долларов потеряли бы владельцы ентой самой Альфы, если б в ней была ошибка?..

отвечаю в личку

У меня есть отличный опыт, как я, зная лишь python и Javascript, смог выучить C# при помощи вайб-кода.

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

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

Статья фантазия футуриста Go-фила. Сколько ещё будет таких "Нострадамусв"?

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

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

Не люблю Go, но нравится, что на нем получается рабочий код и бинарник без зависимостей. А статья, она о будущем, да

Как же "программисты" не хотят погружаться чуть ниже чем API и SDK (интересно они хоть помнят что это такое?)! Уже доходит до того что "настройщики фрэймворков" начинают относиться к специалистам C/C++, Assembler как к "ненастоящим разработчикам"! Для Javaистов вообще открытием становится что их поделки на Risc архитектуре работаю быстрее чем на Cisc ... Нужно больше ядер, нужно больше памяти ... В оптимизацию ни умеет абсолютное большинство! Это всё очень печально... Нескольким современным "разработчикам" (не могу их назвать программистами) предложил задачу: "Нужно написать космосимулятор с 3D графикой, системой развития и т.д. Ограничения: уложиться в 48Кб. Повертели у виска. А потом показал им Elite!!!

Из комментария выше:

Я слышал что Adobe какую-то штуку делают крутую, кажется Dreamweaver или как-то так называется,

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

  • большие студии, которые содержали штат дизайнеров, верстал, php-разрабов, которые делали строго по классике: долго, дорого, офигенно.

  • мелкие придворные студии, забирали к себе тот траф, который не смог позволить себе ценник больших студий

  • фрилансеры, которые также отрабатывали по классике "вы сайты задорого делаете, или вы - фрилансер?". Их же нанимали большие и маленькие, на субподряд, когда горели заказы, или просто когда неохота было содержать свой штат, а ты такой умный и хитрый достигатор, кладешь себе дельточку в карман и сам вообще ничего не делаешь, сливая все заказы на разовых фрилансеров.

  • свой штат, если контора понимала что им дешевле и выгоднее, делать всё своим.

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

Однако, был и иной путь. Им шли те, которые не готовы в принципе, платить много, всегда заказывали сайты через фриланс, выбирая самых дешевых исполнителей. Ну а чудес то не бывает, откуда дешевая цена появлялась в ценнике - оттуда, что человек, который предлагал такую цену, использовал все готовое, по факту не разбираясь ни в чем вообще. Я поясню: вам нужен сайт медицинской клиники. Есть Васька, который вам его сделает за условную тыщу рублей за день. За счет чего? Васька просто тупо с руборда качнет шаб монстров темплейт сразу же под медицинскую тематику, там в сорцах будут скорее всего фотошопные файлы. Он их откроет, найдет где там в слоях надпись, просто перебьет её на "Рога и копыта", перебьет текст менюшек, заменит текст-заглушки на текст заказчика. Сейв. Макет готов. Дальше он экспортирует его в дрим вьювер, тот уже по нарезанному в шабе, даст первоначальный html. Всё. Работа сделана. Если Ваське нужно было не просто статика, а чтобы "Света могла сама редактировать новости", то он брал шаб под условной Джумлу, и повторял действия, только на выходе был шаб, который нужно подключить в CMS (да-да-да, ок-ок-ок, готово!). По-сути, в нынешних реалиях, это бы называлось "навайбить шаб".

Зададим вопрос: мог ли Васька, что-то по серьезному исправить в дизайне, или работе CMS? В 90% случаях ответ был - нет, т.к. за условную тыщу, такое с него никто не спрашивал. В оставшихся 10%, ответ был также - нет, т.к. довольно проблематично в готовом шабе-сорце, не зная основ, что-то править. Умолчим про шаб для CMS. Если какое-то такое изменение было нужно, то заказчику нужно было обращаться к специалистам, а не Ваське.

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

Но, это работает и в другую сторону: если ты специалист, конечно, агент ускорит тебя, ведь не нужно все делать с нуля.

Вспомнились юношеские потуги в программировании - попытался получить код, корректно выводящий изображение в "Mode 12h" (640*480, 4 bpp) - и ни от одной модели не смог добиться корректного решения - все упорно считали, что цвет одного пикселя хранится в конкретном полубайте сегмента 0xA000 (и никого не смутило, что 640*480/2 не то, что больше одного адресуемого сегмента в 64кБ - оно даже больше двух сегментов), а то, что цвет пикселя может храниться в четырёх битах одного и того же байта в разных банках видеопамяти - даже гуглопоиск не сходу находит...

Нет, что-то, безусловно, можно отдать на реализацию LLM, но низкоуровневое программирование - удел живых людей.

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

Это очень хороший пост. Подпишусь под каждым словом.

Лучшая антиреклама.

Наверное идея рассказать людям, что они скоро будут не нужны на 25 тысяч человек аудитории -- была не самым лучшим решением =) хорошо, что это было не вживую и яростная толпа не растерзала автора на месте -- все же мы живем в более гуманное время, во всем надо искать позитив... =)

Каюсь, действительно не подумал о таком эффекте. Думал всем сейчас расскажу как подготовиться к будущему, а какой-нибудь компании ещё и бабла срубить и мне удобную IDE получить. Зато теперь понимаю всяких CEO GitHub и пр. директоров, которые очень аккуратно высказываются, рассказывают как никого не уволят и мы все будем жить в радужном будущем, где у всех будет достаток и не придется работать

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

И это исключительно потому, что вы посидели вечерок, повайбкодили, а потом пофантазировали на тему того, как оно будет в будущем?

Не надо недооценивать занятось условного руководителя текущими планами и активностями. Человечество сильно именно коллективным сознанием. Или вы думаете тот же Маск сам всё придумал?

... он и правда так считает.

Сразу, как только я вижу эти самые две одинаковые буквы, я понимаю, что статью можно дальше не читать. Вот квантовые компы - это тема, лучше бы туда деньги сливали бизнесменчики, а маркетологи продвигали квантовые компы. Но ведь бизмесменчикам и маркетологам трудно понимать пользу от квантовых компов, в отличие от ЫЫ (благо, все кому не лень Терминатора смотрели%)))

Кому вы продадите квантовые компы? А вот ИИ есть куда продать..

Вы очевидно не поняли смысл коммента. Я писал, что если бизнесменчику выбирать между ЫЫ и квантовыми компами, то правильнее будет выбрать второе с точки зрения долгосрочности перспектив. Проблема в том, что сейчас в экономике (везде, не только в России) много трещин, и поэтому у типичного бизнесменчика горизонт планирования год, максимум, два. Поскольку бизнесменчик может хотя бы на примитивном уровне представить себе, что из себя представляет ЫЫ и что он (по мнению бизнесменчика) может сделать, то бизнесменчик выбирает две одинаковые буквы

из-за заголовка читать не стал, но всё же решился прочитать хотя бы до половины. от бреда спать захотелось. но комментарии читал с удовольствием, что не заметил как прошло время.

у меня двойственное ощущение - от "это полная фигня" до "возможно, я упускаю что-то важное, и надо хотя бы попробовать". Пытаюсь насильно вносить все эти дикпики в свою жизнь.
спросил я тут у ИИ, как часто, какого и сколько менять масла в коробке в моём Mitsubishi Pajero 3 (лень было книжку искать).
оно всё подробно ответило, но не про Pajero 3, а про Pajero Sport 3 (при этом уверенно говорило, что именно про P3). Там всё другое, и на его масле в коробке оно в лучшем случае сразу не поедет, в худшем - чуть позже.

то есть ответ дан быстро и подробно, но содержит в себе неточность (скажем так), которую видно, только если ты сам владеешь знаниями в соответствующей области и которая сводит на нет ценность результата и обнуляет профит от быстроты и подробности.

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

для неответственных задач пойдёт. "Спой мне гимн $countryName, только про говновоз".

У вас зарплата как-то привязана к количеству повторений этого утверждения? ))

Просто, все обсуждают с энтузиазмом вайбкодинг, хотя пользователю код абсолютно не интересен, и потому вайбкодинг - тупик.

настоящий вайб-кодинг начнётся, когда нейросеть будет выдавать сразу р-код. И, конечно, это произойдёт.

У настоящего кода нет пользователя.

надо хотя бы попробовать

допишите к этим словам "пока не стало слишком поздно", и будет верно.

допишите к этим словам "пока не стало слишком поздно", и будет верно.

Да, тут предрекают ядрёную войну в ближайшие лет десять.

Понимаете ли, я в программировании года так с 1978го, начинал с Фортрана IV, Алгола и IBMовских ассемблера и PL/1. Лет так 30 назад даже написал то, что сейчас называют нейросетью. Обучалась, диагностировала жалобы юзеров, но из-за отсутствия ресурсов, прежде всего аппаратных, не взлетела. Последние лет 15 имею возможность видеть, что и в западном, и в нашем программленье творится.

От героических времён, когда "программист" звучало почти как "секретный физик", и делать нужно было, как ремесленнику, всё: и вникать в предметную область, и ставить задачу, и писать её и поддерживать...

До нынешних сонмов кодеров, уже не способных вынырнуть из калейдоскопа фреймворков и посмотреть, а что же они, собственно, делают в результате. Ровно как художник-иллюстратор, рисующий очередные, вроде бы и разные, картинки к очередной книжке, которую даже не читал.

Ровно потому я последние лет десять отговариваю молодых людей - не всех, а умных - идти в программеры. Кодеров постигнет судьба иллюстраторов.

Конечно, это произойдёт совсем не сразу. Но тем, кто хочет быть в "сеньорах", кому нужна перспектива - и у кого есть для этого способности - сидеть в кодерах уже нельзя, это потеря времени и убыль мозгов.

Понимаете ли, я в программировании года так с 1978го

То есть Вам сейчас неможко за семьдесят, не так ли?

Ровно потому я последние лет десять отговариваю молодых людей - не всех, а умных - идти в программеры.

А я вои передаю опыт, и не забываю ежедневно напоминать, что в геометрии программировании нет царских путей.

То есть Вам сейчас неможко за семьдесят, не так ли?

67

А я вои передаю опыт, и не забываю ежедневно напоминать, что в геометрии программировании нет царских путей

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

Программирование - практически обязательный элемент культуры, программировать уметь нужно. Но профессией нужно делать уже что-то другое.

Что важно: речь не о программировании вообще, а о кодировании. Всё просто переходит на более высокий уровень. Нужно понять задачу, спроектировать её решение - а кодирует пусто кто-то или что-то другое. В этом - рост.

Нужно понять задачу, спроектировать её решение

Но в том-то и дело!

Вы не находите, что написать, уcловно, for(i=0;i<10;i++) { ... } тупо короче, чем «повтори нижеследующие действия десять раз»?

нахожу, что попытка Ваша неудачна. Вы пытаетесь взять "старый" код и требуете описать его словесно. Конечно, результат несуразный. Как именно и на каком уровне формулировать запросы - это и есть та новая профессия, которой лучше владеть, чем отмахиваться от неё. Сейчас это называется промт-инжиниринг. И да, это не так просто, как может показаться, нужно учиться и довольно много (больше, чем при кодировании) думать. Больше думать, меньше исполнять.

Ровно потому я последние лет десять отговариваю молодых людей - не всех, а умных - идти в программеры.

Звучит как всепропальство какое-то, честно говоря.

До нынешних сонмов кодеров, уже не способных вынырнуть из калейдоскопа фреймворков и посмотреть, а что же они, собственно, делают в результате.

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

Звучит как всепропальство какое-то, честно говоря.

Не "все-", а только для кодеров. Перестаньте считать кодеров программистами, на самом деле. Они ничего особенного не придумывают, а только исполняют то, что придумал тот, кто действительно поставил задачу, определил путь её решения.

Они ничего особенного не придумывают, а только исполняют то, что придумал тот, кто действительно поставил задачу

Хочу игру.. чтобы можно набигать и грабить корованы.. джва года жду! ;)

Почти нигде в этом процессе мне уже сейчас не понадобилось погружаться в код или документацию.

Вот этот пункт вообще не понятен. За свою 10+ летнюю карьеру 90% или даже 95% моей работы заключалась именно в погружении кода и документацию. Нет, не алгоритмы сортировки или обхода деревьев были мне нужны, а это было больше похоже на детектив "что хотел автор этого кода, написанного 5+ лет назад и почему? это так задумано было, или это ошибка? и что поломается, если её исправить"?

Написание нового кода от силы 5% моей работы.

Все эти AI инструменты дают хороший такой заряд продуктивности, это круто, помогает быстрее в чём-то разобраться, подтолкнуть решение, этакий pair programming с бездушным роботом, который не устаёт, не капризничает и не грубит в ответ, в отличие от живого человека.

Но пока не похоже, чтобы как-то именно принципиально моя работа поменялась или целые языки программирования куда-то исчезли. Скорее эти ЛЛМ-модели будут учиться понимать хорошо не только Go, но и остальные языки.

Скорее эти ЛЛМ-модели будут учиться понимать хорошо не только Go, но и остальные языки.

Я, если честно, в статье вообще не понял перехода от "пока LLM лучше всего работают с Go" к "Go - это первый язык, который станет не нужен". Получается, LLM сразу компилировать будут, чтоли?

последний, а не первый

Думаю, имелось ввиду чаще пишет корректно работающий код именно на Go, чем на других языках программирования. Возможно, просто обучащих данных больше. А может потому что сам язык проще, менее выразительный.

Линус, конечно, теперь далеко не самый любимый нами персонаж, но цитата напрашивается:

Talk is cheap, show me the code.

Ага, там есть. Если почитать

По-моему статья не совсем и про вайбкодинг, скорее о необходимости выработки новых подходов к структурному описанию требований, промптов, переиспользованию их, формированию новых парадигм работы с этими требованиями в удобной для пользователя и нейросети форме. Я думаю, это направление действительно будет развиваться и если не заменит полностью традиционное программирование во всех сферах, то займёт приличную долю.

Думаю, с программами или просто системами, решающими какие-то задачи, скажем, ведения конкретного веб-сайта, будут идти некие своды правил, конституции, с непротиворечивым описанием концепций, подходов, инструментов, агентов, утилит и их взаимодействия. В рамках этой конституции станет возможным параллельная разработка новых фич командой постановщиков задачи, в том числе с помощью вспомогательных инструментов конкретно для этой программы/задачи созданных, в которых можно ставить задачи запросами к ИИ. В этих же системах будет проверка на непротиворечивость, логичность новых требований и изменение свода правил. Что-то вроде законодательной ветки власти и исполнительной. Всегда, конечно, лучше менять законы, чем фиксить одиночные кейсы. В эту сторону и сместится программирование со временем. А те примеры вайбкодинга, над которыми сейчас посмеиваются, будут как примеры генерации изображений с глазами и собаками повсюду много лет назад. Мог ли тогда кто-то предположить, что нейросети будут генерировать изображения и видео, которые вообще невозможно отличить от реальных?

Да, я столкнулся с тем, что сейчас при попытке пользоваться ассистентами состояние индустрии как в 1950 году, когда были только перфокарты. И мне очень не хватает того удобства, которое сейчас создано для классического программирования

Так много стало статеек типа этой, и больше всего они мне напоминают телевизионные шоу про ремонт. Шуруповёрт крупным планом вкручивает шуруп, играет музыка и бац - за 45 минут построен дом мечты. Однако кто хотя бы раз пытался делать ремонт или что-то строить понимают - реальность выглядит слегка по-другому)

Идея более или менее понятна. нужно создавать базу описательных приёмов под разные задачи/требования.

А что если скармливать ИИшке блоки кода и просить составить промпт , который бы привёл к такому коду?) 🤔

Да, это работает уже сейчас. Надеюсь в будущем появится готовая библиотека таких описаний

Всё правда, нейронки сами пишут код,я абсолютно не понимая в программировании ,поставил задачу написать немного кода и она написала.А потом включил этот код и он сгенерировал биткоин.

И что делать? Кого спасать? К чему нытьё?

Чтобы писать на php не обязательно использовать исключительно его 4 версию. И не обязательно копать яму вручную.

Тот кто ищет отличие или причину не развивается и проиграл. Читайте больше и у вас никогда не возникнет необходимости в подобных статьях.

Чисто ради этого поста создал акк на Хабре. Меня всегда умиляло насколько вайбкодеры пытаются показать, что вайбкодинг это ВО - наше будущее, однако ни разу не видел вайбкодера, который делал, что-то чуууууууточку сложнее пет-проекта и не сидел бы, как баран, уставившись в монитор в переписке с llm, не понимая "почему не работает?" И эти ламеры ещё что-то говорят про шаг в ногу со временем? Мусорный пост.

Да. А, казалось бы, чего сложного? Выдал промпт "ChatGPT N, напиши и обучи ChatGPT N+1" и так рекурсивно, до наступления сингулярности.

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

Стало понятно, что не осталось кода, который ИИ написать не может.

Это вряд ли. Пока что. Я вот делаю игру на непопулярном движке, который юзает полтора человека кроме самого разраба. Там нестандартное API, которое идет вразрез с общепринятыми нормами. Так вот эти ваши хваленые курсоры ничего не могут сделать на этом движке, поскольку на гитхабе 0 публичных проектов с этим движком. Даже хваленый Sonnet 3.7 спасовал и писал какую-то дичь и дико галлюцинировал, выдавая несуществующие функции движка.

Попробуйте sonnet-4, на мой взгляд стало лучше. Но здесь я наверно не до конца раскрыл мысль. При написании какого-то специфичного алгоритма или работе с нестандартным API придется нейронке достаточно подробно объяснить как достигнуть цели. Т.е. в каких-то случаях текста с описанием будет больше, чем кода на языке программирования и в таком случае легче самому написать этот код. На текущем уровне развития ИИ может помочь только с типовыми решениями. Но в моей работе такого 90%

Ровно та же ситуация. Вот говорят, что лучше всего ИИ пишут на распространенных языках, вроде Python. Но стоит в том же питоне взять другую среду - в моём случае Cinema4D(иногда пишу скрипты и плагины под неё), и вместо рабочего кода получается бредогенератор. И никакая итерация с исправлением и тыканием носом в ошибки не помогает. Выдумывает функции, методы и свойства которых в реальности нет и с упорством барана пытается их впихнуть в код.

Это вы сейчас спорите с картинкой сайта со статьями и комментариями, которую вам сгенерировала нейросеть. На самом деле никакого хабра не существует.

Вы уже третий раз этот симулятор шизофреника постите. Вы бы хотели в это играть?

Потом, этот подход теоретически может работать только там, где пользователю ничего кроме видео картинки не важно. В играх, или кино. Если пользователю надо что-то другое, то этот подход не возможен. Вы так и не ответили, как это работает для условного видео-чатика или бухгалтерской утилиты.

Но и в случае игр и кино - это мертворожденный подход. Ибо системные требования у нейросетки на порядки выше чем у аналогично играемой программы. И кино можно экспортировать виде видео файла.

С кодом написанным нейросетью ситуация - ещё хуже. Одно дело, когда вы имеете дело с непредсказуемой обезьяной, которую вы хотя бы видите и контролируете, и можете вовремя вмешаться, и гораздо хуже, когда эта непредсказуемая обезьяна пишет для вас код, который вы нормально не проверили, а вмешаться - уже слишком поздно.

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

Код можно хотя бы теоретически проверить

При каждом изменении запроса к нейросети, включая и "почини мне ошибку", нейросеть генерирует весь код с нуля по новой. Рано или поздно проверяющий задолбается проверять и забьёт болт на проверку. :-(

Послушайте, я нисколько не защищаю генерирование кода нейросетью. Это работает очень плохо, я согласен. Но использование нейросети в качестве замены программам - это вообще не работает.

Обезьяна, которая собрала для вас самолёт без проверки - намного хуже, чем обезьяна за штурвалом самолёта.

Неверная аналогия. Вы вместо очевидно плохого решения лететь на самолете, собранном обезъяной без проверки, предлагаете лететь на самой обезъяне.

Разворотили вы улей, судя по отклику). И, очевидно, значимую долю программистов зацепило за живое. Эмоции и страх не позволяют трезво взглянуть на ситуацию и задуматься. Тут был добротный комментарий про разработчиков на ассемблере и сколько их осталось. Ломать копья "заменит/не заменит" в настоящее время, имхо, преждевременно, но с социальной точки зрения статья удалась. Браво!)

Чтобы нейросеть смогла написать адекватный код для сложной системы вроде автопилота или операционной системы, ей нужно понимать последствия своих действий в реальном мире. Для этого ей нужна адекватная мировая модель и самосознание. Но имея самосознание захочет ли она писать код для тебя кожаный? 🤔

Нейросеть пишущая код автопилота - это не автопилот Теслы, а это робот запряжённый в телегу:

Код написанный нейросетью - вообще не нужен! Нейросеть сама может работать в качестве автопилота.

Вайбкодинг - столь же абсурден как робот с тяпкой, вместо комбайна.

Проблема использования нейросеток в качестве специализированных рабов — они хотят кушать, как железо (один раз на экземпляр), так и электричество (постоянно). Дешевле один раз написать код (любым методом), который будет исполняться в десятках миллионов микроконтроллеров.

Или вы предлагаете в каждую дешевую мультиварку, каждую стиральную машину, каждый детский квадрокоптер воткнуть по аналогу игрового ПК? Даже если не игровой пк, а нечто мелкое типа ai hat — стоимость всего изделия, как минимум, удвоится, а тот же детский квадрокоптер просто не сможет быть допущен к продаже из-за превышения веса (сейчас это 250г, если правильно помню), так как нейросетевые чипы хотят кушать (аккумуляторы придётся ставить больше) и отводить тепло (радиаторы тоже весят немало), отчего для поднятия в воздух потребуются более мощные двигатели (ещё + к весу аккумуляторов).

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

Ну и немного доведения до абсурда, раз уж вы первый начали:

Если менять всё на нейросеть — заодно меняем контроллеры в машинах (в электромобилях — есть отдельные контроллеры в каждом двигателе, если что). Контроллеры в источниках питания. Контроллеры в самолётах. Контроллеры управления АЭС. То есть там, где требуется И реакция И точность. Через какое время наступим на то, что нейросетка куда-то не туда прогаллюционировала? Или на то, что нейросетка просто не успела с инференсом?

А вообще — нейросетка не является очередной серебрянной пулей. Это просто инструмент, который надо научиться применять правильно. В том числе — выяснить, куда он применим, а не пихать его во все дырки, как видно из ваших высказываний.

Я тут тоже вмешаюсь и продублирую мысль из другого комментария: LLM - это лишь подмножество нейросетей, предназначенные для генерации текста. Почему-то все об этом забывают и мечтают воткнуть генератор текста в каждое устройство. Спрашивается: нахрена, а главное, зачем?

Если рассматривать нейросеть как математическую модель, ей, безусловно, найдётся и уже существует множество применений: и в автомобилях и на АЭС и где угодно. Но только это не пресловутый chatGPT, вы не сможете спросить у автопилота в автомобиле, что он думает о философии Канта. А если сможете - то это не та же самая нейросеть, что управляет автомобилем.

И код пока успешно пишет только языковая модель, так что автопилот тоже сам себя переписать не сможет. А доверять языковым моделям все на свете задачи - опасно и неэффективно по причинам, которые описали в соседнем комментарии.

Для этого ей нужна адекватная мировая модель

Очевидно.

и самосознание

А это-то зачем?

Теоретически — да, но на практике скорее нет в обозримом будущем. Нейросеть может управлять самолётом напрямую, но это требует невероятной надёжности, объяснимости и безопасности, которых у современных ИИ ещё нет.

Традиционный автопилот работает на жёстко заданных алгоритмах, которые можно проверить на 100% Нейросеть — это "чёрный ящик": её решения сложно предсказать в критических ситуациях (например, при нештатной ситуации).

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

Прямое управление требует мгновенных вычислений без задержек без связи и при отказе питания – значит, ему нужен сверхнадёжный бортовой компьютер с резервным питанием и аварийное управление через гидравлику/тросы, если всё откажет

Но со всем этим и дефолтный человек отлично справится, зачем тогда нейросеть

её решения сложно предсказать в критических ситуациях (например, при нештатной ситуации)

Зато традиционный автопилот легко предсказать - он тупо отключается.

Ошибка в полёте = катастрофа. Пока нет способа гарантировать, что ИИ не "заглючит".

Но со всем этим и дефолтный человек отлично справится, зачем тогда нейросеть

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

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

  2. Человек тоже ошибается но живой пилот может импровизировать в нештатных ситуациях (например, сажать самолёт без двигателей).

    Нейросеть ограничена обученными сценариями – если ситуация новая, она может зациклиться или действовать неадекватно.

  3. Нейросеть можно тестировать вечно Да, но реальный мир сложнее симуляций (непредсказуемые погода, отказы, другие самолёты). Человек адаптируется на лету, нейросеть – только если уже сталкивалась с таким в обучении.

Нейросеть ограничена обученными сценариями – если ситуация новая, она может зациклиться или действовать неадекватно.

Нет, обученными сценариями ограничен код, в том числе и написанный нейросетью путём вайбкодинга. Сама нейросеть может дообучаться в процессе пилотирования, как это делают живые нейросети. Потому, вайбкодинг - тупик, а нейросеть должна сама напрямую являться автопилотом, без промежуточного кода.

Сама нейросеть может дообучаться в процессе пилотирования, как это делают живые нейросети.

А вы можете дать гарантию, что при дообучении не поменяются уже проверенные реакции нейросети? Или при каждом дообучении её придётся полностью перетестировать с нуля.

Это как езда на реальной живой лошади, мозг которой - живая нейросеть, которой может вас убить одним ударом копыта, просто потому что ей показалось, что сзади на неё напал опасный хищник, а может вынести вас раненного и потерявшего сознание с поля боя и отвезти вас к доктору. От сюда и правила "не подходи к лошади сзади".

И что в этом хорошего? Чем это лучше строго заданного алгоритма, к которому можно безопасно подойти с любой стороны и который гарантированно не убьёт подошедшего?

На лошади человечество училось ездить очень долго. Даже специальные породы вывело, и придумало методики обучения, и лошади и жокея. А рандомный чел об рандомного коня скорее всего убьется.

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

Код – это зафиксированная логика, а нейросеть – "чёрный ящик" Да, код ограничен сценариями, но его можно формально верифицировать (доказать, что он безопасен). Нейросеть нельзя полностью проверить – даже её создатели не всегда понимают, как она принимает решения.

Живые нейросети (мозг пилота) – не аналог ИИ. Человек осознаёт себя и может рефлексировать ("я делаю что-то странное – надо остановиться"). Нейросеть не имеет сознания – она просто оптимизирует функцию потерь, даже если это ведёт к абсурду.

Живые нейросети (мозг пилота) – не аналог ИИ

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

LLM для своей работы используют огромные, на самом деле, вычислительных ресурсы. И вы правы в том, что вставлять такую махину в самолёт нет абсолютно никакого смысла: они жрут энергию, они глючат, они теряют контекст, либо забивают им всю память. Даже если предположить, что кто-то посадит такое за штурвал, то она не продержится на протяжении всего полёта - просто сожрёт все доступные ресурсы и заглючит.

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

Но это, блин, не означает, что кто-то будет пихать в самолёт ChatGPT, или даже что с этим автопилотовэм в принципе можно будет поговорить. Это разные виды нейросетей и каждая используется для своих задач.

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

"Компания Cloudflare опубликовала OAuth 2.1 -библиотеку, почти полностью сгенерированную ИИ-моделью Claude от Anthropic."

В целом батраков понять можно, они считали себя элитой с топ 10% зарплатой в их стране, золотой 1.5 миллион, а теперь ИИ опустил порог входа в разработку ниже плинтуса, и помогает сеньорам быть эффективнее в неск раз.

Articles