Transcription
Сегодня я буду рассказывать про то, про то, как я, а, успешно использовал и в своей работе и какую пользу он мне принёс. Вот.
А-а, вы видите сейчас картинку, и у меня сложилась очень чёткая ассоциация именно с этим героем. Э, ну, вы все его знаете, это Танос. Вот. Э, он какую проблему хотел решить? Ну, то есть проблема была то, что ресурсов не хватало во Вселенной и было слишком много потребителей. То есть он хотел, а, при помощи одного щелчка вот так вот щелчковому пальцем, а, оптимизировать, можно так сказать, нашу вселенную и, а, ну, решить наши проблемы. Вот. И у него для этого ему нужно было собрать, а, пять камней. Вот. И с этими камнями он стал прям вообще очень крутой такой парень. Он и до этого был очень сильный. А с ними он вообще молодец. Вот и такая остало сложилась, то, что сегодня опытные программисты вместе вот с этим большим количеством, а, и инструментов, чатами и прочими вот этими штуками, они, а, как бы не то, что не нужны, о чём, да, вот как бы иногда любят кричать, э, такие громкие заголовки, а наоборот, они становятся, а, сильными и очень продуктивными. Вот.
А пару слов обо мне. Сейчас я переключу слайд. Вот. Меня зовут Денис. Я фронтенд разработчик в MVS. А это MTS Web Services. Вот вошёл в IT в восемнадцатом году и отдаю предпочтение книгам, а не YouTube. Вот.
А так немножко истории. Вот. А как раньше мы искали? Ну, мне кажется, это уже входит в историю. То есть раньше мы гуглили, а сегодня мы делаем запросы. Иногда можно ещё и поиск нажать. Так поиск происходит, можно сказать, э не то, что эффективнее, он смотрит актуальную информацию. Вот.
И казалось бы, а сегодня такой хайп с этими ишками. И возникает вопрос: "И у нас уже, аэ, захватил мир или когда он нас захватит?" Ну, мне кажется то, что а-э и ну он уже полностью э во всех сферах там, в каких сферах его ещё нет, он там обязательно будет. И всё это очень напоминает сильно а лихорадку такую. Ну прямо вот компании некоторые даже, ну я не знаю, в некоторых местах там просто это неуместно, но всё равно туда все идут, туда вкладывают огромные деньги, и это очень похоже на такую вещь, как и раньше была. Может быть, у кого-то есть, а сложились ассоциации вот с этой картинкой. И я сейчас включу следующий слайд, обязательно всё сложится. Вот. То есть, а победителями в этой гонке сегодня, на самом деле, вот у нас, а, это продавцы того, как бы, вот этих лопат. Вот. Ну, это было немножко такое отступление. Давайте пойдём дальше.
Чем хвастаются компании? Вот чем, ну, полезен и у нас сегодня, а-э, почему он так популярен? Вот. Ну, во-первых, и Gрит код. А я сегодня покажу несколько примеров, как он это делает. Очень круто. Это автоматизация каких-то процессов при помощи и, ну, то тоже инструментов. А, тоже покажу. И увеличение производительности труда. Тоже об этом а говорят компании. То, что а ну то есть не всегда говорят о том, что как бы специалисты станут не нужны. Нет, наоборот, э опытные специалисты, наоборот, они станут намного эффективнее и будут, э, карфомить ещё больше. И как бы тут, ну, громкие такие заголовки от крупных компаний. Например, а Google в двадцать четвёртом году сказал, что, а, у них уже больше четверти кода генерится и вот. А Microsoft говорит то, что через 5 лет будет сгенерированный код уже почти 95%. И я вам скажу, что это ближе к правде, чем чем не ближе. Потому что, ну, в нашей компании, например, вот год назад была статистика такая, что 8% и, э, генерил код. Я правда не знаю, как они считали, вот, но в этом году они уже похвастались тем, что 20% кода генерит и в моём же случае, мне кажется, э ну даже чуть больше получается его сгенерить. Вот.
А когда мы ближе подходим к этой теме, ну, как к практической этой теме, вот у нас есть, ну, возникают, естественно, какие-то проблемы. И проблемы сегодняшнего дня. А тут, наверное, со стороны больше, а, использование и инструментов, ну, для нас как пользователей, э, вот эта картинка, она прямо максимально полностью показывает, иллюстрирует вот эти все проблемы. сегодня, аэ если ты новичок, ну, хочешь попробовать это, ты просто, ну, не понимаешь, что тебе нужно использовать их, э, этих, а, вариантов просто миллион. Это не только, например, вот как здесь на картинке, ну, можно догадаться, что это Open, ey, а таких, а, провайдеров, их, на самом деле, очень много. Их там, ну, я не знаю, сколько их, их реально огромное количество. Кроме тут провайдеров ещё есть такие сервисы, типа как Open Ro Open Roader, потом а hug face ещё другие варианты, которые а ну предоставляют такое как бы про парксирование через удобные оболочки, где ты можешь быстренько переключать разные, ну и пробовать э разные вещи. или какие-то дектоные решения, локальные приложения, например, как Алаama. Тоже можно локально у себя на компьютере установить - аламу, гему, там разные модели. Вот попробовать всё это. В общем, огромное количество и непонятно на самом деле с чего начать. Э, аэ, открываю вот этот сайт, например, Open Ro Open Roer, а иду в трендинг и смотрю какая. и сегодня в трендинге, и чаще всего она, на самом деле, э очень хорошо справляется со задачей, и стоит она, ну, достаточно таких адекватных денег, и в целом всё получается неплохо. Вот сейчас я кратко рассказал про аа и, ну, про то, как это можно правильно выразиться, как это сегодня выглядит. И давайте перейдём к самому интересному, к практике, да? То есть у нас сегодня тема какая? А про то, как нам помог, как мне помог и аэ в работе. И, аэ, я вынес такие важные моменты, которые а должны быть для того, чтобы был а успех этого взаимодействия. То есть самые, ну, для меня это важные составляющие составили то, что я в контексте продукта и кода. Это очень важно. То есть я понимаю, а-а, что я делаю и зачем я это делаю. Я знаю, ну, я знаю, как решить эту задачу. Это не то, что я такой сижу и не понимаю, какие е буду делать. Нет, я знаю, как решить эту задачу. И это обязательно атомарная операция. То есть это что-то одно. Это не только вот возьми это, положи туда, там, а потом создай сервис. Нет, это атомарная операция. И вот эти вещи, а ключевой момент, они, а, а, с сегодняшними моделями работают очень хорошо и действительно помогают в работе.
А, посмотрим на первый пример. Это а фронтем приложение настоя, ну, как бы моё рабочее приложение, оно написано на view. используется Typeescript и Effector. Это state-менеджер. Не знаю, кто, может быть, кто-то о нём слышал, может быть и нет. Не самое популярное решение, на самом деле. А связка View ПЕКР - это вообще большая редкость. А связка View 3 пру я недавно не делал миграцию с V2 на View3. такого, а, мне кажется, не было вообще, потому что мне пришлось контрибьютить в эффектор, чтобы, а, эта связка нормально работала. Вот. То есть тут мне попался очень удачный пример низшего решения, где аэ искусственный интеллект, так называется, не смог мне помочь. И, ну, и в принципе он мне не смог бы помочь, потому что, а, я написал, написал это решение самостоятельно, и оно у меня до сих пор ещё локально лежит. Я ээ никак не не законтрибьютил. Ну то есть там часть уже есть и ещё нужно дописать. Вот. В общем, в проекте 108.000 строк. И задача. Какая задача? Задача максимально простая. Это настоящая задача у меня жиром. Она, знаете, как возникла? То есть у нас было обсужде обсуждение на Дели, и появилась такая маленькая задача, а удалить раскраску звонков карточке кандидата. Всё. Это прямо вот э топик. задачи взял как он есть, аэ, и я пошёл как бы в инструмент CIN. О нём я тоже расскажу. И что я сделал? Сейчас я покажу демонстрацию. Я, а, не буду показывать это на живом коде, потому что он может пойти не туда. Ну, то есть он как бы всё-таки не всегда же делает одно и то же. И чтобы не так сильно попасть подде, хотя всё равно буду показывать код, я покажу запись, но а сегодня будет всё равно лайкодинг очень живой, поэтому не переживайте, пожалуйста. Сейчас я переключу видео, потом один момент, пожалуйста. Так видно экран? Да, видно. Может быть, немножко увеличить. А у меня на весь экран он Ага, ну видно, да. А, ну сами можем в зуме каждый, да?
А пару слов про инструмент. Это клайн. Это расширение для VS-кода. Вот он это агент, который помогает писать код. И в него можно, грубо говоря, подключить любую яишку, даже с той же аламы, которую можно запустить локально у себя на компьютере. Так вот, а что я сделал? То есть это это прямо был мой workflow. Я пришёл в Cline, а, скопировал нейминг вот этой задачи. Аа здесь я ещё, если заметите, а указал, где конкретно найти код для этой задачи, но на самом деле первый раз я так не делал. И а Клайм, вот этот агент, он очень долго искал этот кусок кода, потратил кучу токенов, вот, но он его в итоге нашёл. Это очень важный момент. И сделал он всё то же самое. Вот я сейчас запускаю аа агента. Идёт запрос, ну, отправляется запрос, он нашёл код, и он начал его редактировать. Вот он удалил часть кода, удалил здесь часть кода. И вот и вот оно как бы вот это вот это вот ощущение. На самом деле, знаете, я это не первый раз, когда я так делал, ну, такие небольшие задачи. Я просто беру топик из задачи, иду в клайм, копирую, вставляю, а он всё делает. Git comed, gitp. Всё, задача готова. Это, ну, вот это вот это, да, вот эти ощущения я словил прямо, да, сегодня это помогает, это решает задачи. Код, ну, вы видите, да, то есть тут элементарный код, тут работа руками, я не знаю, вместе с поиском вот этого всего кода минут 10-15 максимум, но всё равно это сегодня так. Э, год назад, ну ладно, полтора года назад такого не было вообще. Сегодня это так, а, а что будет завтра, да? Мы можем себе представить, насколько а круто, насколько офигенно вот это всё работает с такими вещами. Сегодня я вам скажу, что у нас, а, в компании сделали форк вот этой вот этого агента Cline и а есть возможность подключить а таски такие вот, в общем, подключается жира. Выбираешь задачу, нажимаешь окей, и вот это всё происходит автоматически. Это, ну, то есть я как бы словил прямо офигенные ощущения, когда вот это начало получаться. Вот. Но здесь есть продолжение, потому что, а, как бы я в контексте кода я знаю то, что он удалил на самом деле не всё. Я ему пишу: "А удали, пожалуйста, ещё стили, которые, ну, связаны с этим кодом". он сразу нашёл а файл файл, где нужно удалить стиль. Ну, потому что он импортировался а в этом файле и удалил стили. В принципе, всё. На этом задача у меня закончилась. Все, сделал Gitc, Gitpush. Ну, потому что там кода было немного, и я выполнил задачу при помощи и этот код в продакшене. И это не первый раз, как такое случается. Вот. И как бы это очень круто, на самом деле. Так, сейчас продолжим дальше. Там будет немножко сложнее пример.
Хороший комментарий. Ломать не строить. Да, мы сейчас будем строить. А, да, сначала расскажу про неудачный пример. А, это фронтенд приложение, библиотека компонентов на View3, которую мы используем, а, у нас в компании, ну, такой inner source, где разные команды, а, собирают вместе компоненты. Вот. И задача такая была, на самом деле, достаточно тривиальная. У нас есть компонент календарь. Ну, сложная задача. Ладно, сложная задача. Есть компонент-календарь, и в нём ещё не не реализована, а фича. Ну, то есть, чтобы можно было выбрать дату от и до. Вот я, а, ну, на эмоциях пошёл в клайм. Думаю, сейчас он мне всё сделает, я покажу ребятам, и как бы всё будет классно. Все скажут: "Вау". Я, в общем, а, зарядил туда самую дорогую модель. Это на тот момент Cloud [музыка] Clet. Вот он очень долго аэ писал код. Было написано достаточно много кода. Вот, э, потом после того, как он написал код, я его запустил. И да, там действительно было два календарика там. А я мог как бы щёлкнуть на две даты, но не работало. О'кей. Ладно, я пишу то, что это не работает. Давай ещё раз. Опять пошло, поехало всё заново. А, в общем, так продолжалось несколько раз, и я получил такой как бы опыт. Потратил 5 долларов на своём счету. И по факту у меня ничего не было. На это, на всё про всё ушло где-то минут 20. То есть он 20 минут реально, э, прямо вот переписывал, переписывал, переписывал код и ничего не сделал. То есть, то есть весь тот код, который он написал, я его удалил, потому что там было реально много кода. А разбираться в коде, который он написал, и, во-первых, не хочется, а во-вторых, ну, как бы тут, наверное, работает уже то, что надо писать всё всё-таки самому. Вот этот это такой неудачный кейс. И таких кейсов я скажу, что, ну, то есть в большинстве случаев именно эти они такие, когда аа э берётся какая-то тяжёлая, ну, такая сложная составная задача. Вот. Но мы сейчас рассмотрим третий кейс. А это тоже составная задача, но она достаточно простая. То есть это я покажу на а примере на бэкэнсервисегда будет Dino, SQLite и Telegram. На - это одна из средптовых, там типа JS. Вот. А почему не купили подписку за 20 долларов в месяц? Это в Клоде, вы, наверное, имеете в виду. У меня аэроу там подписку я не видел, на самом деле. Мне очень удобен Openутер, потому что я постоянно, а, пробую разные модели и, ну, это как бы очень удобно. Я там могу и Open i, и Antropic, и вообще какую угодно модель использовать. Плюс там ещё есть бесплатные лимиты на тоже популярные модели. И поэтому, ну, если хотите попробовать разные модели, это как бы надо использовать Open Router там, а ещё какие-то есть, э, такие, не не помню. Ну, в общем, их тоже несколько таких вариантов. А, Hagen Face ещё. Подписка на курсор. А курсор, про курсор я тоже скажу чуть попозже. У меня там будет вопрос. Вот. Поэтому давайте сейчас посмотрим на третий пример, как он справился с этой задачей. А этот пример, на самом деле, будет прямо лайфкодником. Я сейчас буду писать. И тут есть такой лайфхак. А, ну как лайфхак я для себя определил. Это а очень сильно помогает писать промты. То есть прежде чем написать промт, я иду писать промт. Вот так вот скажем. А я открываю чат GPT open одну минуточку. А что насчёт VS Code Agent Mode? В недавном обновлении, кстати, я первый раз эту штуку увидел, но я её так и не попробовал, если честно сказать. Но я могу сказать, что я попробовал агента вот на вебшторме, он тоже прямо буквально на днях вышел. И, ну, то есть это вообще как бы очень сильно проигрывает тому же коину. Так, а смотрите, давайте сейчас, да, локация Россия. Сейчас отк вопрос скрылся, не увидел. Минуточку. Откуда локация Россия? Значит, всё через ВПН получается. И кастлет у нас всё заблочено, да? Локация Россия. А VPN? ВПН у меня стоит на э маке. Ну, он как бы такой глобальный. Вот и он не только в браузере. И поэтому у меня в принципе проблем нет. Ну да, приходится как бы ещё немножко платить и за VPN.
А пару слов про проект. Это Telegramбот, на самом деле, а немножко замысловатый, то есть как бы э в нём планируются и агенты, и вот эти все модные штучки. Но он решает простую задачу. Это этот бот а для записи клиентов. Вот у меня есть сущности там, а, мастер, аэ, сервис, организация и вот это всё такое. Мне, а, нужно добавить клиента. То есть мне, чтобы создать новые, аэ, сущности, новую бизнес-логику, мне нужно создать, а, клиента и нужно э создать что-то типа ОРЭМа. Ну вот эти методы создать клиента, удалить клиента. М у меня не используется. Вот. А у меня всё написано, а на самом деле. И как бы я в любой момент могу прямо очень детально всё посмотреть, отправить. И это на самом деле очень удобно и очень быстро. Вот как это всё происходит. То есть я для того, чтобы мм написать хороший пром, чтобы меня поняла ишка, иду а в Open аэ и прошу её написать про Так. Так, сейчас одну минуточку. У меня где-то была заготовочка. Сейчас. Так. Вот. А может сейчас как с навряд ли сочиню. А я ему добавил контекста сразу, чтобы он понимал, в чём, где нужно смотреть изначально. То есть создать схему и менеджер сообщений, э, как, ну, то есть я ему говорю похожий код - это тоже очень важный момент, то, что, а, агенты очень, ну, то есть качественно делают, если есть что-то в вашем коде. э-э похожие, то есть они, ну, то есть не сочиняют, они делают именно, а, примерно так же, так же, а, как, э, пишете вы. Вот. Аруляем прот. Он сейчас сочинит мне ещё один пронт. Вот. Ну, то есть он как бы намного подробнее стал. Просто копируем этот фронт. На самом деле мы можем это сделать и так, у меня не переключился, да? Сейчас я переключусь накод. Так, смотрите, там, в общем, а здесь выбирается любая модель. И у нас стоит Cloud Sunnet. Отправляем в неё запрос и наблюдаем, как он пишет код. А в папке схемы он создал схему. Она выглядит ровно, точно так же, как и остальные схемы. И вот он начал писать message менеджер как раз-таки о том, я чем о чём я и говорил, создать, удалить. И вот это всё покрывается всё комментами. Пошла регенерация. Он, а, обычно проверяет что-то, если есть какие-то ошибки. Он видит ошибки типов и переделывает. Ну а так вот всё, он завершил а задачу. То есть, ну, можно посмотреть схему, он создал, а, в принципе, она меня, а, полностью, скорее всего, на этом этапе устроит. Ну да, он создал индексы US ID и Swift. Тут, конечно, спорно. Ну, о'кей. И создал мне менеджер, с которым я прямо сейчас а смогу работать. То есть, смотрите, а это код как раз-таки на то, чтобы, точнее, это промт на то, чтобы создать новый код. И тут он, а, в целом справляется тоже хорошо. А с чем он справляется не очень хорошо, точнее, он мог бы справляться намного лучше, это вот с изменениями больших, точнее, сложных задач. Вот тут действительно сегодня я не могу похвастаться ни одним удачным примером, когда бы он смог, а, мм, в существующем проекте сделать что-то, ну, такое достаточно крупное и то так, как я бы хотел. Вот. Во-первых, даже если он делает, ну, делает много изменений, это очень сложно аа читать, это очень сложно ревьюить. Давайте, а с кодом у меня закончилось. Сейчас пойдём дальше по презентации, и я скажу, а как раз-таки своё мнение по этому всему поводу. Ну, то есть что из этого получилось у меня, да?
Давайте, а про пользу расскажем. Ну, то есть какая всё-таки самая главная польза из этого всего? Реально вот из из реальных примеров, которые мне вот а-э получилось а в какую-то пользу взять, это экономия времени. Всё. Ну, то есть как бы это действительно пока единственная, а, польза, которую я увидел. То есть это, ну, не знаю, как это можно сказать. Наверное, это очень важно, да. Ну, потому что что у нас самое ценное? Самое ценное - это у нас время. Но если посмотреть на обратную сторону, то там как бы есть существенные минусы. Это сложные задачи, а сложно рорбить на тамарной операции. То есть, если у вас какая-то комплексная задача, а если даже вы её разобьёте на томарной операции, вообще не факт, что агент справится с этой задачей так же хорошо, как если бы это были какие-то, ну, такие вот простые задачи. А плохо работает с непопулярными решениями. Вот как я столкнулся с библиотекой Efector и библиотека Effector п3, а, которая в продакшене, в принципе, по-моему, нигде не была. То есть он, в принципе, не знает, как это решить. И, ну, я пытался ему подсказками что-то делать. Нет, он, э, даёт старые решения, которые не работают и, ну, в принципе, не могут работать. То есть нового или что-то как-то сделать так, чтобы оно, а, работало, ну, не знаю, у меня не получилось бантами. Сделаю так, э, как мне нужно. Вот. А генерит много кода. Это тяжело контролировать. Иногда он, э, ну, это контролируется промтами, но всё равно, иногда он пишет много кода, это тяжело а-а смотреть, это тяжело ревьюить. Вот. А то есть я не знаю, это, ну, я реально быстрее просто устаю э чем я бы сам писал этот код. Ты когда смотришь, пытаешься понять, что он пишет, пытаешься разобрать вот это, ну, реально устаёшь. Вот пишет небезопасный код. На самом деле у меня тут два инсайта по этому поводу. Небезопасный код с точки зрения, а безопасности. Именно вот недавно я так не так давно я прочитал статью, в которой именно разбирали вот этот код. Он, ну, там действительно есть опасные моменты, которые он упускает. Вот. Э и ну и вот, собственно, как бы это за этим тоже нужно следить. пятый минус, ну, как бы он очевидный, это дорого. То есть вот эти агенты, это же получается, а ты пишешь один промт, они сверху, а накидывают технические промпты, вот эти вот, а, тулзы, ну, чуть дальше расскажу об этом. А твои ещё какие-то технические штуки. И ещё несколько раз вот эти промты туда-сюда гоняют. И получается не один запрос, а их как бы, ну, достаточно много. И всё это получается дорого. Это реально дорого. Я, а, потратил вот эти вот 5 долларов на генерацию этого несчастного календаря буквально за 20 минут. Я просто вот, а, нажимал перегенерить, перегенерить или попробую вот так, попробую вот так в надежде на то, что это он всё-таки сделает мне этот календарь, и я похвастаюсь ребятам. И тут выплывает шестой минус. Он такой достаточно неочевидный, но он есть. И это точно. Это азарт. Это вот именно азарт вот этот. А ты отправляешь промт, он у тебя а не делает э рабочий вариант. Ты отправляешь ещё один промт, ещё один промт. Это превращается просто вот в такую рулетку. Ты промты закидываешь, закидываешь, закидываешь, и в итоге ты остаёшься ни с чем. Вот. Но чтобы не осоваться ни с чем, да, лучше закидывать обычные, ну, атомарные такие операции.
Ан хотел бы ещё поделиться небольшими своими, а, ну, небольшим своим опытом, с чем я работаю, собственно. А у меня есть в моём арсенале это три чата, с которым чаще всего я работаю. Это GPT. в основном dipsк и то есть в GPT я отправляю запросы, можно так сказать, а такие более сложные на обсуждение то, как это можно было бы решить. Вот. А GPCEN - это такие, ну, достаточно простые что-то типа напиши функция, которая будет там что-то сортировать, на выход отдаст мне то-то, то-то. Вот держи такой интерфейс. вот шикарно справляется с этой задачей. И GPT, GPC и КВН это экономит тоже кучу времени. Это чаты. Вот они как бы уже достаточно давно с нами, мы уже знаем, как с ними работать. А что по поводу а-а других инструментов? А нет, чуть-чуть поторопился. Ещё один очень классный опыт. А это когда, ну, я получаю какую-то ошибку, она большая такая. В ней куча всего написано, просто копипаст в чат и всё. И тебе прямо по полочкам раскладывается. Вот у тебя тото то-то то-то, то-то то-то. Это действительно экономит то же времени, потому что, ну, вчитываться в такие ошибки, которые ещё без подсветки и самих ошибок, где просто текстом таким, это просто ускоряет, ну, то есть это реально экономит времени. А после по инструментам, по агентам. То есть я попробовал рукод, Эйдер, курсор и джни. Ну, честно, по моим собственным ощущениям, они все очень далеки от клайна. Я не знаю, ну, почему так сложилось у меня. А в клане я пишу промт, он делает то, что я хочу. Я вижу, что он делает, и я могу как-то как я могу его контролировать свободно. В общем, как бы, а у меня чисто чисто моя рекомендация просто. Айм на сегодня, как мне кажется,
Это очень такой сильный агент, который поможет сэкономить вам времени именно в работе. Вот это по инструментам.
И я ещё подумал, что сегодня было бы тоже хорошо сказать про такой же хайповый инструмент, как и все и - это NCP серверы. Аа NCP сервер - это что такое? Это что-то типа аэ такой как бы розетки плагин лмки к а какому-то сервису а на ресурсе MCP. Аа, забыл, как дальше называется. У меня в конце презентации будет ссылка. В общем, на гитхайде там уже очень много, а, сервисов, которым вы можете подключить MCP.
Ну, простой пример приведу. Это, например, Посрос. А, подключаете MCP сервер и пишите прямо человеческие запросы. А, найди мне в такой-то таблице то-то. Всё, он, а, сканирует таблицу, он, а-э, сканирует колонки. и приносит примерно, ну, то, что тебе нужно. Вот. Ну, это, а, как говорят, очень удобные штуки. На самом деле я пока не словил такого инсайта, чтобы прямо вау, как классно он мне помог. Вот. Ну, я думаю, у меня всё впереди, но пока такого нет.
А сейчас, в данный момент, я сам, а, пытаюсь создать э сервер, сервер с клиентом MCP на базе того же Телеграма. Вот. Но там, а, да, действительно, очень интересно как раз-таки посмотреть на внутр внутрянку этого MCP-сервера. И работают они, ну, прям, то есть там прям прямо ты такие, ты аа управляешь такими-то агентами. Вот этот агент отвечает за условно базу данных. Этот агент отвечает за, не знаю, очередь. Если запрос пришёл такой-то, отправь этому агенту. Этот агент, у этого агента есть инструменты, и он использует эти инструменты, отдаёт супервизору, супервизор уже даёт тебе. Это такая история, которая может расширяться до бесконечности и строить какие-то невероятные такие сложные штуки, которые друг с другом будут общаться и работать. Вот. Но насколько они огромны могут быть, не знаю, наверное, настолько, насколько глубок ваш кошелёк, потому что там гоняется куча запросов и, ну, ну, и как бы вот тема интересная, на самом деле.
А давайте перейдём к вопросам. Шли вопросы от вас интересные, на самом деле. А, а как можно применить код, чтобы использовать её для нивелирования человеческого фактора? Честно, я не очень понял этот вопрос. Если вы мне его подкорректируете, то я постараюсь поточнее ответить. Вот. Что значит человеческий фактор? А это тот код, который написал и Ну, попробуйте раскрыть его. Я не очень понял.
Как можно, как можно показать, как на практике выглядит применение AI? Живой пример, да, я показал пару примеров. На какие AI инструменты для разработки стоит обратить сейчас внимание, какими ты видишь будущее за разработкой. А про будущее. Ну вот как раз-таки, а вот эти агенты, которые соединяются в большую группу, ими контролирует супервизор, это вот всё превращается в такую какую-то, а большую штуку, которая а сама себя а-а сама в себе сохраняет весь контекст, передаёт этот контекст между, а, агентами, между супервизорами. То есть там можно, получается, супервизор вложить в агента. Это может получиться какая-то очень тяжёлая такая, а, сложная структура, но она должна давать хорошие результаты. И я думаю, то, что, а, в будущем будут появляться именно такие сервисы. То есть они как бы, если сегодня, а, AI - это как, ну, как дополнение, как это, как второй пилот, как копайт, да, то в будущем, скорее всего, сервисы начнут строиться с той паразимо, что а вот это человеческое общение с сервисом, оно будет на на первом месте, а на вторичном месте это наши стандартные интерфейсы, вот эти вот, э, которые там кнопочки и селекта. Вот. Ну, я предполагаю будущее именно такое, то есть AI first, да, вот как мы во фронтде говорим, Mobile First, а вот у нас будет AI first, подход к разработке систем, я думаю, будет именно такое.
А зоны ответственности осечение ролей и задачи каждой из ролей в цикле разработки конечного продукта и релизов прот инженер инженеринг инженер востребован зарплаты инженеры проках сг глобальном так это на два разных вопроса зона ответственности пресечения ролей задач кажется хоть разработка конечного продукта и релизов про а тоже сейчас по не скажу, а про какую именно зону ответственности и перечтения ролей. Так, востребность зарплаты инженеры на рынках СНГ и глобально. А зарплата и AI инженеры. Ну а мы сегодня говорим про с точки зрения пользовательского опыта, то есть я как пользователь AI, я не знаю, сколько зарабатывают AI инженеры. наверное, много, потому что сегодня туда вкладывают огромнейшие средства и как бы, ну, действительно производят очень классные продукты, и они должны достойно зарабатывать, я так скажу, поэтому они зарабатывают, наверное, боле следующие вопросы.
Как при генерации код снипетов оптимальным образом передавать lm максимальный контекст по проекту для наиболее качественного решения задачи? Вот тут хороший вопрос. А тут, наверное, можно задать вопрос к себе. Ну, то есть когда мы, а, у нас есть задача, мы идём решать задачу. И нужен ли нам весь контекст проекта, чтобы решить эту задачу? Я считаю, что нет. Допустим, нам не нужен весь контекст а задачи. Иногда встречаются такие случаи, что да, для решения конкретной задачи аэ нужно охватить полностью контекст, но это больше, знаете, архитектурные задачи такие, а когда, ну, нужно, не знаю, какую-то интеграцию, сервис, э, добавить или ещё что-то. -Э для таких задач нужен весь контекст. И, э, на нужно передать максимальное количество полезного контекста для генерации полезного ответа. Вот вы можете сделать, а-э, в агенте там, а, вот эта собачка src, допустим, и передать вообще весь проект, но это будет, ну, это будет не очень хорошо, не очень качественный ответ у вас будет, и вы потратите очень много средств. В общем, так делать не стоит. старайтесь передавать тот контекст, который, а, полезен будет для решения этой задачи. Да, понятно, это сложно. То есть вы можете сами не знать этот контекст, но вы можете попросить и вам помочь найти этот контекст, чтобы решить эту задачу. Вот. Ну, ответ такой то, что лучше передавать только то, что будет полезно для решения этой задачи.
Следующий вопрос. Как подержать изменения после уже сгенерированного кода? Это имеете в виду? А до так до того, как вы его закомитили или после, наверное, после того, как вы его закомитили, поддержите изменения. В принципе, это, можно сказать, ваш код. Ну, то есть в истории гитара это будет ваш код. А так, Василий поднял руку. Давайте. Да, это как раз мой вопрос. И я столкнулся с таким, ну, с такой ситуацией, да, что вот человек написал пром, потом сгенерил большой кусок кода, и у тебя два варианта. Ты идёшь вручную, что-то в нём меняешь, либо просишь опять же что-то поменяй, доработай в этом коде. А, всё, я понял. Да, конечно. А-а, ну, конкретно в клане, если вы поменяете вручную в клане, а потом начнёте дальше писать, типа, давай сделаем ещё такую-то функцию, тот код, который вы написали сами, он перетрёт. Вот, то есть у него контекст, а-э, он сохранил контекст уже в, ну, то есть у агентов, у них же есть свой контекст. Вот. И у него там свой сохранённый контекст. И то, что вы изменили, а он, ну, по крайней мере, в моём случае на текущей версии клайна он не видит, он его перетирает. Поэтому, а, лучше, аэ, либо начать новый аэ диалог, ну, то есть передать часть того диалога, который уже есть, и начать новый диалог, и тогда он, а, сохранит вот этот код в том виде, в котором уже есть, либо просто продолжить писать промты. А давай сделаем вот тут получше. То есть вы ему прямо копируете код, где вы хотите, чтобы он сделал лучше. Можете даже написать, а номер строчки и пишете: "Давай сделаем тут вот так вот". Вот. Ну это, по крайней мере, вот чисто мой опыт.
Какой ADE пользуетесь? А сегодня были примеры на ВС-коде, но, честно скажу, я на VS-код пытался пересесть несколько раз, и это были попытки в нескольких разных годах. У меня так и не получилось. Я сейчас мечтаю, чтобы вышел в Jet Brains, в Appleме, и всё, я наконец-то опять перестану пользоваться скодом. Поэтому я Да, я поклонник вебшторма, то есть включил и работаешь. Это вот именно про меня это, ну, вот такая история.
Работайте с MCP прямо сейчас в продакшене, в не в продакшене, а в работе у меня не было успешного, а кейса, когда мне действительно реально помог MCP. Но аа сейчас, как я уже говорил, да, у нас мм связочка такая а собирается. У нас есть специальная команда, которая дорабатывает форклай. Там, а, грубо говоря, будет задача в жире. Agent Cline, а, merge в репозитории. Вот это агент Cline и Merch Repository это будет всё делать и то есть мне приходит уведомление как разработчику: "Проверь код". Вот я смотрю request. Если там всё о'кей, я его обрулю, он идёт в рот. Вот мы сейчас идём к этой истории. И это как раз-таки на базе, по-моему, MC либо какого-то сервера, точно не знаю. Ну, в общем, это очень рядом с той историей. Мы как бы стараемся вот так вот автоматизировать это всё.
А какие модели лучше подходят к написанию кода? А я вам так скажу, что любая локальная модель, которую вы сможете поднять на своём компьютере, если у вас там не какие-то супервидеокарты, она не очень хорошо будет работать. Ну, то есть, если у вас какие-то бытовые, ну, MacBook там, ещё что-то. Сегодня же много инструментов, которые позволяют локально поднимать машины. Нет, это не рабочая история, совершенно, она не поможет. А-а, реально хорошо пишут код. Это Antropic, Open аа Google. А ещё есть один интересный noame, а Optimus. А вот они действительно очень хорошо пишут код, но они как бы стоят все выше рынка, так скажу. То есть те модели, которые хорошо пишут код, они стоят, ну, они стоят денег. Я пользуюсь GMI 2 с Preview Flash. Он генерит очень быстрый код и очень хорошего качества, которое меня устраивает. Сегодня как бы это мой топ, топ один. А на самом деле на рынке, ну, на вот этих топ-чартах, можно так сказать, на первом месте Cloud Sonnet 3,7, он хорошо, он очень хорошо пишет код. Ну, как бы, но цена у него намного дороже, чем у Gмини. Джемени меня полностью устраивает, и как бы я не прошу его, а, сочинять какие-то сложные архитектурные штуки. Он делает именно такие атомарные штуки, которые, ну, для меня полностью прозрачные. Я знаю, что он сделает это хорошо, поэтому я им пользуюсь.
На этом всё. Спасибо большое, то, что прослушали мой доклад. Это две ссылки, ссылки на мой Telegram и на материалы. Вот. Так, теперь, наверное, а, очередь вопросов из зала. Сейчас я посмотру, а какие вопросы я упустил. Угу. Давайте. Поднятая рука. Василий, извиняйте, случайно. Понял. Отбой.
Что по поводу архитектуры, которая закладывает модель? Насколько большой рефакторинг требуется? Ну, это зависит от вашего вопроса. Если вы скажете: "А модели: "Сделай рефакторинг всего моего проекта", она сделает. Неважно, насколько у вас хороший был проект, она делает рефакторинг и не факт то, что как бы а он будет хорошим. То есть, ну, а с большими кодовыми базами, то есть как я пытался, а, сделать рефакторинг, э, слоя AP в фронт приложение, сделать его, а, ну, по-другому, вот так можно сказать, более эффективно. Там очень много копипасты, и каждый раз до сих пор, э, всё плохо, то есть нету успешных кейсов.
А кто-то сравнивал ответы между ролями? Ты синьор на беге, ты solution архитектор, ты абориген северного. Нет, я не сравнивал. Пробовал курсор. Курсор, да, я пробовал, но айн вроде как использован token user model, что может выходить в копеечку при большом количестве запросов подличить. Да, у нас курсора могу сказать, что а я читал на каком-то форуме форуме. И вот отличие курсора от Клайна в том, что а у курсора небольшое контекстное окно, и он аэ не говорит вам об этом, а он просто его перетирает и как бы а ну вот забывает. Вот я сам на себе это не ощущал. Я просто видел то, что об этом пишут люди, но я пользуюсь клайном. А так это не вопрос. Прямо как с Дунами, да? Всё, всё правильно.
А пробувал использовать локальную дистиллированную. Да, R1. Аа я поднимал R1 на А се 72 млрд токенов, по-моему. Вот это вот не самая крупная вот перед ней вот, э, у меня компьютер дико долго отвечал, но результат нет плохой. А если не пошло, открою на чат, начинае заново, иначе по кругу будешь править код, создавать новые ошибки. Ну да, да, так и есть. А пока что боюсь ставить вершение китайских инженеров на локальную машину. А, ну, как бы интернет выключаете, всё, там никаких запросов нет. Локально они работают полностью. Ну, я так думаю, по крайней мере. Ээ гарантировать не буду. Для использования CIN не существует подписки, э, под clientй, а CIN сам по себе бесплатный инструмент. То есть вы туда только предоставляете, а-а, вот этот как, как это правильно сказать? Ну, модель в него предоставляете и всё. Откуда вы её возьмёте? Можете взять Open, I, можете взять через курсор, тоже Open I подключить. Ой, через Open Open Rter Open I подключить. Без разницы. AI Ops. Ага. Так, я имел в виду факторы после того, как нагенировал модель. Так, это вопрос был про рефакторинг. Мой контекст уже сбросил. Поэтому, извините, можете напомнить ещё раз. А по вопросам всё получается.
Почему не используется AI assistant vde? А, да, я пробовал, когда у меня был бесплатный вот этот период. На самом деле, знаете, я пользуюсь вебшторме, а, гихайт, и это просто очень удобная штука. Я забыл, как писать циклы. Ну, то есть я пишу for и всё, и он мне пишет вот это вот LED i = 0. И дальше подставляет вот эти всё то, что в контексте. То есть, э, реально я забыл, как описать некоторые такие вещи. Купай вот в этом плане прям. Ну это то, без чего я сегодня очень сильно не захочу писать код. Там тоже можно, да, в калате тоже можно. А в AI тоже можно любой источник выбирать. Ну, возможно, да. Я в него глубоко не погружался. Ну и также, как в копайте, можно выбирать любую, ну, не любую, а там как бы предоставлен список из разных моделей. Так, вопросы закончились, я так понимаю. Ой, большое там что-то получилось. Мне кажется, вы что-то путаете. Соттен миллиардов параметров никаких не нужного дислированных моделях R1. А параметр так модулька лей в виду вот эту модель на 70Б параметров. Вот я её запускал на локальном компьютере. Результат, ну я, как уже сказал, результат мне не понравился. То есть всё, что запущено локально для кодинга, оно оно будет работать, оно будет подсказывать фанкоды, но решения, которые есть на рынке, э, по апи, они работают на не на голову, а на три головы лучше, чем вот эти решения. Даже тот же самый R1, а через чат он работает, ну, намного лучше, но полную модель я не запускал и не пробовал. Вот только на в чате псик.
Александр, да, у меня вопрос. Я хотел бы просто уточнить. А что вы имеете в виду, что вы запускали на 70 млрд? У вас карточка на 70 там на 100 гиб есть слирамом? Нет, нет, я я просто ошибся. Я имел вду в виду вот эту модель на 70Б. Б, это же миллиарды, правильно я понимаю? Миллиардов нет токенов. Вот у меня нет карточки на 100 ГБ, у меня обычная карточка на 8 Гб. У меня ответ, она генерила там, я не знаю, минут 10. Она всё нагрелась, перегрелась, но я дождался ответа. Вот. Но не знаю, как-то вы так странно рассуждаете. У меня голосом модель общается с там какой-нибудь ламой на восьмигибтах карточках стресскресбации там и так далее. И никаких тормозов нету. Там достаточно быстрые отреты. А и те, что у вас ГПУ не используется. У меня нет. Вот эта модель на 70 млрд токенов, она весит, я сейчас не помню сколько. А зачем? Зачем о том, что 70 млрд токенов на 8 Гб вы явно не влезет? То есть там, грубо говоря, какое-то количество там миллиардов, это там влезет там 8 Гб. Ну, цифрами. чтобы она быстро работала, она должна вся влезть в видеопамять. Ну да. Поэтому смысл в том, что нужно обрезать точность там не там не флот, там 372, да, там 4-8 бит и так далее поменьше висайте, как бы, и тогда они будут влазить. То, естественно, как бы модель, она будет как бы фокусироваться по-другому, но тем не менее вполне отвечают нормально. Если карти попадает, то отвечает просто мгновенно. То есть, если карточку не попадает в пак, ну, точно нет. Карпадает, да, у меня восьмигиговая карточка. Если, ну, в этот лимит попадает, отвечает всё мгновенно. А зачем вы её 70 млрд используете? А я хотел посмотреть, как у меня локально будет работать. Семидесятимиллиардная не влезет в карточку. А она она в карточке не работает. Она работает в оперативной памяти. Это всё происходит очень долго. И, ну, как бы вот я про это и говорю, что вам просто надо использовать ту, которая влазит в оператив, как будет всё антить быстро. И, она же не настолько качество ухудшится. Ну да, но тем не менее качество всё равно ухудшается. А я хотел просто по максимуму взять, посмотреть. Я примерых посмотрел и, грубо говоря, забыл про неё. Ну, то есть потому что я всё равно в любом случае буду пользоваться не локальными а моделями, а, ну, по апе. Либо примерно как рекламу покупайте, тратите свои деньги, как бы, в принципе, те модели там, ни в коем случае я не рекламируют деньги, потому что все вот эти чаты dipк тот же даже чат GPT, они все бесплатные. Ну, до до каких-то пор, ну, deeps бесплатный всегда, бесплатный всегда, Openy, там несколько запросов, э, можно в течение определённого времени бесплатно отправлять. Я вот именно этими штуками пользуюсь. А что касается АИ, а у нас в компании нам, разработчикам, предоставляют прокси до, а Open, для до антропика, и мы пользуемся всеми вот этими моделями за счёт компании. Не, ну обычноны лки, там Lstudoю и так далее с а тебе позволяют поднимать, а ты просто можешь использовать Open и как бы использовать это апи для доступа к своей локальной локальной. Здесь нет никаких проблем и работают быстро. Ну, Studioо есть же опирве. Зачем как бы там так ты чат, всё модельку развернул, она у тебя работает. Вот я ещё раз говорю, транскибация голоса. То есть, например, когда ты преобразовываешь голос, соответственно, он в текст, текст отправляешь в лмку, возвращает обратно. И опять это возвращается голосом, когда ты общаешься, не нажимая на клавишу, а именно голосом с моделью, работает постро. А вы, наверное, говорите про модель, да? Ну, Виспер, да, можешь использовать, да, она прямо сейчас у меня на карточке загружена. Я прямо сейчас я это очень, ну, то есть могу поделиться таким классным кейсом. Я сделал супер простой Telegramбот при помощи е говорю и сделай, пожалуйста, Telegramбот. Она написала там 20 строк кода, и я со своей супругой просто теперь общаюсь только голосом. Эта штука переводит голосу в текст. То есть отправляю сообщение, она переводит в текст. Ну, это старые технологии. Уже год назад ещё до выпуска на это самое на Opel Ai, когда они сделали эту самую, мы, допустим, трёхзвенную модель использовали, самые первые были это когда, например, там дети генерировали на Python KX3, э, использовали какие внутренние там говорилки, которые инде и так далее, там неважно где. Соответственно, у тебя вместо трёх моделей используе одну модель можно выкинуть, чтобы она тяжала токен. Вот виспер использовать вот на и там како то, чтобы быстрее отвечало какую-нибудь говорилку. Всё будет то, что вы говорите, тоже старые вещи. Ещё бы классно бы было бы, чтобы агент управлял, как бы то, что надо делал там и так далее, код запускал сам там. Что такое какой-нибудь более интересное. А я есть в том году один банк у нас в России запустил команду полностью сформированную из агентов, то есть там аналитик, backender, frontender, вот это всё. Результат я не знаю какой, но такой а опыт уже есть. То есть полностью сформированная команда из этих агентов. Её запустили. Вот интересно посмотреть, что в результате получилось. Но вот, к сожалению, не могу сказать, что у них вышло. Не очень понятно, на самом деле, с этими с кодом, с качеством кода, который в итоге получается. Потому что, мне кажется, если вот там, не знаю, Роберта Мартина просить, как бы в контекст закидывать и говорить, что надо вот, чтобы была чисто и торт со всеми делами, полязова. Ну, с качеством кода, на самом деле, как бы я бы не сказал, проблема проблема не то, что качество кода, а в том, что когда, ну, то есть проект приличный большой, да, там его постоянно нужно изменять, плюс тесты и всё остальное, то есть какие-то новые требования появляются. Тебе нужен код изначально такой, чтобы у тебя боль изменений была минимальная. То есть вот если ты ему закладываешь контекст, что сделай код, напиши так, чтобы код был быстроменяемым по архитектуре, там какой-то магазен, кто-нибудь канал ещё что-то. Вот. Ну зависит от проекта. Я как бы из того, что вы говорите там в плане контекстов и маленьких, ну да, какие-то мелкие поделки можно, может спокойнеть там, да, кто-то там сделал, забыл и выкинул. Если какой-то проект на несколько лет с какой-то кучей интеграции, с кучей там что-то сложных вещей, мне кажется, пока не особо. Ну да, я же говорил, вот самый первый мой пример был как раз-таки про этот, то есть, э, у нас проект там достаточно большой проект, а, фронт приложение. Вот, и, а, сделать что-то там, какую-то фичу даже достаточно простую. Ну, то есть, допустим, аа сделай вот на этой странице там какой-то блок, который там будет делать то-то, то-то, то-то. Вот. Но а контекстов там должно быть достаточно много, то есть а там с этим связан апись слой, с этим связан фич слой. И, ну, то есть она как бы а не весь контекст понимает и делает не то, как бы не так, как надо. Понятно. С большими проектами полностью согласен. Ну, то есть как бы у меня лично у меня успешного опыта не было, но я пытаюсь и когда выходит новая модель, я опять пробую что-то такое сложное сделать. Пока, конечно, опыта не увидел. А ещё есть вопрос такой: пробовали ли использовать агентов с ролмками в пин-тестах, чтобы они реально что-то взламывали? Нет, не пропало. Понятно. Нет, спасибо. Ещё какие-нибудь вопросы, комментарии? А так тут что-то написали. Вижу. Какие характеристики компьютера для такой модели? 70. Это много? А это, наверное, я уже ответил. Подсаживайте нарк. Это я ответил. А, даём контекст, задачу, потом просим сгенерить пеку, потом тесты, тд и потом код. Ну, в идеальном мире, да, примерно так всё оно должно работать. Пока спешного опыта такого комплексного решения задачи, к сожалению, не было у меня. Мм, вопросов больше нет, я так понимаю. Комментариев тоже. А спасибо всем большое за то, что пришли, за вопросы. Очень классные вопросы мне понравились за комментарии, и мне было очень приятно всё это рассказывать. Рад, что поделился этим опытом с вами. Надеюсь, вам понравилось и это будет полезно в первую очередь. M.