📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

AI-агент в продакшне: браузер, тулы и эвалы | Андрей Мелихов, DataLens, Yandex Cloud

Гриненко про1:31:20

Transcription

Откладывай всё, что ты делаешь, и начинай прикручивать сюда нейронку. Нельзя просто пришёл, внедрил агента и ушёл. 70% тикетов прекрасно закрываются нейронкой.

Первые месяца два мы бежали не туда. Самое страшное, что люди сами себе будут делать продукты. Задача, которая раньше делалась бы неделю, я за день сделаю. Ускорение космическое просто.

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

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

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

Во-первых, я фронтендер. Если мы берём эти фреймворки, то это, скорее всего, что-нибудь на Python. А мы не хотели так делать. Нам очень важно было жить в браузере. Тем более, даже если ты найдёшь фреймворки для фронтейдеров, они на тайпскрипте, но они тоже рассчитаны на то, что они живут где-то в районе на JS. У нас основной стейт, вот он хранится в браузере. И это и накладывает свои ограничения в том, что ничего готового здесь нет. Это нужно было придумать. Плюс мы работаем с данными. И вот те решения, которые есть, это скорее про то, что у тебя есть чатик, который вызывает какие-нибудь там тулы, которые куда-нибудь сходили в БК, чуть-чуть там что-то собрали и вернули тебе в чатик. А когда у тебя очень много данных и они на клиенте, то здесь уже нейронки там поднимают лапки и, ну, оказывается, что они [откашливается] не могут переварить эти данные. У тебя там таблица большая, да, погенированная, тем более. Как ты его запихнёшь в нейронку, если тебе нужно там посчитать какое-нибудь там среднее? Вот такая у нас специфика. Ну давай, наверное, скажем, что такое деталенс. Для тех, кто не знает, это биосистема. Биосистема - это система для отображения больших объёмных данных в виде каких-нибудь графиков и дэшбордов, чтобы на них можно было посмотреть там глазами и понять, что у нас там в бизнесе идёт не так. И вот если даже пойти по истории, как это всё развивалось, когда-то там биосистемы, они были какие: это у нас стоят там сложные базы данных и вот, ну, в компании захотели биосистему, нужно нанять специалистов, которые эти базы данных настроят по запросу начальства они будут делать какие-то из них выборки, приносить отчёты. Потом решили, это как-то сложно получается, долго, там неделю надо ждать, чтобы получить какие-то данные. И пришло время Selfice биосистема, которая как раз относятся Data Lens. Это когда вот ты можешь мышкой себе накликать и не нужно быть большим аналитиком для того, чтобы сделать себе какой-то набор данных. А вот сейчас уже приходит время JNBI, как раз когда туда ещё подключают нейронку, и ты начинаешь совсем мышкой не кликать, а просто спрашивать нейронку: "Какие у нас были продажи в прошлом месяце? А что на них повлияло?" Вот все сейчас хотят этого. А для этого надо научить как раз нейронку работать с этим огромным объёмом данных.

А почему именно нейронка должна знать про данные, а не конструировать вот этот запрос, который уже дальше превратится в нужный интерфейс, в нужный график? Зачем ей вообще смотреть на реальные числа и тем более большое количество этих чисел?

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

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

Здесь стоит сказать, что такое фронтендер в Яндексе, да? Потому что когда люди слышат, что у вас это фронтендеры делают, а почему nots у вас делают фронтендеры? Как бы считается всё, что ближе к интерфейсам - это фронтендеры. Неважно там JS, она нужна для чего? Для того, чтобы готовить данные для фронтэнда. Поэтому это тоже фронтендеры. - это то, что ближе к данным. Но в то же время в облаке у нас вообще всё это сильно смешано, и мы в какой-то степени всё-таки фулсте, потому что мы себе там и кубернетис готовим, и главныйпс в нашей команде - это бывший фронтендер, у которого все задачи были настолько привязаны к кубернетису, что ему дали команду из других ребят и сказали: "Всё, теперь вы девопсы, и у тебя не будет фронтендерских задач". Вот настолько мы фронтендеры. Но в целом считается, как бы у нас в команде есть питанисты, они бэкндеры, а всё остальное - это фронтендеры. И почему нельзя это всё было сделать на Note Jazz? Потому что здесь нужно уже куда-то погружаться в специфику того, как работают эти самые агенты, потому что там надо держать эти самые SSE, сессии, нельзя просто всё время закидывать месes массив и так далее. А сложный вопрос, на самом деле. То есть мы сейчас тоже думаем о том, а можем ли мы вообще как можно больше перенести на сервер, пусть и на not JS. То есть мы сразу решили, это не будет Python, это мы будем делать у себя в стефнтендерском, то есть JS и клиент. И у нас всё-таки там statтlessс максимальный. И вот здесь знаешь тоже вчера долго обсуждали эту проблему. Вот если брать тот же самый Open, то у них есть готовое решение в виде чат, подождите, как у них называется? Chat comptions, это вот предыдущий, а новый у них responses API. Он как раз решает эти многие проблемы, он берёт на себя, и ты можешь там уже обращаться не просто каждый раз весь массив месенджеes передавать, а получать адишник, где всё лежит, и снова дозапрашивать. И вот нужно сделать что-то похожее в рамках Notz. Ну, можно. Ответ будет можно, но в чём-то сложнее, потому что на клиенте держать весь стейт у конкретного пользователя, это достаточно дёшево. Ты можешь, в принципе, в браузере всё собрать и в нейронёнк уходить только в опишку. Ну, кидаешь ей месд, получаешь ответ и снова сохраняешь на клиенте. А когда ты переводишь state на сервер, что у тебя получается? У тебя есть там много инстансов твоих nots приложений, там, скажем, их 40, да? Ты каждый раз приземляешься на неизвестный тебе инстанс. Значит, где-то этого надо шарить твой стейт. Это где-то ты должен поднять рейдис, например, в котором ты будешь складывать, сходить с каким-то айдишником, и вся эта инфраструктура, она становится уже очень большой и дорогой. Намного дороже, чем просто положить в браузер. Поэтому в первом приближении мы начали с того, что решили: "А давайте попробуем всё собрать в браузере, держать там стейт, а в нейронку ходить только, ну, с самим массивом месd, чтобы получать следующий ответ." Что нам написала неронка и там или вызвать тулы и делать это из клиента. Ну и в принципе это похоже на то, как у тебя работает, не знаю, какой-нибудь там тот же там клодко или любое другое решение, когда у тебя агент на твоей машинке стоит, а здесь у тебя агент стоит в браузере.

