Добрый вечер, коллеги!
Не все из вас слышали про vibe coding — на деле это просто AI Code Assistant.
Ну т.е. ты этой энжине пишешь на русском, что она должна запрограммировать — и она делает это )))
Кстати, можно и голосом объяснять — для всех топовых решений есть голосовые плагины )))
Когда я впервые познакомился с Cursor AI — моему радостному удивлению не было предела )))
Вкратце — это такой форк VS Code, которому ты спокойно пишешь по-русски, что он должен запрограммировать — и он, сцуко, программирует.
При этом весьма неплохо.
Более того, для всех распространенных языков (python, java, JS, TS, C#, C++, ...) предусмотрена неплохая такая отладка (для менее распространенных языков надо устанавливать VS Code extensions).
Дальше — больше.
Тебе хочется написать интерфейс — ты ему пишешь по-русски — нарисуй мне чат с интерфейсом как у WhatsApp.
Тебе хочется, чтобы пользователи регистрировались — просто пишешь — заведи форму регистрации и сохраняй данные пользователей в базу.
Тебе нужно поправить формочки и поменять цвет — просто пишешь это — и вуаля — все поменялось)
На первый взгляд выглядит, как чистое волшебство )))
Если немного подумать — все не так красиво, а единороги
не срут цветами не такие уж и необычные.
Тут надо понимать, что LLM — это просто статистический синтаксический анализатор, он вообще не про семантику, тем более про интеллект.
Ну т.е. эта энжина продолжает начатую тобой фразу так, как ее продолжили бы еще 100500
ебланов людей.
Соответственно, когда она продолжает диалог с тобой и пишет код — это будет код не от гуру вроде Андерса Хейлсберга или Джона Кармака, а обычный говнокод от рукожопых индусов...
1. LLM ищет код в доступных кодовых базах вроде github, stackoverflow etc.
2. LLM никак не умеет оценивать качество кода, а просто ищет что-то похожее
Соответственно:
1. Мы легко (как по волшебству) можем найти код для решения простой общеизвестной задачи
2. Мы никогда не найдем код для решения сложной задачи, ну или которую никто еще не решал
Дальше — хуже:
1. С развитием AI Code Assistant популярные языки (Python?) станут еще более популярными
2. Качество генерации кода на менее популярных языках неизбежно будет падать
В этот момент самое время вспомнить гениальный рассказ Уильяма Тенна «Нулевой потенциал». Он короткий (страниц 10 наверное), но я все же позволю себе краткий пересказ, т.к. резиденты СЛ походу пролистывают только книги Баффета/Грэма и разных коучей.
«После ядерной войны в США возникли массовые мутации среди населения. Назрел вопрос выбора эталона среднего американца — человека в среднем соответствующего всем стандартам прошлого. Такой человек был найдет и очень скоро стал президентом США в эпоху войн и разрухи. Более того, его усредненность в этоху мутаций привела к невиданной популярности и вскоре он возглавил весь мир. Весь мир охватило желание усреднения — средний человек стал эталоном человечества. Постепенно прогресс замедлился, а потом и вовсе остановился. На фоне упадка человечества стала быстро развиваться раса разумных собак родом с острова Ньюфаундленд. Собаки быстро учились и вскоре стали использовать вырождающееся человечество просто как машину для кидания палок — ловля брошенных палок по-прежнему занимала собак. Но впоследствии собаками были изобретены машины, которые кидали палку дальше и точнее, чем человек — и человечество постепенно исчезло с лица Земли...»
Кагбэ все понятно
1. AI Code Assistant позволяет лего и дешево использовать уже созданный код
2. Без знания архитектуры построения программных продуктов этот код в-основном бесполезен
3. Критичный код (ОС, RT, низкий уровень, безотказные системы) будет писать человек
4. Человекописателей станет меньше, их кастомный код не будет попадать в общий доступ, в отличие от говнокодеров
5. Среднее качество доступного автоматически говнокода будет неуклонно снижаться
Поэтому сейчас все шикарно
1. Я развернул сайт за 2 часа (вообще никогда не знал, как это делается)
2. Я написал прототип (MVP) забавного интернет-продукта за 5 часов
3. Я круто автоматизировал свои рыночные эксперименты на Matlab (не в части логики, но в части обработки данных и обвязки)
Ну т.е. что-то простое и незнакомое можно наваять быстро.
Можно быстро изучить новую область и поиграться с работающими прототипами.
Сделать что-то серьезное — вряд ли.
Качество неуклонно будет падать — говнокод всегда имеет тенденцию размножаться.
Что вы думаете по этому поводу, коллеги?
С уважением
Семантика есть. С таким же успехом вас можно назвать «просто статистическим синтаксическом анализатором», поскольку принцип работы нейронных сетей и у человека и в LLM одинаков, что недавно подтвердили учёные из Claude, разобравшись, как LLM запоминает и размышляет.
Качество кода будет расти, потому что нейронные сети — это не «статистический анализатор», иначе говоря, нет, ИИ — это не то, что собирает образцы чужого кода и затем под ваш запрос выдаёт статистически подходящий отрывок, это намного более сложные вещи, в ИИ вообще не хранятся отрывки чужого кода, там своя модель данных, основанная на связях и их весах, точно так, как и у человека. Чем больше связей и весов сможет хранить ИИ, тем лучше будет код, причём, ИИ может писать код, которого она в глаза не видела (который ей не преподавался при обучении), что так же доказано в ходе экспериментов.
Весь взлет LLM в последние 10 лет обусловлен 2-мя вещами
1. Неожиданным успехом статистического синтаксического предсказания
2. Неожиданным успехом Reinforced Learing
Про семантику напишите подробнее, плз. А то в мире все бьются долгие годы над семантическими моделями, а каменный цветок все никак не выходит...
С уважением
Вы совсем не в теме
Готов продолжить разговор, но только не на пальцах, а на более серьезной научной базе.
С уважением
Если нетрудно — черкните здесь пару слов про семантику.
Варианты на Ваш выбор:
1. Семантика в естественных языках
2. Семантика в языках программирования
С уважением
Нейросети — это точно не про семантику
Но, чтобы не спорить, просто приведите здесь для памяти формализованное определение семантики языка.
А вместе с ним — реальные примеры применения и внедрения формализованной семантики.
С уважением
Все, что вообще может быть сказано — может быть сказано ясно
А о чем невозможно говорить — о том следует молчать
© Людвиг Витгенштейн
P.S. Не надо умничать, уважаемый. За умного Вы все равно не сойдете. Попробуйте для начала просто отвечать на поставленный вопрос.
Кто у вас там годами бьётся....
Почитайте лекции Кембриджа, что ли
www.cl.cam.ac.uk/teaching/0809/Semantics/notes-mono.pdf
Не все правда могут правильно пользоваться этим самым управлением, обычно этим управлением хорошо владеют всякие Гуру, Жрецы, Масоны и прочие мошенники.
> поскольку принцип работы нейронных сетей и у человека и в LLM одинаков
Claude прочитала больше книг по математике чем любой ныне живущий математик. Но складывать большие числа не научилась. Вот такие общие принципы работы нейронных сетей и мозга человека.
С уважением
я вот помню времена когда тру прогеры писали чисто на асме… и если ты там что то выпендривался на фортране или паскале тебя считали быдлокодером...
помню вел проект в 60000 строк на ассемблере… причем почти без коментов и без документации… причем это были 90ые и кодеры боялись что их уволят поэтому скрысили документацию и потерли коменты… вся документация был замызганный засаленный до дыр лист формата а1 подклеенный газеткой аиф чтоб не развалилось...
а вы говорите ии…
И да, если есть статистически значимая ошибка в данных, на которых обучалась нейросеть, нейросеть будет воспроизводить эту ошибку так же, как дети воспроизводят слово «транвай» и «аблокат», когда неправильно услышали это слово при обучении.
Нет принципиальных отличий между нейронной сетью человека и нейронной сетью машины, и то и то работает по одному и тому же принципу.
Идея интересная, думал об этом тоже: обучающие выборки будут разбавляться сильно ничему не учащему, наверно, нагенеренным нейросетями же кодом, человеки в какой-то момент начнут тупеть. И их код будет хуже и/или не отупевших будет меньше чем щас.
НО. Скорее всего ещё есть хороший запас чтобы выжать качество из имеющихся данных, чисто за счет архитектур LLM и подобного. + Вероятно, до того как программисты «отупеют» скорее всего они сначала будут бенефитить от ИИ — т.е., считаем, что кодить LLM научились, высвобождающееся время программисты могут потратить на задачи более высокого уровня — архитектура и т.д., т.е. когда тебе надо меньше время тратить на лоу левел, ты активней развиваешься в более хай левел.
Но со временем возможно, да, график изменения качества LLM кодинга или сильно замедлится или даже начнёт загибаться. Но думаю, вряд ли загнётся, кто мешает старые модели юзать.
Например, исследование Drori et al. (2022) показывает, что OpenAI Codex, модель, предварительно обученная на текстах и дообученная на коде, способна решать университетские математические задачи, генерировать программы и объяснять решения на человеческом уровне. Codex достиг 81% точности в автоматическом решении задач по математике, включая написание кода на языках программирования, таких как Python.
Иначе говоря, гипотеза автора поста о том, что «среднее качество доступного автоматически говнокода будет неуклонно снижаться» из-за того, что нейросети будут обучаться на собственном коде, несостоятельна, потому что он не учитывает такие инструменты, как обобщения. Для того, чтобы эта гипотеза реализовалась, должно снижаться не только качество кода условного Java, на котором обучается нейросеть, но и качество иных данных, например, работ по математике, физике и т.д., на которых обучена нейросеть и алгоритмы которых нейросеть может описать на условном Java, обобщая полученные знания.
Теперь, уважаемый, расскажите нам, как по-вашему работают reasoning модели? )))
И как они могут улучшить код? )))
(если могут)
С уважением
Проблема в длине контекста, сделать простую формочку с запросом и прогнать тесты — вполне линейный подход, как перевод с языка на язык.
Сделать большую комплексную систему — уже мультиагентный процесс, где важен навык коммуникации. Решать ее в лоб, методом перебора тестов — уже не получится.
Пока самый простой способ — это ИИ зарегаться на форуме и выдавать себя за человека, задавая разной глупости вопросы. И это уже ближайший этап, еще большего «замусоривания» интернета, где бота уже не отличить от человека.
Пока у ИИ есть эталон в виде правильных ответов, это не совсем самообучающаяся система.
...
Людям нужен не код, а решение их проблемы. Не будет секретарша Леночка вайб кодингом заниматься, она спросит что делать и Васи-программиста.
Автор, скажи лучше когда робота своего закончишь? Помню ты говорил что когда допишешь, то перестанешь на СЛ писать ))
С уважением
P.S. Если ты заметил — стал писать сильно реже )))
Впрочем, как и всегда
«сделать что то серьезное», а что для вас серьезное? супербиблиотека с суперкодом которая позволяет выполнять сортировку на 0.1% быстрее? которую дай бог хоть один прогер поймет или заиспользует. Или наговнокоженный майнкрафт который принес создателю десятки миллионов баксов? Нужно все таки еще понимать что считать за успех.
Сейчас многие у кого была проблема со скилами в проге но хорошими идеями могут их воплотить в жизнь и наговнокодить свой миллион, а суперпупер программисты будут и дальше уходить в отрицалово и скепсис сидя на средней зп в 300 тр с раздутым самомнением)