- BrainTools - https://www.braintools.ru -

Заблуждения обывателей о разработке через ИИ. Мнение разработчика

Меня зовут Александр, я fullstack разработчик с 20+ годами опыта [1] (php+js+golang и всякое по-мелочи). Количество мифов и заблуждений о разработке через ИИ превысило, на мой взгляд, все разумные пределы.

Я хотел бы порассуждать о причинах таких заблуждений.

Типичные заблуждения не-разработчиков звучат так:

  • “ИИ вот-вот заменит почти всех разработчиков, они станут не нужны”

  • “С помощью ИИ я могу создать свой гугл, ура!”

  • “ИИ без проблем решает любые задачи уровня Junior и иногда даже Middle”

  • …и тому подобное…

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

Впечатляет? – Ещё как!

К этому добавляется цунами из хайпа, типа “в компании X теперь 70% кода пишется ИИ”, “мы внедрили ИИ и повысили эффективность на 146%” и т.д.

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

Почему я называю это именно заблуждениями? Потому что пока мы не наблюдаем массовый переход и замену разработчиков на ИИ, мы не видим ни одного серьезного продукта (с капитализацией $50+ млн), написанного ИИ. Ключевые разработки в самих ведущих ИИ компаниях так же делаются людьми, а не ИИ. И так далее.

Каковы фундаментальные причины этих заблуждений? На мой взгляд, их две:

Первая причина заблуждений – Слабое понимание особенностей ИИ и окружающей инфраструктуры

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

И если судить исключительно по новостям, там сплошь позитив: “новая модель Y теперь имеет меньше галлюцинаций, размер контекстного окна увеличен до 1M+ токенов, поставлен очередной рекорд в бенчмарке таком-то”.

Складывается впечатление [2], что для любых проблем уже или скоро будет найдено решение, так что это и не проблемы даже.

В действительности, эффективная разработка с помощью ИИ требует понимания особенностей ИИ на уровне “выше среднего”, схожего с уровнем разработчика: например, при увеличении контекстного окна может падать качество ответов. Одинаковые по смыслу тексты на разных языках, переведённые в токены, могут иметь разный размер, что может негативно повлиять на затраченные ресурсы. А главное, на сегодняшний день существует фундаментальное ограничение точности моделей [3], не позволяющее им стать “сверхинтеллектом”.

Что насчёт галлюцинаций? Неточности ответов ИИ не вызывают у обывателей беспокойства, потому что всегда можно сказать “переделай”.

Но чем серьезнее проект и чем выше цена ошибки [4], тем меньше времени на такие “переделки”.

Вы вряд ли захотите летать на самолёте, где хотя бы 10% важных решений принимается таким ИИ.

Или чтобы вас представлял адвокат, который вместо самостоятельной подготовки к делу делегировал её на условный ChatGPT [5].

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

Скрытый текст

– Шеф, у нас дыра в безопасности!

– Ну слава Богу, хоть что-то у нас в безопасности…

Помимо вышеперечисленного, ИИ обычно представлен в виде облачного сервиса. Облачные сервисы имеют нюансы:

  • они могут изменить условия тарифа, например поднять стоимость услуг (вплоть до “неподъемной”)

  • могут заблокировать вас по любой причине, например потому что вы из неугодной страны

  • ваша страна может заблокировать их, потому что они неугодные

  • вы можете получить вендор лок (vendor lock): вплоть до полной невозможности замены одного сервиса другим ввиду сильной завязанности на конкретное решение

  • комплаенс (compliance): постоянно надо иметь в виду, какие данные каким сервисам можно скармливать в соответствии с законами каждой страны

  • плохо сконфигурированное решение может вызвать расходы [6], способные очень быстро обанкротить и вас, и ваш проект

  • и т.д.

Опытные разработчики регулярно сталкиваются с подобными проблемами.

Вам же ИИ про это может и не сказать, а узнаете – когда жареный петух клюнет.

Вторая причина заблуждений – Почти полное непонимание сложности программных систем

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

То есть чем больше визуальной “красоты” и возможностей ткнуть куда-то, тем как бы “сложнее” и, видимо, дороже это было сделать и поддерживать.

В соответствии с таким подходом, поисковая система гугла очень простая (поле ввода и две кнопки), а старый сайт-визитка Джима Керри [7] на порядки сложнее.

Программный код тоже воспринимается “сложным”, потому что там много текста на непонятном “иностраном” языке.

И вот ИИ как будто решает эту проблему, позволяя по простому текстовому описанию создать как красивые картинки, так и “сложный” код.

Это ли не революция? Возможно, пора начинать избавляться от разработчиков?

Так вот, разработка – это не про код или текст.

Это не про то, как текст на русском перевести в код php, или текст на английском перевести в код golang.

Разработка – это про построение систем. Про их компоненты, характеристики, взаимосвязи, контексты, и то, как это всё сплести воедино, чтоб работало как надо.

Нет сомнений, ИИ способен написать технически выполняющийся код.

  • Но насколько этот код встраивается в остальную систему, соответствует принятым в конкретном проекте стандартам?

  • Насколько и как он масштабируется, какая его вычислительная сложность по времени и по памяти [8]?

  • При имеющихся условиях и ограничениях, на каком железе его запускать и какую нагрузку он будет держать?

  • Для какой версии языка этот код, и как он поведёт себя при обновлении до следующей мажорной версии, или наоборот при даунгрейде?

  • Нет ли вы этом коде каких-то стрёмных зависимостей?

ИИ наверняка сможет правильно ответить и на эти вопросы. (если не сгаллюцинирует лол)

Но только при условии, что вы сами сначала будете про них знать, вспомните и зададите.

В противном случае вся такая “разработка через ИИ” вряд ли ли будет целенаправленным движением из точки А в Б.

А будет скорее набором случайных действий со случайными результатами. И с утомляющим количеством тупиков и “переделываний”.

Послесловие

В современном ИИ есть немало хорошего.

Если вы разбираетесь в какой-то теме, то ИИ будет иногда экономить вам время. Ибо вы способны проверить – не добавляет ли он лишнего, не забывает [9] ли нужное.

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

В любом случае, существенную часть работы придётся делать именно вам, а не “волшебной палочке” в виде ИИ.

А ИИ будет скорее инструментом, полезным при определённых условиях и в правильных руках.

P.s.: Текст разрешается копировать только в неизменном оригинальном виде, с указанием авторства и ссылкой н�� оригинал.

Автор: tkutru

Источник [10]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/23227

URLs in this post:

[1] опыта: http://www.braintools.ru/article/6952

[2] впечатление: http://www.braintools.ru/article/2012

[3] фундаментальное ограничение точности моделей: https://www.youtube.com/watch?v=5eqRuVp65eY&ab_channel=WelchLabs

[4] ошибки: http://www.braintools.ru/article/4192

[5] делегировал её на условный ChatGPT: https://www.reuters.com/legal/new-york-lawyers-sanctioned-using-fake-chatgpt-cases-legal-brief-2023-06-22/

[6] расходы: https://www.reddit.com/r/aws/comments/1mw89od/aws_lambda_bill_exploded_to_75k_in_one_weekend/

[7] старый сайт-визитка Джима Керри: https://m.youtube.com/watch?v=1nkUzux2I_A

[8] памяти: http://www.braintools.ru/article/4140

[9] забывает: http://www.braintools.ru/article/333

[10] Источник: https://habr.com/ru/articles/977088/?utm_source=habrahabr&utm_medium=rss&utm_campaign=977088

www.BrainTools.ru

Rambler's Top100