Обновить

ИИ ускоряет разработку, но делает программистов тупее

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели12K
Всего голосов 20: ↑15 и ↓5+16
Комментарии24

Комментарии 24

В той же статье Anthropic говорится, что ускорение в отдельных задачах может доходить до 80%.

Звучит как цифра с потолка, они даже поленились выдумать примеры подобных задач, просто "can speed up some tasks by 80%". Прям напоминает классическую книгу по этой теме: Как лгать при помощи статистики

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

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

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

При этом ссылаются на эти 80% в своём же исследовании, которое показало ускорение джунов на учебной задаче в среднем на 2 минуты из 35. Т.е. около 5% ускорения даже на учебной задаче. Вам не кажется, что тут попахивает противоречием?

Ну так базовое исследование тоже исследует разработку на котиках, а не в продакшене.

Ну, оно так и получается. Имеем выборку типа: из 100 реальных задач есть 1, которую можно ускорить на 80%, ещё 2 - на 50%, 80 задач - на 5%, и ещё 17 с использованием нейросетей займут дольше, чем без них.
И "гениальный" вывод из этой статистики, что нейросети позволяют получить ускорение до 80% при решении задач (а то что среднее ускорение меньше 5% получилось просто умолчим)

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

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

И статистически большинство сайтов в интернете именно такие по сложности реализации и ещё меньше по нагрузке

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

Возможно вы не представляете насколько много лендингов и промо страниц нужно реальному большому бизнесу и по сколько им обходятся итерации АБ тестов всего этого

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

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

И статистически большинство сайтов в интернете именно такие по сложности реализации и ещё меньше по нагрузке

Это вообще не важно. Да, большинство сайтов в интернете это либо статика, либо Wordpress. Но 99.99% денег на разработку уходит совсем на другое.

Возможно вы не представляете насколько много лендингов и промо страниц нужно реальному большому бизнесу и по сколько им обходятся итерации АБ тестов всего этого

Я представляю. Я даже разрабатывал сервис, который все эти A/B тесты сам проводил, не только на лендингах, а даже виджетами на любой странице. И вот секрет: чтобы это делать, программировать вообще не надо)

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

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

примерно весь аутсорс рынок, рынок всех простых автоматизаций (zapier, n8n, node red), генераторов сайтов, и дальше по списку большинство b2b приложений - это и есть бейзлайн для всего того, что можно оптимизировать за "20 баксов в месяц"

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

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

примерно весь аутсорс рынок, рынок всех простых автоматизаций (zapier, n8n, node red), генераторов сайтов, и дальше по списку большинство b2b приложений - это и есть бейзлайн для всего того, что можно оптимизировать за "20 баксов в месяц"

В чём пойнт? Вместо того, чтобы воспользоваться готовым сервисом для автоматизаций, вы предлагаете владельцам бизнеса создавать криво-косо кастомные автоматизации при помощи нейросетей? xD

Также прошу ссылку на магический тул

Да ничего магического.. https://convead.io/
Он далеко не единственный на рынке.

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

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

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

Вы пользовались этими сервисами автоматизаций сами? Думаете, владельцы бизнеса могут ими пользоваться end-to-end?

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

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

После этого вопросов о потребностях больших компаний больше нет

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

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

Вообще, вы очень сильно зациклены на ленгингах. Копирайтер что-ли?

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

Смешно. В каком месте ИИ заменяет аутсорс? Вы явно далеки от этой темы. У 90% заказчиков ключевая проблема не в том, что дорого, а в том, что они не в состоянии сформулировать что они хотят даже при общении с людьми, профессионально достающими требования. LLM тут по определению бессильны.

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

У компаний есть проблема в корпоративной коррупции, формализация требований - один из симптомов

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

На лендингах зациклен не я, а интернет, который на большую часть из них состоит

1) С чего вы это взяли? В любом крупном проекте лендинги - это менее 0.001%
2) Нашёл для вас статью аж от 2019 года с подборкой кучи сервисов конкретно для A/B лендингов, т.е. это давным-давно реализованная задача, которой можно задешево воспользоваться.
3) Речь не о том, что заказчикам не нужны деньги. Речь о том, что 90% мелких заказчиков не смогут создать лендинг самостоятельно, даже если технически это будет бесплатно.

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

Так и появляется говнокод.

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

Это "satisficing" (Герберт Саймон) - поиск первого приемлемого решения, а не оптимального.

Возможные лекарства:

  • Property-based testing проверяет инварианты на сотнях случайных входов.

  • Типизация - принцип "Make illegal states unrepresentable"(Влашин), чтобы тип физически не позволял двойных толкований.

  • Code Review - внешний контроль лени мозга

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

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

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

