LINUX.ORG.RU

Оценка эффективности применения AI-инструментов выявила замедление, а не ускорение разработки

 , ,


0

1

Исследовательская группа METR (Model Evaluation & Threat Research) опубликовала результаты эксперимента по оценке эффективности применения AI-инструментов для написания кода. Вопреки ожиданиям, исследование показало, что AI-помощники не ускоряют, а замедляют решение поставленных задач, при том, что субъективно участники эксперимента считали, что AI ускорил их работу.

Фактически при использовании AI-помощника на решение задачи в среднем было потрачено на 19% больше времени, в то время как участники полагали, что благодаря AI смогли выполнить работу на 20% быстрее, а до начала работы считали, что AI поможет им ускорить работу на 24%. Результаты также значительно расходятся с прогнозами экспертов в области экономики и машинного обучения, которые предсказывали экономию времени при использовании AI на 39% и 38%, соответственно.

В ходе эксперимента 16 разработчикам открытых проектов, имеющим средний опыт работы с AI-инструментами, было предложено решить 246 задач, связанных с исправлением ошибок и добавлением новых возможностей. Задачи были сформированы на основе реальных issue в GitHub-репозиториях проектов, с которыми у выбранных разработчиков был опыт работы не менее 5 лет. Случайным образом часть задач предлагалось решить вручную, а часть с использованием любого AI-помощника на выбор разработчика (большинство предпочли редактор кода Cursor с моделью Claude 3.5/3.7 Sonnet).

В эксперимент, который проводился с февраля по июнь 2025 года, были вовлечены такие открытые проекты, как mito, stdlib, ghc, cabal, flair, jsdom, hypothesis, trieve, scikit-learn, gpt-neox и transformers. В среднем задействованные проекты имели 23 тысячи звёзд на GitHub, 1.1 млн строк кода, 20 тысяч коммитов и 710 участников.

Упоминаются следующие возможные причины замедления решения задач при использовании AI:

  • Низкое качество AI-рекомендаций - разработчики приняли менее 44% от сгенерированных AI предложений и потратили много времени на их чистку и проверку.

  • Излишний оптимизм в плане полезности AI и завышенные ожидания от возможностей AI-инструментов.

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

  • В эксперименте использовались слишком крупные и сложные репозитории, с которыми AI работает хуже.

  • Неявный контекст репозитория - AI не понимал контекст, в котором работал.

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

>>> Подробности на opennet

★★★★★

Проверено: dataman ()
Последнее исправление: dataman (всего исправлений: 2)

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

kirill_rrr ★★★★★
()
Ответ на: комментарий от mister_VA

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

Фишка в том, что она ЗНАЕТ информацию, и ЗНАЕТ, с какой еще информацией эта информация органически связана. Поэтому ты можешь задавать ей вопросы из категории «Я решаю вот такую задачу, и я хочу использовать вот такой путь решения. Сделай обзор, какие технологии и инструменты могут мне быть полезны, а также на какие проверенные временем приёмы возможно ориентироваться.» И она даст содержательный обзор.

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

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

С хорошим правильным вопросом можно и в Гугол сходить. Или к коллеге.

Старый, классический Гугл не ответит на такие вопросы. А попробуешь нагуглить обсуждения – попадёшь вот на ЛОР. Вон в разделе Development очень «качественные» обсуждения.

wandrien ★★★
()
Ответ на: комментарий от One

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

kirill_rrr ★★★★★
()

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

wandrien ★★★
()
Ответ на: комментарий от wandrien

Старый, классический Гугл не ответит на такие вопросы. А попробуешь нагуглить обсуждения – попадёшь вот на ЛОР. Вон в разделе Development очень «качественные» обсуждения.

Нюанс в том, что LLM обучены в том числе по обсуждениям из ЛОРа.

vbr ★★★★★
()
Ответ на: комментарий от vbr

Да. То есть они уже извлекли информацию и могут дать её концентрированно, а не как она лежит на форуме: 2 сообщения по теме, 12 с флудом. Информации-то в инете много, а попробуй найди.

wandrien ★★★
()
Ответ на: комментарий от alysnix

АИ в области разработки ПО пока несовершенен,

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

и требуется квалификация, чтобы разыскать все его ошибки.

Верно, но возможно другая квалификация, которая дешевле.

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

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

Конкуренция выдавит тех, кто ошибся. Как всегда с приходом новой технологии, high risk - high return. Риск велик, но если окупится, то будешь следующим Маском. Или не окупится. Тогда не будешь.

VIT
()
Ответ на: комментарий от LightDiver

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

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

VIT
()
Ответ на: комментарий от vbr

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

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

vtVitus ★★★★★
()
Ответ на: комментарий от vbr

Это если в ИИ заложены все готовые коды. Я тут пытался напрячь ИИ чтобы для ЛибрыОфис на бейсике написал. Оно написало, да. За две секунды. Понапридумывав методов, которых не существует. Пришлось два дня колупаться в справке. А справка для Либры это не справка для M$. Там не забалуешь. Тут, кстати, интересный вопрос – насколько ИИ может в справку без примеров (как в M$, в котором на каждый чих есть пример). Подозреваю что вообще не может.

