ym104432846
Вставьте ссылку на видео из Youtube, Rutube, VK видео
Задайте вопрос по видео
Что вас интересует?
00:05:31
Введение в протокол ЭМСИПИ:
  • 1. Принято решение внедрить протокол ЭМСИПИ на платформу для гибкого расширения функционала и переиспользования существующих интеграций
  • 2. Запланирован вебинар, посвященный обсуждению протокола ЭМСИПИ, особенностям его внедрения и демонстрационному примеру публикации сервера ЭМСИПИ на платформе ОтАп
  • 3. Вебинар включает пять частей: обсуждение истории появления протокола, ограничений решений, обзор самого протокола, особенности внедрения в корпоративной среде и демонстрация подключения ЭМСИПИ-сервера к агенту
00:08:07
Работа агента с внешними источниками:
  • Разработана технология Function Calling (вызова функций), позволяющая агенту взаимодействовать с внешними источниками и выполнять конкретные действия
  • Внедрение протокола EmSIPA позволяет стандартизировать обмен данными между внешними источниками и языковыми моделями, обеспечивая совместимость различных моделей и поставщиков
  • Использование EmSIPA снижает жёсткую привязанность агента к конкретным функциям и модели, позволяя легко добавлять новые функции и изменять существующие, повышая гибкость системы
00:39:22
Использование ЭМСИПИ для упрощения интеграций:
  • Каждая команда разрабатывает собственных агентов и интеграции, однако существующие подходы приводят к дублированию баз данных (джира, почта, поиск)
  • Использование протокола MCP позволяет централизованно организовать интеграцию через сервер scp, снижая количество независимых интеграций и повышая переиспользование компонентов
  • Проблема безопасности и управления интеграциями решается на уровне продуктов, внедренных командами самостоятельно, без единого стандарта
00:42:28
Проблемы безопасности и управления доступом:
  • 1. Обсуждается проблема разграничения доступа пользователей к различным методам API-сервисов, поскольку не все сервисы одинаково реализуют права доступа
  • 2. Предложено использовать дополнительный авторизационный токен (в отапе) для разграничения доступа на уровне методов серверной части
  • 3. Решено продемонстрировать практическое применение разграничения прав доступа через демонстрацию экрана ноутбука спикера на слайде
00:44:33
Практическое применение ЭМСИПИ на платформе:
  • 1. Разработан и внедрён механизм генерации и публикации Emsipi-серверов на основе открытой спецификации OpenAPI
  • 2. Создан интерфейс для выбора доступных методов API и ограничения доступа к ним, что помогает снизить нагрузку на модель и улучшить понимание контекста
  • 3. Рассматривается проблема избыточности вызовов и путаницы между несколькими Emsipi-серверами, предложены меры по минимизации влияния на работу модели (описание подробных промтов, сужение области деятельности агента)