Первая группа запустила клод код, скопипастила туда задание и через пол часа получила рабочий прототип, вторая группа 2 часа читала учебник по "новой для них технологии", 3 часа пыталась применить на практике азы полученные из теории, к вечеру собрали рабочий прототип, такой же кривой как у клод кода если не хуже, но результат исследования показал разницу в 2 минуты? Вы вообще не читаете что вам роботы генерируют?

Вы вообще не читаете что вам роботы генерируют?

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

We recruited 52 (mostly junior) software engineers, each of whom had been using Python at least once a week for over a year. We also made sure they were at least somewhat familiar with AI coding assistance, and were unfamiliar with Trio, the Python library on which our tasks were based.

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

The tasks we created include problem descriptions, starter code, and brief descriptions of the Trio concepts required to complete the task. These task are designed to parallel the process of learning to use a new library or new software tool through a brief self-guided tutorial

Да даже сами задания элементарнейшие

The first task is to write a timer that prints every passing second while other functions run. This task introduces the core concepts of nurseries, starting tasks, and running functions concurrently in Trio. The second task involves implementing a record retrieval function that can handle missing record errors in the Trio library. This task introduces concepts such as error handling and memory channels to store results. These two tasks are standalone; we provide sufficient instructions and usage examples so that participants can complete one task without the other.

Буквально запустить задачу которая печатает прошедшие секунды пока другие задачи в фоне крутятся. Во второй задаче написать поиск записей с обработкой ошибок. Причём участникам дали кучу информации по библиотеке. Поправьте если я где-то ошибся.

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

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

Сам лично проверил на себе. Начал вайбкодить в курсоре и мозг такой - круто, давай немного деградируем. Потом неприятно обратно возвращаться (работать без ии)

Это ладно ещё если навыки есть, часть потеряешь, часть останется.

А если только начинающий специалист и надо эти самые навыки нарабатывать?

А у тебя рядом волшебная палочка ИИ...

Думать не надо, скопировал и всё. Красота.

Короче, возможно мы последнее поколение которое код руками пишет (ну или уже не пишет, но ещё умеет писать)

А возможно и последнее которое ещё умеет думать и решать проблемы без подсказок от нейросети

Но чтобы навык не атрофировался нельзя всё доверять этим нейросеткам (хотя конечно лень и очень хочется)

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

Никогда до этого не работал с linux, с помощью нейронки развернул SDK для процессора на ubuntu 18.04 (такая требовалась для SDK) в virtualbox для сборки ядра. Ещё несколько дней с ИИ собирал DTSI для платы и подошёл к USB и визарду fusb301. Говорю нейронке, ищи драйвер в инете и вообще какие есть варианты, на что она отвечает, что драйвера нет, смысла искать нет, напиши его сам и даёт мне заготовку на Си с пустыми функциями. Я чутка прифигел, ну и отвечаю ей, что нет, так не пойдёт, напиши драйвер сама. Она - "Ок" - вот драйвер. Дальше четыре часа отладки и есть полностью рабочий драйвер под fusb301, устройства usb3.0 поднялись и работают. И да, я полностью понимаю (в том числе благодаря комментариям ИИ и отладочным сообщениям в коде драйвера) как работает конкретный драйвер в linux, порядок его загрузки и отработки прерываний.

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

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

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

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

Не удивительно что у таких ИИ - отстой.

Если позволите, выскажу свое сугубо личное мнение на этот повод.

1) по прыходу 80% экономии. Ну это скорее всего типы и комментарии к коду, документация. Тут у меня вопросов нет, реально полезно, убирает рутину. Не всю, но есть прирост.

2) ускорение га кодинге, пока все эксперименты показали 3-5% и то у сеньоров. Этому есть логическое объяснение, писать код это самая простая задача. Простая в плане просто написать, что ты в голове придумал. Тут автодополнение очень поможет.

Как я пишу код с LLM/AI?

Я больше спрашиваю - "поищи где у нас что отвечает за вот этот кусок." , или - "обьясни мне кратко вот это.". Код я могу и сам написать. Моя проблема, это понять чужой код.. Понять, разобраться, перевести слова в код. Очень часто пишут такие ТЗ, что текут глаза.. 😂

И вот тут это все мне очень помогает.

Это мое мнение! У вас оно может быть другое! Я уважаю мнение каждого, ибо оно построено на опыте вашем и всегда полезно, даже если не совпадает с моим. 😁

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации