2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3, 4  След.
 
 Re: О возможности заменить программистов на ИИ
Сообщение19.05.2025, 11:19 
Заслуженный участник
Аватара пользователя


20/08/14
9166
rockclimber
Спасибо за подробный рассказ.

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

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

Могут ли двое с ИИ ваять код с той же скоростью, как пятеро без ИИ?

 Профиль  
                  
 
 Re: О возможности заменить программистов на ИИ
Сообщение19.05.2025, 11:44 
Заслуженный участник
Аватара пользователя


16/07/14
9737
Цюрих
Anton_Peplov в сообщении #1686390 писал(а):
Могут ли двое с ИИ ваять код с той же скоростью, как пятеро без ИИ?
На текущий момент - скорее нет. В работе "программиста", как правило, написание кода - это максимум процентов 30 времени. Дни, когда я весь день занимаюсь исключительно работой с кодом (а далеко не вся работа с кодом - это задачи, где LLM полезны) - большая редкость. Соответственно больше чем в полтора раза LLM производительность не повысят. На практике, думаю, реалистично увеличение в полтора раза на этих задачах (например юнит тесты копипастить LLM уже сильно помогают), что соответствует приросту общей эффективности процентов на 10. Что весьма неплохо, но далеко от описываемого в некоторых СМИ.

-- 19.05.2025, 10:46 --

Ghost_of_past в сообщении #1686368 писал(а):
наняла в прошлом году рекордное число новых сотрудников
Парадокс Джевонса тоже никто не отменял.

 Профиль  
                  
 
 Re: О возможности заменить программистов на ИИ
Сообщение19.05.2025, 12:02 
Заслуженный участник
Аватара пользователя


20/08/14
9166

(Оффтоп)

mihaild в сообщении #1686395 писал(а):
В работе "программиста", как правило, написание кода - это максимум процентов 30 времени.
Я, видимо, травмирован тем этапом своей биографии, когда в работе "астронома" написание кода занимало процентов 70 времени. Причем ответ на вопрос, не нанять ли нам программиста, звучал удивительно похоже на нынешние дискуссии об LLM: расписать техзадание для человека, не знакомого с нашими задачами, нашим телескопом и контекстом работы вообще, не будет сильно быстрее, чем написать код самому.

 Профиль  
                  
 
 Re: О возможности заменить программистов на ИИ
Сообщение19.05.2025, 13:03 


14/01/11
3464
Anton_Peplov в сообщении #1686401 писал(а):
Я, видимо, травмирован тем этапом своей биографии, когда в работе "астронома" написание кода занимало процентов 70 времени.

Оно и понятно: та часть работы, в которой человек разбирается лучше, делается быстрее. :-)

 Профиль  
                  
 
 Re: О возможности заменить программистов на ИИ
Сообщение19.05.2025, 13:36 


31/01/24
1660
Brussels, Belgium
mihaild в сообщении #1686395 писал(а):
Парадокс Джевонса тоже никто не отменял.


Да, здесь он в чистом виде.

(Оффтоп)

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


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

 Профиль  
                  
 
 Re: О возможности заменить программистов на ИИ
Сообщение19.05.2025, 19:52 


12/07/15
3646
г. Чехов
Я не особый мастер программирования встраиваемых систем (С/С++), но с ИИ я смог писать более устойчивый асинхронный код, в разы увеличил число проверок в коде (как положено). Я всё это понимаю, но я нахожусь на чуть более низком уровне по мастерству. То есть речь идёт не об ускорении, а о переходе на более высокий уровень. Пока не так всё гладко, но эффект есть. Это может напоминать то, как мидл просит помочь с кодом сеньора, но вместо сеньора - ИИ, который получает 2000 рублей в месяц и не занят своими делами.

Наилучшие промпты, два типа:
1. "Наваяй мне код, который считывает .csv-файл с SD-карты, извлекает поля 'Размер', 'Количество' в массив. Число строк 100."
2. "Вот код, посмотри, какие здесь могут быть ошибки, отсутствие проверок выхода из диапазона, неправильное выделение памяти, возможные нежелательные блокирующие операции".

 Профиль  
                  
 
 Re: О возможности заменить программистов на ИИ
Сообщение20.05.2025, 00:45 
Заслуженный участник


06/07/11
5677
кран.набрать.грамота
Anton_Peplov в сообщении #1686390 писал(а):
Кроме того, ИИ-кодер вряд ли поможет фиксить баги, всплывающие в готовом давно работающем коде. Потому что очевидные баги давно пофиксили тестировщики, а если оно год работало и тут вдруг упало, то баг весьма неочевидный.
Не совсем так. Неважно, когда всплыл баг. Если вы можете примерно локализовать участок кода, где баг возникает, и рассказать ИИ-помощнику словами, что с кодом не так (что вы ожидаете и что он выдает по факту) - ИИ его пофиксит. В этом плане все зависит от сложности задачи, а не от того, новый надо код писать или существующий править.

Anton_Peplov в сообщении #1686390 писал(а):
Однако мыслима ли такая ситуация? Проект, где надо писать свой код, пилят пятеро программистов. Их начальника вызывает начальник повыше и говорит: теперь вас будет не пятеро, а двое, а взамен вот вам ИИ, который пишет код.
Во-первых, выше уже упомянули парадокс Джевонса. Начальник скорее скажет "Вас будет по-прежнему пятеро, но задач в 20 раз больше" - потому что в любой достаточно крупной компании план работ хотелки расписаны на годы вперед, только успевай по клавишам долбить. Во-вторых, программистов и уговаривать особо не надо - они и сами с радостью свалят работу по нажатию на кнопки на кого-то другого. Как правило, основное препятствие - это как раз работодатель. Я знаю три основных метода работы с ИИ:
1. Вопрос-ответ в чате. Самый простой, но и самый тупой. Работа над сложным проектом невозможна в принципе. Есть у меня, скажем, код функции, которая вызывает 2 другие функции. Я хочу, чтобы ИИ что-то с ними сделал. Новую фичу реализовал. Для этого надо внести изменения во все три функции. Мои действия: написать ИИ, что у меня есть, привести код функций, для этого - найти их в трех разных файлах и скопипастить оттуда, подождать ответ от ИИ, прочитать его, потом ОСОЗНАТЬ, потом скопипастить и вставить обратно. И это идеальный случай - когда ИИ все понял правильно. А если нет? То скопипастить, запустить, увидеть, что это не то, объяснить, что не так... Все эти действия займут столько времени, что быстрее самому написать. Помощь ИИ станет выгодной по времени только при условии, что он будет обрабатывать очень большой объем за раз, то есть реализовывать какую-то крупную фичу. Да вот беда, с ростом размера задачи вероятность галлюцинаций растет. При том размере задачи, когда этот метод будет выгоден, галлюцинации сожрут остатки профита.
2. Помощник в IDE (как копилот). Я не пользовался именно копилотом, но пользовался Code Whisperer (амазоновский продукт). Это удобно. Он анализирует уже написанный код (весь проект целиком), и пытается угадать, что я хочу написать дальше. Это прям очень удобно. Мой код он очень хорошо угадывал, но у меня был простенький проектик на javascript для души. Ему нельзя напрямую ничего сказать, но можно дать как бы подсказку - написать комментарий типа "тут будет функция, считающая символы в строке", и он попытается угадать код этой функции.
3. Доступ по API. К своему стыду, не пробовал пока этот метод, но слышал о нем очень хорошие отзывы. Один человек описал это так: "как будто у тебя в команде есть 2 - 3 очень толковых джуна, которые понимают тебя с полуслова".

Все три метода требуют подключения через интернет к удаленному серверу с ИИ - и для крупных компаний это прям красный флаг. Строгое нельзя.
Для первого метода есть решения типа "развернуть сервер с чат-ботом во внутренней сети" - у нас такое есть, но это самое бесполезное решение. Есть ли аналоги для методов 2 и 3 - я не знаю. Не слышал пока.

Anton_Peplov в сообщении #1686390 писал(а):
Могут ли двое с ИИ ваять код с той же скоростью, как пятеро без ИИ?
Тут, пожалуй, от стадии развития проекта зависит. На новом проекте, который только начался - пожалуй да, на старом проекте, где кода уже очень много, и новый писать не особо нужно, скорее менять существующий - сложно сказать. Я уже не уверен.

-- 19.05.2025, 22:56 --

(Оффтоп)

Anton_Peplov в сообщении #1686401 писал(а):
Причем ответ на вопрос, не нанять ли нам программиста, звучал удивительно похоже на нынешние дискуссии об LLM: расписать техзадание для человека, не знакомого с нашими задачами, нашим телескопом и контекстом работы вообще, не будет сильно быстрее, чем написать код самому.
Я читал рассказ какого-то астронома о подобном опыте. То ли Pphantom здесь писал, то ли я это на хабре видел. Или еще где. Пробовали - не понравилось. Даже если человек знает нужную математику, за то время, пока объяснишь физические и астрономические нюансы, уже и сам напишешь что надо. Я помню, читал воспоминания Винера о Манхэттенском проекте. У них не было компьютеров, они наняли около тысячи, что ли, бухгалтеров, и посадили их на счетах считать. Сначала долго получалась ерунда. Потом выяснили, что бухгалтеры по привычке округляли результаты до сотых. Потом долго пытались их отучить. А это 1000 человек, и надо всем объяснить, а потом еще проконтролировать. Каждого. Подозреваю, что подобного рода нюансы могут и у астрономов быть, да вы и сами их только что описали...


-- 19.05.2025, 23:06 --

Anton_Peplov в сообщении #1686390 писал(а):
Разумеется, никто не захочет остаться совсем без программистов.
Когда появились автоматические АТС, все с радостью избавились от телефонисток. И от программистов избавятся, если появится насколько мощный ИИ. Но мы еще не там. Такого ИИ даже на горизонте не видно. Даже нет пока оснований надеяться, что увидим хотя бы на горизонте при нашей жизни.
Anton_Peplov в сообщении #1686390 писал(а):
Очевидно, что использовать ИИ-программиста может только человек-программист.
Пока да, а самое печальное, что это ситуация вида "всё или ничего". Вы либо полностью отпускаете вожжи и доверяете ИИ (мы пока не там), либо вам надо вникать в то, что ИИ вам выдает. То есть вам надо прочитать и осознать его код - а это не мгновенно. Я попросил ИИ написать мне функцию на javascript, которая рассчитывает ход для игры 2048. Он выдал мне код, строк 30 - 40, а так как я javascript не очень хорошо знаю, я сходу даже не понял, правильный этот код или нет. Поэтому я начал писать его сам, и только когда сам написал и увидел, что у меня плюс-минус тоже самое в итоге получается, понял, что его код корректен. И какой выигрыш по времени? Нулевой... В нетривиальных случаях может и еще хуже оказаться. И даже в идеальном случае итоговая скорость разработки ограничена вашим навыком чтения и понимания.

 Профиль  
                  
 
 Re: О возможности заменить программистов на ИИ
Сообщение20.05.2025, 11:33 
Заслуженный участник


20/08/14
12227
Россия, Москва
ИИ можно было бы слепо доверять (и не перепроверять за ним) если каждую функцию 100% покрыть тестами, тогда просто запускаем тесты и долбим его пока они не скажут allok.
Вот только такое покрытие тестами само по себе нетривиально и легко может оказаться сложнее написания самой функции (изначально корректно человеком). Да и без знания внутренности функции часто бесполезно (не покрывает все возможные ошибки). А доверить ИИ (даже другому) писать и тесты - это уже перебор, надёжность снова снижается ниже желаемой. И метод выборочного тестирования, как на любом производстве, тут не подходит, контроль должен быть именно 100%, как раз потому что технология (написания правильного кода) не отлажена (в отличие от производства, где достаточно контролировать лишь случайные отклонения от неё).
Так что как помощник (существенно более низкой квалификации) в рутине - возможно (с перепроверкой за ним), как полная замена - не-не-не. ИМХО.

 Профиль  
                  
 
 Re: О возможности заменить программистов на ИИ
Сообщение20.05.2025, 23:23 
Заслуженный участник


06/07/11
5677
кран.набрать.грамота
Я продолжу выражать скепсис, если никто не против :wink:
Помимо социальных проблем, которые я изложил выше, есть еще технические.

1. Качество решения задач. Разработчики постоянно публикуют тесты, в которых говорится о том, что ИИ решил сколько-то там процентов задач. Для полной замены людей на ИИ имеет значение, сколько задач он не решил. И тут неважно, сколько таких задач - 50% или 20%. Даже 20% - это много. Для того, чтобы от людей можно было отказаться, это должны быть малые доли процента. И дополнительная проблема - зависимость ответа от формулировки. Это случается редко, но случается. Недавно я просил чатгпт сгенерировать картинку. На картинке, кроме всего прочего, должен был быть цилиндр, на который зритель смотрит как бы снизу вверх. Чатгпт нарисовал его наоборот. Оказалось, что формулировка "Хорошо, но на этой картинке цилиндр изображен так, как будто зритель находится выше него и смотрит немного вниз. Можешь исправить эту часть так, чтобы зритель был как бы ниже и смотрел вверх?" ему непонятна, повторяя ее на разные лады, я не добился результата. Зато запросто добился, сказав "У тебя цилиндр нарисован в проекции сверху, а надо в проекции снизу". Тут даже не "ответ неправильный", а "не понял вопрос".

2. Неумение нестандартно мыслить и работать с ограничениями. Грубо говоря, если у вас сломалась дверь в комнате, он вам расскажет всё про двери, как они устроены, какие бывают, как их чинить и где искать мастера по ремонту, но он пока не способен предложить в качестве временной меры подпереть дверь шваброй. Пример: мне нужно было в макросе в Excel написать код, который поместит строку в буфер обмена. Чатгпт предложил несколько вариантов, но они не работают из коробки, а требуют подключения дополнительных библиотек. У меня на работе эта возможность отключена (в целях безопасности). Я нашел ответ на Stackoverflow:
Код:
CreateObject("htmlfile").ParentWindow.ClipboardData.SetData "text", "Hello, World!"
Но чатгпт его "не видит" почему-то. Моя гипотеза - потому что этот код создает объект htmlfile, назначение которого - работать с HTML файлами. А возможность поместить строку в буфер обмена - это побочный продукт этого объекта.

3. Неумение вовремя сказать "нет". Пару недель назад я начал обновлять свою ОС (Fedora 38). Текущая версия - 42. После пары дней мучений, когда я задавал чатгпт вопросы, а он говорил, какие команды выполнять (и пояснял процесс), мне показалось, что я хожу по кругу. Я догадался спросить - я это вообще возможно, обновиться с версии 38 на 42? И тут он отвечает - ну вообще нет, это не рекомендуется, и команда разработки это не гарантирует. Они даже не примут баг, если его зарепортить. И рекомендуемая последовательность обновления - это 38 -> 40 -> 42.
Пока разработчики ИИ-агентов захардкодили отказ отвечать на вопросы связанные со здоровьем и безопасностью. И они именно захардкодили - сам ИИ этого не понимает и моральных установок не имеет. Но каждый менее опасный пример не захардкодишь, надо научить его понимать контекст.
(Кстати, сейчас подумал - это же классическая проблема XY! Надо поискать на форумах по программированию, когда людям говорили про проблему XY, набрать примеров и протестировать чатгпт на умение их распознавать).

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

По поводу пунктов 2, 3 и 4 мне кажется, что разработчики ИИ за них даже не брались пока.

 Профиль  
                  
 
 Re: О возможности заменить программистов на ИИ
Сообщение20.05.2025, 23:37 
Заслуженный участник
Аватара пользователя


16/07/14
9737
Цюрих
rockclimber в сообщении #1686577 писал(а):
Доступ по API
Что это значит в данном контексте? Всё равно же надо как-то формировать запросы и что-то делать с ответами.
rockclimber в сообщении #1686577 писал(а):
Все три метода требуют подключения через интернет к удаленному серверу с ИИ - и для крупных компаний это прям красный флаг
У действительно крупных компаний не требуют :P
rockclimber в сообщении #1686577 писал(а):
Есть ли аналоги для методов 2 и 3 - я не знаю.
Есть открытые модели, аналогичные copilot. И, естественно, локально хостящуюся модель можно звать как угодно.
rockclimber в сообщении #1686577 писал(а):
Пока да, а самое печальное, что это ситуация вида "всё или ничего". Вы либо полностью отпускаете вожжи и доверяете ИИ (мы пока не там), либо вам надо вникать в то, что ИИ вам выдает.
На самом деле не совсем. Если у нас сложно устроенные, но типизированные данные, то немного неправильное к ним обращение не скомпилируется, поэтому достаточно глазами проверить, что в общих чертах всё правильно.
rockclimber в сообщении #1686731 писал(а):
Надо поискать на форумах по программированию, когда людям говорили про проблему XY, набрать примеров и протестировать чатгпт на умение их распознавать
Я даже недавно где-то видел советы, как писать промпты чтобы стимулировать модель анализировать осмысленность вопроса :)

 Профиль  
                  
 
 Re: О возможности заменить программистов на ИИ
Сообщение20.05.2025, 23:49 
Заслуженный участник


