LINUX.ORG.RU
Форум — Talks  

Насколько LLM облегчили жизнь рядового разработчика?

 , ,


1

2

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

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

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

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

Шло время, я избрал свой интересный мне жизненный путь и он не связан с разработкой игр. Тем не менее, мое понимание образа жизни разработчиков в IT не встало на паузу, я изредка под настроение читал рассказы разработчиков о их жизни, с кем-то неформально общался, познакомился с известными книгами «Кровь, пот и пиксели», «Significant zero» и некоторыми другими на подобную тематику.

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

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

Так что же происходит сейчас с характером работы? Стало ли легче и интереснее трудиться?

Ответ на: комментарий от sabacs

А я не понимаю, что здесь может быть непонятного… Ты не понимаешь, как в принципе «умная колонка» устроена? Или как данные передаёт? Или что?

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

CrX ★★★★★
()
Ответ на: комментарий от LightDiver

Именно так. Писать код и находить информацию стало быстрее и легче (если это не что-то малоизвестное). Но одновременно с этим увеличился объем работы. Т.е. с точки зрения работы, жизнь не особо стала легче.

Плюс теперь надо следить за новыми моделями, агентами и уметь всем этим пользоваться.

i7
()
Ответ на: комментарий от i7

Плюс теперь надо следить за новыми моделями, агентами и уметь всем этим пользоваться.

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

local GC_Sniffer = CreateFrame("Frame")
GC_Sniffer:RegisterEvent("CHAT_MSG_GUILD")
GC_Sniffer:SetScript("OnEvent", function (self, event, message, sender)
--добавление опыта персонажу командой
local nik = sender
if (nik == "Двацветок" or nik == "Витинари" or nik == "Железобетонс" or nik == "Детрит") then
    function all_trim(s)
        return s:match( "^%s*(.-)%s*$" )
    end
    function mysplit (inputstr, sep)
        if sep == nil then
                sep = "%s"
        end
        local t={}
        for str in string.gmatch(inputstr, "([^"..sep.."]+)") do
                table.insert(t, str)
        end
        return t
    end
    function lvlAgg (expPp, gExpN1, gLvl, gNik,strokaFn)
    local gExpNo = 2 ^ (gLvl + 2) - gExpN1   ---получаем количество оставшегося лвла на уровне
        for i = 1,expPp do               --прибавляем опыт по единичке
            gExpN1 = gExpN1 + 1     --единичку прибавили к опыту на уровне
            gExpNo = gExpNo - 1      -- от оставшегося опыта на уровне отнимаем единичку
            if gExpNo == 0 then       --если опыта на уровне не осталось, то
                gLvl = gLvl + 1  --прибавляем к лвлу единицу
                SendChatMessage("Поздравляем " .. gNik .. " c лвлапом!!!", "guild", nil, 1)
                gExpNo = 2 ^ (gLvl + 1) - gExpN1            --оставшийся опыт назначаем равным 8
                gExpN1 = 0           --текущий опыт на уровне назначаем равным нулю
            else
            end
        end
        local strokaSplit = mysplit (strokaFn)
        if gLvl == 9 then
            SendChatMessage("Красочные спецэффекты вжу-вжу-пиу!фрррр! " .. gNik .. " получает доступ к квесту на получение офицерского звания", "guild", nil, 1)
            gExpN1 = 0
        else
        end
        gildExpN13 = string.format("%03d",gExpN1)

        local denT = string.sub(strokaSplit[2], 1, 2)
        local qN = string.sub(strokaSplit[2], 3, 3)
        denn ={}
        denn=date("%d")
        qN = tonumber (qN)
        if denn ~= denT then
            strDen = denn .. 1
        else
            if qN < gLvl then
                qN = qN + 1
                strDen = denn .. qN
            else
                SendChatMessage(gNik .. ", следущий квест на твоем гильдлвле доступен завтра.", "guild", nil, 1)
                strDen = denn .. qN
            end
        end
        return (gLvl .. gildExpN13 .. " " .. strDen .. " " .. strokaSplit[3])
    end
    function testNil (msg,count,str,f)
        for i=1, count do
                if msg[i] == nil then
                        table.insert(msg, i, str)
                end
        end
        if f ~= 0 then
                msg = (table.concat(msg, " "))
                msg = all_trim (msg)
        end
        return msg
    end
    local msgZ = all_trim (message);
    msgZ = mysplit (msgZ)
    if string.find (message, "!получает") and string.find (message, msgZ[1]) and string.find (message, "опыта") then
        for Zc=1,GetNumGuildMembers(true) do
            local name, rankName, rankIndex, level, classDisplayName, zone, publicNote, officerNote, isOnline, status, class, achievementPoints, achievementRank, isMobile, canSoR, repStanding, guid = GetGuildRosterInfo(Zc)
            local msgZ3n = tonumber (msgZ[3])
            if name == msgZ[1] then
                strokaF = mysplit (officerNote)
                print (strokaF)
                strokaF =  testNil (strokaF,3,"0000",1)
                local gildLvl = string.sub(strokaF, 1, 1)
                local gildExp = string.sub(strokaF, 2, 5)
                local rarGilvl = gildLvl .. gildExp
                gildExpN = tonumber (gildExp)
                gildLvlN = tonumber (gildLvl)
                local gildExpN1 = tonumber (gildExp)
                if msgZ3n <= 2 ^ (gildLvlN + 3) then
                    nuovoStr = lvlAgg (msgZ3n,gildExpN1,gildLvlN,msgZ[1],strokaF)
                    GuildRosterSetOfficerNote(Zc, nuovoStr)
                    nuovoStrExp = mysplit (nuovoStr)
                    SendChatMessage(rarGilvl .. ">> " .. nuovoStrExp[1], "guild", nil, 1)
                else
                    local ahtung = 2 ^ (gildLvlN + 3)
                    SendChatMessage("Можно не больше, чем " .. ahtung .. " опыта за один раз!!!" , "guild", nil, 1)
                end
            else--конец проверки ника
            end--конец проверки ника
        end--конец чтения данных из гильдии
    else--конец проверки ключевого слова ник получает
    end--конец проверки ключевого слова  ник получает
else---конец проверки ника на совпадение со мной
end---конец проверки ника на совпадение со мной
--конец добавления опыта нику командой
end
)