Ну тут, конечно, приходит в голову, что есть же гораздо более верхнеуровневые вещи, чем то, что ты перечислил. И можно взять какой-нибудь условно Open CД или что-нибудь из мира пивать с ним. О, скорее от Оенкода даже придётся отрывать какие-то куски, чтобы получить то, что требуется.

Нет, так делают. Но если у тебя много пользователей, тебе для каждого придётся поднимать инстанс вот этого харнеса где-то на сервере, и это будет дорого. Ну, то есть берём клодкод, да, например, ну, сколько он у нас есть там 100-200 Мб памяти. У тебя подик один выдерживает там 10 клод-кодов, и тебе придётся это как-то масштабировать. То есть ты предлагаешь,

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

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

Да,

И приходится копаться и разбираться, как конкретно. Вот сейчас ГЛМ, да, 5,2 вышел. У меня до этого всё прекрасно работало на ГЛМ 4,7. Беру 5.1, 5,2. Абсолютно меняется формат ответа, потому что он решил по системному промту, что почему-то он будет не просто отвечать в ответе. Вот я его просил объектом отвечать. Он будет ещё это заворачивать ещё во внешний объект. Ну, он его назвал анр. Почему? Откуда он это взял? Зачищая системный промп, начинает работать более-менее нормально. А бывает, что просто ты идёшь и читаешь, что конкретно вот в этом инференсе они решили, что у них там вызов тулов вот так работает. И всё это уже более-менее обошли в общих решениях. А тебе в своём частном приходится подстраиваться и подстраиваться, да?

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

Да. А я infренсы не очень контролирую, потому что мы делаем и onprame решение, где мы говорим: "Приносите свой любой Open AI совместимый апи, и подключайте". А там какие могут быть инференсы? Да кто его знает, что нашли, то и поставили. И всё это приходится учитывать. Да.

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

Выть им какую-то опишечку, где они смогут помапить одно в другое. О,

Ну это сложный вопрос. Дополнительный. Ещё клиенты не всегда хотят так работать. Они хотят, чтобы у них всё работало, да, чтобы они прописали апи и всё завелось. А что там внутри, их не очень волнует.

Ожидаемо. Ну, всё-таки вот расскажи какой-нибудь внутрянке. Хочется именно такого вот опыта, когда вот ты решил: [откашливается] "О'кей, делаем своё в браузере". Всё равно же, скорее всего, первая мысль была, что, ну, типа, что такого-то? Вот есть запчасти, сейчас их склеим, а в итоге это превращается в какой-то такой большой и серьёзный кусок работы с кучей исследований. Вот расскажи, где ты стал спотыкаться какие-то неожиданные сложные истории.

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

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

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

Вот эти оценки - это тоже какая-то лмка, которая смотрит, что получилось, и даёт какой-то вердикт. Или вы знаете эталонные, правильные ответы и как-то сравниваете?

