📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

Как AI меняет управление разработкой | Сергей Бережной, CTO Практикума и директор в Яндексе

Гриненко про1:22:55

Transcription

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

О, а я люблю топором, чтоб мозоли, чтобы стук и отдач постоянно испытывать ощущение стресса. Я вижу, что подобные задачи решаются уже сейчас нынче одним промптом. Я в детстве мечтал, чтобы на ладошке можно было мультики смотреть. Постепенно сбылось. А сейчас я мечтаю, что можно будет валяться на травке. Думаю, доживём.

Всем привет, дорогие теле и радио зрители подкаста Гриненко про. Мне ужасно повезло встретить накануне котфеста директора по взаимодействию с разработчиками и в одном лице CTO Яндекс-Практикума Сергея Бережного. И он любезно согласился поговорить на суперактуальную тему. Куда же мы все катимся с этими вашими нейронными сетями?

>> Я может и не катимся.

>> А, Серёга, спасибо большое, что нашёл время.

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

>> Да, хороший вопрос. с какого мы начнём момента откладывать и насколько мы считаем нашу аудиторию подготовленной, в каком она контексте.

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

>> Угу.

>> можно,

>> давай я попытаюсь так структурировать ответ на этот вопрос. Вот что такое вообще в целом роль CTO

>> и что именно меняется с появлением LLM, да, с появлением каких-то агентских способов написания большого количества кода? В моём понимании роль CTO, она заключается в отыгрывании второй половины важной вот части создания продукта. Вот обычно все айтишные бизнесы, они состоят из двух явно проявленных составляющих - это продукт и технологии. И вот такие сложные там технологические компании, как Яндекс, они используют технологии для того, чтобы создавать пользовательский продукт и используют бизнес-успехи в пользовательских продуктах для того, чтобы создавать технологии. И и вот роль CEO - это придумать бизнес-модель, сделать хорошую юнитэкономику, сделать так, чтобы бизнес крутился и приходила прибыль. А роль CTO в том, чтобы наилучшим образом, максимально эффективно решить вот те бизнес-задачи, которые CEO напрожектировал с помощью современного уровня технологий. И для меня это всегда была история про такой ещё количественно качественный переход. Потому что, когда мы говорим про роль сетевого, мы уже подразумеваем, что есть какая-то команда, что людей много и что продукт достаточно какой-то длинный. Да. И здесь есть ещё вот история про э вложение в какую-то инфраструктуру, вложение в процессы. И как сделать так, чтобы от того, что ты напихал и нанял ещё много людей, напихал их всех в Open Space, чтобы девять женщин родили ребёнка за оди месяц, да, а не наоборот за как это сколько там на 9 на де. Вот. И это достаточно сложно. Чем больше людей, тем тем сложнее. Но это вот, короче, брифли, что я понимаю под роли сетевого, да, что нужно настроить инфраструктуру, понять, какие технологии именно мы используем, понять вот эти вот трейдофы, когда мы говнокодим, а когда мы упарываемся в рефакторинг, ээ в какой момент и в каких аспектах каких бизнес-задач это важно сейчас, как важно, ну, в общем, гибкость проявить, как важно это там дорефакторить, когда придёт срок. ээ где-то поднапрячься и побежать быстрее, когда это нужно. Вот какие-то такие трейдофы.

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

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

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

Ну, наверное, зависит ещё от скорости inference и от того, ну, что именно ты делаешь. Вот я знаю, что многие ребята, вкусив многотреде там в 5пть-шесть типа в восемь трев возвращаются скорее там оди-два. И вот в таком режиме, потому что тоже у разных людей по-разному устроено это многотренди. Но да, идея как бы такая, что м возможно это немножко такая ложная история, и я как раз а очень часто говорю, что не надо полностью проводить аналогию между LLM и людьми. Вот там бытует такое мнение, что LLM - это как джун, да? Вот это супер ээ как бы неправильная аналогия, потому что LLM - это вообще не джун. И и ты такой думаешь: "Ладно, хорошо, она не джун, она синьор, наверное, но она и не синьор".

>> не у не есть правильная, мне кажется, а.

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

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

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

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

>> Да, я слышал от тебя этот тезис уже, но я к нему вот так отношусь, что это всё вопрос масштаба и скейла, на котором ты делаешь проекты. И утверждение, что всё стало дешевле, оно как бы стало дешевле в тех контекстах, как и тех задач, которые раньше перед тобой стояли. Но аппетит приходит во время еды, и у тебя по мере роста твоих возможностей растут твои аппетиты. И поэтому очень быстро всё подходит к границе возможностей. То есть просто, да, ты можешь сделать там 10 генераций простой какой-нибудь фигни, которую ты раньше вынужден был там чуть более тщательно планировать. А я говорю о том, что теперь твои задачи, они уже как бы сильно больше, и не так уж оно оно упирается в законы физического мира. То есть у тебя всё равно какая-то экспоненциальная зависимость есть экспоненциальная зависимость. Если у тебя начальное направление на очень долгосрочный проект, да, не знаю, вот давай специально вообще выкрутим в максимум из там текущих этих самых проектов вот эту вот штуку. Вот ты пишешь операционную систему, типа vippeкодишь, oneпроompтишь, да? Вот или там ты пишешь какой-нибудь браузер, например, новый или компилятор нового языка, и ну нет, ты не можешь прямо сейчас ээ трах-бах и во все стороны побежать проверять, типа сильно много гипотез относительно того, как ты напишешь целиком эту эту штуку. Вот поэтому тут всё равно нужно планировать, потому что просто ты теперь хочешь летать дальше, и стоимость этого полёта, она всё ещё упирается в физику мира, потому что так или иначе тебе нужно делать, ну, типа генерации всё равно не не нулевое количество времени занимают, они стоят не нулевое количество денег, и экспоненциальный рост способен поглотить что угодно очень быстро.

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

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

>> Не было, что что только не пробовали браузеры так точно были. Но вопрос в том, что на самом деле же не появляется у тебя задача раз в 2 недели выпускать операционную систему или браузер.

>> И

>> >> не, я просто я операционную систему или браузер Нет, не появляется, но появляется задача там написать новый сервис, написать новую страницу какую-нибудь большую развесистую. Ну то есть я к тому, что задачи реалистичные, они поджимают, то есть тебе просто начинает большего хотеться. То есть ты раньше такой, э-э, как я я говорю, я согласен с тем, что вот простые вещи, которые раньше могли занимать там существенное какое-то количество времени, теперь занимают сильно быстрее, но и аппетиты двинулись туда же, и это очень быстро одно другое догнало. Вот как с, например, вот видеорекординг. У нас тут сейчас шикарный такой видеосетап профессиональный, да, там две камеры нас пишут. И тоже же очень быстро всё развивается. Очень быстро развивается скорость интернета, очень быстро развиваются объёмы стражей, очень быстро развивается количество мегапикселей типа в камерах. Но, блин, физика мира, скорость света, ээ, там что этот субатомная, это квантовые эффекты в твердотельных накопителях и так далее, это всё равно всё нас ограничивает. Мы такие: "Ну да, раньше мы были рады тому, что мы там на одну камеру записали там что-то, а теперь нам нужно там по камере на каждого человека, а ещё и в 4К, а нет, в 8к. Всё. Ну то есть там трах-бах". И вот у тебя уже как бы сожралась любая оптика, любая двойная оптика, любой SSD, типа диск локальный и так далее, и так далее. То есть это вот такой пример, что, говорю, аппетит приходит во время еды, и ты очень быстро утилизируешь эти штуки, потому что человеческие хотелки, они, как правило, ну, ничем не ограничены. Никто не не ограничивает.

Э

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

>> Да, я я просто пытаюсь я просто пытаюсь сказать, что это относительная величина, то есть она в абсолютах поменялась,

>> >> но относительно за счёт эффекта того, что всё остальное отскейлилось, тоже ничего принципиально не изменилось.

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

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

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

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

