Pull to refresh
197
Михаил@mikhanoid

ИММ УрО РАН

53
Subscribers
Send message

Джуны даже в лучшие времена были почти никому не нужны, ну да было 5% от общего числа позиций выделено джунам, но хотя бы в абсолютных цифрах это было скажем 500 вакансий, сегодня это просто 5 вакансий.

Без джунов не будет мидлов, без мидлов не будет сеньёров. Сеньёры тоже не нужны? Кто код будет писать через 20 лет? Или, через 20 лет уже весь код будет написан? Или вы уверены, что через 20 лет ИИ сможет генерировать решения end-to-end, даже если оно будет сформулировано без технических подробностей. Типа: напиши мне интернет-банк, - и всё? Какая логика скрывается за высказыванием: джуны никому не нужны?

Кстати, в Сбере и Яндексе целые этажи джунов. К чему бы это? Не потому ли, что они лучше всех понимают, какие возможности есть у ИИ?

1) Я его сделал исключительно для семьи, а не на масс маркет.

Вам настолько безразлична безопасность вашей семьи и надёжность хранения семейной переписки?

Как думаете что для бизнеса привлекательнее?
- 17$ в месяц за подписку ИИ которая за 4 часа своей работы сделала то, что сделает крутой мидл за 6 месяцев. Ну т.е. это даже не 6мес * 17$, это один раз 17$ и проект готов, потому что даже месяц не нужен ИИ на реализацию.
- 1.5млн рублей в виде ЗП мидлу на реализацию такого проекта. Это вот при условии что он фулстэк и тестировщик и вообще всё в одном лице. Ну т.е. сильно я тут в сторону розового мира шагнул, и все равно разница чудовищная.

Вы неверно считаете затраты бизнеса. За $17 бизнес не получит продуктовое решение, которое можно будет внедрить сразу в it-контур. Причины: (1) нет никакой технической поддержки, (2) в процессе разработки не было никакого аудита безопасности, без которого безопасники просто не пустят такой код в работу, (3) не понятно, какие сбои могут быть в этом ПО, и кто и на основании чего будет компенсировать финансовые потери. То есть, бизнесу придётся проводить аудит такого кода и каким-то образом обучать техподдержку, разбирая код. Сколько будет стоить такой аудит?

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

Я не против ИИ. Zeitgeist, все дела. Если человек может при помощи ИИ получить внятное рабочее решение, почему бы и нет? Вперёд! Но пока такие ИИ решения приходится с большим трудом вычитывать, чтобы обосновано отказывать кандидатам. Я трачу на это уйму времени. И уже подумываю о том, чтобы сообщать кандидатам, что решение не должно занимать больше N строк кода.

Так вот, трудозатраты на аудит и вычитку ИИ-кода неприемлемо велики. Как бы не вышло так, что вместо Р1.5млн и 6 месяцев придётся потратить $1.5млн и год.

Другой сценарий - это когда ИИ-корпорации страхуют тот код, который их агенты генерируют. Но готовы ли ИИ-корпорации на это? И будет ли стоить генерация решения в таком случае $17? Вопросы риторические...

Архитекторы? те что здания проектируют. Насколько их сейчас меньше нужно? А потому что в САПРе сделать чертежи в десятки раз быстрее, чем на бумаге в ручную. То что делал отдел на десять тел неделю, сейчас делает один чел за компом за несколько часов с визуализацией, расчетом нагрузок, материалов, узлов соединений, креплений и пр и даже не помнит при том сопромат!

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

Преимущество цифрового чертежа не в скорости построения, а в скорости и точности передачи на производство, и в скорости редактирования.

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

В СССР были компьютеры. Интернета не было, но сети ЭВМ были.

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

А вот Ваш мессенджер, при всём уважении, кому кроме Вас нужен? Таких мессенджеров и до AI бума существовало множество, и они продолжают успешно развиваться. И многие из них гораздо технологичнее, чем просто клиент-серверные приложения. Ну, собственно, именно по причине их существования в форме ПО с открытым кодом Вы и смогли навайбкодить Ваше решение.

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

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