А тут надо погрузиться в то, что такое вообще Харнес, как он строится и как это всё делается. И вообще мы с первого дня ходили и просили менеджеров сделать нам хорошие корзинки из задачи. То есть вот что мы загружаем в нашего агента и что мы хотим получить. Ну, примерно через несколько месяцев мы добились какого-то ответа и начали уже на нём строить простейшие сопоставления, то есть, что и летит на вход, что мы получаем на выходе. И здесь вот если ты строишь валы, здесь же несколько разных способов, потому что они разные по стоимости. Есть дешёвые валы, где тебе никакая лэмка не нужна. Ну, например, ты хочешь получить там среднее значение. Зачем тебе лэмка для того, чтобы проверить ответ? Ты просто сходил, там Лэмка что-то вызвала тулы, и у тебя из тулов прилетело среднее, и ты в ответе просто его мачишь вот одно на другое. Но не всегда это можно сделать. Иногда у тебя ответ богатый, там какая-то аналитика. Вот тогда здесь уже приходит то, что называется LLM судья или LLM judge. Другая ЛМКА, которая прочитает ответ твоей ЛМке и скажет, он окли не ок. Но тоже возникает вопрос: а что такое ОК? Потому что его тоже надо калибровать. Там выводит множество критериев, там полнота ответа, скорость ответа, расход токенов и так далее. И по всем ним у тебя вот этот ЛМ судья должен оценить. Причём он не может сразу всё это оценить, потому что у него есть тоже свои проблемы там такие как если он тебе на первый критерий выставил пятёрку, то он и остальные завысит. Поэтому ты его вызываешь отдельно по каждому критерию. Это чудовищно медленно и чудовищно дорого, но более-менее надёжно. И в итоге вот вся твоя система - это вот такой гибрид из классических тестов, энтуэндов, там, потом вот тестов, которые у тебя из текста выдирают ответ. Не знаю, ты там спросил там столица Великобритании, он тебе ответил: "Лондон, тебе нужно только пропарсить то, что у тебя Лондон есть в ответе". Да. Вот это дешёвые, как смоуки. И вот прямо тяжелейший, когда у тебя другая лэмка читает ответ и оценивает, хорошо ответил твой агент или нет. Ну и это же и не всё. Тебе ещё нужен железный пользователь, который будет общаться с твоей лломкой. То есть третья ламка появляется, который пройдёт вот весь этот цикл. И его же надо тоже сделать умным. Он должен изображать пользователя, например, который раздражён, который начинает на твои ответы ЛМ писать: "Да что ж ты такая тупая и так далее? Выйдет ли он к хорошему ответу? Или или они зациклятся вот тоже опасность, что у тебя две лмки общаются, они могут в бесконечном цикле самоблагодарности зациклиться. Это прямо, да, это огромная область. И вот на самом деле я сейчас, когда встречаю разных QA, я говорю: "Ребята, бегите туда". Потому что это вот то вот куда сейчас стоит зайти автотестерам и строить хорошие большие валхаарносы. Но если вы не QA, а просто делаете агентов, вам тоже нужно в этом разбираться и тоже строителы. И вот мы прямо выбивали у себя время на работе, говорили: "Выдайте нам несколько спринтов, чтобы мы хоть какой-то харнес построили, потому что иначе мы не можем гарантировать, что наш агент будет качественным. Потому что, если изначально мы его просто прокликивали мышкой, то мы поняли в какой-то момент, что мы просто тонем. У нас очень много всего происходит в этом агенте. Постоянно говорят: "А давайте здесь добавим вот такой сценарий, пусть ещё такой". И уже сделать регресс разработчику, ну, просто невозможно. Здесь нужно вот эту систему подключить и чтобы она работала, не знаю, ночами. Вообще тянет на целый отдельный выпуск поговорить про то, как это по-настоящему построить, возвести и так, чтобы стоимость использования не улетала в космос. Богатая тема, классная, но давай чуть-чуть глубже копнём внутрь вот этой анатомии того, что у вас получилось на текущий момент. Ты говоришь, что вот есть в браузере некий агент, который дёргает тулы, раскрой подробнее, что вообще там из чего состоит и что может такой агент на текущий момент, чего ему, может быть, пока ещё не хватает.

Ну, как мы начинали, у нас просто были поинты, которые ходили вот закидывали этот массив месes в сторону нады, нада стучалась в vec по апе, потому что ты из браузера же не пойдёшь стучаться напрямую, да? Ты же тогда спалишь все свои ключи, все свои системные промты и так далее. Поэтому у нас наш BFF на но, он что делал? Он просто проксировал запрос, доклеивая всё, что надо, какие-то там ещё мониторинг, ещё что-то, и оно уже улетало в ЛМ и возвращался ответ. Но тут быстро стало понятно, что так жить нельзя, потому что никто не хочет сидеть и смотреть, как у тебя б долго там что-то думает. Потом прилетает ответ: нужен стриминг. Потому что все тут вспомнили, что у нас существует такая вещь, как SSE, ну, сервис and Events, который раньше я ходил, рассказывал, есть же такая все такие вебсокеты. Я говорю: "Ну, есть же дешевле вариантов, всё равно вебсокеты". А вот когда появились ЛМ, все такие вспомнили: "О, у нас же есть SSE, зачем же нам страдать?" Но на самом деле быстро понимаешь, что с надой ты просто так не сможешь использовать SSE, потому что SSE он не предполагает постзапросов, это getзапрос. То есть ты как ты сначала получаешь какой-то айдишник, а вторым запросом ты по этому айдишнику начинаешь вытягивать стрим, а значит, тебе нужен уже какой-то stateful back. Мы тебе этого позволить не могли. У нас statless, поэтому мы сымитировали SSE. Это тоже прекрасно работает, да? Ну, ты просто делаешь постзапрос, а в ответ открываешь стрим и начинаешь из него вычитывать чанки сшные просто руками. Непонятно, почему этого нет в стандарте. Ну вот так. Ну все примерно так же и делают. Ну конечно, если нравится, можно открыть вебсокеты. Вот тогда у тебя уже появляется, ну такой бегущий ответ, как все привыкли. Ну это мы сделали. Стало быстро понятно, что этого недостаточно и нужны тулы. Дальше стали разбираться, как работают тулы. Это, в принципе, тоже понятно, что ты описываешь набор функций какой-то, который долетает до твоей Lлм. Она знает уже, что вот эти функции можно вызвать с такими-то параметрами.

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

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

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

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

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

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

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

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

Когда ты говоришь про то, что у тебя первым шагом классификатор, ты имеешь в виду, что это ещё классический NLP, а не лэмка. >> Подожди, а почему это не Лэмка? >> Не, я как раз спрашиваю, как в итоге ты говоришь, вот мы типа будем это отсекать, не будем жечь токены, а если оно всё равно скармливается ЛМку, ЛМКА всё равно должна съесть этот запрос, переварить и ответить: "Я про это ничего не знаю", то ты всё равно продолжаешь жечь токены. И вот я подумал, что, может быть, вы пошли в сторону того, чтобы классифицировать ещё каким-то более простым ммлем. >> Это вопрос уже инфраструктуры. Мне некуда поставить ещё какой-то. Мне проще взять LLM подешевле, тот же самый GPT >> о SS 120B и поставить его на вход, чтобы он фильтровал и отсеивал. Пока мы идём по принципу максимально быстро и максимально просто. То есть, может быть, там в какой-то момент мы испытаем, что там всё мы упёрлись уже в возможности, нам надо экономить токены, но у нас есть железо. Сейчас скорее наоборот, у нас нет железа, и мы можем не экономить. Вот и поэтому другие решения, может быть, появятся. Может быть, мы, ну, даже не знаю, что там, какие ещё примеры привести, но где-то где-то, может быть, что-то локальное появится. Сейчас мы не добавляем дополнительной инфраструктуры и всегда ходим во внешний API. Ну вот даже вот может быть стоит прийти к тому, чтобы локально поставить ader, а может быть использовать его внешне, потому что они довольно дешёвые. Тут уже вопрос ещё стабильны ли они те эмбедеры, которые ты берёшь снаружи.

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

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