>> >> ты имеешь в виду, что непропорционально непропорционально гейн эектив к эффективности взаимодействия? Я думаю, это очень быстро выровняется. То есть, во-первых, уже сейчас люди используют ИИшку для того, чтобы лучше формулировать свои мысли. Я могу, допустим, сделать сейчас вклад в понимание, что вот если у вас есть большая там какая-то кодовая база, да, вы не ждите, пока вам ваш коллега напишет что-нибудь хорошо и понятно вам. Вы можете прямо открыть ИИшку и задавать ей вопросы в нужном вам стиле, с нужными вам терминами. И это очень сильно сглаживает вот эти вот углы, да? То есть раньше ты должен был, чтобы отревюровать здоровенный пулреквест и вычленить, а что же здесь хотел сказать автор? И не афектит ли этот пулреквест принципиальные для тебя какие-то моменты? Ты должен был назначать, не знаю, там, очную встречу на дизайнрев. Ну, либо сам до посинения читать этот лреквест большой, либо назначать дизайнрев с очно с автором это обсуждать. Сейчас ты можешь это обсуждать с ИИшкой, которая идеально, ну, там, если код маломальский хорошо написан, она поймёт, что хотел сказать автор, и сможет перевести это на твой язык. Или, например, вот то, что менеджеры там пользуются, да, не знаю, там всякие письма для команды, там переформулируй даже. Вот базовый скилл я, например, себе сделал про редактуру текста, который там вычищает какие-то шероховатости, типа графику, англицизму и формулировки, да, тоже, ну, не стоит почти ничего. Будет очень скоро всеми заадопчен. Ну, не конкретно мой, наверное, да, ну, какой-то такого типа. И это тоже очень сильно сглаживает как бы коммуникацию. И в свою очередь опять же за счёт того, что у каждого есть ИИшка как прослойка на output аутпут и как прослойка на инпут, там ещё дополнительный как бы возникает эффект и рычаг. То есть мало того, что э писатель пишет понятнее за счёт того, что использует ИИшку, так ещё и читатель читает адаптивнее за счёт того, что при чтении использует ИИшку. И поэтому я верю, что вот этот вот профит от использования ИИ в коммуникации между членами команды очень быстро станет того же примерно уровня, что и в написании кода. Там нету каких-то суперпринципиальных барьеров. Может быть, это там сейчас где-то как-то в моменте проявляется, но это не фундаментальная вещь. И поэтому, опять же, возвращаясь к тезису, что дальше у тебя команда из десяти усиленных таких людей, грамотно составленных в эффективный ээ трансформер из пяти роботов-трансформеров, да, она всё тот же самый количественно качественный переход может совершить. И поэтому я верю, что, несмотря на то, что индивидуал сможет делать больше, команда сможет сделать ещё больше. Ну вот как с фулстеками, например, было, да, что да, классно наши технологии развились до того, что, не знаю, JavaScript разработчик может писать и клиентскую часть, и серверную, поднимать там это всё JS замечательно, и у тебя как бы появилась вот эта вот степень автономности, которую э раньше ну была недостижимая. Тебе обязательно нужны были люди там разных специализаций. Или, например, про автотесты те же самые. Вот я помню, э первого тестировщика автоматического Яндекса. Там настолько была большая большой пласт инфраструктурной технической работы для того, чтобы в принципе хоть что-то автоматически проверять, что, ну, это нужно было отдельную специализацию иметь. Сейчас методология, инструментарий, тестирования развились настолько, что это можно займбедить внутри одного человека, но это не отменяет того факта, что как-то вдвоём, втроём в команде можно ещё больше сделать, да.

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

>> Не, мой посыл такой, что нужно пытаться использовать ээ вот это новое электричество, да, везде, где можно. И оно как раз-таки за счёт своего, э, ну, своей сущности, своей структуры в очень большом количестве ээ предметных областей может принести пользу, как такой как-то гейзер, да, с температурой, с горячей водой, на которой нужно просто придумать, как премостить теплоэлектростанцию, чтобы эту энергию забирать. То есть вот энергия она есть, не всегда люди умеют её добывать с правильным КПД. Не всегда люди применяют именно ИИшку в своей работе правильно. Но что можно сказать, что, во-первых, пытаться, да, когда ты пытаешься, у тебя нарабатывается опыт, нарабатывается интуиция, и ты, если акцентирован на вот этот вот позитив клуб, что поделал, поделал, проанализировал, что не так, подфиксил что-то в том, как ты используешь инструмент, и снова как бы делаешь, и у тебя постоянно э улучшается твой навык и улучшается какая-то инфраструктура вокруг того инструмента. Вот главное не делать вот таких вот, знаешь, иногда встречаются заявления в духе там для этого ИИшка совершенно неприменима. Мы здесь поставили, значит, крест, посыпали солью и вообще не ходим в эту область. Вот. Ну не знаю, я бы не сказал, что есть какие-то вот явно выраженные области, где так можно сформулировать. И почти везде нужно пытаться это делать. И я там вот каждый раз, когда у меня возникает какая-то задача, я думаю, как её можно было бы усилить с помощью LLM или с помощью диффузионных моделей, да, или с помощью моделей распознавания голоса, генерации голоса, ну, то есть с помощью любого современного средства. А, а точно это не иллюзия, потому что есть уже какое-то количество исследований, когда компания побежала в новый мир, вложила кучу денег, опросила всех сотрудников, все сказали: "Да, мы ускорились там в два раза, в 10 раз, а потом посмотрели на какие-то реальные данные и там буст, ну, дай бог, чтобы 10%, а где-то даже замедление. А была классная серия такая в сериале Миллиарды, где они использовали какой-то наркотик, который типа усиливал когнитивные способности, и они думали, что вот как они, значит, круто соображают, а потом оказалось, что он менял восприятие этих ээ интеллектуальных возможностей, а не их самих. Я не думаю, что это так с ИИшкой. Ээ, то, что ты говоришь, у меня вызывает очень большой скепсис, потому что вот там, ну, проработав айтишки сколько уже там больше 20 лет, вообще-то у нас нету хороших метрик скорости и качества производства. Это вот, ну, типа setbr, что называется. То есть, да, мы постоянно пытаемся придумать что-нибудь, мы постоянно делаем какие-нибудь там цикл time, time to market. начинали с вообще там с количества строк кода, да, вот когда аутсорсеры были индийские ещё. Вот и постоянно идёт какая-то работа, которая про адаптировать и мы придумаем, как же мы именно это замеряем. Но объективно, вот не знаю, на сегодняшний день я не верю, что есть хоть одна метрика, которая позволяет это действительно хорошо.