Наконец, нисколько не сомневаясь в высоком уровне Ваших навыков работы с ИИ, смею утверждать, что Вы бы не смогли решить обсуждаемую задачу с перестановкой колонок в режиме диалога с ИИ агентом быстрее, чем это сделал автор трансляции. Потому что, время у него уходило на то, чтобы писать длинные запросы, описывающие его задумку, и на поиск проблемных мест в коде страниц, чтобы указывать на них агенту в запросах, описывающих необходимые исправления. Да и агент отрабатывал не мгновенно. Автор за время ожидания результатов запросов успевал сыграть партию в свою любимую игру. Я могу смело утверждать, что переставить местами вывод двух колонок в коде руками он бы мог гораздо быстрее, чем в режиме: сформулировать запрос, дождаться результатов генерации, обнаружить мелкие ошибки, снова сформулировать запрос, и так далее.

Вчера, значит, пошёл я смотреть запись очередного эпизода Tsodingа на Twitch, а Twitch решил порекомендовать мне прямой эфир с вайбкодингом как раз фронтенда сайта фанатов некоторой игры.

У меня самого с вайбкодингом не складывается, не получается решать свои задачи. Я вижу много недостатков и ошибок в генерируемом коде, и у меня никак не получается их надёжно избегать. Мне все твердят, что это skill issue, и надо просто уметь настраивать агентов. Человек же в эфире утверждал, что он занимается этим уже год, что всё у него настроено, как надо. Поэтому я не смог пройти мимо, дабы набраться опыта, перенять частичку Дао и проникнуться духом времени.

За 2 часа, которые я смотрел трансляцию, автор (1) поменял порядок колонок в таблице, (2) сделал подсветку некоторых ячеек, (3) слегка переставил div-ы внутри других div-ов и (4) поменял фон последних.

При этом иного уровня владения агентом я не ощутил. Агент работал примерно так же, как и у меня: иногда путался, иногда генерировали лишнюю функциональность, иногда стирал работающий код, иногда выдавал ошибочный код. Для исправления этих действий автору приходилось лезть в код сайта, брать кусочки кода для составления промптов. Было видно, что программирование и фронтенд ему не чужды, профильные навыки у него есть.

Я не настоящий фронтендер, но в жизни приходилось делать простенькие сайты. Представление о HTML у меня есть, и оно мне подсказывает, что эти 4 простые изменения не должны требовать 2 часов усилий.

Как-то не бьётся это всё со стратегией: уволить всех джунов, чтобы создавать продукты в 10 раз быстрее.

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

Мессенджеры и протоколы бывают разные. Может быть, в каких-то и так же. Но вот в Telegram и многих других не так же. То есть принципиальных проблем гарантировать, что сообщение подписанное пользователем X действительно создано под учёткой пользователя X, никаких нет. То, что Государственный Мессенджер, на который завязаны государственные процессы, этого не обеспечивает -- саботаж, вредительство и вообще государственное преступление.

Я так понимаю, надо просить написать ровно то, что делает Ze-Post? Делать посты и комментарии к ним от имени пользователя?

Наверное. У меня нет большого опыта работы с Claude Code. Но в качестве эксперимента, было бы интересно проверить, сможет ли он end-to-end написать.

Судя вот по этому: https://dev.max.ru/docs/webapps/bridge#WebAppData - id пользователя подделывается в каком-то другом запросе. Валидировать можно не запрос, а именно сессию, что данные идут от конкретного пользователя.

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

P.S. И вообще, я, конечно, немного офигеваю от доступных webapp-ам действий: updateBiometricToken -- это как!? Дыра в безопасности не у бота, а у всего MAX.

Так там так написано, что и человеку-то не понять. Ну, и насколько понял я, это не про валидацию самого сообщения, а про валидацию того, что сообщение принято от реального пользователя. Ну, так оно и принято от реального. Просто в нём написано, что перепостить надо от имени другого реального пользователя.

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

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

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

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

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

Спасибо за статью. Хабр пока ещё торт. Но возник вопрос: Из каких соображений модель переездов именно такая?

df_extended['months_at_address'] = np.random.exponential(scale=36, size=n).astype(int)

А как Вы планируете гарантировать достоверность? Или хотя бы контролировать?

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

Качество анализа тут никакого значения не имеет. Как бы, есть же присказка у сторонников AI, что человек тоже ошибается. Тут важно именно изменение психологии войны: машина отдаёт приказы. Буквально (см. истории об израильской Лаванде). И войнушка на вершинах власти идёт именно за власть. У кого власть будет: у ИИ-корпораций, или у генералов.

P.S. Дополнительно всё усугубляется огромными долгами ИИ-компаний https://habr.com/ru/companies/bothub/articles/1005828/ Поэтому грызня за внедрение ИИ на уровень государственного и военного управления будет отчаянной. Потому что это гарантированный доход.