>> Не возникает тут того же эффекта, как вот с генерацией кода, что м там первую, не знаю, неделю, когда человек получает в руки мощную модель, которая начинает ему писать код, он всё читает, каждую строчечку и убеждается, что всё нормально. Потом он такой: "Раз нормально, два нормально, три нормально, вроде каждый раз нормально". Он начинает пропускать какие-то куски, смотрит только на архитектуру. Потом он такой: "Вобще можно не читать код, буду читать спеки". А потом он: "Ну и спека какая-то длинная". Я вот там верхнеуровнево, ну, вроде в правильном направлении она думает. Ну и хорошо работает. О'кей. Не получится ли здесь также? Да, у вас появилось какой-то чарт, да, ты можешь проверить, что все фильтры и всё прочее выбраны правильно, но визуально выглядит, ну, как будто бы здраво. Там не стал проверять, а что-то пошло не так, а ты поверил выводу. >> Для этого у нас есть ещё дополнительный вызов тулы судьи, которая в чистом контексте смотрит, соответствует ли ответ заданному вопросу и правильно ли выставлены все фильтры. То есть такая дополнительная защита есть ещё внутри самого диалога. Но в остальном, ну да, наверное, глаз будет замыливаться у людей. Но я надеюсь, что всё-таки, если идёт вопрос про бизнес, они, когда сложные большие решения принимают, они всё-таки посмотрят, как построены эти чарты. Но с другой стороны, я тебе могу сказать, что и люди часто строят очень странные решения. Я вот как-то приходит ко мне человек, говорит: "Вот есть сломалось". А я такой: "А что ты здесь вообще считал?" Он говорит: "Да я не знаю, ну год так работал. Ну там же вообще [смех] там просто не связан". Ну просто какие-то цифры сбоку, криво всё собранное, формула не та. Они год на этом жили. Как? Откуда? И здесь я даже, наверное, больше доверяю лмке, которая всё-таки строго по документации, проверив, что это за данные, чем данные, которые они были похожи на реальные и поэтому всех<bos> устраивало. И это же, ну, классика, что эти чарты можно подогнать. В принципе, часто же даже есть такая задача, когда люди строят чарты, чтобы подтвердить ту теорию, которую уже приняли. Нужно просто принести руководство и показать: "Да, да, у нас графики идут, как мы и планировали". Вот так. Что ответ такой, что когда у нас сложная система, где сложные формулы, я, наверное, больше даже доверяю нейронке, чем среднему или даже неопытному аналитику.

>> А когда вот есть такая многошаговая система, которая сама себя проверяет, как это сказывается на стоимости вот сейчас такой диалог, сколько он обходится или это всё слишком костомно в зависимости от набора моделей и так далее? Ну, мы живём на довольно дешёвых модельках. Тот же самый V4, там FL, быстрый, дешёвый. И техник расходуем очень мало, честно. Там, ну, то есть мы платим за токены, платим достаточно дорого, но всё равно это очень небольшие числа. Это может даже сам себе разработчик позволить поднять у себя локально и продавать. как раз за счёт того, что, ну, может быть, у нас достаточно оптимизированные диалоги, там нет. Ну, то есть, если в клодкоде, да, ты что-то спросил, у тебя пошло вычитываться куча файлов и так далее, то здесь у тебя контекст достаточно оптимизированный. Мы изначально там 128К пытались всегда укладываться, а сейчас и гораздо меньше выедаем. Поэтому каждый вопрос довольно дешёвый. Я ещё подумал, что в контексте стоимости тут нужно и про человеческий саппорт поговорить. Э, если в старом мире с детерминированным поведением энтуend-тесты всю жизнь считались дорогими, и вот была классическая пирамида тестирования и endн был вот самый кусочек сверху, потому что на любое изменение их приходилось переписывать, то эвалы - это же ещё гораздо более хрупкая история, которая, э, во-первых, каждый прогон тебе стоит токенов. А, во-вторых, любое изменение может их ломать, при том, что это далеко не всегда поломка. И вот как часто приходится врываться туда и разгребать фолsз негатива. валы, да, это история очень дорогая, поэтому я и говорю, что они делятся на разные типы и стараются максимум забрать просто кодом, там, пропарсив ответы, не добавляя здесь нейронку, сделать максимум таких дешёвых. А вот когда ты ещё судью добавляешь, то это, конечно, и тут у тебя сработало, и железный пользователь у тебя где-то бежал, да, и ещё ответ. А ещё ты не можешь один раз их прогнать. Тебе их надо прогнать несколько раз, чтобы убедиться вот в этой недетерминированной системе, что в среднем за пять прогонов ты остался в той же самой точки. Ну, это знаешь этот пас5, да, и там пас степени у тебя есть, а есть пас собачка, которая говорит, что ты там сделал пять прогонов и остался >> надёжным. И здесь все нейронки такая у вниз сваливаются. Хотя иногда оказывается удивительно, что какой-нибуд там Квен лучше держит, чем Опус, в плане того, что он на пятый прыгон даёт примерно тот же самый результат, что на первый. Вот. А если программирование это нормально, ну, ошиблись снова сделали, то когда тебе надо выдавать ответ и человек не будет второй раз запускать, то он хочется стабильности. И то же самое в эвалах. Да, ивалы дорого и да, это нестабильно, да, тебе приходится гонять их ночами по много раз. А что делать? Другого варианта здесь не придумали. Как раз только за счёт того, что ты делаешь множественные прогоны, смотришь в результат не одного прогона, а нескольких и убеждаешься, что ты остаёшься вот в тех же самых границах. Как раз туда вводятся коэффициенты. Ты там говоришь: "Ну, тебе уже неважно, ты не должен на 100% пройти. Ты предполагаешь, что иногда это будет флапать где-то, где можно. Считаешь там на 80% прошли. О'кей, наверное, как-то так. Ну, тоже это такая большая область, которой я только начинаю погружаться, и поэтому не могу сказать, какой здесь вариант самый надёжный. Мне кажется, все вот где-то балансируют, только перешли от того, что они гоняли руками, поняли, что дальше так нельзя, и стали строить какой-то харнес вокруг вот этого тестирования.