и качественно замерять. Есть максимум какие-то типа приближения про оксиметрики. Ну, потому что вот опять же, если вспомним другие примеры технических эволюций, да, вот там появились более хорошие выразительные фреймворки, появилась более хорошая выразительная инфраструктура. За счёт эффекта, который мы обсуждали в первой части, аппетит приходит во время еды и задачи растут accordingly, у тебя это всё съедается. То есть ты такой: "Ну и что толку?" Потому что я умею там быстрее поднимать стенд или за меньшее количество кода верстать какую-нибудь страницу, потому что у меня есть переиспользуемые блоки. Если теперь интуитивно как бы все менеджеры от меня и хотят большего. Они и хотят, чтобы сразу было типа 10 страниц, да, они хотят сразу, чтобы было там куча экспериментов и так далее.

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

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

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

>> Я бы я бы на их месте боялся бы оказаться под мостом без использования бензопилы. Да. Ну, если у тебя потенциально, опять же, в пределе продекты придут к тому, что они свои пожелания будут передавать рою агентов, а инженер становится не то чтобы критично важен, то, ну, просто если ты всю эту дорогу держал руку на пульсе и тоже kind of выдавал рою агентов ээ указания, то ты быстрее и, вероятнее, и ближе сможешь стать таким продактом. А если ты действительно заменяем роем агентов, то вот добро пожаловать под мост.

>> Вот в этом, в смысле, ты как раз можешь быть вот таким членом сопротивления, чтобы этот момент настал как можно позже. Но в итоге ты в своей окрестности сталкиваешься с сопротивлением?

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

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

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

>> Ну почему это важно? Это же только роляет. Если ты используешь LLM в рантайме, если у тебя LLM генерит код твоей детерминированной программы, то это ровно то же самое, что у тебя рядом за столом есть твой ээ сокомандник, и сегодня он написал прекрасную функцию, завтра набажил. И точно также ты не можешь ничего гарантировать, но ты прекрасно с ним взаимодействуешь. Ничего в этом смысле нового. Как по мне, так. Но я просто говорю, что вот я сталкивался с мнением, что люди говорят: "Вы не понимаете, это другое. Команднику я что-то объясняю, он что-то запоминает. Я лучше вложусь в обучение этого сокомандника, чтобы он лучше в следующий раз делал свои генерации. Если я ему однажды объяснил: "Мы не пишем там, не знаю, транслитом название переменных", он мне больше не будет этого делать.

>> А поэтому кругом линтер именно вот потому, что он больше никогда так не будет делать.

>> Не, ну как это, да? Но тем не менее всё-таки, ну, какое-то количество, вот опять же к вопросу применимости, да, аналогии с людьми, какое-то количество знаний человек схватывает очень легко, и ему, в принципе, линтеры не нужны, и на многие такие вещи линтеров и нету, да? А какое-то количество знаний, оно, ну, так не схватывается. Вот. А что ещё я хотел сказать про вот про рандомность? Ещё есть история про, да, удовольствие, что вот люди говорят там: "О, я люблю топором". чтоб мозоли, чтобы стук и отдача там. Да, я люблю вот именно крафтово собирать, вышивать и, ну, я вот как-то ээ всегда думал, что когда программист перестаёт быть там программистом на языке X и когда он преисполняется вот этого инженерного майндсета, то есть там я ж тоже давно уже программирую не только там на джаваскрипте, но и намейле, на это самое, на русском языке, Да, когда ты ставишь какие-то задачи и убеждаешься, что в системах что-то работает. И в этом смысле я этот переход совершил ещё в тот момент, когда долгое время отникивался от того, чтобы быть тем ледом, а в какой-то момент просто провёл вот эту аналогию, что всё темлица - это тоже инженерная работа, и на неё можно через такую призму смотреть. И поэтому для меня это по-прежнему такое же программирование, да, что написание имейлов и тикетов было программированием, что написание промптов и выстраивание топологии агентского взаимодействия тоже остаётся программированием. Но многие люди, ну, какое-то количество людей, да, они очень тоже как бы говорят: "Вы не понимаете это другое". И разделяют это вот как-то принципиально.

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

