Слоп Слопыч

Слоп Слопыч

Sehnsucht (https://t.me/cxx95)

В последние месяцы на то, как мы используем C++, повлияли не новые релизы стандарта, а бешеный ход AI slop. Все больше и больше кода это нейрохрючево.


Ситуация с AI и то, как его воспринимают, натурально годится для психологического и социологического исследования. Ставка на AI как на серебряную пулю переходит все границы - имеется в виду денежное выражение, в форме похожее на "тюльпаноманию". Мое подозрение, почему так - человек по природе ленивый, но это хорошо, потому что от этого изобретаются разные вещи для упрощения жизни. Поэтому первый раз, когда ты мог потратить 15 минут на какую-то задачу, но вместо тебя ее выполнил AI, создает немедленную обратную связь в мозге, аналогичную [отцензурировано роскомнадзором], и жизнь не будет прежней. Личный опыт - на моей работе есть чат для AI-юзеров, и примерно каждый первый, кто недавно успешно что-то впервые наслопал, считает своим долгом накатать простыню с описанием своего wow-эффекта.


Посмотрим на это с разных сторон. Как выглядело развитие за последние N лет? В момент, когда я поступал в свою шарагу, это был 2017 год, "машинное обучение" на тот момент было на слуху, и туда пёрлись все ботаны. В то время сфера была на подъеме, а так она существовала и раньше, только была не сильно нужна - научрук ML-ной кафедры вспоминал, что когда в начале нулевых он начинал этим заниматься, это считалось никому не нужным направлением. И вот там происходил всякий движ, и fast forward в 2026 год, сейчас силы брошены на LLM (Large Language Models). По словам бывшего однокурсника (Senior Research Scientist @ NVIDIA, Zürich): появление LLM сделало не особо релевантным то, что они ботали до этого, и возможно скоро только и останутся спецы по LLM, так как раньше под каждую хреновню надо было обучать отдельную модель, а сейчас все заменяется одной огромной моделью.


Есть ли такое, что скоро появится / уже появился AGI (human-level AI)? Многие считают что с LLM это не грозит в силу того, что его архитектура это огромная "статистическая машина", эволюция T9 из кнопочных Nokia. И, типа, это не то, как работает разум - то есть это правда похоже на то как люди строят цепочку рассуждение на базе известного им ранее контекста, но все равно типа не то. Что-то вроде шахматных движков - в свое время был бешеный звон, когда компьютеры научились обыгрывать гроссмейстеров, но от "интеллекта" там ничего нет. В общем, это больше философский вопрос, который можно отмотать еще к "курице Диогена", непонятно имеет ли смысл им задаваться.


Хотя AGI еще нет, влияет ли это на нас? Да, это уже значительно повлияло на работу и в целом на общество - потому что LLM научились решать ряд реальных задач, и пока полный потенциал не исчерпан. Как вообще откалибровать влияние LLM, например, по сравнению с появлением смартфонов? Это пока проблемно оценить, все-таки по сравнению со смартфонами в LLM порог входа выше и юзкейсов поменьше и специфика в виде вероятностной природы, etc.; и обстановка очень шумная из-за аи-хайпа, появления всяких "аи-стартапов", которые по-видимому разрабатывают не свои LLM (разрабатывалка не выросла) а промпты вокруг чатжпт, и так далее.


Как выглядит эволюция за последние несколько месяцев в моей работе:

  • Ничего не происходит. Делаю задачи ровно так же, как и 10 лет назад, через Vim, Clang, виртуалку (скрины моего сетапа тут).
  • Появляется ChatGPT и другие чат-боты. Иногда захожу что-то спросить, но не супер часто. Использую как "умный гугл". Иногда прошу написать какой-нибудь скрипт, сгенерировать картинку.
  • Появляется Copilot-плагин для Vim и другие плагины. Он предлагает "наиболее подходящий" автокомплит, пока ты пишешь код. Иногда угадывает нормально и это полезно (особенно для тестов), но в целом вообще без приколов и довольно тупой. Можно войти в режим чата и попросить сделать что-то напрямую, но это использовалось редко, потому что контекст у тулзы маленький (кажется, только открытые файлы).
  • Появляется агент Codex и прочие агенты. Для меня происходит качественный скачок, потому что он может сам менять файлы, а его контекст это весь репозиторий, и при выполнении задачи он может сам быстро нагрепать нужные файлы и прочитать их, как если бы это делал живой человек. Также при правильных промптах он может сам билдить бинари и дебагать их через gdb. Само может поперфать python-скрипт чтобы понять куда надо вкостылить кэширование. Если указать путь к продовым логам, может само почитать их и подебагать по исходникам что могло быть причиной падений. В целом может запускать любые команды и анализировать вывод команд. Лучший кейс so far (по соотношению сэкономленного времени) - когда просят посчитать какую-то одноразовую аналитическую хрень, это где на python надо писать как будто на sql, и ты не знаешь как там правильно че надо поджойнить чтобы отработало за разумное время - точно надо сдавать в агента.
  • Появляются MCP-плагины. Многие инструменты это работа "кнопками" в UI, и чтобы агенты могли с ними "общаться", существует протокол MCP, чтобы агенты видели текстовое представление того, что происходит в инструменте, и что-то делали в них. Для примера возьмем IDA Pro - пример на youtube. В моей команде умение пользоваться IDA Pro для разных рабочих преколов это core знание, его имеют пол-команды - из-за участия в CTF, или по преколу реверсили игры Sega Mega Drive как я, или просто выучили по работе. Для меня реверс это достаточно муторное занятие, потому что там все нифига не просто, например создание std::string или вызов виртуальной функции там выглядит специфическим образом которое надо запомнить. Но с появлением агентов теперь осиливается делать реверс в N раз быстрее. Также спрашивал мнение у коллеги из моей команды, одного из лучших CTF'еров мира: ему очень зашло, агент некоторые CTF-задания решает сам - реверсит бинарь, понимает алгоритм шифрования, сам сразу пишет дешифровщик, и тут же его запускает.


Как эволюция отражается на примере написания нового декодера для протоколов (их у нас много, часто они уникальные по биржам):

  • Смотрим в PDF-спеку глазами, пишем всё руками
  • Кидаем в ChatGPT спеку и какой-то пример кода, просим сгенерировать код похожий на нужный, потом руками переносим и поправляем
  • Кладем PDF-спеку рядом с репозиторием, просим у агента сгенерировать код по спеке, скомпилировать и позапускать на данных, написать тесты.

Таким образом, одна из задач "написать декодер" сильно подешевела в том месте, где раньше надо было бы руками писать овер9000 полей.


Из-за вероятностной природы LLM есть кейсы, где он не работает или сильно галлюцинирует. Обычно это какие-то специфические вещи, про которые не написано миллион раз на stackoverflow. Например, однажды я попросил векторизовать сложение в SIMD вместо std::accumulate, и оно сгенерило интринсики для SSE (1999г), вместо более новых AVX2 (2013г) или AVX-512 (2017г), но весь прикол что ничего это делать было не надо - компилятор сам прекрасно векторизует такие вызовы. Другой пример - надо было отдебажить рейс в lock-free алгоритме, и агенты тут мощно обделались и не раздебажили даже через очень много времени, пока не пришел автор кода и не отдебажил сам. Кроме этого, каждый сгенерированный LLM слоп надо проверять живым человеком.


Вижу такое влияние слопизации на окружающий мир:

  • Все работодатели ожидают что работники используют AI для буста. Если буст экономит N времени, то в освободившееся время напихают больше задач, как в анекдоте про "водка подорожала". Некоторые особо эффективные менеджеры могут приобретать религиозную веру в силу слопа и оценивать каждую задачу из расчета что ее можно наслопать, что может приводить к горению и неконструктивным диалогам на митингах. Также неконструктивные диалоги возникают между сотрудниками, когда один посылает pull request с сильно слопным слопом в зону ответственности другого сотрудника.
  • LLM уже умеет решать задачки с олимпиад по программированию. В моей и соседней командах есть несколько медалистов IOI и ACM ICPC, которые тратили годы на умение их решать, но сейчас стандартный формат далеко в прошлом. Кстати, читали ли вы про лохоборье? И, видимо, то же самое относится к CTF (пример описал выше).
  • Оптимизируются всякие задачи, которые раньше тестились об живых людей. Например, раньше при новых релизах Алисы надо было проверять много кейсов, которые не покрываются кодом - например что не разъехались картинки в ответе про погоду. Эти кейсы создавались в Яндекс.Толоке и живые люди за три копейки смотрели на скриншоты / голос и кликали на кнопку "ок" или "неок", полный цикл проверки доходил до нескольких часов. Скорее всего, сейчас всё это уже заменено LLMками.
  • Агенты через MCP влазиют в разные инструменты где раньше надо было нажимать кнопки, такие как Blender, Notion, Wireshark и т.д., и наводят там суеты.
  • Всё образование полностью сдано в нейронки, ну со школотой все понятно, больше вопросов к самой системе образования.
  • Тексты в интернетах были слопом еще до слопа, а сейчас и подавно, я обычно палю их по длинному дефису "—".
  • Арт и искусство - вечная память тем, кто этим занимался. Я вижу слоп каждый день - на упаковках товаров, в рекламе цифровой и в реальном мире, на ютубе, etc. Рекомендую начинающим художникам вместо поступления в Академию Художеств заняться чем-то другим, например архитектурой.


Что будет дальше с развитием нейронок? Это сложно оценить, потому что тема очень политизированная. AI фаундеры заинтересованы в росте оценок и будут использовать какой угодно черри-пик чтобы похайпить. А обычночелы высказывают мнение через призму своих комплексов и страхов.

Report Page