Ты уже немножечко упомянул такую потенциальную развилку, что возможно вместо того, чтобы пользоваться локальными специализированными агентами какой-то предметной области, у каждого будет что-то своё, там тот же самый клод-код. И вот можно будет ему сказать: "Вот там лежат данные, клиckхаус, whatever, иди и реши мою конкретную задачу". А делаете ли вы сейчас какую-то возможность к вашему агенту снаружи обратиться и с ним повзаимодействовать какой-то MCP, чтобы вот код не напрямую ходил в сырые данные и пытался там по структуре таблиц что-то выяснить, а он, решая высокоуровневую задачу, там, не знаю, годового отчёта, мог бы задать вопрос вашему агенту, от него получить с учётом вот всей этой специфики, которую вы знаете уже более более-менее надёжный ответ его у себя применить. >> Это очень болезненная [откашливается] тема, этого все хотят. Но как мы это сделаем, если наш агент живёт в браузере? То есть в нашем продукте в Доталенсе есть пабли, и все подключаются через него. А нейроанаaltтик здесь сбоку стоит. Но есть задача, что скорее всего, да, нужно будет всё-таки закончить эксперименты с тем, что он полностью живёт на клиенте, повести его в БК, и тогда у него появится и опишка. и возможность работать, не знаю, по крону тоже многие бы хотели там у тебя отчёт какой-то там, ну, чтобы у тебя по крону в пятницу это сработало, наложилось, посчитало, а ещё пусть там ещё будут какие-нибудь дополнительные тригдеры, что данные скакнули, тебе резко нужет, чтобы аналитик тебе прислал письмо, здесь что-то не то и так далее, и всё. Вот это предполагает, что надо бы это всё увести на сервере. А вот то, что ты сейчас проговорил, по-моему, обе части, не должны ли они всё-таки запекаться в детерминированный код? Неужели каждый раз по крону нужно дёргать именно илнку? Зависит, что ты хочешь сделать. Если ты хочешь аналитику, то по крону тебе нужно дёрнуть ломку. Если ты хочешь просто отчёт вечерний, то здесь лолмка тебе не нужна. >> Спокон веков, разладки и тому подобные вещи. Ну, то есть когда у тебя из отчёта делается вывод, что пора просыпаться у нас там в продакшене инцидент, это выясняется всё-таки математикой, а не стехастическими попугаями. >> Это если ты просто базово смотришь, что вот здесь числа не вышли за какой-то там участок. А если ты хочешь, чтобы оно креляцию сделало, чтобы вот оно умело там взять погоду сейчас в твоём городе и там количество, сколько людей там на самокате катается и ещё вот это всё сложить и так далее, и так далее, то здесь уже проще перейти Колола, мне кажется. >> Ну, наверное, да, соглашусь. Ну что ж, мне кажется, что тут ээ нужно будет вернуться к вопросу и посмотреть, что поменялось месяца так, через три-четыре. По ощущениям уже будет достаточно далеко, чтобы ты сказал: "Мы тут всё переосмыслили, придумали вообще всё upп и теперь вот у нас новый дивный мир." Давай.

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

>> Расскажи чуть-чуть про свой стек и вообще вот что у тебя как устроено, чтобы дойти до такого Дзена, когда код можно не писать руками и доверять результатам. >> Это не дзен, мне кажется. Это то, к чему двигаются все. Я вокруг очень много вижу таких людей, которые совсем перестали писать код руками. У меня, видишь, ещё совпало так, что ребёнок родился, и у меня часто руки заняты. И это меня очень спасало, что я могу одной рукой что-то написать лмке и дальше только контролировать, что она там делает, а не вдумчиво сидеть там, водя там в состояние потока. А учитывая, что контекст огромный, в общем, это очень тяжело. Здесь меня спасает lм инструменты. Ну, классика. То есть у меня в принципе есть всё. Стоит ид код, и коeкс, и Open Code, и P. И я периодически с одного на другой пересаживаюсь. Я очень быстро ушёл из идзешек. То есть вариант, когда у меня агент бежит в ДДшке, мне не понравился. Как-то слишком много интерфейсы друг на друга накладываются. А когда ты сидишь на ноутбуке, ну вот это всё ненужно. Мне больше понравилось, как у тебя консоль открыл, у тебя во весь экран, если что, там всё остальное там же и открываешь. Поэтому как-то так. Я как даже у себя в канале писал, что с начала мая я плотно пользовался паем, потом у нас не разрешили пользоваться паем, и я переехал последнее, вот я на кодексе посидел последние, наверное, недели две. Он мне сильно не нравится. Какой-то он недоделанный по сравнению с тем же клокодом. Постоянно везде что-то вылазит. >> Навайпкодженый. >> Нене не навайпоженный - это клодкод. Он глючный. У него там то рендер отваливается, то ещё что-то, но при этом он фичастый и фечети классные. А кодекс он какой-то там нормально, не знаю. Вот в том же, смотри, в клодкоде у тебя есть хорошая система пладинов. Ты можешь свой маркетплейс поднять на дитхабе, подключить, он будет сам следить, что-то обновилось, подтянется. Кодекс так не умеет, ему надо куда-то там в один скилс положить, сказать, что вот туда следи, но всё гораздо более такое упрощённое. И вот как-то везде у него чувствуется, что вот мало фич. А если ты открываешь тот же самый Open CД, ты наоборот чувствуешь слишком много фич, но они неплохие. там тот же самый встроенный диф, там красивый, да, но я с него ушёл на вот на утуновский див. Он поинтереснее, потому что там можно делать аннотации. То есть как я сейчас пишу код, то есть я, точнее, как какой у меня сейчас флоу, неважно, какие используются агенты, да? Вот какое-то время я использовал там параллельно-код и кодекс. Я делаю план, скажем, в клодкоде, потом кодексом прошу этот план провалидировать. Они друг другом общаются. Ладно, в Паие это можно было сделать в одной сессии. Здесь у меня два. Вот они между собой общаются. Я им перекидываю руками в данном случае ответы, пока у меня план полностью меня не удовлетворит. И потом прошу это реализовать. Скорее всего, буду реализовывать я опуса. Опус пишет код. Дальше я этот код ревю опять GPT через там, ну, GPT 5,5 в кодексе. И дальше открываю вот эту вот дифолкуптуновскую, в которой можно писать аннотации. То есть она от тебя открывается прямо внутри

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

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

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

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

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

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

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

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

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

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

