Комментарии 17
Брукс делил сложность на essential (сложность самой задачи) и accidental (сложность инструментов и обвязки вокруг). ИИ массово удешевляет генерацию правдоподобного кода, то есть возится с синтаксисом и шаблонами, а это слой accidental.
И спасибо ему за это. Лично для меня ИИ как глоток свежего воздуха.
Когда-то, в 2010м, писал на C# Windows forms под десктоп. Божественная visual studio, билд в 1 клик за десяток секунд, и артефакт готов.
Потом пошли какие-то тёмные времена. Бизнес логики на 3 строчки, зато ямли, сборщики, деплои. Особенно, когда это фронт+бек проект. Девопсятина стала сраным налогом на разработку. Что-то вроде платного рантайма времен мейнфреймов. Написал код - молодец. Теперь плати налог чтобы запустить, или, разобравшись самому в вещах абсолютно неинтересных, и не связанных с логикой решаемой задачи, или, нанимая девопса, или, переплачивая за облачные способы сделать деплой куда-то хз куда и хз как.
Сейчас с нейронками можно все эти ямли и пайплайны ей поручить и снова думать о задаче, а не о том, где пропустил символ, что имедж не стартует после деплоя
>И окажется, что целиком этого не знает никто. Код есть, он работает, и его никто не понимает.
LLM понимает и объясняет. Этого мало?
Об этом подробнее, буквально через блок.
Нет понимания у команды. К тому же понимание ии, довольно условно.
У любой команды через 2-3 поколения и истории проекта в лет 7 понимание тоже весьма условное. Мой поинт, что команда С ллм - в состоянии разобраться в любом более менее адекватном коде, а код топовых моделей и харнесов более, чем адекватный.
Про «понимание и так условное на старом проекте», текст с этим не спорит, частичность понимания на легаси и давления вроде «тыжфуллстек» существовали до всякого ИИ. Поинт в другом, в качественной разнице:
Раньше уход эксперта обнулял понимание задним числом. Теперь понимание может вообще ни разу не возникнуть в человеческих головах: у кода никогда и не было живого автора с полной моделью.
То есть на вашем семилетнем проекте понимание было и деградировало. Новое здесь то, что его может не возникнуть ни разу.
Про «команда с LLM разберётся в любом коде, а код топовых моделей более чем адекватный», тут как раз место, где данные расходятся с интуицией. «Адекватный» он ровно по тем осям, которые меряют линтеры и базовые тесты, и систематически нет по тем, которые автоматически никто не меряет:
тривиальные синтаксические ошибки в ИИ-коде упали на 76%, логические баги более чем на 60%, зато пути privilege escalation выросли на 322%, а архитектурные дефекты на 153%
И «разобраться через LLM постфактум» это не бесплатно: читать и верифицировать дороже, чем писать (это ещё Керниган в 1974-м), а само ИИ-объяснение
работает при наличии исходной документации и приличных практик. Если их нет, ИИ сгенерирует правдоподобное объяснение, которое нечем проверить.
Так что «топовые модели и харнесы всё вывезут» это ровно та надежда, которую я в разделе про неизвестное помечаю как данными пока не подкреплённую.
Я не понимаю, почему аргументация строится вокруг идеи, что у людской команды есть понимание и владение древним спагетти. На моей практике - это абсолютно не так. И с ЛЛМ уровень владения только прибавляется, так как 1) ЛЛМ документирует и объясняет 2) пишет тесты 3) переписывает , тогда как люди предпочитают в древний винегрет не лезть вообще, так как это банально сложно и рискованно.
LLM понимает и объясняет
С этим, к сожалению, плохо. LLM находит самое гладкое, то бишь, наиболее правдоподобное, относительно обучающей выборки, объяснение вместо правильного.
Приведу пример: скажем, есть у нас проект со сложным computer vision пайплайном над pixel-perfect png скриншотами. И в этом проекте нету привычных шагов размытия изображения перед анализом (ведь, это метод, предназначенный для шумных и пережатых изображений, и для этой задачи это сговнит точность и не даст ничего взамен). Если попросить тупую железку предложить улучшения, то, скорее всего, она предложит этот шаг добавить, ведь, её так учили - "услышал computer vision -> накинь блюр", и, в её парадигме объяснения, этот шаг отсутствует не потому, что он говнит результат, а потому, что автор забыл о нем
Полностью поддерживаю. Недавно ИИ меня чуть не загазлайтил, уверяя что все действительно так. Даже засомневался, пока не вернулся домой и сам все не перепроверил.
LLM склонен обобщать, стараться дать ответ и так далее.
Нормальная работа с ЛЛМ - это работа в паре. Пока есть желание найти аспекты, где ЛЛМ не справляется - эти аспекты будут элементарно находиться. Если же делать свои 20% работы, то остальные 80% ЛЛМ прекрасно сделает.
С тезисом "теперь никто не понимает, как система устроена полностью" есть вопиющая слабость. Раньше тоже никто не понимал систему полностью. Потому что внимание человеческое ограничено. И ничего. Работали как-то. Читали, сканировали. При необходимости нужные детали поднимались, картина восстанавливалась.
Сейчас не хуже. Сейчас лучше. Потому что раньше для ответа на архитектурный вопрос надо было три часа читать код и лазить в архивах, а сейчас ответ возникает в моменте. И диапазон сканирования вырос, как ранее не снилось.
Чушь это полная. Пользоваться уметь надо.
Раньше уход эксперта обнулял понимание задним числом. Теперь понимание может вообще ни разу не возникнуть в человеческих головах: у кода никогда и не было живого автора с полной моделью.
«При необходимости картина восстанавливалась» работает, когда её кто-то когда-то построил. Восстановить можно то, что было спроектировано связно. Если у кода ни разу не было автора с цельной моделью, вы не восстанавливаете картину, а реверсите то, что никто связно не задумывал.
«Ответ возникает в моменте, диапазон сканирования вырос». Что ИИ умеет мгновенно отвечать на архитектурный вопрос и помогать онбордингу, я в статье прямо признаю, рамка «ИИ как живой комментарий к легаси» реальна. Но у неё есть граница:
работает при наличии исходной документации и приличных практик. Если их нет, ИИ сгенерирует правдоподобное объяснение, которое нечем проверить.
«Ответ в моменте» полезен ровно настолько, насколько есть на что его проверить. Иначе вы получаете быстрый и уверенный ответ, который может быть неверным, и не отличите одно от другого.
«сейчас лучше, сейчас быстрее». Это субъективное ощущение, и именно его в RCT измерили отдельно:
люди прогнозировали, что ИИ ускорит их на 24%... они оценивали ускорение в 20%. А по факту ИИ замедлил их на 19%.
Люди вообще склонны себя переоценивать, это не порок, и METR чуть выше как раз про это. Статья не кричит «всё пропало». Она показывает, где это искажение реально бьёт по разработке, не скрывает, что большую часть проблем завезли ещё до ИИ, и что почти на каждую есть управа.
" они оценивали ускорение в 20%. А по факту ИИ замедлил их на 19% "... Да, мы слышали эту байку... Я не знаю, как надо было исхитрится, чтобы так посчитать. Нейронки ускоряют работу не на двадцать процентов. А раз так в тридцать. И позволяют выполнять операции на которые ранее никакой смелости бы не хватило. Раньше мы на легаси просто смотрели, молясь, чтобы оно не поломалось. А сегодня мы его берём и системно пересобираем в поддерживаемые конструкции.
" реверсите то, что никто связно не задумывал. " - у программы есть внутренняя логика даже если её никто не задумывал. Она сама появляется. Это свойство сложных систем. Кибернетика, синергия, подъязычный нерв жирафа - вот это вот всё. Впрочем, если текущая логика не нравится - нейронка к вашим услугам. Завсегда готова посмотреть и сделать так, чтобы логика модуля стала логичной. Это называется рефакторинг. Его иногда надо применять.
" работает при наличии исходной документации и приличных практик " - да. Заведите документацию и практики.
METR вообще хз что и как посчитал, сам себя позже опроверг, а всё ещё цитируют его древнее преКлодексовское исследование. Не знаю на сколько надо быть одарённым, что бы с клодом не ускориться в разы. Достаточно запустить 2-3 терминала параллельно и вот уже ускорение. Похоже, что METR автокомплит только рассматривал или вообще чатики, во времена курсора при работе в одно окно.
Очень много про исследование METR, куча раз повторяется, но оно безнадежно устарело и сейчас вообще ни о чем не говорит. ИИ с тех пор ушел крайне далеко вперед. Я не то чтобы фанатик ИИ и не буду утверждать что он вообще все может, но факт есть фактом - ИИ с тех пор ушел очень далеко вперед и исследования сейчас не несет никакого смысла.
METR - не чисто прикладное исследование. Важны не конкретные цифры, а обнаруженные проблемы и по факту внедрённый стандарт методологии. Так что оно в этой части и не устарело, и в целом говорит о многом:-) Аналогично и статья автора.
А что ситуация будет меняться и проблемы будут уходить, это и так ясно.
Спасибо автору за такой интересный обзор. Жаль, что из профиля не ясно, какой у автора круг экспертизы (просто часто интересно, а что автор за человек:-).
Отмечу, что по всей статье идет термин "ИИ", хотя с большой вероятностью это всё про LLM. Кардинально на вопрос автора: "Что со всем этим делать" ответ должен быть: "Не слишком увлекаться БЯМ и развивать AGI":-)
Но и в логике работы с LLМ значительная часть описанного со значительной вероятностью является следствием "детских болезней" (например, "чем плотнее люди работают с ИИ, тем меньше ему верят"), которыми пока не особо занимались. При дальнейшем развитии направления большАя часть проблем должна уйти (пример: "ИИ умеет писать осмысленные тесты, если его на это специально нацелить через mutation score"), в том числе и благодаря подобным статьям. Правда, учитывая, что это не AGI, ключевая проблема "у LLM нет понимания", скорее, никуда не денется и будет ограничивать результат.
Относительно "Универсальной метрики нет" - она есть. Это деньги. Выгоднее ли с ИИ писать, или нет. Вопрос в том, как в неё включить риски, чтобы она не оказалась красивой в моменте и с потерями через пять (а то и два) года (возвращаемся к началу статьи "Представьте свою команду через пару лет").

Как широкий доступ к ИИ‑кодогенерации тихо разъедает инженерную команду