06/07/11
5677
кран.набрать.грамота
mihaild в сообщении #1686733 писал(а):
Что это значит в данном контексте? Всё равно же надо как-то формировать запросы и что-то делать с ответами.
Я пробовал расспросить человека, от которого это услышал, но они ничего внятного не сказал. Это скорее всего хорошо задокументировано на сайте OpenAI (и у их конкурентов), но прочитать руки не дошли пока.

mihaild в сообщении #1686733 писал(а):
Если у нас сложно устроенные, но типизированные данные, то немного неправильное к ним обращение не скомпилируется, поэтому достаточно глазами проверить, что в общих чертах всё правильно.
Я имел в виду полный отказ от программиста-человека. То есть вы берете ИИ и говорите: "напиши мне приложение как Excel, только чтобы еще со встроенным сапером и почтовым клиентом" - а он берет и пишет. И оно работает. Без багов.

mihaild в сообщении #1686733 писал(а):
Я даже недавно где-то видел советы, как писать промпты чтобы стимулировать модель анализировать осмысленность вопроса
Я тоже получал такие советы, и советы погуглить такие советы тоже получал :mrgreen:
Но тема называется "О возможности заменить программистов на ИИ". Все-таки программист способен понять, чего хочет пользователь, способен понять, что он (программист) чего-то не понимает, и переспросить/уточнить в этом случае. ИИ тоже должен так уметь.

 Профиль  
                  
 
 Re: О возможности заменить программистов на ИИ
Сообщение30.05.2025, 20:20 


19/05/25

16
CEO Anthropic: через полгода 90% кода будет писать ИИ. Через год — 100%
https://m.youtube.com/watch?v=esCSpbDPJik

Microsoft: В 2030 году искусственный интеллект вместо программистов будет писать 95% кода
https://www.cnews.ru/news/top/2025-04-0 ... _intellekt

 Профиль  
                  
 
 Re: О возможности заменить программистов на ИИ
Сообщение30.05.2025, 21:27 


14/01/11
3464
Значит, пора валить с винды, пока не поздно. :?

 Профиль  
                  
 
 Re: О возможности заменить программистов на ИИ
Сообщение31.05.2025, 11:47 


27/08/16
11950
Sender в сообщении #1688235 писал(а):
Значит, пора валить с винды, пока не поздно. :?
В деревню, в глушь, в Саратов!

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

-- 31.05.2025, 11:55 --

rockclimber в сообщении #1686134 писал(а):
Как тут не вспомнить знаменитое "через 20 лет не будет ни кино, ни театра, одно сплошное телевидение".
Только кинотеатры сейчас стали местом для свиданий, а театры - местом для эстетов. Да и винил тоже популярен сейчас в узких кругах по тем же причинам.

 Профиль  
                  
 
 Re: О возможности заменить программистов на ИИ
Сообщение31.05.2025, 15:06 
Заслуженный участник


06/07/11
5677
кран.набрать.грамота
Oleksandr Rybakov в сообщении #1688223 писал(а):
CEO Anthropic: через полгода 90% кода будет писать ИИ. Через год — 100%
Тут еще вспоминается знаменитый спор Уорена Баффета с инвесторами. В отличие от подобного рода болтунов, Баффет прямо предложил пари на миллион долларов. Потому что был уверен в своих словах. И таки выиграл. А что там с CEO ИИ-компаний, кто готов подтвердить серьезность своих намерений, а не только языком чесать?
Кстати, если вы спросите программистов, то среднестатистический прграммист вам скажет, что любого CEO можно заменить на ИИ уже сейчас :mrgreen:

-- 31.05.2025, 13:12 --

realeugene в сообщении #1688284 писал(а):
Опенсорсных систем эти прогнозы касаются в не меньшей степени.
Неделю или две назад я наткнулся на видео на ютубе, там автор видео (тоже смотрящий на ИИ довольно сдержанно) просил ему показать какой-нибудь нетривиальный одобренный пул-реквест в код ядра линукса, написанный ИИ. Говорит - нету их, и даже не пытается никто. Хотя казалось бы, не сложно было бы взять какой-нибудь баг-репорт и пофиксить проблему одним щелчком. Так что тут вы правы в том, что опенсорс системы находятся в том же состоянии, что и остальной рынок ПО - бояться пока нечего.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 50 ]  На страницу Пред.  1, 2, 3, 4  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group