>> Во-первых, не все люди перешли в такое AI-просветление. Во-вторых, у нас появилось дикое количество задач, связанных с AI. То есть вот все мои задачи вокруг нейроаналитика, их же не было до появления нейронок. У меня там огромный список висит задач, которые я не доделал, когда побежал делать вот это. И я их периодически просто поднимаю из прошлого, чиню и тоже выливаю. Но, наверное, сначала надо, чтобы все разгребли бэклог. Бэклог они бесконечные. Потом, может быть, у всех и появятся какие-то свободные руки, но пока задач становится только больше. Это Борис же тоже про это говорил. Борис Чёрный из CloudCode. Посмотрите, а у нас в Anthropic же только нанимает людей, потому что задач становится только больше. И вот я не знаю, вот я тебе рассказывал, EvalHarvester огромная сложная вещь, которую надо построить. Её не существовало, теперь она нужна. Нужны руки на это. Поэтому нет, меньше не становится. Наоборот, задач за год стало только сильно-сильно больше. Придём ли мы к тому, что неожиданно у нас всё разгребётся и мы будем только там сидеть с утра? Так пришёл: "О, вот задачка, ладно, нейронку". Пошёл чай попил, вернулся. О'кей, всё готово, пойду домой. Свежей задачи нет. Не знаю, наоборот, скорее мы будем продолжать бежать вот в сторону того, что нужно новые фичи внедрять, нужно соревноваться с теми же нейронками. Вот то, что я тебе говорил. Самое страшное, что люди сами себе будут делать продукты, и с ними тоже надо соревноваться. Сможем ли мы предложить человеку что-то лучше, чем он может построить сам себе? Если можем, то это задачи новые, их тоже надо делать. Что мы можем предложить бизнесу такого? Вместо того, чтобы они тоже сказали: "Да, вам не нужна ваша BI". Вот у нас есть там PostgreSQL, ClickHouse, у нас есть поднятый внутри там DeepSeek V4 Pro. Мы кучу железа нашли, у нас всё работает, мы это всё соединили, оно само работает, ваш продукт не нужен. Вот надо же им новую ценность довозить, которая у них, ну, чтобы мы их убедили, да, что наш продукт нужен. Поэтому задач только больше.

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

>> Потому что у тебя у Py есть рядом OpenCode. И вот приходит безопасник, думает, что разрешить: OpenCode или Py? Он смотрит: "А в Py же ничего нет из коробки, там Sandbox нет, а каких-то пермишенов нет. Это же ужас". Ну представим, безопасник, да? Ему придёт разработчик, скажет: "Так, да, это же так придумали, потому что нормальный разработчик, он это всё запакует в контейнер, сделает безопасно. Но а сколько разработчиков этого не сделают, соответственно, когда у тебя безопасник смотрит между двумя инструментами, в котором в одном всё есть из коробки, а во втором из коробки нет ничего, он выбирает тот, в котором есть всё из коробки. Но если мы сможем построить поверх Py тоже что-то приличное, ну, как тот же самый OPA, он мне совершенно не понравился, но это просто как пример, да, что можно поверх вернуть и сказать: "Вот этим можете пользоваться". Где уже сразу есть механизмы Sandbox'а, пермишенов и чего-то там ещё. Ну, там даже MCP нет в Py, да? А в компании очень популяр MCP. Тогда, скорее всего, он пройдёт эти проверки.

>> Всё равно непонятно. Вот, ну, допустим, есть разрешённый там CodeX, IDE Code, но в них тоже изначально из коробки нету никаких контейнеров, которые бы по-честному позволяли изолировать разработку. И система пермишенов, конечно, есть, но ты в два клика можешь сказать: "Воруй, убивай! И всё, и как бы приехали". То же самое.

>> Как здесь уже тебе приходится принять то, что а как ты их откажешь? Давайте запретим CodeX, да? А как люди будут разрабатывать?

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

>> Ну это вопросы к безопасникам, я думаю. Просто у тебя есть два конкурента: OpenCode и Py. Вот с точки зрения CISO, что из них проще разрешить? OpenCode.

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

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

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

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