rechnick ★★★
()
Последнее исправление: rechnick (всего исправлений: 2)
Ответ на: комментарий от vtVitus

Суть в декомпозиции.

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

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

После этого люди смогут обдумать и внести коррективы и снова дать данные для LLM.

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

И так далее.

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

wandrien ★★★
()
Последнее исправление: wandrien (всего исправлений: 1)
Ответ на: комментарий от vbr

Нюанс в том, что LLM обучены в том числе по обсуждениям из ЛОРа.

Нет оно в качестве ответов на вопросы не ставит клоунов.

Ygor ★★★★★
() автор топика
Ответ на: комментарий от rechnick

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

vbr ★★★★★
()
Последнее исправление: vbr (всего исправлений: 1)
Ответ на: комментарий от Ygor

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

vbr ★★★★★
()
Последнее исправление: vbr (всего исправлений: 3)

Вы мне главное скажите, кому принадлежит жипиельный код написанный ИИ?

Сдаётся мне я понял как будет выглядеть конец опенсорсных проектов. За ночь код переписывается с помощью ИИ, остаётся один коммитер и он меняет лицензию :)

R_He_Po6oT ★★★★★
()
Последнее исправление: R_He_Po6oT (всего исправлений: 1)
Ответ на: комментарий от vbr

Пользовался двумя (в том, конкретном случае): ChatGPT бесплатный и второй не помню. ChatGPT мне на пистоне и на бэйсике написал нерабочий код. Второй ИИ написал вообще дичь, с несуществующими методами.

rechnick ★★★
()
Ответ на: комментарий от rechnick

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

vbr ★★★★★
()
Ответ на: комментарий от R_He_Po6oT

Вы мне главное скажите, кому принадлежит жипиельный код написанный ИИ?

Кому принадлежит живительный машинный код, сгенерированный gcc?

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

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

Сдаётся мне я понял как будет выглядеть конец опенсорсных проектов. За ночь код переписывается с помощью ИИ, остаётся один коммитер и он меняет лицензию :)

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

vbr ★★★★★
()
Ответ на: комментарий от vbr

Вопрос простейший (если знаешь). Как переместить слайд в презентации. LibreOffice Impress. Перемещаем первый слайд между вторым и третьим. Слайды, разумеется не пустые.

rechnick ★★★
()
Ответ на: комментарий от wandrien

Фишка в том, что она ЗНАЕТ информацию, и ЗНАЕТ

Фишка в том, что она нихрена не знает. Знают инженеры и программисты, её создающие, чьё видение этих знаний может не совпадать с вашим.

она даст содержательный обзор.

Если в неё это вложили. И правильно обучили.

или придумать более удачные названия для понятий

Вот этого вообще не нужно, поскольку понятийный аппарат формируется консенсусом его использующих, а «более удачное» именование «функциональный стиль» вместо «процедурного» (ведь Паскаль мёртв, а везде в С/С++, Java, etc. используется понятие «функция») вызовет коллизию и когнитивный диссонанс в мозгах живых.

mister_VA ★★
()
Ответ на: комментарий от vbr

Если чё, подходящих методов я не нашёл, хотя долго смотрел в справку. В конце-концов переместил через диспатчер (это типа через интерфейс).

rechnick ★★★
()
Ответ на: комментарий от vbr

Это, да. Людей на мясо. :)

А про авторство - подумалось, да, всё же ИИ это инструмент, что программист захочет, то и сделает.

R_He_Po6oT ★★★★★
()

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

Kroz ★★★★★
()
Последнее исправление: Kroz (всего исправлений: 3)
Ответ на: комментарий от Kroz

На самом деле это так. Накидать кухню на листочке бумаги карандашом гораздо быстрее, чем в КАДе проектировать. Тем не менее, лучше это сделать в КАДе и в перспективе быстрее.

Тут нюансы, как и везде.

LightDiver ★★★★★
()

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

yvv1
()
Ответ на: комментарий от thesis

О да, в pandas, несмотря на кучу строк с данными sql сервера, курсор упорно мне подсовывает методы to_csv. Для тех, кто не в курсе - в датаанализе ты всё хранишь или в pickle, или в «паркете» (колоночный формат на диске), или сразу кидаешь в sql/nosql. csv я только для костыльного аналого bulk insert использовал.