Расскажи, получилось про баланс, да?

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

>> Ой, как я нащупываю, как ваша голова успевает за тем, что вы говорите, да, она и не успевает. Э-э, я думаю, что есть вот эти вот естественные циклы ля день, спринт, э, что там, там квартал, полгода. И вот есть естественные биоритмы, которые дают тебе отсечки и повод, когда ты смотришь: "А как вот у меня за прошедшее время и что я на этот следующий квант времени сделаю?" И, ну, я вот ревью, а, неделя ещё, да? То есть вот я ревью там свою неделю, смотрю, что получилось сделать, и как-то так делаю шаг назад, зума учусь и постоянно себе задаю вопрос, что на каком-то вот таком вот горизонте времени нужно быть уверенным, что ты проинвестировал вот во все вот эти вот важные ключевые треды. То есть ты, может быть, даже можешь не каждый день этим заниматься, но ты должен на горизонте там месяца, квартала, семестра посмотрев ретроспективно, видеть, что у тебя есть какой-то процент, который ты сам себе, э, с такого уровня зума постановил как нормальный, да? Ну, это вот есть, например, та же самая пример про инфраструктуру и продукт, да, типичные качели сетевого. Как часто тебе нужно вкладываться в рефакторинги и сколько тебе нужно сил тратить на вылизывание своей инфраструктуры и как много сил нужно тратить на то, чтобы бежать и делать какой-то продукт. Ну вот есть какие-то интуитивно ощущаемые пропорции. Ээ понятно, что это не должно быть нулевым ни то ни то и не должно быть стопроцентным ни то, ни то. Ты подбираешь для себя эту пропорцию и следишь за тем, чтобы она соблюдалась на вот этом длительном горизонте.

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

Не знаю, вот из примеров. Недавно делал ээ этот ээ верстал слайды, ты порекомендовал в своём канале ээ Гриненко про слайдев. Есть такая библиотечка, которая типа делает слайды. И я делал нашу практику, мошную тему для презентаций. Она оказалась не лыкомшита и не такой простой. То есть там достаточно сложный, интересный дизайнерский, э, лейаут, э не просто вот, знаешь, как бы булеты в в одном в одной ячейке. И я такой думаю: "Так, хорошо, у меня есть слайд def, там под капотом HTML, CSS, JavaScript, оно может там что угодно сделать, может любую как бы красоту сверстать". У меня есть в Фигме макеты слайдов с разными примерами разных контекстов. Давай, значит, slapshit together, make no mistakes. Типа, наверстай мне, пожалуйста, вот таких вот слайдов. ты ж типа умное, типа умеешь даже компьютер vision какой-то использовать, да? Э-э, и вот я там в несколько нейронок, в несколько разных типа тредов загрузил, ээ, описание того, ээ, вот что я хочу сделать вот на уровне сверстай мне тему слайдов. Ээ там даже есть скилл какой-то по верстанию тем слайдов, да, ээ, типа с вот этими вот с вот этими дизайнами. Not even close. Ну, то есть просто как-то сказать, что сказать, что это выглядит ужасно, это как бы ничего не сказать. То есть текст не виден, размеры не те. Ты у него начинаешь спрашивать там: "Ну ведь я же тебе сказал, что у меня всего лишь одна гарнитура используется на все эти слайды. А одна гарнитура?" А я думал, что вот здесь вот в шапке и в футере можно другую как бы. Ну, тут-то в середине одна, а там другая. И вот такого уровня вещи, да, то есть, э-э, там блоки те же самые тоже там полыяученные, не по сетке, да, какие-то размеры отступов от фонаря какие-то взятые. Просто потому что это вот это хочно в каждый момент времени оно генерирует что-то по-другому. И вот типа промучившись вот так вот там типа у меня было два основных треда, где я там с разными нейронками пытался хотя бы выжать. Там показываешь ему ошибки, да, показываешь, говоришь там вот это не так, это не так. Он такой: "Я Воль, мой господин, мы сейчас это всё исправим". Там, значит, этот голову подняли, задница провалилась. Ты говоришь: "Но, но ведь мы же только с тобой это". И вот эта вот вот мёртвая петля, да, когда ты по кругу ходишь, она вот это как бы типичная работа с ллэмками современно, по крайней мере. И тут важно, что важно не сдаваться. Важно не говорить на этот момент, что всё, вот я же говорил, эти ваши лэмки тупые, стахастические, как бы рандомизирующие, не способные понимать суть вещей. Значит, завязываем, как бы делаем всё руками. Нет, это пораженчество. Ты идёшь и выстраиваешь более правильные гардрейлы. То есть я, э, пошёл, написал другую спецификацию поподробней, чем у тебя всего лишь одна гарнитура, да. Я попросил его сначала, и причём как бы тоже действовал слоями, что сначала попросил выписать полностью все токены для ээ ну вот этой дизайн-системы, которая существует здесь. Описал все принципы, которые есть с колонками сетки. И следующие уже генерации пошли гораздо лучше. То есть он такой как-то раньше я мог писать произвольные пиксели, теперь я не могу писать произвольные пиксели. У меня есть вот только вот такой вот такой вот такой кубик. вот будем из них что-то сляпывать. И да, мне получилось сделать ээ более или менее неплохо. Ну, там есть ещё, наверное, что дорабатывать. Я ещё продолжу применять как бы в реальности, но, по крайней мере, уже результат там сильно ближе к тому, что мне хотелось получить. много где именно, э, ну вот действительно заработала вот эта штука, что м ты, а у ЛНги просто нету слов, чтобы написать не устраивающий тебе вариант, потому что просто более или менее любой набор примитивов ээ сочленённый, он ну не выходит за пределы вот этой вот дизайн-системы. Но для этого пришлось пройти цикл и и пришлось сделать шаг назад всё-таки, да, там ваншотом это не всегда возможно. Вот. И вот такие вещи они, ну, во всём. То есть ты начинаешь писать любую маломальски сложную какую-то штуку. И вот полезно всегда делать вот этот вот шаг назад. И и в этом, мне кажется, и сила как раз то, почему и близки разговоры о сингулярности с лэмками, да, потому что вот этот вот позитивный фидбк-луб, что они сами могут сами себя как бы, то есть в отличие вот от аналогии с бензопилой и и деревом, там ты не можешь использовать бензопилу для создания более новой бензопилы, да, ты как бы бензопила и дерево, они как принципиально разные, а здесь суть одно и то же, что то программа и текст, что это программа и текст. И ты вот можешь бесконечно подниматься по уровням этих этой абстракции.

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