Тогда не понятно, в чём суть проблемы. Если у минвойны (в США же сейчас так?) свой контур, зачем им спрашивать что-то у гражданского контура Anthropic? Больше похоже на представление для публики с конями, блэкджеком, зеркалами и дымом, чтобы какую-нибудь ещё большую пакость протащить незаметно.

Тот венесуэльский эпизод резко изменил тон отношений: когда боссы Anthropic попытались узнать детали того, как именно Claude используется в реальных боевых операциях, Пентагон воспринял это как «этические нравоучения». Ответ был жестким: если Claude находится в системе, военные будут использовать его так, как сочтут нужным.

А что, они там в Anthropic промпты не записывают что ли? Really?!

Ну, я за других спецов не знаю, могу только о программировании говорить.

  1. Давайте сначала разберёмся, что такое настоящая автоматизация на примерах.

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

  • Это, например, автоматическая линия по производству болтов. Строится линия, нажимается кнопка, и автоматика гарантирует, что на входе у нас прутья стали, а на выходе болты с гарантированными характеристиками. Мы можем проверить несколько болтов (по критерию Стьюдента, например) на качество, и быть уверенными в свойствах всей партии.

  • Это, например, лебёдка: строитель нажал кнопку и лебёдка гарантировано затащила ему на этаж поддон кирпичей - гораздо быстрее, чем рабочие, знай только, смазывай механизмы.

  1. Ничего похожего при использовании ИИ для программирования не происходит. Нет волшебной кнопки: поставил задание и не думаешь о результате. Созданный код надо внимательно вычитывать, особенно, если это не тривиальная задача. Зачастую полученный код очень плохого качества, не оптимизированный, не эффективный, избыточный, с плохой обработкой ошибок и так далее. Нормальный специалист не может такому коду доверять так, как доверяет строитель лебёдке. Не очень понятно, о каком именно избавлении от рутины Вы говорите? Это просто превращение одной рутины в другую. Менее приятную, кстати, и более дорогую. Например, я недавно пытался добиться генерации кода оптимального представления матриц в памяти, с учётом локальности кэшей для NUMA систем. Потратил два часа на то, что хороший студент делает за 40 минут, когда ему объяснишь, что к чему. Удовлетворительный результат я так и не получил. О какой автоматизации и экономии времени идёт речь? В типовых задачах? Так типовые задачи решены много раз и оформлены в библиотеки.

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

[n | n<-[2..], product [1..n-1] `rem` n == n-1]

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

  1. Я не знаю, как в других специальностях, но у программистов, как бы, есть инструменты, чтобы абстрагировать рутину: функции, макросы, классы, библиотеки и так далее. Если программист не может абстрагировать свою рутину при помощи этих инструментов - он не специалист. Думаю, не ошибусь, если скажу, что 75% мастерства программирования - это как раз умение выделять и абстрагировать рутину.

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

  3. Судьбе software-компаний, которые полагаются на AI-ассистентов, я бы не позавидовал. Они всё больше будут зависеть не от навыков их персонала, а от нейросетей и от доброй воли владельцев этих нейросетей. Как первое следствие, само качество кода будет падать, потому что тонкие ошибки не специалисты, у которых нет опыта самостоятельного программирования и кодирования просто не будут замечать. Как второе следствие, их код будет быстро обесцениваться, потому что вся информация и код из компаний будут со свистом улетать в руки владельцев нейросетей. И даже если у этих владельцев нет никаких коммерческих помыслов воспользоваться своими ресурсами для борьбы с конкурентами (что маловероятно, согласитесь), то они на истории взаимодействия программистов клиентских компаний и своих нейросетей будут обучать новые версии нейросетей, потому что им просто больше негде брать материал, весь opensource они уже поглотили. В итоге, тот код, на котором компания пытается зарабатывать, будут легко воспроизводить конкуренты, что резко его обесценит.

Если спец квалифицированный, зачем ему ИИ? Поэтому не логично. Более логично, что заменят на не более квалифицированных, а на менее квалифицированных, которые дешевле, просто из-за рыночных механизмов. Ну, и в итоге, технологические цепочки постепенно накроет энтропия.

1
23 ...

Information

Rating
6,019-th
Registered
Activity

Specialization

Системный инженер, scientific programming
Scheme
C
Assembler
Linux
Математика
Julia
Компиляторы
Математическое моделирование
Машинное обучение
Computer Science