0: Так, да, всем привет. Меня зовут Сергей, я техлит команды, которая занимается внедрением иай на платформу окапи и
1: Сегодня я хочу с вами поговорить по поводу работы с mcp. Мы внедрение иай начинали с разработки ассистента для нашей локод системы, вот. И постепенно этот ассистент он перенёс
2: Перерос в настоящего агента, потребовал множество интеграций, и мы его хотели гибко расширять, поэтому мы пришли вот к протоколу эмсипи, да, как средству гибкой возможности расширения функционала.
3: Агента, а так как большинство интеграций на платформе у нас уже было, потому что, ну, октап да, это интеграционная платформа на ней сейчас вот в мтсе у нас 400 плюс интеграций только для openapi
4: Вот, и чтобы вот переиспользовать эти интеграции, плюс много дополнительного функционала, который у нас был, мы уже стали внедрять сам протокол эмсипи на платформу. И вот про то, что у нас полу,
5: Получилось вообще про сам протокол эмсипи, как мы к ним пришли сегодня как раз-таки хотелось поговорить. Я напоминаю, у нас вебинар, он будет записываться. Так что подписывай.
6: Ставьте лайки, задавайте вопросы в чате, потому что у нас для самых интересных вопросов подготовлены подарки, так что, в общем, все, что непонятно, все, что интересно, задавайте. Я в конце вебинара постараюсь на все ответит.
7: Что у нас сегодня будет? Да, у нас будет таких 5 частей. Сперва поговорим про то, как, в принципе, индустрия пришла к протоколу эмсипи. Вот.
8: Как бы какие решения были для этого и какие у них были ограничения. Далее уже перейдём прям к самому протоколу в обзорном варианте посмотрим, из чего он состоит, что там происходит. Потом перейдём к
9: Особенностям вот внедрения эмсипи в интерпрайзе, что даёт протокол, да, что в нём не хватает. Ну, в общем, как это решать. И потом я перейду к демо, там вот покажу, как опубликуется эмсипи сервер.
10: На самой платформе отапе. И как вот этот эмсипи сервер подключить к агенту. Это вот мы посмотрим на демо и в конце там небольшая часть про выученные уроки. В общем, те ошибки, с которыми пришлось нам столкнуться. Там такие хинты, я надеюсь,
11: Будут полезны. Так, ну да, 1 часть. Смотрите, вот все говорят про агентов, да, вот такие вот мифические сущности, которые многое могут, да, хотелось посмотреть. Вот.
12: Как агент работает с внешними источниками, что там внутри логики? Вот, вот, вот, вот это вот я сейчас расскажу. Вот смотрите, агент же это, ну, приложение, да, написано на каком-то языке программирования, пусть это буде
13: Питон. В агенте есть интерфейс, да, с которым пользователь, либо там другой агент с ним может взаимодействовать. Это, по сути дела, чат, да, в который мы можем какую-то неструктурированную информацию передавать.
14: И вот это вот вопросы в чате, да, они передаются внутри агента в большую языковую модель, в ллм, да, то есть он, по сути дела, так проксирует эти запросы, где сама модель, она уже нам отвечает.
15: Я сразу скажу, что это вот такой самый, наверное, как это простой вариант, да, то есть я вот сейчас не углубляюсь вот в потроха агентов, там с контекстом, с памятью. Я вот больше сейчас хочу именно затронуть работу с внешними источниками, поэтому
16: Какие-то вот детали агентов я, конечно, опускаю. Вот, но, да, таким образом, вот у нас передаётся информация в агента, в лм клиента, он передаёт это лм, и мы
17: Собственно говоря, получаем как текст на входе, да, и какие-то текстовые данные на выходе к от самой лм. Собственно говоря, вот.
18: Угу. Фиксированного алгоритма в агенте, да, вот в отличие от от обычных приложений, его нет. То есть мы как-то вот это вот то, чем отличается агент от обычного приложения.
19: Да, то есть, если в обычном приложении мы описывали бизнес логику, да, там с конструкциями, там, ифлс и так далее, то в агенте вся бизнес логика, она, по сути дела, отдана на откуп лм. И вот, что лм, в ответе.
20: Нам пришлёт то агент и будет выполнять такие действия. Но вот, да, в текущей, в текущем варианте это у нас ещё не может считаться агентом, потому что он ничего не делает. Да, ну это ж чатик, по сути дела, да, мы пишем.
21: Какие-то вопросики, да, транслирует в лм, она нам отвечает, но в общем, действий никаких не происходит. А чтобы выполнять какие-то действия, нужны функции. И вот в таком подходе, да, нам нужны какие-то
22: Сами функции прописаны, ну, в обычном стандартном виде, которые есть в агенте. Вот, то есть, ну, там я как пример привожу, там, функция, там, с кафкой вызова, там, базы данных, какие-то запросы по аштипи, вот эти сами функции работают с внешними источникам.
23: Ровно как и в остальных других приложениях. А теперь вот хитрый момент, нам нужно каким-то образом передать контекст вот этих вот функций в саму
24: Модель, да, чтобы она поняла, что вот у неё вот есть такие инструменты, и с ними можно работать, как это делается, это, ну, для каждой функции просто формируется некий вот дискрипшен в структурированном
25: Формате, да. Ну я здесь привожу как там json да, то есть у нас есть описание функции, есть как бы параметры, да, которые у неё есть, и это мы все передаём в агента, он транслирует в лм.
26: До обучена на то, чтобы понимать этот контекст и обратно. После такого запроса она нам опять-таки вернёт джейсончик, вот в котором там, ну как пример, вот здесь привожу д,
27: Вызвать такую-то функцию с такими-то параметрами, то есть структурированный вход описания всех функций мы передаём, да, и обратно получаем опять-таки в структурированном виде.
28: Вызов той функции там или функций, которые там, согласно логике лм, будут решать проблему. На стороне агента происходит парсинг, да, и, ну, дальнейшее выполнение этой функции.
29: По сути дела, да, вот что вот здесь хотелось, скажем так, подсветить, потому что когда только начинаешь погружаться вот в тему там агентов вызовов
30: Складывается такое ложное впечатление, что ллм сама вызывает функции, вот как-то она там магически это делает. Ну на самом деле это как бы не так все гораздо прозаичнее. Да, лмка как работала с текстом, да, так и продолжат.
31: Работать, но вот контекст тех функций, которые она должна вызывать, мы как раз-таки передаём вот через клиента. И вот такой механизм, он, по сути дела, у нас и называется function, calling да, когда мы переходим от
32: Просто текстовых описаний к вызову каких-то действий, да, исторически там по таймлайну, такую штуку сделали в open eye в 23 году назвали её фанкшн коллинг, то есть они добавили
33: В своего клиента, который работает с лм в аппе, да, возможно, передавать такой дискрипшен. И дообучили модельку, чтобы она, ну, понимала, что это такой специальный контекст, да.
34: И нужно его тоже обрабатывать, как бы по другому генерить на выход. Именно вот структурированный ответ о
35: Ну, по функции, да, которую нужно вызвать. Ну, вот после опена у нас подключились другие вендоры, там, мистраль антропки. Единственное, конечно, вендоры, по всей видимости, как-то идея была у всех одинаковая, да, но реализации были разные, то есть они даже
36: Вот по названию, там это function, calling называется an тропик, это люз, но принцип там в принципе, такой же. Ну собственно вот здесь пример о том, как через клиента происходит передача информации, да, вот там
37: Предпоследняя строчка ту, там равняется Туз, вот там вот мы передаём весь этот дискрипшн, собственно говоря, да, идём дальше. Да. Ну, при таком подходе есть несколько проблем.
38: Ну вот как я сказал, это зависимость от вендора, да, то есть в зависимости с какой моделькой, с каким клиентом мы работаем. Передача параметров, формат передачи, он может отличаться. 2, это то, что вот при такой реализац,
39: У нас сильная связанность между самим агентом, да, и теми функциями, вот, которые в нём реализованы. То есть, если мы захотим что-то поменять, там, не знаю, добавить новую функцию, то нам нужно прям идти в кодовую базу, агент
40: Писать эту функцию, там, делать какую-нибудь обёрточку, которая создаст дискрипшен для этой функции, передавать клиента. Ну вот, вот это вот все это накладно и негибко, да, то есть мы так гибко расширять функционал агента не можем.
41: Ну и как, как обычно у нас в индустрии, когда у нас что-то делается по разному, да, есть проблемы, то находится решение. Вот антропин предлагает решение с протоколом эмсипи, да, моду.
42: Протокол, который стандартизирует обмен данными вот между внешними источниками и самой языковой моделью, его можно как аналогию, наверное, сравнить с open апи, потому что там до
43: Да, до стандарта. У нас там сервисы, сервисы описывались, кто как хочет, да, потом появился стандарт. И вот на основании этого стандарта уже понятно, как интегрироваться с open сервисами, да, вот эмсипи.
44: И играет эту же роль для интеграции между внешними источниками и языковыми моделями. Но давайте, да, перейдём вот ближе к эмсипи. Что ж там происходит? Вот, вот наш агент, да.
45: Вот у него такая логика, вот он внутри себя передаёт дискрипшн, что предлагает эмсипи. Вот, что ж там поменяется, мы берём и выносим, да, то есть вот у нас было описание функции, да, внутри было
46: Выполнение внутри агента этих функций, формирование джи скриптина. Вот это мы все берём и выносим на отдельный сервер и делаем клиента, да, который сможет с этим сервером по протоколу общаться. Это вот
47: Прям ключевое, да, что, что предлагает эмсипи? То есть, когда мы, так как у нас клиент, серверное взаимодействие стандартизировано, да, при добавлении нового эмсипи сервера, да, создаётся.
48: Клиентская сессия. И мы таким образом, можем, не меняя самого агента, да, его логику, добавлять новые scp сервера, расширяя функционал агента. Ну вот.
49: В таком духе при этом при этом вот обратите внимание, что у нас ведь и сама реализация функций, их описание вот в текстовом виде вот этот json да, который я рассказывал, и выполнение, да, работа с каким-то там, с апишкой базы данных.
50: Они вынесены, да, то есть теперь все это можно менять внутри, ну, как бы, вот эмсипи сервера, вот, ну и, по сути дела, вот, вот так у нас трансформируется агент, если мы это
51: Подключаем к нему эмсипи. Соответственно, те проблемы, которые у нас были, это там различия в структуре передаваемых данных от вендоров, да, вот вендор лок, который от модельки зависел, он уходит. Так, вендор ещё
52: Поддерживают протокол эмсипи для своих сдк, для моделек, то мы можем менять модельку, можем менять вендора и при этом ничего в описании Тулов менять не нужно. На стороне самого агента сильная связанность между
53: Агентом и вызываемыми функциями. Она у нас тоже как уходит, да, потому что мы просто это вынесли на внешний сервис и мы этот внешний сервис можем модифицировать.
54: Уже, ну, как мы хотим, да, переписать его на другом языке. То есть сильная связанность у нас уходит, ну и расширение, то, что мы можем добавлять новые scp сервера, ну, по типу плагин плей, прям сразу в агента. Это, кстати, я вот покажу на демо, как это происходит.
55: Вот. Так что вот такая вот штука. Давайте смотреть по таймлайну, как происходила эта эволюция. Антропия. Предложил это вот в 24 году, 25 ноябр.
56: Этот концепт, далее он был поддержан уже другими вентами. Майкрософт сказал, что будет поддерживать это в своих клиентах о open eye, вот в 25 году поддержала для агентных сдк.
57: Для своих моделек, гуугл, ну и так далее. То есть в принципе, крупные игроки, они стали рассматривать этот протокол как стандарт де факто это, конечно, может звучать так очень высоко.
58: Что прям все это сейчас стандартный факт. У нас все течёт, все меняется очень быстро, да, видите, там в 24 году тропик его предложил, да, в 25, ну, он, так сказать, стал использоваться вендорами, но вот из того, что
59: Сейчас видно все больше и больше компаний. Они делают эмсипи сервера свои для подключения агентов. То есть, ну, используют этот стандарт, хотя он ещё в процессе развития. То есть тут последний раз 20.
60: 5 ноября, кстати, в годовщину вышла там ещё новая версия спецификации для опена, для mcp давайте смотреть, что у нас в архитектуре вообще, из чего этот эмсипи протокол состоит, какие?
61: Там составные части, там 3 составные части 1 и наверное которая больше всех смущает, когда они читают про эмсипи, это mcp хост, потому что ну клиент сервер вроде все знают да, что такое mcp хост по сути.
62: Дело эмсипи хост, это вот приложение там, которое координирует, управляет несколько эмсипи клиентов, мы можем поставить знак равенства между агентом и приложением и mcp хостом. Это просто вот, ну, терминология.
63: Которая есть спецификации эмсипи. Далее у нас есть эмсипи клиенты, да, эмсипи сервера, взаимодействие между ними двухстороннее. Эмсипи клиент получает
64: От эмсипи сервера вот эту вот информацию о тулах, да, которые доступны по стандарту а mcp сервер, он непосредственно отвечает за выполнение тех функций, которые вызывает клиент.
65: Ну и вот работу с бэкэндом в протоколе 2 уровня. 1 уровень это дата Леер, так называемый уровень данных. Это вот то, какой формат сообщений, да, у нас
66: Уходит, уходит между клиентом и сервером. Это то есть сообщение семантика там используется gpc. Вот, поэтому, ну, g2 уровень это уровень транспорта.
67: На транспортном уровне у нас есть 2 варианта, как, ну, как мы можем, собственно говоря, вот эти жсоны передавать, через что? Да, 1 это стандартный вот вывод, это история про то, когда у нас
68: Mcp хост эмсипи, клиент эмсипи сервер, они на 1 локальной машине. Вот она больше, конечно, для локальной разработки, a2 история вот это стимул аштипи, это когда мы можем делать удалённые вызовы.
69: Ну, тут, в принципе понятно, да, мы, у нас есть некий поинт, это, ну, какой-нибудь, какой-нибудь хост, там, smash эмсипи. И клиент делает на него запросы, пост, запрос, так как у нас
70: Вот, и в зависимости от того, контент тайпа, который передан клиенту, мы ему получаем, ну, либо обычный там джейсончик, да, либо стриминг.
71: Вот давайте смотреть, что у нас подробнее происходит в самом протоколе эмсипи, вернее, не в протоколе в scp сервере в scp сервере у нас 3.
72: Primitive, можно сказать, да, такие 3 логические сущности, это Тулы, да, то есть внешние инструменты, это вот наше все это вызовы апишек, да.
73: Там скриптов, в общем, какие-то действия, которые должен выполнить агент. Для них, соответственно, по протоколу есть 2 стандартных метода, с которыми клиент может их вызывать. Ну, тулс лист это он получает список Тулов.
74: Ill call это агент, ну, через клиента, соответственно передаёт информацию, что вызови вот такой-то tool с такими-то параметрами вот через метод тулков, далее в mcp сервере есть
75: Ещё такой примитив, как ресурсы, это источники данных, которые там у агента есть доступ на чтение. То есть это обычно там файлы, документация, у них тоже есть свои вот методы, лист рит, сабскрайб, сабскрайб, кстати, вот это интересный
76: Момент, что клиент может подписаться на ресурс и сервер, если ресурс изменится, сделать, даст идентификацию клиенту о том, что он там ресурс был обновлён. И последнее это, наверное, пронты тут
77: Это шаблоны или инструкции для агента о том, как работать вообще с mcp сервером, там тоже 2 метода, это лист и сет. Что что хотелось бы вообще сказать про вот эти примитивы, ну на самом
78: Деле большинство клиентов сейчас поддерживают только примитив Тулов, то есть
79: Ну, идеологически, да, там, если почитать спецификацию, как вот эта вся система должна работать. У нас есть агент, да, мы в нём встроили эмсипи клиента эмсипи. Клиент должен сперва зайти, соединиться с сервером, запросить промты, да.
80: Сказать, там сервер, сервер. А что ты можешь? Да, у тебя есть какие-то инструкции для меня, как там работать? Вот, по идее, сервер должен дать инструкции, а потом уже агент.
81: В зависимости от логи там будет вызывать либо ресурсы, либо Тулы. Но сейчас все используют, по сути дела, Тулы. Там даже если зайти на официальный сайт, там вот видно, да, что вот колонка с тулами.
82: Она поддерживается всеми клиентами, а там ресурсы и промты, они там кое где какие-то клиенты поддерживают, какие-то нет, в общем. Поэтому это ещё вот пока на стадии развития также
83: Со стороны клиента в mcp тоже есть интересный функционал семплинга или стейшена, он пока, скажем так, в процессе исследования, да, то есть там опять все, не все клиенты это
84: Поддерживают. Если вот, кстати, интересно, как вот, ну, что такое там семплинг или ситей, как с этим работает клиент, как там построены взаимосвязи вы напишите в чатике можно будет сделать, наверное, отдельный вебинар.
85: Там, не знаю, с live кодингом, а может быть как-то по другому. Просто тут интересно, вот обратная связь от аудитории насколько вот скажем так, нововведения, которые приходят в протокол, вот интересны, их нужно осветить. То есть сейчас такие базовые моменты.
86: Это Тулы, ресурсы и промты. И да, давайте наконец посмотрим на диаграмму последовательности. Вот как же там происходят вызовы, да, кто кого вызывает вот в таком простом варианте.
87: Я вот сейчас постараюсь это описать. Смотрите, у нас какие действующие лица есть? Да, акторы? Есть пользователь, да, есть наш агент, ну, в котором мы встроили эмсипи клиента, есть эмсипи, сервер, на котором выпол.
88: Функция есть какая-то языковая модель, к которой наш агент будет обращаться, ну и backend, который, собственно говоря, выполняет сами действия. Вот давайте посмотрим, как там будут происходить вызовы в начале, когда мы
89: Только добавляем эмсипи сервер на demo, покажу как это происходит у нас. Должен пройти процесс инициализации между клиентом и сервером ну это такая стандартная
90: История, то есть они инициализируются, обмениваются версиями, у кого какие потебили, после чего у нас идёт так называемый процесс там to discovery это когда агент, да, он же должен
91: Узнать, а мы сервер добавили, а какие там Тулы, да, то есть что он может делать? И он делает вот этот вот запрос two лист на в mcp сервер через клиента. И мы в агента по поводу вызова, ну, делая этот вызов,
92: Получаем список Тулов, да, ну их, вернее, дискрипшн, да, о том, что может делать эмсипи сервер. Вот, все, да. То есть мы капабилити получили, получили список Тулов. Теперь у нас идёт пользовательский запрос, да, пользо.
93: Что-то пишет там в агента, либо там другой агент пишет. Это уже не столь принципиально, что у нас здесь происходит агент, ну в самом простом варианте, да, который рассматривал, он может просто перенаправить эту информацию.
94: В ллм и сказать, что вот такой-то запрос у пользователя. А вот ещё список Тулов, да, которые вот у тебя есть, используй их для решения задачи пользователя. Ллм отвечает, да.
95: Вот, ну, структурированным форматом, да, что для решения такой задачи нужно вызвать Тулу 1, да, с параметрами абц, после чего со стороны агента инициируется запрос на, ну,
96: Вызов этой Тулы да, мы делаем тул кол. То есть через клиента он идёт на mcp сервер, а mcp сервер уже парсит его на своей стороне и делает вот прям реальный реальный вызов на тот бэкенд, для которого создана Тула.
97: Ну и обратно бэкенд отвечает сиписи, сервер перенаправляет это в клиента, ну и мы в агенте получаем результат выполнения. Далее, конечно, все зависит от логики клиента. Ну, в самом простом варианте.
98: Клиент может сказать, что хорошо, я получил результат выполнения. Вот языковая модель, да, я перенаправляю туда результаты и говорю, что вот на вызов такого-то Тула я получил такие-то результаты, ну а далее уже вердикт.
99: Лм. Да, о том, что делать дальше. Ну, в самом простом варианте она вернёт сообщение, и мы далее это сообщение в чате, да, получим как пользователь. Вот такая вот последовательность.
100: Я надеюсь, вот теперь как бы стало понятно, как бы, как происходит вот это взаимодействие клиента сервера лм, кто там вызывает вот так что мы сейчас, да, мы сейчас.
101: Перейдём к 3 части. Это особенности там внедрения эмсипи в интерпрайзе, но я напоминаю, что у нас открыт чатик в чатике. Можно задавать вопросы. И давайте попробуем
102: Сделать такой интерактив я заодно посмотрю, что у нас есть за вопросы, а вы напишите в чатике вообще, кто пробовал создавать агента ну mvp. В общем, неважно кто в принципе пробовал эту тематику.
103: Что-то разрабатывать, не знаю там поставьте плюсик, мне просто интересна статистика, как много людей пользовали агента, так я сейчас посмотрю.
104: Так, ну пока там идёт голосование, можно почитать вопросы из чата или вопросов.
105: Ага, вот вижу, да, когда лучше использовать эмсипи, когда нет и дорого ли реализовать. Ага.
106: Ну, это, кстати, я в конце хотел рассказать. Вот, ну, смотрите, стандартный фанкшн коллинг, да, по сути дела, эмсипи, это же обёртка, да, над фанкшн коллином. Ну, по большому счёту, он, ну,
107: Когда у нас много интеграции между, ну, агент должен вызвать много, много ручек, да, и чтобы их гибко поддерживать и расширять самого агента, то мы тогда
108: Внедряем эмсипи, но если мы делаем не знаю пруфов концепт агента, который 2 не знаю, делает 2 интеграции и мы то в prod особо не хотим выкатывать, они у нас там статичны ну фанкшн коллинг это стандарт.
109: Вариант в плане разработки, да, внедрения, ну, там, на самом деле, не так дорого, потому что сайте антропилорического, как сделать клиента, да, подключить, ну, библиотеку.
110: Как поднять сам эмсипи. Ну вот я сейчас на демо покажу, как мы его поднимаем, но, в принципе, там сдк открыто, так что я бы не сказал, что как-то дорого. Вот, но он, опять-таки, он будет иметь смысл, если нужно, именно по
111: Удерживать большое количество Тулов, да, есть необходимость, ну, именно вот гибко расширять возможности агента. Так, это 1. Потом пробовали эмсипи, готовый дописывали в него тузы.
112: Начинается. Ага, это я понял. Да, это вот вопрос. Ну, отлично. Да, какие у вас используются, есть ли какие-то, какие брали за основу? А, ну смотрите, вот у нас, я демо буду пока.
113: Там будет стоять квен, но вообще у нас есть как-то специальная команда, которая поддерживает как внешние, так и внутренние лмки. Это вот мвс gpt, там у них прям большой набор, то есть есть там наши там
114: Ттс Аня потапы, они вот про них рассказывали на своих вебинарах, там можно посмотреть, мы у себя используем, ну, для того агента, который у нас в проде работает, естественно, наши внутренние лмки. Вот, но
115: А, так, мы экспериментировали с квеном, в принципе, нормально. Так. Угу. Хорошо. А, да, вот агент используем на nine nine. Так, хорошо. Ну, я вижу, что люди использовали. Так, давайте тогда.
116: Вот 2 вопрос. Это вот такой твист. Ну вот вижу, да, что создавали агента на отлично. А вот до прода удалось довести кого-нибудь агента, чтобы
117: Он вот прям в продакшене работал, там, выполнял какие-то вот действия. Это вот 2 момент можете написать. Просто очень интересно, вот как, насколько, какой rate вот этот перехода, да, от
118: Пипси, да, до прям продакшн реди решения, где вот мы можем использовать
119: Ну да, пока поотвечайте, я сейчас пока почитаю ещё вопросики. Так.
120: Ага, вот интересный вопрос. Как вы видите процесс развития принятия семплинг ру или station, прогресс токен? Вот, да, это вот это вот это вот интересная тема. Я когда сперва добавлял её в семинар, ну, вебинар, мы по времени просто не укладываемся. Смотрите.
121: Семплинг. Я про семплинг могу ответить. Про остальные, наверное, нужно. Вот отдельно можно будет списаться семплинг, он же нужен был. Для чего? У нас вот эмсипи, сервер, да, он выполняет какую-то, ну, какие-то
122: У него там есть функция. А что, если самому эмсипи, серверу нужно сделать какой-то дозапрос на уточнение, какие у него есть варианты? Он либо может сам стать агентом, да, и дёрнуть лмку, да, то есть вы, ну, к нему нужно подключить вот это
123: Лм. Либо ему нужно предоставить какую-то возможность, чтобы он использовал ту лм, которая есть у агента.
124: И вот как раз-таки семплинг, он помогает, ну то есть там там концепция о том, что после того, как клиент сделал запрос на сервер, сервер через семплинг спрашивает, слушай, а мне для выполнения
125: Вот этого запроса нужна дополнительная информация. Он отсылает запрос клиента, клиент опять его пробрасывает, через лм, лм, отвечает. И там вот такая вот обратная связь идёт. Но это вот, кстати, вот интересно, да, то есть, если это можно отдельно на вебинаре посмотреть на следующем
126: Не на этом, да, допрод, пока ничего никто не пишет. Вот. Но это, кстати, ожидаемо. Вы, вы не одиноки. Вот давайте вот я сразу перейду.
127: Смотрите, в августе выходила статья от mighty, которая, ну, с таким провокационным названием, что 95% пилотов
128: Связанные там с жён y, они до прода не доходят, остаются на стадии mvp и, в общем то, фейлятся вот такая прям много шума наделала статья интересная, её можно почитать и там ну как бы причи.
129: А почему? Да, что же мешает внедрять агентов и так далее? Как 1 из причин они говорят, что это вот флоид, интерпрайз, интегрейшн, то есть неявные сложные интеграции в интерпрайзе. И это вот
130: Интересная тема, то есть её можно, ну, как аналогию сравнить. То есть, вот человека нанимают в компанию, да, для выполнения какой-то функции, как бы, чем лучше построен процесс онбординга, да, там, ну, выдать ему, соответственно, там, ноутбук.
131: Выдать доступы, там, подключить там, к инструкциям, как он должен делать, чем, ну, чем лучше он построен, да, тем быстрее человек начинает приносить пользу компании, а чем процесс выдачи доступов и так далее. Сложнее, да.
132: Тем, это все затягивается. И иай, он в этом случае работает как усилитель процессов в организации. То есть, если у нас есть чёткий инстру,
133: Инструкции там по выполнению, по интеграции с другими источниками, по получению доступов. Это как бы все прозрачно, то там, добавляя агента, мы ускоряем решение этой проблемы, да, усиливаем. Но если у нас
134: Интеграции непрозрачные, все тяжело то, ну, условно говоря, хаос, да, то мы усиливаем хаос, и, в общем, и i в этом плане только усугубит ситуацию.
135: Вот. Ну да, статья интересная обычно вот в интерпрайзе, да, забыл сказать, как, как же эмсипи то в случае интерпрайза может помочь, да, с вот этими интеграциями.
136: Вот без mcp, если создавать своего агента, то, ну вернее каждая команда будет создавать своих агентов, то как это выглядит да, вот у нас 4 агента слева, да, и какие-то там базы данных, там джира, почта, поиск справа.
137: Интеграции, они у нас как бы каждая команда пилит какую-то свою интеграцию, да, как-то агента своего подсоединяет, ну и пытается его вот запустить. При этом, естественно, что интеграции по сути,
138: Дело одинаковые, но не переиспользуются. И, в общем, каждый пытается как то как-то заставить агента выполнять эту функцию. И у нас проблема то, вот, которую, ну, в своей статье антроп тоже подсвечивал, что при таком решении у нас там мнн интеграции, да,
139: Синтетическая сложность это плохо, а в случае с mcp протоколом он как бы работает как единый хаб, да, то есть так как вот мы вынесли какую-то интеграцию в сам scp server, теперь клиенты ну агенты, да.
140: Могут переиспользовать эту интеграцию это все идёт через сам scp server и таким образом у нас там уже не умножить на м plus н интеграции что есть хорошо, но но как-то
141: Не все, не все сразу работает. Эмсипи это всего лишь протокол, да, он рассказывает, как будет производиться взаимодействие, да, то есть там, но
142: Не регулируют, как это сделать. Там безопасно, надёжно, управляемо. Это все приходится решать на стороне продукта, который сам мспи внедряет. То есть вот тут такой, такой поинт, что батарейки
143: Комплект не включены, вот хотелось бы, но нет и вот и про security pro obs инфраструктуру можно на самом деле вот тоже в отдельном топике говорить это там везде свои особенности, у нас правда время ограничено, я вот хотел
144: Остановиться на identity x менеджменте, то есть именно получение доступа, разграничение прав для mcp вот какие там есть проблемы по спецификации эмсипи говорит, что нужно.
145: Чтобы все апи были совместимы с стандартом Аус 2 1. И это, конечно, хорошо, но вот на уровне интерпрайза не всегда такое есть. Мы просто с этим сталкивались, когда
146: Ещё полтора года назад заводили различные интеграции на интеграционную платформу и как бы, ну, блин, в интерпрайзе может быть вообще много всего есть легавые апи, есть там авторизация по ключу, там и авторизации и так далее.
147: В общем, протоколы это не регулирует никак, да, то есть здесь нужно придумывать какие-то решения свои у нас вот на тапе я на демо сейчас покажу какие есть варианты.
148: Да, для вот тех апи, которые, ну, не поддерживают данный стандарт. И вот следующий, тоже острый момент это разграничение доступа на уровне методов апи.
149: Тут какая проблематика? Вот обычно, да, там, то есть там некий сервис, у него есть апишка, да, вот мы авторизовались на этом сервисе и все. Вот мы теперь уже можем дёргать различные методы, то есть там не все бэкенды реализуют.
150: Вот там рыбак Кабак, разграничение прав доступа в зависимости от методов на уровне агентов. Это вот становится ещё более острым, потому что, ну, не всем агентам нужно давать
151: Права там на изменение удаление, потому что, ну, все-таки, мы же понимаем, да, то есть решение принимает лм, это такой чёрный ящик все-таки, ну, какие-то критичные функции туда лучше не отдавать, там чтение, чтение, чтение.
152: Данных, да, окей, но и то опять-таки, тут в зависимости от того, какие данные мы хотим читать, там, не знаю, получить все зарплаты всех сотрудников. Ну, такое вот. И мы как раз-таки, ну, мы тоже эту историю ещё проходили.
153: В отапе, когда заводили опенапи интеграции, нам тоже нужно было разграничивать доступ. Мы это сейчас используем, ну, при помощи дополнительного авторизационного токена.
154: Чтобы именно разграничить доступ на уровне методов у сервера. Ну и, соответственно, сейчас это переиспользуем. Вот когда создаём сам scp у себя. Вот так, да.
155: Давайте перейдём, наверное, к демо. Я же обещал показать. Так можно вывести мой экран ноутбука на, на демо слайд.
156: Пока вот у меня он во вывели. Отлично. Огонь смотрите, да, у нас вот портал наш, да, на котором мы заводим интеграции, мы нажимаем кнопку опубликовать. Ну, мы сейчас вот пройдём вот этот пункт путь
157: Создание эмсипи сервера у нас на платформе, мы эмсипи сервера генерим на основании опен спецификации, да, так как у нас уже и так очень большое количество интеграций, то мы решили добавить этот функционал вот именно сперва для
158: Входим в openapi вот ну тут у нас предлагается выбрать продукт которого я это делаю ну вот возьмём продукт теперь мне нужно загрузить саму опенапи спецификацию ну вот к примеру.
159: Я гружу сейчас нужно немножко заполнить данные. Здесь нужно дополнить ссылку на конфлюенс. А, кстати, забыл сказать. Ну вот вопросы там тротлинга тоже ведь для
160: Актуальные, потому что, ну, в итоговом варианте мы же все равно делаем запрос на некий бэк, да, и вот сколько там агент будет это вызывать, бэк может не выдержать, поэтому нужно какое-то решение.
161: Чтобы ограничить количество вызовов. Вот, но мы сейчас это ограничиваем через те инструменты, которые мы уже разработали на платформе. То есть мы можем задать там количество рпс для вызова. Далее мы указываем стенд, на котором это может быть развёрнуто. Ну, я для начала
162: Укажу дифф на prod, мы это публиковать не будем, указываем стенд вот и вот тот момент про авторизацию, которую я говорил да, то есть в зависимости от того,
163: Какая авторизация стоит на бэкенде? Да, мы можем здесь указать различные параметры, да, то есть basic диси, там статичный ключ, сквозная, плюс у нас есть возможность трансформации заголовком, то есть там можно задать правила, как
164: Какого формата? Какие там хедеры должны приходить? Ну вот мы просто уже здесь это сделали. Ну ладно, как создаётся эмсипи. Вот здесь мы переключаем. Хочу дать доступ для
165: И агентов вот здесь появляется у нас эмсипи и a2. Эй, у нас пока в разработке, вот я про него сегодня рассказывать не буду, но, кстати, если интересно, у нас, ну как-то вот мы сейчас разрабатываем.
166: Как только выкатим, в принципе, можно будет сделать по этому поводу вебинар. Ну, если интересно, просто мы сперва взяли в поддержку именно cpp, потому что, ну как
167: Большинство, во первых, это нужно было для нашего агента, да, во вторых, вот большинство вендоров, они сейчас вот создают свои сипи сервера, ну и поэтому мы сперва решили реализовать этот функционал. И вот, да, мы здесь видим, что на основании
168: Спецификации, которые вот я загрузил, появляется меню, да, в котором мы можем выбрать. А какие методы мы дадим агенту, какие, какие методы можно дать на то, чтобы, ну, потом агент получил к этому доступ. То есть я здесь выбираю, ну, допустим, метод get
169: Здесь нужно прописать дискрипшен для агента, чтобы лм это понимала. Чем подробнее мы его опишем, тем лучше. Ну, я сейчас очень кратенько напишу там получить там номер телефона.
170: А по фио, то есть, ну, сохранили дискрипшн, все окей. Ну, здесь тоже самое, да, здесь описание, в принципе, вообще для всего api, да, учить.
171: Телефона вот здесь там можно задать теги чтобы мы для поиска могли эти scp выбрать, выбираем категорию безопасности и ну по сути дела вот процесс публикации практически закончен, мы сформировали манифест так как мы
172: Там, в на becker используем подход к гитопсу, у нас все интеграции это создание манифеста, да, который хранится в гите. И вот здесь там функция с конфигурацией сипи.
173: Соответственно, получился наш метод, который мы хотим отдать агенту, ну и далее нажимаем отправить, и он будет публиковаться на платформе. Там будет проходить процесс публикации с согласованием иб с там заказом доступа.
174: На firewall, если там доступа заранее не выдан, поэтому я давайте я вот зайду, я просто уже ж готовился, вот поэтому я опубликовал эти заранее.
175: Чтобы мы сейчас времени не тратили. Вот давайте эмсипи, вот, ну вот здесь как раз-таки то to апишку, с которой мы хотим сейчас работать. То есть это Мокова, апи, да, тут
176: У неё вот здесь поднялся, то есть после публикации мы вот такую картинку увидим, поднялся сипи сервер, вот есть его адрес, то есть вот тут заявка б есть мониторинг, вот мы сервер подняли, да, вот на
177: Выходе. У нас вот такой вот скрин, да, в котором можно адрес sp сервера скопировать. А теперь вот интересные варианты, да, мы же должны как-то этот эмсипи сервер добавить в агент в качестве агента я
178: Сейчас покажу это open api, web ui это на самом деле опенсорсный такая как-то.
179: Мордочка, слэш простенький агент для работы с а то есть там какой-то сложной агентской логики больше нет. Они вот как бы разрабатывают продукт именно для того, чтобы подключаться к
180: Различным эмкам. Но почему мы его выбрали для демо? Потому что здесь есть поддержка вот этого эмсипи клиента, да, вот, который, в общем, из коробки можно заиспользовать. Ну и для начала я там введу простой запрос.
181: Серия там получит. Какой номер телефона Иванова ивана?
182: Иванович, это как бы, естественно, моковые данные. Вот тут как бы я конкретно для Иванова Иванова ивановича, конечно, не хочу получать номер, но здесь просто продемонстрировать концепт, да, что, ну,
183: Который, которому сейчас пошёл вызов, он ничего не знает про Иванова ивана ивановича. Да, вот он говорит, что я вообще то не могу эти данные получить, и как, ну, моделька у нас ограничена, да, теми знаниями, на которые она натренирована. Вот, а теперь мы как раз и расширяем, возможно,
184: Модель. Вот мы заходим в настройки, настройки администратора внешний инструмент здесь я уже как бы заранее инструменты создавал но мы создадим инструмент новый да, вот мы открываем
185: Здесь вот видите, делаю переключатель эмсипи сттримы. Был аштипи. Нужно ввести url и ключ, с которым нужно подсоединяться к бэку. Вот я захожу, копирую, да, вот теперь, чтоб полу.
186: Получить доступ и вызвать этот метод. Мне нужно вот получить этот токен, да, про который я говорил. Токены у нас вот работают по модели публикатор, подписчик. Для того, чтобы получить токен, мы заходим в управление подписками и
187: И здесь я подписку уже оформил, Вон там, 15 числа уже видно. Но если бы я оформлял её с нуля, да, то я, соответственно, говорю, там добавить новую подписку, там выбирал бы продукт.
188: Выбирал бы сервис аутентификации, да, через который это все можно там сделать. Указывал там сервисный аккаунт. То есть у нас, в принципе, здесь уже довольно много функционала по тому, как сделать различные подписки, но, тем не менее, вот я подписался, да,
189: И вот хочу получить токен, токен получить. Вот он мне сгенерировал токен, мы теперь заходим сюда и этот токен вставляем вот здесь, там, пишем там.
190: Ттс, апп, демо. У нас какое сегодня 17 число? Да? Вот 17. Давайте 12. Вот, вот. И здесь вот 1 момент, да, вот процесс инициализации.
191: Все ли, как бы, ну, мы вот сейчас сделали вот этот вызов, то, простите, инцела, да, который я показывал на этой схемке. То есть вот ура, все подключила, он сервис видит, все хорошо.
192: Сохраняю, подключил этот to, захожу в в наш чатик. Так, простите, вот тот чатик, куда я писал, да, значит, какой номер ивановича. И вот здесь, в инстру.
193: Вот наш МТС хаб де, 18, 12, я его включаю, да, то есть теперь у нас там произошёл тул кол, да, мы получили информацию о тех тулах, которые будут доступны агента, а именно о, вы
194: Вот этого функции. Ну и давайте вот я повторно пишу, давайте посмотрим, че у нас моделька сейчас скажет. Да, она у нас определила, да, что, ну, вызов.
195: Тот же, да, я ничего в коде агента не менял, я просто в него добавил адрес эмсипи сервера, вот в котором описано ту, и она сейчас сделала этот вызов, и она вот даже вот пишет, да, что вот вызван такой-то источник. Вот get user phone numbers вот вызван такими
196: Параметрами. Ну то есть таким образом мы вот расширили возможности самого агента и если, кстати, зайти на
197: На нашу платформу. Ну вот, да, видно, да, что как бы вызов прошёл, да, то есть мы, мы эту вот эту штуку ещё мониторим. Так, так, о чем я возвращаемся? Вот, ну,
198: И как я заранее, да, опубликовал ещё несколько Тулов, то есть можно вот продемонстрировать пару сценариев. Они, кстати, вот интересные, то есть там по геолокации, да?
199: Сейчас находится, да, то есть я как раз-таки включил сейчас этот тул с геолокацией. Вот давайте посмотрим на результат. Вот, ну, он, да, по геолока.
200: Тоже вызвал источник, если что, не переживайте, это так, данные моны здесь именно продемонстрировать возможность, да, вот вызова апишки, да, которую мы добавили через scp server или там
201: Вот точный адрес, да, давайте попробуем так, потому что там там 2 метода, это я сейчас не показал сейчас. Ну вот, да, точный адрес, это вот он тоже.
202: Вызвал ещё 1 апишку. Если мы на неё зайдём, давайте я найду. Вот то как раз-таки увидим.
203: За час. Ну да, вот как раз-таки вот там 2 вызова, которые вот сегодня были, вот он продемонстрировал, ну вот таким образом, да, так как вот, ну, нашему агенту тоже нужны были апишки, мы хотели интегрироваться и прописывать их вручную мы не хотели. Мы вот начали их генерить и пере,
204: Использовать те возможности, которые есть на отае уже вот по созданию тип сервера.
205: Вот такая вот вещь, вот такая вот демонстрация. Так можно, наверное, переключиться на саму презентацию, да, у меня там буквально ещё 1, 2 слайда про выученные уроки и
206: И я потом перейду на ответ на вопрос, вот там, так что можно, да, вернуть обратно презентацию. Во, ага. Так вот. Ага, спасибо.
207: Так, демо прошли все в лайве, показали выученные уроки. В общем, здесь больше так, чем чем хотелось поделиться с аудиторией. Смотрите, вот эта пробле.
208: Выбора инструмента, которая есть, да, то есть, ну, типа, как объяснить, лм, что нужно использовать тот инструмент, потому что мы сейчас же, ну, мы добавили вызов, да, вот на таких вызовах.
209: Понимает, что нужно вызвать, но если мы сделаем там много Тулов, ну, она как бы может путаться. То есть галлюцинацию никто не отменял, и сам сиви протокол, он эту проблему, ну, не решает, она должна решаться уже на логике агента. Ну, здесь то который агент, я показывал, она
210: Агент то простенький, но вот как раз-таки у ребят из gpt было несколько вебинаров о том, как строить агента. Вот, и они там как раз-таки про контекст, про память вот рассказывали вот вопросы выбора.
211: Инструментов, они все ещё лежат на логике агента. Это вот то, что хотелось донести, это вот, да, ответ на вопрос, который спрашивали в начале там дорого ли реализовать эмсипи и так далее. Ну, на самом деле не так, что дорого, то есть там
212: Спецификация есть буквально несколько методов вызова, то есть никакого рокетсайнса нет, но просто единственное, для чего вот мы делаем сипи. То есть если нам нужен агент с с доступом к многим
213: Апишка, при этом айпишки могут меняться и вот чтобы мы это все не поддерживали, то ну да, давайте идти в историю эмсипи если мы делаем ps. To function, calling ну все отлично учитывая что эмсипи это по сути дела есть враппер над фанкшн колином и 3 это
214: Да, это вот ещё важный момент мы когда начали генерить эмсипи ну на основании опенапи да, то есть обычно в openapi спецификации вот прям очень много методов особенно в интерпрайзах и это.
215: Мы именно поэтому начали вот давать вот возможность выбора, какие методы доступны, да, ограничения доступа, потому что вот по хорошему больше 10 методов в 1 cpp server лучше не не добавлять просто.
216: Потому что, ну, как agent же будет запрашивать, да, список этих Тулов, там он придёт, большая портянка, там все закинут в лм, и как бы она может не разобраться. Тут, конечно, в зависимости от того, какой лм используется там, насколько она умна.
217: Какая логика агента, но вот по хорошему, да, больше 10, чем меньше, тем лучше. Вот, поэтому вот такой вот месседж. Вот. Ну да, и все. Спасибо. Спасибо за внимание, я тогда перехожу.
218: К вопросикам. Давайте так.
219: Так на чем я остановился?
220: Пу пу пу пу пу
221: Так вот, стейшн. Ага. Ну да, про стейшн я сказал, да, вот это вот интересный момент. Я, я, я бы порассказывал, но время ограничено. Приведите примеры агентов, которые работают без вмешательства человека. О
222: Знаете, это вот мы сейчас как раз-таки начали внедрять на уровне эль 2. Ну то есть у нас есть команда эль 2. Ребята мониторят производительность системы, в принципе, там работают
223: С какими-то вопросами от пользователя. Им довольно часто нужно было, ну, как заходить в логи, да, смотреть трейсы, смотреть там, какой сервис работает, какой, ну то есть, производить изначальную диагностику. И у них че, хорошо, да, то ест.
224: Ребята молодцы, они прописали это все в своих ранбуках. И вот как раз-таки агент, который при там, получении инцидента, вот по вот этому ранбук идёт, да, и гибко понимает, какие
225: Как там нужные параметры дёрнуть и проанализировать, да, то есть это вот, вот отличный пример. Это вот, ну, касательно вот именно работы того, что есть, вроде
226: Ну и, естественно, наш агент, про которого я в начале говорил, да, вот, который был сперва ассистентом, сейчас мы его начали уже развивать как полноценного агента. Это для построения лоукод интеграции у нас на платформе есть
227: Локо движок, который позволяет аналитикам и архитекторам набрасывать визуально как вот как по аналогии с схемой интеграции. Вот, и чтобы этот процесс
228: Простить. И человек мог уже на бизнес логике, ну, задавать вопрос, да, там вот, а агент на основании тех интеграций, которые есть на платформе, уже составлял заполненную схему. Вот, то есть это вот ещё 1 агент.
229: Ну вот если прям полностью, вот без, без, ну, тут, ну, там, нам там, мы просто единственное, включаем ещё human, н, the loop, да, то есть мы все-таки как бы, с пользователем беседуем, потому что, ну, он строит интеграцию, он задаёт уточняющие вопросы. А вот по ранбука, вот у ребят прям вот хорошо.
230: То есть у них как бы есть чёткий алгоритм действий, и как бы он, конечно, варьируется и так далее, но вот, наверное, вот это так.
231: Пытался через ленкрафт. До сих пор пилю, пока молчит. На мои вопросы агент. Мы, кстати, тоже используем Ланграф. Вообще можно начать с лечена. Ну там же как 2 сейчас фреймворка, да, основ.
232: Это chain Ланграф. По сути дела, Ланграф. Как такая расширенная возможность для ланчен? Ну как могу, если интересно, там напишите контакт, я могу скинуть хорошие примеры, ну,
233: Даже в опенсорсе, как на ней написано агенты, вот там не rocket science, но прям вот нормально вот. Так что там как-то свяжитесь там в обратной связи, там через там соцсети я обязательно
234: Вышлю, по крайней мере, то, что, ну, то, что мы нарабатывали, я могу этим поделиться. Па па па. Так, наиболее интересные агенты с разбивкой задачи на подзадачи и возвратом к пользователю, если нужна дополнительная информация.
235: Чтобы избежать ошибки, галлюцинации, можно же за счёт эмсипи тоже уменьшить эти галлюцинации за счёт увеличения возможностей агента или другие какие-либо инструменты. Возможно такое, ну,
236: Это вот к вопросу вот тех вот Хинтов, которые я в начале писал, да, что эмсипи, выбор инстру, ну, как бы, проблему выбора инструмента однозначно оно не решает, он стандартизирует.
237: Механизм передачи, да, то есть у нас там уходит вендерлок, мы теперь можем там изменять эти ресурсы, но, так сказать, однозначно, что вот мы вот внедрили эмсипи, и теперь у нас лмка не галлюцинирует и все понимает. Ну нет, к сожалению. То есть тут опять
238: Все зависит от того, как описан промт, да, то есть мы поэтому даём возможность описать промт, ну, когда создаётся сам сипи сервер, да, чем более качественно он описан, да, чем более подробно, ну, тем лучше. Вот, поэтому вот сам протокол пробле.
239: Тему выбора Тула и галлюцинации не решит он, он как бы, он, он поможет стандартизировать, да, то есть будет легче обновлять, но вот прям вот чтобы решить. Нет, не могу такое сказать. Пример, агент по запросу, описание
240: Темы и детали в telegram, пишет пост, отправляет его в ленту bitrix а это, наверное, да, вопрос вот то, что я спрашивал про агентов, про ну да, вот огонь угу.
241: Ну, туда даже вот интересно ещё побеседовать. Жалко, что у нас в онлайн дискуссию вот именно уйти там, как это мониторится, потому что вот для агента, вот там я этот топик не раскрывал про obs наблюдаемость, да, а
242: Вот, там сколько токенов он запрашивает вообще, как, как это вообще по бюджету и так далее. Это тоже вот интересный момент. Мы его сейчас прорабатываем. Вот, ну, огонь, да, вот по запросу, вот, ну, опять-таки, да, вот агент.
243: Запросу это, ну, то есть все отлично, классно, круто. Вот когда агент ещё вот, ну, без запроса, да, сам что-то инициирует. То есть, вот как вот с примером эль 2, который я говорил, да, то есть там он понимает, что, ага, вот инцидент пришёл, я сам, значит, без запроса начинаю
244: Делать анализ. Ну и в итоге, да, он, ну, проходится по ранбук, да, и выдаёт ответ. Вы про эту протокол будете говорить? Нет, вот сегодня
245: Про эту и протокол не буду говорить, но учитывая, что мы тоже сейчас это вот на тест уже выкатили, начали смотреть, как оно будет работать, то, наверное, вот чуть позже. Вот.
246: Обязательно сделаем вебинар, если я только начинаю изучение ии с чего порекомендуете начать, какими навыками нужно обучиться в 1 очередь. А, ну смотрите.
247: Вот, если посмотреть там на гитхабе, сколько вот агентов делается, обычно это пишется на питончике, поэтому тут нужно иметь как бы навыки разработки на питоне.
248: И как фреймворк, наверное, лучше в начале взять ленчей. Вот. Ну и начать экспериментировать. Вам нужна будет какая-то моделька, да? Ну как бы без модельки мы агента не сделаем тут.
249: Либо можно развернуть какую-нибудь, самую там простенькую у себя локально, да? Ну просто подёргать, посмотреть, что она отвечает и так далее. А если что-то уже большее, то тут нужно, ну,
250: К примеру, покупать подписку. Вот, ну, то есть можно подписаться на какие-то модели, которые вот ребята из gpt предлагают. То есть, по крайней мере, мы, мы как раз используем. Вот, ну, это на правах рекламы. Вот, так что.
251: Питончик ленчей. Вот и с этого начинать. Так, дальше есть вопросы. Эмсипи съедает много контекста. Если ллм не получает желаемого ответа, то
252: Количество вызовов Пулов больше и нет результата. Также ещё вопрос. Несколько эмсипи серверов лм начинает путать, что вызывать. Да, это есть такой момент, что, ну,
253: Лм. Добавляет дополнительный оверхед на количество токенов. Вот это на самом деле вот ещё надо поисследовать, мы как раз-таки у себя вот ещё не закончили эти исследования. Ну то есть там, если посмотреть в
254: Источниках, то есть там как-то говорят, что да, там прям оверхед, оверхед. Хотя, с другой стороны, есть исследования о том, что, ну, как бы не такой уж и большой, но, в принципе, то, что эмсипи добавляет дополнительный оверхед, ну,
255: Такое есть, да, вот тут вопрос, насколько вот он критичен. Вот с другой стороны, ну, как бы тут как есть плюсы, да, что мы можем гибко добавить функционал его поддерживать? Ну, есть минусы, что дополнительно для этого есть
256: Тут вопрос того, как его минимизировать, да, то есть описать лучше prompt, да, добавить в самого агента какую-то дополнительную логику, потому что вот если просто, ну, как вот я показывал
257: Да что у нас там, по сути дела, просто трансляция входа текстовых данных в модельку, но тут никакой дополнительной логики нету, да, то есть там у него нет памяти, нет контекста, и он может, как бы, ну, сжирать много токенов, поэтому тут
258: Я бы сказал, что нужно допиливать логику на самом агенте, то, что ллм, да, вот начинает путаться, ну, как-то из тех практик, которые вот у нас сейчас используются, добавлять меньше Тулов.
259: Ограничения по количеству эмсипи серверов, которые можно добавить в агента. Тут вот прям сказать не могу, это надо вот ещё поисследовать, но так или иначе, да, то есть, ну опять
260: Таки, да, эмсипи это вот именно стандартизация передачи, вот эту информацию в лм, если мы будем давать очень много информации, ну, коренную проблему от модельки, что она может начинать путаться и так далее. Ну, мы с ней
261: Столкнёмся, тут её можно решать именно на уровне агента, ну либо как-то вот его to доменную область, в которой он работает как-то сужать, да, потому что, ну, человеку тоже, если, если дать много ручек начнёт
262: Путаться и вызывать ненужные вещи. Вот. Так что проблемы есть. Да, согласен. Ну, решается, да, на уровне агента, если использовать эмсипи на вашей платформе. Каким образом?
263: Можно будет обращаться, допустим, к корпоративной документации или к своим исходникам вектор и рак, и или это не получится, как быть с безопасностью, если речь идёт о корпоративной документации. Спасибо. Вот.
264: А по поводу рага, смотрите, вот мы сейчас поддержали Тулы, то есть мы, конечно, можем, то есть тут как делается, мы публикуем спецификацию опенапи, в которой есть ручка по получению, там, не знаю,
265: Документации. Вот соответственно мы её публикуем как scp server и подключаем к агенту. Это ну наш текущий вариант по хорошему.
266: Конечно, здесь нужно ещё поддержать этот забыл. Слово вылетело ресурсы, да, чтобы на ридонли доступа было. Но если кратко отвечать, то опубликовать опенапи, спецификацию на
267: Платформе, поднять эмсипи, сервер, вот с ручками, которые получают информацию о документации. То есть здесь, ну, здесь, здесь, здесь должен быть бэк, который эту информацию вернёт. И, ну, а разграничение доступа это вот через токен, кото
268: Который я показывал, да, то есть мы как бы, ну, опубликовали, да, далее от публикуем самого агента, от агента подписываемся для агента, выдаём свой токен. Ну и вот таким образом у нас как-то
269: Вопрос с безопасностью решается. Вот, но с рагом, да, с рагом. То есть это, это интересный момент. То есть вот в правильном варианте нужно, наверное, поддержать примитив ресурсы и через него это сделать.
270: По сути дела, получится, наверное, та же та же самая штука, как и с тулами, но идеологически это, наверное, будет более правильно. Так сколько времени вы реализовывали эмсипи для вашего проекта?
271: Вся эта платформа, система аутентификации. А, ну, эмсипи, это вот мы недавно сделали, по сути дела, вот мы за квартал сделали вот именно реализацию эмсипи, поддержку протокола, а сама то платформа у нас давно
272: Это, господи, я уж, конечно, точно не скажу. Ну, где-то 4, наверное, плюс лет, если не ошибаюсь. То есть, ну, вы там видели, да, вот на Демке я показывал, у нас там различные виды интеграции, то есть, там можно опенапи завести синкап гриль.
273: Для лоу кода, вот для нашего движка, для вент мыша, то есть это все разные команды делают, да, то есть вот моя команда, мы вот именно реализацию поддержки эмсипи протокола делали, ну вот за квартал.
274: Справились так, больше 10 методов на сервер, потому что контекст ум переполняется. Да. Ну, ну да, все верно. Проблема переполнения контекста. Все верно.
275: Ну и также, вернее сказать, с 1 стороны, да, переполняется контекст, с другой стороны, ну вот пробовали, да, общаться с моделькой, накидывать в неё кучу, кучу разной информации. Вот, но она, соответственно, начинает
276: Теряться тут даже с 1 стороны, конечно, переполнение контекста, с другой стороны, ну просто если давать много разношёрстной информации, то она плохо работает. Есть, кстати, такой термин.
277: Garbage in garbage out. Ну то есть, чем больше всякого мусора кидается на модельку, да, как-то ну не связанного, тем сложнее ей как-то это переварить, потому что ну как-то в конечном итоге, да.
278: Модель все-таки у нас там на основании тех данных выдаёт там наиболее вероятное слово, да, поэтому тут нужно все-таки работать именно с входными данными. Так, если для того, чтобы узнать адрес, нужно
279: Сначала узнать номер телефона, а в запросе просто запрашиваем адрес по фио, тогда же отработает агент. А вот тут, да, это вот, кстати, интересный момент. Смотрите, то, что я
280: Демонстрировал это, ну, вызовы, которые, ну, однозначны по контексту. Если мы запросим, делаем запрос именно просто там узнай адрес, то моделька вызовет 2 этих метода.
281: Но мы столкнулись вот с чем, так как мы, ну вот на текущем агенте, да, без там, дополнительной логики и так далее. Мы это реализовывали, он не всегда правильно подставлял номер телефона. Такой такой момент был. То есть он
282: Делал там 1 вызов, да, получал номер телефона, но он его себе, его никак не кэшировал. И 2 вызов, он такой, а, да, у меня есть ручка, я её сейчас дёрну. А что ж туда поставить? А, ну давай я вот какие-то данные выдумаю, да, и, соответственно,
283: Производил вызов уже с выданными данными. Ну, на что ему отвечало 404. И там вот нужно было, соответственно, либо на уровне системного промта прописывать, да, либо уже вот идти в логику самого агента, то есть вызов несколько вызовов.
284: Может, может быть сделано просто, ну, потому что моделька вот как я показывал, да, она будет возвращать список, да, Тулов, которые нужно вызвать. И если агент это правильно распарсивает, он их вызовет. Но вот
285: Какой, когда вот здесь вот больше нужно уже играть с логикой внутри самого агента, да, то есть вот её допиливать, если возможно, поясните, пожалуйста, как ллм вызывает.
286: Mcp агентов.
287: М. Вызывает эмсипи агентов разово перед выполнением ответа для наполнения контекста или по ходу составления ответа может вызвать наш сервер, допустим,
288: 1 запрос к эмсипи вернул какой-то чанг, но по ходу составления ответа понадобилась ещё информация, и был запрошен, скажем, соседний чанг. Спасибо. Так, так, ну тут, тут, смотрите.
289: Тут, конечно, все зависит от реализации агента. Ну, того, как, как, потому что, ну, sp клиент, да, это ж просто, как бы, условно говоря, агент, ручка которого будет, будет дёргать само приложение. Вот, и как-то тут зависит от того, как, как мы напишем самого.
290: Агента, вот как происходят сами вызовы. Ну вот я в самом простом варианте показал, да, то есть я не знаю, там, если можно сейчас вернуться на саму презентацию, где-то у меня там было
291: Пум, пум, пум, пум, пум, пум, пум, пум, пум, пум, где-то так а вот, ну вот здесь, да, то есть то есть мы инициализировали соединение. Вот че то здесь вопрос был для контекста или по ходу составления ответа можно вызвать наш сервер, да, то есть сам сервер
292: Будет вызываться, когда будет идти запрос от пользователя или вот сейчас, допустим, 1 запрос у меня прошёл какой-то чанк, но по ходу составления ответа понадобится ещё информация. А, все, я понял, да, то есть по ходу, ну да, здесь я понял.
293: Вопрос, то есть здесь все-таки, да, зависит от того, той логики, которую мы реализовали на стороне агента. То есть мы получили какую-то информацию от лмки, что да, там нужно вызвать Тула, нужно сделать ещё какой-то дополнительный вызов. Вот, ну, опять-таки, либо мы просто переправляем эти данные в лм, и
294: Нам отвечает, что нужно сделать. Вызов. У нас последовательный вызов идёт, либо мы делаем какую-то логику на стороне агента, вот, которая, ну, там, не знаю, собирает все нужные вызовы и начинает там дёргать эмсипи, серверы в последовательность. То есть тут вот логику нужно
295: Регулирует на стороне агента. Вот так тада тада.
296: Так, вроде бы все. Да, и так, нам же нужно теперь ещё подарок разыграть. Да, хорошо. Так, давайте посмотрим, какой вот это какой-то вопрос. Я
297: Запомнился?
298: Ну, мне, мне, честно говоря, понравился. Вот вопрос по поводу контекста, да, то есть я эту тему тоже сейчас смотрю, что лм, съедает эмсипи, съедает контекст. Вот автору вопроса свяжитесь, простите.
299: Свяжитесь с нами через соцсети. Вот мы вам дадим подарок. Вот. Так что мне понравился. Так что да, напишите в социальные сети, да, там с описанием вопроса.
300: Про съедание токенов, вот это вот так что, да, наверное, у меня все. Вот всем спасибо. Если будут вопросы, да, у нас там вот в конце слайда контакты, если что.
301: Пишите на почту, ну либо там через соцсети связывайте, я думаете, я думаю, мне передадут. Вот вообще интересен вот фидбэк, да, то есть насколько тема интересна, может какие-то топики нужно более широко осветить. Вот как вот.
302: Семплингом, то есть по вашим запросам можно будет сделать ещё 1 вебинар, если этот зашёл. Вот. Все, спасибо. У меня все, до новых встреч. Пока, пока.