>> Тут, конечно, хочется тебя спросить, не пробовал ли ты Droid, а то его очень хвалят, а я всё никак не доберусь.

>> Слушай, а я не слышал. Но он изначально это такой типа в режиме SaaS история, но туда можно притащить свои модельки и использовать тогда как как посчитаешь нужным. Вот по бенчмаркам он как будто бы на тех же самых задачах, на одних и тех же моделях уделывает родные Harness'ы в плане качества и экономии на токенах. Что не знаю насколько, правда, но вроде бы достаточно часто про это попадается. Я пока вижу, что на разных бенчмарках, ну, тот же самый вот недавно был, да, от Nebius, ещё от кого-то, а, от Tripleten был свой, что родные Harness'ы выигрывают. То есть тот же самый, не знаю, Opus на CodeX даёт больше попугаев, чем Opus чистый на вот этом самом Harness'е, который универсальный. Они взяли для всех. Ну вот универсальный одно, а вот тем не менее есть какие-то обвязки, которые выжимают ещё дополнительные профиты. Ну, в общем, тут тоже я сам пока ещё не успел потрогать и поэтому ничего не утверждаю, но прокойна слышен.

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

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

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

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

>> Это тоже правда. Ну там по идее-то вот то, что делает Nebius. Задача в том, чтобы выборка в корзинке была всегда такая, чтобы она была свежее, чем отсечка, когда выпускалась модель и когда выпускался HarnessN. Соответственно, в теории оно не может быть заточено под конкретные задачи.

>> Ну про свои задачи я могу сказать, что у меня одинаково хорошо они решаются и родным Harness'ом, и Py, и OpenCode. Возможно, как раз вот из-за этой схемы, что план, ревью, решение и снова валидация через вторую нейронку. Опять же, ну, это довольно простые задачи. Я не доходил до того уровня, что я ей просто кину какое-то там высокоуровневое описание в трена всё сделает прямо с нуля большую архитектуру. Не, у меня задачи достаточно атомарные. Здесь я ещё работаю по-старому. То есть сначала декомпозировал, потом все эти задачки по очереди скармливаю. У меня нету того, что я делаю там кучу задач в параллели. Это тоже могу сказать такой довольно сейчас популярный вопрос, да, что сколько ты там задач параллельно можешь? Ну там, ну две-три максимум. И это будут задачи в разных вещах. То есть здесь у меня пока это работает. Здесь я пока open source починю, здесь что-то ещё в ещё одной либе, потому что внутри одной это достаточно сложно. Потом это как-то надо поднять. То есть, если я внутри того же Work 3, да, сделаю ещё вторую задачу, то мне негде будет это всё развернуть. У меня моя машинка, на которой я всё это гоняю, она выдержит только один инстанс. Там два параллельно не запустить. Поэтому мне сложно здесь делать несколько задач. Да и головы не хватит на за всем этим следить. Но если какая-то мелочёвка, то бывает, что-то большое я делаю на виртуалке и параллельно на своём ноутбуке какую-то такую мелочёвку, которую можно проверить, не запуская там, чисто тестами, например. Такое, да, параллельно иногда запускаю.

>> А если попытаться оценить твоя скорость разработки в донейронном мире и вот сейчас с сколько Андреев? Ну, я думаю, где-то x3, x5 точно, потому что задача сейчас часто закрывается за день. Это тоже такой интересный вопрос. Я вот думал команды, где оценивают задачи всё ещё в сторипоинтах. Вот в нашей команде этого нет просто, что вот сели и стали вместе там потером, да, оценивать вот как они сейчас это делают. Вот сидят тебе там пять разработчиков, два из них очень глубокой, два, ну, средненько трогают, третий вообще против AI, у него там 20 долларов на курсоре хватает за глаза, да, скажем. И вот эти говорят: "Да, это задача вот сейчас там, пока мы ещё общаемся, мне нейронка сделает". Другие говорят: "Это день делать". Третий говорит: "Ну, 3 дня". Как они теперь сходятся, эти люди? Как это калибровать? Я не понимаю. И как и и как они встретятся на Performance Review через полгода.

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

>> А сколько это в токенах стоит, чтобы так себя ускорить?

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

>> О, я не знаю, насколько это индей.

>> Ну ладно, давай снимем вопрос. [смех]

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

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

>> Да, последний вариант. Ямпун, да? А я сотню мне хватает. То есть я брал 200 как-то раз попробовать весной помню взял у Anthropic 200 и не смог это выбрать для меня это слишком много такой куда это тратить такой сижу думаю ну что мне ещё сделать-то и я ещё очень неэффективно всё это расходовал то есть тоже там гонял браузер через Playwright хотя по-хорошему надо бы сделать нормальные опишки настроить себе хороший harness на своём проекте и будет это всё дешевле и быстрее поэтому сотни за глаза мне хватает.

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

>> Дадада. И вот у нас ребята пробовали GLM 5.2, тоже брали там напрямую за Тай подписку, говорят: "Да, почти как Opus ощущается". Класс. Наверное, разработческую часть мы тогда уже тоже закрыли. Давай поговорим про то, помогают ли тебе нейронки где-то вот за пределами работы, за пределами разработки.

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

>> Класс. Строители не нужны.