Просто для понимания ситуации.

А ИИшки они во-перввых, пишут усредненно «правиьно» - читаемо. Во-вторых учитывают крайние случаи, которыя я всегда забывал/забивал учитывать, а потом долго мучительно добавлял по ходу дела и при появлении ошибок.

В третьих, частенько они предлагают интересные конструкици, структуры, которые реально облегчают жизнь, а я их не знал.

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

Тут возникает сложность именно из за скорости генерации кода. Человек тупо не успевает столько написать и потому проверять технически проще. А объективно - чаще всего даже сложнее бывает.

LightDiver ★★★★★
()
Ответ на: комментарий от CrX

А я не понимаю, что здесь может быть непонятного… Ты не понимаешь, как в принципе «умная колонка» устроена? Или как данные передаёт? Или что?

Я не понимаю как можно ставить подслушивающее устройство в свою квартиру да ещё и за свой счёт.

sabacs
()
Ответ на: комментарий от sabacs

Я не понимаю как можно ставить подслушивающее устройство в свою квартиру да ещё и за свой счёт.

Ты про смартфоны?

LightDiver ★★★★★
()
Ответ на: комментарий от sabacs

И эта уверенность - истинная святая вера в то, что большие корпорации не могут вести себя подло и неприлично?

LightDiver ★★★★★
()
Ответ на: комментарий от LightDiver

Это не за декларированный функционал. Подслушивающее устройство, негласно, можно подсунуть куда угодно, в роутер, например. А вот у «умной» колонки это штатный функционал.

sabacs
()
Ответ на: комментарий от CrX

Сегодня на хабре урожай: https://habr.com/ru/articles/1090256/

Раньше слоп в сети генерировали «темщики» вручную, теперь эти же темщики вооружились ИИ. Мозгов как не было, так и нет.

Там буквально каждый абзац прекрасен, но вот с этих я особо кекнул:

«А 20 августа macOS сама вычистила временную папку. Вместе с очередью задач, скриптами и исходными данными. Сайт уцелел, конвейер собирали заново по записям. Это был, пожалуй, худший день.»

«Кэш в Cloudflare стоял на два часа. Посетителей почти нет, кэш все время протухает, и робот почти всегда натыкается на медленный холодный сервер. Поменяли два часа на месяц, прогрели, ответ стал примерно 0,6 секунды вместо двух. Одна цифра в настройках. Одна.»

Сам постмортем тоже написан ИИшницей, разумеется. А также и первый коммент под статьёй. Это всё вместе настолько плохо, что даже хорошо.

wandrien ★★★★
()
Ответ на: комментарий от LightDiver

Вот только прослушивание эфира ни разу не штатное.

sabacs
()
Ответ на: комментарий от wandrien

Не полностью еще хабр состоит из ботов и темщиков, есть просто норм люди:

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

Открыл «Рождение Венеры». Страница открылась в тонне пустого места. Промотав полкилометра пустоты наверх, увидел разбросанный текст прямо поверх картины, из-за чего её вообще не видно. На сайте реально 2000 страниц? Почему не в БД? Хотя можно не отвечать.

К вопросу о том, почему гугл «плохо видит» - вы серьезно думаете, что гуглопоиск не умеет определять нейрослоп? Слопу - слопово… Слоповая статья на Хабре поможет примерно в той же пропорции (впрочем, здесь хотя бы промпт был, скорее всего, человеческим).

wandrien ★★★★
()
Ответ на: комментарий от hobbit

Ахахаха!

А пост по ссылке хороший пример того, когда не хватает нужной реакции под постом для ROFL.

wandrien ★★★★
()
Ответ на: комментарий от wandrien