>> Угу.

>> И для людей всё то же самое было свойственно. Когда ты говоришь: "Ну вот человек, вот он где-то это впитывает и просто потому что это было на поиске". Это было потому, что вот это вот концепт консистентности не был до всех донесён, не был всем вбит и, может быть, не всегда являлся прямо такой священной коровой, которую так уж сильно нужно оберегать. Да, многие люди либо не понимали ценности этого, либо понимали, но делали какие-то от этохочные решения, потому что там, не знаю, вот конкретно в этой форме, в этом контексте там красный цвет тебе нужен другой. Так, а в итоге-то это решилось не тем, что все просто поняли концепт и ему следует, а тем, что точно

>> это тоже нет. И это тоже

>> вот случилось и то, и то

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

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

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

>> Слишком много я видел расхождений,

>> чтобы считать, что люди по дефолту умеют с этим жить. А, ладно. О'кей. А давай вот как посмотрим, что ты говоришь. ты для себя нашёл вот этот баланс, э, у тебя есть какие-то кванты времени, чтобы с каждую область ээ догнать. И вот есть твоя команда, и ты в ней хочешь, чтобы происходило, ну, что-то примерно такое же. Что ты для этого делаешь? Как вообще вот с командой, которая до этого всё писала руками и которая должна начать жить в новом мире? Вот что ты делаешь, чтобы туда попасть?

>> Угу. Завтра кодфест, на котором я буду делать мастер-классы оба дня, посвящённые этому. Возможно, вы не успеете в живом виде это посмотреть, но где-нибудь в ссылках спросите про или просто поищите в записи, я думаю, можно будет посмотреть. Вот мастер-класс, посвящённый ровно

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

И по сути, я перенимаю те практики, которые были у меня до этого с предыдущими техническими миграциями, да. Там, я говорю, я застал переходы с Vanilla JS на фреймворк, переходы с одного фреймворка на другой, переходы с там C# на серверный JavaScript на Node.js с автотестами, вот то, что мы с тобой вспоминали. Ну, в общем, там много там XST, не XLT, ещё очень-очень много было разных вот таких вот транзишенов.

