Comments 50
Вчера читал про падение StackOverflow. Там говорят что наоборот AI порождает некачественных программистов, которые распространяют код нейросети по сети интернет, на котором потом учатся нейросети (в итоге получаем что нейросети учатся сами на себе) что ведёт нас в достаточно неопределенную ситуацию
А ещё:
проблемы иб
сложность поддержки кода и отладки
вопросы экономической целесообразности
наплевательское отношение к продукту
гарантирован дефицит грамотных программистов, тк сейчас уже новички не кодят, а промптят
проблема становления кода\либ неактуальными. условно новые версии библиотек выходят очень часто, порою там нужны серьезные изменения в коде. как ИИ это решит, если у него нет "опыта" обучения на новых версиях? а зато есть много опыта на старых
PS: как совершенно верно намекают ниже - скорее надо ждать и готовиться к кризису подобному краху доткомов и поэтому вас сократят. А не из-за замены разрабов на ИИ
Проблема "замкнутого цикла" обучения ИИ ведет к "инцесту" кода.
В основу бреда о замене человека ИИ лежит постулат, что ребëнок тоже учится на том, что дают родители. У большинства людей способности ограничены только тем чему обучили и они действительно могут быть заменены ИИ в данном контексте. Особенно это касается не творческих звеньев в ИТ и в других сферах. Ведь множество проектов это повторение одного и того же, только в разных интерпретациях. Просто на волне хайпа об ИИ каждый хочет выделится и показать как успешно внедрил новомодную штучку, вспомните бум доткомов.
А что такое, это "повторение одного и того же", когда эти повторения начались и как эту повторяемость определить?
Например, мы - это повторение наших родителей на 99.9%, делает ли это нас интерпретациями наших родителей?
К примеру если говорить про фронт, то в одном и том же приложении могут быть сотни, тысячи разных экранов. Но среди них найдется много двойников, где по сути меняется слегка верстка или другой источник данных (просто другие названия переменных, классов). Да может быть что-то в этих дублях отличатся, но это можно учесть в промте.
Если говорить про разные приложения и компании, то схожи сами алгоритмы и ИИ должен научиться понимать их решать. Уже сейчас он успешно решает задачи по школьной математике. Ему дали тысячи задачек по тригонометрии с примерами как их решать, он их переварил далее по подобию легко решает другие задачи по тригонометрии. Но это было до появления рассуждающий моделей. Рассуждения позволили углубить этот момент и ИИ способен обобщать способы решения и переносить на соседние области.
Угу. Давайте ИИ будет генерить сразу машинный код, чтобы человек-программист в принципе не мог понять, что он делает и в чём ошибка.
Кстати, подозреваю, что для ИИ генерация машинного кода вполне возможна, но будет проводиться через промежуточное высокоуровневое представление. Впрочем, "язык понятный ИИ" для человека также будет непонятен, поэтому практического смысла иметь не будет.
Прямо себе представляю ситуацию, когда вот у вас команда ИИ, "эффективный менеджер" над ней, и он интеративно пытается заставить команду ИИ создать сложный продукт, удовлетворяющий требованиям заказчика. И как обычно получается: чиним в одном месте, ломается в другом. И так неограниченно долго.
если синтаксис верный - программа будет работать
Если синтаксис верный - программа может собраться, да и то не факт, что зависимости подтянуться при старте. Дальше можно не читать. По-моему статья сгенерирована ИИ.
Вайб — это когда ты плывёшь по течению с подпиской на ИИ за 20$ в месяц, а трезвый взгляд и логика тонут где-то за бортом, и тебе пох, лишь бы волна качала.
ИИ станет угрозой для программиста тогда, когда сможет написать ХеллоуВорд осмысленно. И то, пройдет ещё лет 10-20, пока это произойдет.
Сегодня нет ни одной предпосылки для этого.
"Языки программирования созданы для людей, не для компьютеров" — точнее было бы сказать, что они созданы как интерфейс МЕЖДУ человеческим мышлением и машинной логикой.
У них двойственное назначение, и широкий спектр: от низкоуровневых (ближе к машине, как ассемблер) до высокоуровневых (ближе к человеческому мышлению, как Python или Ruby).
Большинство комментаторов и автор рассматривают замену мидл+ и выше. А по факту идет замена джунов и весьма активно, там где работало 10 джунов остается 1 - 2 + подписка на LLM.
Следствия:
Джунов не будет;
Т.к. джунов не будет, со временем опытных разработчиков станет меньше (и они станут старше);
Из за того, что опытных разработчиков станет меньше, цениться они будут выше;
Т.к. джунов не будет, опытным разработчиком можно будет стать только самостоятельно, потратив на это много лет, долго обучаясь, получая практический опыт работая над серьёзными пет проектами самостоятельно, а опыт командной работы в open-source проектах.
В пункте 2 проблема. «Со временем» опытных станет меньше но и со временем LLM прокачаются..
Как показывает практика любая технология может прокачаться до определённого предела. Люди экстраполируют кратковременный взрывной прогресс на долгие годы вперёд. Поэтому казалось, что скоро автомобили будут летающими, вместо тротуаров будут горизонтальные эскалаторы, а космические ракеты разовьются до такой стерени, что на Луну или на Марс люди будут массово летать в отпуск.
ИИ развивается, но уже начинает упираеться в потолок. Сможет ли он развиться до того, чтобы заменить сеньёра сейчас неизвестно. Пока что ИИ это хоть и очень продвинутый, но лишь поисковик, который может копипастить чужой, где то подсмотренный код. Попросите ИИ написать одну и ту же задачу на Python и на каком ни будь очень редком языке с малой обучающей выборкой (например PureScript). Он прекрасно справиться с задачей на Python и не осилит её же на PureScript - код будет содержать гору ошибок. Хотя казалось бы, этот ИИ прочитал всю существующюю документацию по PureScript, все мануалы и все его исходники, так в чём проблема? А в том что по PureScript очень мало примеров на Stackoverflow и мало проектов на GitHub. Ему неоткуда скопипастить решение и всё - все учебники, все мануалы бесполезны. А для настоящего интеллека было бы достаточно прочитать один единиственный учебник. Поэтому это пока что не полноценный интеллект, а всё ещё поисковик с признаками интеллекта.
Пока что ИИ это хоть и очень продвинутый, но лишь поисковик, который может копипастить чужой, где то подсмотренный код
Так 99% задач, которые решают разработчики уже были раньше решены, мало кто делает, что-то принципиально навое. К примеру в у нас в стране десяток крупных банков, и там есть ИТ отделения. Они решают очень схожие задачи. Не говоря уже о тысячах сайтов по доставке пиццы. Найти типовое решение, встроить в текущую систему это и есть задача которую надо автоматизировать. Этим даже сениоры занимаются.
Потом вышел новый закон, и типовое решение полетело в мусорку.
Вышла новая версия: типовое решение - дебрекатед; а потом и вовсе - ой, не работает.
Нашли новую уязвимость и типовое решение уже - антипаттерн.
На счет новых версий: наверное, тем кто идет совсем по переднему краю придется ручками писать, но таких же мало, очень много кто обновления оттягивают до последнего. Но даже если глобально брать, чего там придумывается принципиально нового, на чем можно было бы сломаться? Алгоритмы это про манипуляции данными, а не про какие-то законы.
А для настоящего интеллека было бы достаточно прочитать один единиственный учебник. Поэтому это пока что не полноценный интеллект, а всё ещё поисковик с признаками интеллекта.
До такого интеллекта еще далеко, и боюсь когда он появится, проблема лишних программистов это самая простая, с которой столкнется общество.
Пока же LLM будут становиться мощным инструментом, способным ускорить работу и потеснить мидлов за счет джунов и сеньиоров.
В среднем код на GitHub полная фигня. Что же он тогда предложит?
Сейчас же появились рассуждающие модели, они не просто выдают код из своих закромов, а пытаются размышлять, что куда и зачем. К концу 2025 года обещают, что ИИ будет обходить людей в олимпиадном программировании.
Олимпиаднику противопоказано работать в крупных компаниях. Это полная противоположность
Олимпиадник индивидуалист
С точки зрения обучения это не так уж принципиально. Чтобы побеждать в олимпиадах нужно хорошо отладить систему рассуждений и процесс генерации кода.
То, что олимпиадники пишут не читаемый и плохо поддерживаемый код проблема известная, и на следующем этапе можно будет при обучении учесть этот момент.
Многие говорят, вот скормили LLM весь интернет, дальше делать нечего. Но это не так. Сырые данные плохо перевариваются, нужны размеченные данные, то есть сети нужно дать много примеров с запросами какие есть проблемы и как их следуют решить. Такие датасеты можно составлять вручную, а можно к примеру пробовать парсить issue на GitHub (взять проекты с большим кол-вом звезд) и merge к ним. Это не паханое поле, когда сделают это даст еще большой скачок вперед.
Потому что он запомнит решения всех олимпиадных задач и они станут для него типовыми. Пусть он лучше решит не олимпиадную задачу на питоне, а самую обычную задачу, но на редко используемом ЯП.
Со временем будет решать. На это можно посмотреть с другой стороны. Сперва обучим решать задачи на псевдоязыке или чем-то простом типа питона, а потом будем переводить решения на другой язык, по сути задача машинного перевода. Да для экзотических языков нужно подготовить данные, их подготовить можно это дорого и много ручного труда.
Так он так и делает. Он именно переводит с одного языка на другой и это заметно по коду. Поэтому оно и не работает, что такой перевод не всегда можно делать))
Дообучат. Можно представить, что не будут обучать редким языкам и забьют на них. Что тогда будем иметь. ИИ будет быстро и более менее качественно генерить код на популярных языках. А на не популярных нет, и те кто на них разрабатывает будут писать медленнее, пока к ним не придет начальник и не скажет, что нас давно обогнали все конкуренты, мы закрываемся.
И где заменили джунов ИИ? Не смешите
У меня на работе -25 -30% специально не считал, но там где раньше сидел один из джунов сидит фикус в горшке)
Что в общем не удивительно, дал джуну написать класс со свистелками и перделками, заняло почти день и еще пришлось объяснять. Claude написал меньше чем за минуту, но немного не то, после пары уточнений и итераций получилось, что надо, на все ушло минут 10. Я больше времени потратил объясняя джуну, что надо сделать. А код и там и там нужно ревьюить. Так смысл в джуне который стоит в десятки раз больше LLM, а работает хуже?
Вместо бинарного вопроса "заменит или нет?" более продуктивной видится дискуссия о том, какие аспекты профессии усиливаются ИИ, какие трансформируются, и какие новые практики и роли возникают в этом процессе.
я как программист любитель , был бы очень рад , если б так было что скомандовал "напиши мне то и то" и копипастишь не думая ... но в реале , после пробных , упорных попыток с Copilot, ChatGptPlus, Grok3, DeepSeek что-то хоть более менее разумное выдавал последний и то скорее по причине моего "насилия" над ним. Никакого "on fly" не было ни разу ... всегда в начале полная ересь , какие-то вырванные куски кода из Stack Overflow , несуществующие функции из библиотек или не реальные инстансы (речь про С++). После того как начинаешь корректировку , мол " тут нет лямбда функции в библиотеке, не надо выдумывать" или "нельзя делать прямой инстанс к наследуемому классу" , она тут же соглашается и переписывает все заново. И так шаг за шагом ошибки как архитектурные так и логические , но надо заметить что с синтаксисом как правило все в порядке. Должен признать , что мне , как любителю , иногда нравятся алгоритмические решения которые генерит модель , но опять же , для профессионала даже для джуна это наверное не проблема.
Наверное я не очень специалист что бы хвалить или ругать модели за то как они пишут код , но я уже тут говорил эту мысль - хочешь хорошо разобраться в теме - попроси модель написать тебе код и глубокое погружение в тему обеспечено, а не дай бог еще включить режим Think на Гроке , так еще и лонг рид Поэтому наверное это все ж прикладной инструмент...)
ИИ может тебе нагенереть хоть ПО для управления квантовым компом, просто изначально ии так настроили, чтобы ими нельзя было заменить ручной кодинг. Иначе кранты было бы веб инфраструктуре. Эти все гроки - это временные игрушки, потом и их запрячут
Я проводил эксперимент. Притворился что не умею программировать. И сделал нужный сервис за неделю. Бэк + мини приложение для тг. Просто тупо писал промты, если что-то не работало писал туда же. Сам бы руками полностью сделал это недели за 2. Качество меня устроило. Так что что-то оно уже может. Проблемы пока основные 2. 1. Размер контекста. Иногда начинает забывать. Но решается инструментарием, да и уже появляются сети с окном 1-2 млн токенов. Но думаю развитие пойдет в сторону гибридных систем когда одна сеть знает в целом все по проекту, другая уже детально копается в коде. (Человек примерно так же действует). Вторая проблема что он ограничен обучающей выборкой. В плане знаний. И соответственно может написать некий код который будет не работать так как в новых версиях фреймворка/библиотек что-то изменилось. Решить это наверное чуть сложнее. Посмотрим. Но локально точно так же дал ему ссылку на репозиторий апи телеграмма и документацию и он «изучил» и выдал код.
. Но локально точно так же дал ему ссылку на репозиторий апи телеграмма и документацию и он «изучил» и выдал код.
В моем случае это так не работало в 90% из 100. Ни в кодинге ни в микробиологии. Собственно и там и там скармливал файлы с наличием необходимой информации , но "здравая мысль" появлялась только после указания места где и что нужно анализировать. Возможно это происходило потому что вопросы в обоих случаях были не типичными, к их решению можно было прийти только через логические цепочки , в готовом варианте информации в интернет источниках не было .
А какая была модель? Я же не говорю что на текущий момент решает все и вся. Но от модели тоже многое зависит. Даже здесь не раз были статьи где авторы тестируют какую-то старую или простую модель на своих задачах, она решает их на 20-30-40% и делают выводы о возможностях. Хотя прогнав те же задачи на последних моделях можно видеть что решается на 100%
по мбио был Grok3 , научная работа была в формате пдфа и в общем все необходимое для ответа было в этой статье , но скажем так ключевые сведения а остальное нужно было собрать используя поиск. Я несколько раз под разными углами предлагал модели проанализировать статью и давал наводящие предложения, но пока я четко не указал место из статьи где указана была референсная мутация , Грок не хотел ничего понимать ,а после указания все пошло нормально, она "прозрела". В кодинге был Дипсик вопрос был не освещаемый в интернете широко - построение callback функций для Ethernet событий , с эволюцией библиотек изменился принцип наследования классов , соответственно должна была измениться логика построения инстансов. Впрочем Гроку и Гопоте я то же задавал этот вопрос , ответы были еще хуже и я решил "добивать" одну модель.
Про биологию не скажу. А дипсик по моему мнению слабоват. Да там хорошо оптимизировали и типовое он решает быстро и дешего.. но шаг в сторону и все. Я использовал o1-pro и теперь o3-mini код пишет нормально. Понимание стало лучше по сравнению с 4о. Там больше и подробнее приходилось объяснять.
Поэтому лично мое мнение что как решат проблему а реалтайм дообучением и появятся окна 5-10 млн токенов куда уже будут влазить среднего размера проекты, то программистов это конечно не заменит, но спрос на них упадет очень существенно
"... "напиши мне то и то" и копипастишь не думая ... " - Так эта магия не работает) Делаете декомпозицию разбиваете на простые задачи и четко описываете методы, аргументы и тд только тогда скармливаете LLM
Пусть llm пишет код сразу на ASSемблере, все равно вайб кодеры и так не понимают, что написано на более высокоуровневых языках, а так такая поделка хоть будет работать быстрее
Уже лет 5 как AI громко "заменяет" программистов, но пока это не более чем продвинутый поисковик, который позволяет держать еще меньше мусора в голове и больше думать о задаче.
Качество генерации кода в какой-то момент упрётся в потолок, и следующий логичный шаг будет создание языка программирования, оптимизированного для LLM - AI-first programming language.
Этот язык, скорее всего, будет:
Высокоуровневым и лаконичным,
Без «синтаксического сахара» и излишних абстракций,
Оптимизированным под токенизацию и трансформерные модели.
И вот тогда программисты действительно окажутся под угрозой.
А вот это очень вряд ли. Пока человек сильно превосходит AI в способности побеждать сложность, благодаря способности человека итерационно двигаться к цели вместо того чтобы генерить весь код сразу. При этом то что трудно для человека трудно для AI и наоборот.
Допустим, эта ситуация изменится, но нет никаких оснований полагать, что AI напишет миллион строк спагетти кода на упрощенном AI-ориентированном языке и не утонет в сложности точно так же как тонет человек. В плохом коде проблемы растут экспоненциально и с ними не сможет справиться никакой интеллект в принципе. Скорее всего приемы для AI будут теми же что и для человека - абстракции, концепции, архитектуры, паттерны и так далее.
Полностью заменить нормального программиста (как и любого другого настоящего специалиста) — ИИ точно не сможет. Ибо не "понимает", что и ЗАЧЕМ делает. Это ключевой момент.
Скорее, ИИ заменит всевозможных "околоспецов" (которые "что-то как-то могут сделать", но тоже без особо глубокого понимания).
Впрочем, даже нормальным программистам ИИ может помочь в каких-то типовых сценариях, это точно. Но, думаю, это максимум.
Вот всё обсуждают, когда трансформеры отберут работу у программистов. А у меня уже отнял, но только самые скучные её аспекты. Остались самые интересные, где нужно размышлять и придумывать новое.
Чтобы произошёл скачок, нужен не новый язык, а совершенно иная архитектура. У трансформера не может быть интеллекта, он не способен выдать что-то кроме того, что уже есть в обучающем датасете. Показательны случаи, когда решающий чуть ли не все олимпиадные задачи по математике "интеллект" не мог посчитать число букв в слове клубника. Тот ответ захардкодили, вот теперь срочно фоткают для датасета полные бокалы вина и часы на полшестого, пока ожидающие AGI инвесторы не прозрели.
Думаю уже есть тестовые нейронки, что могут писать низкоуровневый код без абстракций. Только вот это порождает новые проблемы. Во-первых, чтобы обучить такие нейронки, нужен датасет, что очевидно. А откуда он возьмётся в должном количестве и качестве, да ещё и с контекстом задач, если на ЯП специально для нейронок или даже на полу машинном коде никто особо задачи не решает. Скармливать, то что начудили компиляторы? Так там эффективный код генерируется редко. Как подобный код тестировать и фиксить, если нейронка зашла в тупик, непонятно. Причём, не говорю про llm, которые для подобных задач, как раз не очень подходят, разе что для понимания задач от человека, чтобы передать их в правильном формате нейронке, что кодит.
Думаю, что АИ раздутость современного кода за нас не решит. Мы должны сами это сделать.
Одно и то же каждый день, да не заменят программистов, просто лет через 5-10 профессия потеряет свой хайп, и все побегут учиться на тарологов и фитнес тренеров (ну или сами придумаете)
AI не заменит программистов. Пока нет