>> Ну нет, строители, конечно, нужны, но вот если хочешь сам что-то раскопать, какую-то темку, особенно в прессёрче, я я плачу за Perplexity. Потом я показал его жене. Жена сказала: "Мне нужно". Теперь приходится оплачивать две подписки за Perplexity. Мы постоянно там ещё по всяким медицинским вопросам копаемся. И тоже могу сказать, что, ну, вот если брать, например, педиатров, то Perplexity в депрессёрче работает не хуже, иногда даже лучше. Если ты весь анамнез туда загрузил, то результаты будут шикарные. Как раз читал где-то на Хабре, по-моему, как тоже какой-то разработчик смотрел, смотрел, как у него жена мучается ребёнка там возит постоянно по врачам. у него в голове всё это не помещается, и он сделал для дома такую же систему, что там прямо хранилище всего анамнеза загружается. Она ещё записывала на диктофон врачей. Они это всё транскрибировали, и результат прямо шикарный. Они там очень многое вытащили, то, что врачи упустили. Поэтому тоже вот в эту сторону куда-то думать, что было бы неплохо. Я сейчас это просто в папочке в Perplexity собираю, было бы неплохо где-то держать такие вещи. Так что в медицине, да, тоже сильно помогает. Ну и где-то просто какие-то депрессёрчи поделать. Иногда перед докладами они наконец начали рисовать нормальные слайдики. Осенью я ещё пытался сделать доклад с нейронкой. Был ужас. Никто не мог нарисовать что-то приличное. Сейчас для того же самого PowerPoint можно добиться, ну, не вот этих вот синих ужасных, а каких-то даже приличных слайдов. Поэтому там тоже подключаю, если нужно что-то быстро собрать, мы там общаемся, структуру обсуждаем, потом он дотягивает что-то, потом собираем, потом я говорю: "Ещё проверь по всем этим источникам и добираю". Опять же, часто использую ноутбук LM. Вещь шикарная. И иногда уходя вот на прогулку с ребёнком, я заранее туда загружаю кучу всего по теме, которой мне надо разобраться. Он мне собирает подкаст и слайдики. Я всё это беру и иду гулять с ребёнком и слушаю. Как раз вот в эвалах, когда копался последний раз и очень много всего перелопатил таким образом.

>> Прикольно. Ты ещё у себя в канале писал про то, как ты собираешь новости.

>> А, да, да, да. Ну, тоже, так как мне нужно много следить за AI, просто потому, что я им занимаюсь по работе, то да, конечно, собрал себе ботика, загрузил в него кучу Telegram-каналов, Хабр, что-то там ещё подтягивается Death to, и он каждое утро перелопачивает эти новости и даёт мне выжимку, что у нас в мире AI и фронтенда произошло со вчерашнего дня. Пока так. И я думаю, стоит попробовать собрать что-нибудь на Dremes, чтобы он не просто по моим ссылкам делал, а мог куда-то покопать, чтобы я ему говорю: "Вот это о'кей, новость это не о'кей". И он постепенно сам понял, куда побольше покопать, что достать и приносил бы. Но в целом уже неплохо. Он средит такие вещи вытягивает. У меня просто за этим нет времени следить. А тут он вот эта штука обсуждалась вчера активно. Как такой-то там квенчивает уже на домашнем оборудовании. Я иду читаю. Да, да, это хорошо. Это не зря принёс. Ну, конечно, у него таких нет памяти. Он иногда одну и ту же новость по 3-4 дня подряд приносит, когда она начинает лететь по куче Telegram-каналов. Да, он такой: "Опять". Я говорю: "Ну, опять вы про этот Мифис, да, знаю я, что его там запретили". Но в целом всё равно очень сильно упрощает жизнь. И, конечно, хочется глубже в эту сторону двигаться, больше такого делать, потому что, ну, прикольно, прикольно, особенно когда у тебя, как я говорю, у меня ребёнок, ребёнок, он съедает очень много времени и не остаётся даже вот там полежать в кровати с телефоном, такого удовольствия нет.

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

>> Ну, как я уже говорил, в феврале прошлого года у нас был Sanetrisi, сейчас у нас был, да, недолго, но был. У нас есть Opus 4.8. Вот как тут сказать, ускорение космическое просто, что было и что стало. Если год назад мы говорили людям: "Попробуйте", оно что-то может? Они пробовали, говорили: "Ну да, да, уже что-то может, да, где-то в каких-то маленьких задачках будем пользоваться". то сейчас оно уже может почти всё. Ну, из таких из базовых разработческих задач. И здесь как раз важно, наверное, не упустить этого, пользоваться и уходить больше в продуктовое понимание. То есть у меня вот такой план. То есть больше посвящать тому, чтобы обвешивать это всё метриками, общаться с клиентами, понимать за развитием, потому что время освободилось как-никак, и можно качество туда. И вот я думаю, что туда и будем двигаться, что разработчики будут уже не вот команда вокруг продукта, а один человек вокруг какой-то большой штуки и под ним куча нейронок. Ну ладно, одного мало, потому что бас-фактор всё-таки, да. Ну, 2-3, но всё равно как-то так. То есть меньше кода и больше продуктового понимания, зачем это делается, почему и какие под этим метрики. Стыдно уже будет не собирать метрики.

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

>> Э, если вынесено, то, конечно, да, но так ещё редко делают. То есть я вижу, что артефактов почти не остаётся. Да, люди уже начали коммитить там планы, выбирают варианты с SPC Driven. Ну, мы как видим, да, у нас фреймворки по SPC Driven выходит постоянно новый. Вот сейчас кажется самый модный Open SPC. До этого говорили, ну, по-разному, и SpecterKit был, и Kedan, и ещё что-то или как он там назывался. А,

>> ну тот тот вообще заскамился.

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

>> Сегодня суббота, держи себя в руках.

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

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

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

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

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

>> Да, к сожалению или счастью, сейчас можно там через месяц полностью пойти и и полностью поменять своё мнение, а потом через месяц ещё раз.

>> Да, да, спасибо, было очень интересно. Всем пока.

>> Пока. [музыка]

>> Сгенерируй для подкаста Гринянка Про. Напомни слушателям поставить лайк и [музыка] подписаться. А ещё подпишитесь на Telegram-канал Desbon. M.