И есть какой-то набор вот чуйка универсальных принципов, которые должны соблюдаться. Как я сказал, первое — это то, что ты должен постоянно задавать себе вопрос: "А точно ли мы это используем достаточно хорошо?" Второе, ты должен постоянно заниматься системным анализом, что мы вложили. Ну, вот я это называю словом "инфраструктура", но я понимаю, что не все это так воспринимают. Вот я инфраструктурой называю вообще вот всё-всё-всё. Вот вот есть пилить и точить пилу. Вот точить пилу — это инфраструктура. Это то, как, какой у тебя именно инструмент.

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

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

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

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

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

Есть история шикарная. Вот мы сейчас делаем сервис про проверку технических навыков и с использованием ИИшки. И мы хотим сделать так, чтобы можно было с использованием ИИ, точно так же, как ты будешь это делать в реальной жизни, проходить собеседование и демонстрировать свои реальные навыки. И методология такая, что мы берём реалистичную задачу, достаточно большую, с большим каким-то существующим куском кода. Прямо вот весь проект целиком есть. У него настроен там CI/CD, настроены какие-то линтеры, он решает какую-то задачу, описанную в README файле, что вот про что там этот проект, да? А и дальше есть в этом проекте какие-то проблемки. То есть там что-то недоделано, недореализовано, где-то что-то реализовано, но не очень эффективно, где-то что-то реализовано, но с бажульками, да? То есть вот есть как-то всё, как в реальной жизни, да? Там разработчик что-то написал, уволился, оставил это тебе, ну, или не уволился, просто начинает зашиваться, ему нужна помощь какая-то, да, ты вот приходишь в новую команду, добро пожаловать, что ты сделаешь?

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

Понятно, что вот мне кажется, одна из таких принципиальных вещей — это то, что в нашей системе мы пытаемся предоставить автотесты и, э-э, ну, чтобы они были как критерий какой-то истины. А в реальной жизни у тебя нет автотестов. То есть в реальной жизни ты сам пишешь автотесты, и у тебя во многом такое как это, постановка задачи, она рождается в процессе решения этой задачи, да. Это вот то, почему я всегда говорил, что Test-Driven Development не всегда подходит, особенно во фронтенде, потому что ты иногда такой: "Ну да, у тебя как бы есть макет, но никто никогда не целится в то, чтобы сверстать макет вот абсолютно Pixel Perfect". Ну, за редкими исключениями хороших макетов, там, с хорошими дизайн-системами, потому что очень часто получается такое, что, а вот это не верстается, а вот это мы верстали, применили на несколько разных размеров текста. Оказалось, что здесь нужно что-то перепридумать, потому что он там начинает вылезать за край, если мы в такой парадигме это на это смотрим и так далее, и так далее. И поэтому задача она доделывается по мере её про, ну, реализации.

И вот это важное свойство, которое непонятно, как автоматически проверять. То есть непонятно, как это внести в ассерты, чтобы сказать человеку, что вот мы тебе дали описание человеческими словами, а дальше ты и тесты написал и действительно правильно решил задачу. Вот. А есть там, да, один бенчмарк. Вот сегодня узнал, что есть прямо этот вайп-кодерский coder benchmark, который как раз нацелен на то, чтобы оценивать качество вайп-кодерских генераций. У нас же теперь есть и помимо скрафта ещё Vibecraft. У нас есть бета-версия, и можно записаться, э-э, такая более автономная система, которая, э-э, прямо полный цикл тебе всего там с поднятием рабочей копии, с хостингом и так далее делает. Вот.

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