Shadow ★★★★★
()
Ответ на: комментарий от rechnick
Sub MoveFirstSlideBetweenSecondAndThird()

    Dim oDoc   As Object         'The current document
    Dim oPages As Object         'The DrawPages container (all slides)
    Dim oFirst As Object         'Reference to the original first slide
    
    oDoc = ThisComponent
    
    '---- Safety checks -------------------------------------------------------
    If Not oDoc.SupportsService("com.sun.star.presentation.PresentationDocument") Then
        MsgBox "This macro must be run inside an Impress document.", 16, "Wrong document type"
        Exit Sub
    End If
    
    oPages = oDoc.getDrawPages()
    
    If oPages.getCount() < 3 Then
        MsgBox "You need at least three slides.", 48, "Not enough slides"
        Exit Sub
    End If
    '--------------------------------------------------------------------------

    '1. Keep a reference to the first slide (index 0)
    oFirst = oPages.getByIndex(0)
    
    '2. Remove the first slide.  
    '   After this call the former 2nd slide becomes index 0
    oPages.removeByIndex(0)                               'XIndexContainer.removeByIndex:contentReference[oaicite:0]{index=0}
    
    '3. Insert the stored slide at index 1  
    '   (i.e. after the current first slide, before the current second slide)
    oPages.insertByIndex(1, oFirst)                       'XIndexContainer.insertByIndex:contentReference[oaicite:1]{index=1}
    
    'Optional: make the moved slide the one shown in the workspace
    'ThisComponent.CurrentController.setCurrentPage(oFirst)

End Sub
vbr ★★★★★
()
Ответ на: комментарий от vbr

BASIC runtime error. Property or method not found: removeByIndex.

Но я не знаю ничего про LibreOffice BASIC, просто решил влезть проверить. Может, что-то не так сделал.

@rechnick

insertByIndex тоже отсутствует. Но хотя бы половину метода написал.

knovich
()
Последнее исправление: knovich (всего исправлений: 1)
Ответ на: комментарий от yvv1

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

Gary ★★★★★
()
Ответ на: комментарий от vbr

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

rechnick ★★★
()
Ответ на: комментарий от knovich

Бесплатный чат эту часть написал верно:

    ' Сохраняем ссылку на первый слайд
    oSlide = oSlides.getByIndex(0)

    ' Удаляем первый слайд
    oSlides.remove(oSlide)

Но всё равно проблему не решил.

rechnick ★★★
()
Ответ на: комментарий от rechnick

Собственно, повторюсь: оно пишет, только если подобное уже кем-то написано. Справку оно не курит. Тем более такую как в Либре. Это не msdn разжёванный до кашицы.

(Разумеется, я могу ошибаться)

rechnick ★★★
()
Ответ на: комментарий от LightDiver

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

One ★★★★★
()
Ответ на: комментарий от One

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

Или просто есть класс, нужно вспомнить где в нем у тебя что - скинул ИИ, спрашиваешь: «Где?». Он тебе подробно мгновенно покажет.

LightDiver ★★★★★
()

Я лично два года назад видел слайды, где ко-пайлот (тогдашний!) давал, по клятвенным уверениям сейлов, «75% developer’s productivity boost»! Сейчас оно скукожилось до 30-40… видимо, MCP понавешали и оно непущает, непойму?

TL/DR - лучшие результаты, которых реально добиться сегодня с использованием самых мощных и современных инструментов в коммерческой разработке (это когда «разработка» 2-3 часа в день, а остальное уходит непойти куда) - 25% прирост*

Но это - топ, когда и люди грамотные и процессы поставлены правильно и задачи не сильно инновационные. «В среднем по-больнице» - 12-17% прирост, причём цифры подтянуты вверх.

*Cчитали по сторям в спринте на нескольких проектах в течении полугода

Yustas ★★★★
()
Последнее исправление: Yustas (всего исправлений: 5)
Ответ на: комментарий от mamina_radost

Божественное словечко промпт-инжиниринге. Велик и могуч руссиш лэнгвичь. И при чём здесь инженерия?

wenxuan
()
Ответ на: комментарий от wenxuan

А по существу надо работать и пользоваться. Что я и делаю.

LightDiver ★★★★★
()
Ответ на: комментарий от mamina_radost

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

wenxuan
()
Ответ на: комментарий от rechnick

Справку оно не курит. Тем более такую как в Либре.

Это именуется модным выражением «context management».

В сочитании с правильными промптами и процессингом (см. «AI agent neural architecture») оно вполне может УЗНАТЬ, что же там в справке и этим правильно воспользоваться, оперируя примерами.

Другой вопрос, что в данном случаей «автоматизация задачи» может зайнять больше времени и усилий, чем её выполнение)

Но препятствий для того что бы реализовать такое нет от слова «совсем».

Yustas ★★★★
()
Последнее исправление: Yustas (всего исправлений: 1)
Ответ на: комментарий от rechnick

Да, такой код надо писать итерациями, скармливая ему ошибки и направляя на верный путь. Методы он не придумал, все эти методы в API есть и ссылки на них в ответе он предоставил. Но возвращаемые объекты, видимо, не реализуют нужные интерфейсы.

vbr ★★★★★
()
Последнее исправление: vbr (всего исправлений: 2)

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

daminatorus ★★
()
Ответ на: комментарий от LightDiver

За пять лет в ВУЗе можно подготовить личинку специалиста

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

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

pekmop1024 ★★★★★
()

Вполне в стиле парадокса Роберта Солоу:

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

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

mky ★★★★★
()

Тем временем Microsoft увольняет тысячами сотрудников из-за внедрении ИИ. Ввыод - у M$ ИИ круче?

xwicked ★★☆
()
Ответ на: комментарий от xwicked

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

rtxtxtrx ★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.
Тема будет перемещена в архив .