Агент сам «исправил» 312 правильных hreflang-ссылок, после чего они вели в никуда.

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

ИИ нашёл 232 файла с незакрытыми абзацами, добавил , а потом сам обнаружил, что в 228 из них лишний тег поставил он же.

Просто одно дело давать доступ агенту к информации, хрен знает что он там навертит по своему разумению, а другое - работать вручную.

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

А тут работа через агенты с доступом к системе работа во временной папке - ну это вообще без комментариев, тут цензурных слов нет.

Но заметь, автор тут не виноват по больше части. Он руководствовался рекомендациями ИИшки.

LightDiver ★★★★★
()
Ответ на: комментарий от LightDiver

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

Автор конечно не виноват в том смысле, что невключение мозгов никаких законов само по себе не нарушает.

Но на нашем, на айтишном, он определённо виноват!

Он руководствовался рекомендациями ИИшки.

А следовало бы – думать головой.

Просто одно дело давать доступ агенту к информации, хрен знает что он там навертит по своему разумению

Так ты не давай доступ туда, где он может навертеть неоткатываемых изменений. У тебя для этого в Linux есть контроль прав доступа.

Это организационно-административно-логистическая задача, а не проблема ИИ.

wandrien ★★★★
()
Ответ на: комментарий от wandrien

Автор конечно не виноват в том смысле, что невключение мозгов никаких законов само по себе не нарушает.

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

Я как то в самом начале случайно задел не те кнопки, не там на автомате. Нажал ctrl+a и шифт+делит…энтер. В каталоге с кодом. Минус сутки работы. И это еще было позитивное, потому что сутки назад код был залит на гитхаб. Без этого я бы потерял несколько месяцев работы.

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

Понимание как делать правильно, приходит только с опытом.

А следовало бы – думать головой.

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

Так ты не давай доступ туда, где он может навертеть неоткатываемых изменений. У тебя для этого в Linux есть контроль прав доступа.

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

LightDiver ★★★★★
()
Последнее исправление: LightDiver (всего исправлений: 1)
Ответ на: комментарий от LightDiver

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

В случае локальной работы с одним конкретным харнесом для кодинга - максимум что тебе грозит это случайное удаление файлов из-за опечатки в скрипте (как минимум 3 новости про такую ошибку у Клод за последние пару месяцев) или снос записей в БД ошибочным SQL-запросом.

Ничего такого, что ты сам не мог бы накосячить.

Так что обычный контроль доступа здесь закрывает вопрос.

wandrien ★★★★
()
Последнее исправление: wandrien (всего исправлений: 1)
Ответ на: комментарий от wandrien

В линуксе достаточно богатые возможности нагадить. Мне они пару раз в ШАБЛОННЫЕ скрипты подсовывали полную блокировку иксов, клавиатуры, мыши до необходимости вырубать ноут кнопкой питания.

Тут конечно есть небольшая вина разрабов дистрибутива, но даже если бы тогда у меня работал SysRq, всеравн я бы вспомнил толко ребут. Последний раз пользовался этими кнопками больше 15 лет назад.

LightDiver ★★★★★
()
Ответ на: комментарий от sabacs

Я не понимаю как можно ставить подслушивающее устройство в свою квартиру да ещё и за свой счёт.

А… Ну такая у некоторых людей, так сказать, ментальность. Обычно они это выражают словами «я честный человек, мне нечего скрывать». Мне такая ментальность тоже не понятна на уровне примерки на себя. Но понятна на уровне наблюдения за человечеством. Люди разные, в том числе и такие.

CrX ★★★★★
()
Ответ на: комментарий от CrX

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

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

А чем больше это входит в норму в малой мере, тем ближе контроль тотальный.

Может чуть утрированно, но наверное я свою точку зрения в какой то мере донес.

Я вообще не понимаю зачем затеяли эту срань с РКН. Идиотизм. В начале двухтысячных все сидели в нормальном интернете через клиенты провайдеров. Просто законодально заставляем всех провайдеров работать через специализированный клиент и все РКНы идут лесом.

Ограничиваешь клиент, перестает работать интернет. 99% схавали бы.

LightDiver ★★★★★
()
Последнее исправление: LightDiver (всего исправлений: 3)
Ответ на: комментарий от Loki13

А если говорить о том что может быть через 10 лет?

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

altwazar ★★★★★
()
Ответ на: комментарий от Loki13

А сколько уже делают TES новый?

Примерно 3 года. По неофициальным данным Bethesda анонсировала игру, но вплоть до завершения Starfield так и не начали ее делать.

Leupold_cat ★★★★★
() автор топика
Ответ на: комментарий от altwazar

Можно самыми разными способами оживить игры и сделать сессии менее предсказуемыми.

Представил «Тетрис»:

— Ну куда ты меня влево! Вправо меня полностью!

dataman ★★★★★
()
Ответ на: комментарий от sabacs

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

Если говорить серьёзно, то многие просто не задумываются над этим.

bbc69
()
Вы не можете добавлять комментарии в эту тему: только для зарегистрированных, score>=50.