>> А если на длинном промежутке вот наступает performance review и какой-то сотрудник уже давно вовсю с агентами, какое-то всё крафтово руками, и вот их нужно сравнить. Да, вот мои ребята, я же как-то новоиспечённый сити, и все очень беспокоятся, что я буду приходить и, ну, слава богу, наверное, про line of codes никто так не думает, да, что я там буду замерять количество строк кода, но думают, что буду там на токены смотреть, что типа ктон, токен, токен с токеном, да, токен максинг, вот типа, что кто больше токенов сжёг, тот и молодец. Я думаю, что вот точно так же, как с со строками кода, это не напрямую работает и так нельзя делать. Точно так же и с токенами. Но при этом опять же, вот как показывает практика, что строки кода на больших длинах времени, на больших сроках, они достаточно, ну, позитивно скоррелированы с общей, как бы, успешностью человека, что всё равно в среднем, несмотря на то, что хороший программист делает одно и то же за меньшее количество строк кода, всё равно в среднем продуктивные программисты, они больше чаще коммитят, больше делают и даже строк кода тоже вот. Ну, понятно, что не на 100%, есть какие-то исключения там и в ту, и в другую сторону, но есть позитивная корреляция. Поэтому я как бы в первую очередь всегда смотрю на результат и хотел бы оценивать по результату. Вот точно так же, как этот, наша вступительная задача, да, проверка человеческих навыков. Там важно позеленить максимальное количество автотестов. Неважно, как ты это сделал. И у нас нам важно запустить сервис X, в production сервис Y, сделать фичу для пользователей Z. И не нужно ничего как бы конкретного не говориться, как вы это сделаете. Да как угодно делайте. И на ревью мы всё-таки оцениваем вот по результату. Мы как бы смотрим, как получилось, не получилось, получилось ли достичь чего-то. Да, конечно, иногда мы заглядываем внутрь и спрашиваем там: "А почему вот у вас получилось это сделать так быстро? Почему у вас получилось это сделать так медленно?" И пытаемся дебажить, чтобы как-то максимизировать в будущем эффекты, ну, воспроизвести позитивные результаты и не допустить негативных. Но всё-таки в первую очередь мы смотрим на количество принесённой пользы, э-э, ну, для компании, для общих целей, которые там на этот семестр стояли. Поэтому, а вот эта вся информация про количество коммитов, там, сколько токенов было потрачено и так далее, это сайд-информация, когда хочется почему-то заглубиться в детали.

Ну и в таком случае очень вероятная ситуация, когда какой-то разработчик, написав буквально один промпт, выполнит фичу, которая выстрелила, и она принесёт много пользы для компании, а кто-то очень сильно устанет, сделает очень много работы физически, но пользы мало. И, соответственно, вот тот человек с тем удачным промптом получит весь банк. Ну вот прямо сейчас это не на уровне промптов. То есть одним промптом ты ничего не сделаешь. Одним типа удачным промптом у тебя не получится сорвать банк. Это вот как сейчас. Ну, он, допу, наверное, в пределе, но, э-э, вот правда ли, что здесь вот этот эффект, когда там бедные беднеют, богатые богатеют, что и раньше на performance review могли быть вот такие спецэффекты, что усталость и результативность.

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

>> Становится ли он прямо заметно большим?

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

>> Ну, видимо, здесь будет работать диверсификация. Сделай как можно больше промптов, вероятно, >> успешно >> получишь больше шансов на успех. Да, >> оно же и раньше тоже, опять же, вот возвращаясь к тому, что принципиально ничего там не поменялось. Ну, опять же, там, как мы смотрим, там степень этой рандомности, и раньше у тебя была куча рандома. Ты мог начать делать какую-то штуку, а твои коллеги, которые должны были тебе предоставить API смежное, не знаю, там, обманули тебя или просто у них случилась какая-нибудь там катастрофа, они не смогли тебе предоставить нужное или, не знаю, там, пользователи начали вести себя не так, как думал менеджер с дизайнерами, они себя будут вести. И ещё куча вообще факторов, которые достаточно сильно это всё рандомизировали. Вот.

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

>> Угу. Если попытаться всё это подытожить, то как будто бы на сегодняшний день есть очень много похожего в том, как мир был устроен раньше. Теперь он стал быстрее, но по-прежнему устроен похожим образом. И главный совет, как я его слышу от тебя — это пробовать, проверять варианты и как можно больше находить углов для применения всего, что у нас в руки попадает.

>> Да. Да.

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

>> А не знаю, не уверен я, что я отвечу на тот вопрос, который ты задаёшь, но я вот себе это так разделяю, что как-то сингулярность и всё, что до неё. Вот типа, если у нас э-э не наступает пока ещё сингулярность и всё, что до сингулярности, оно of the same, то есть более или менее такое же, как и раньше. И и в этом смысле, пока не наступит сингулярность, всё будет устроено, ну, примерно примерно одинаково, примерно так же, как сейчас. Просто ещё большие эти самые, ещё большего объёма задачи, да, решать способен отдельно взятый человек. Вот раньше тебе, чтобы, не знаю, ну вот, как я говорил там, да, раньше, чтобы сделать новую страничку в мире, где не было готовых там библиотечек, где не было хороших инструментов с подсказками по коду, где не было хороших автотестов, это там крафтово занимало руками там X дней, потом оно стало занимать там меньше, потом появились LLMки, которые тебе это генерируют целиком. Ну, будут в будущем там более умные LLMки, ты сможешь больше чанки работы на них скидывать. Но вот так вот как бы, чтобы вот что-то изменилось как-то принципиально, ну, не знаю.

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

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

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

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

>> Класс. Спасибо большое, было очень интересно. Обращайтесь. Спасибо за внимание. А ещё подпишитесь на Telegram-канал Девсподин.