0: Сегодня у нас на демо урок для курса лм дривен девелопмент, который называется обзор фреймворков для создания агентов. Вот мы сегодня поговорим про 3 фреймворка на
1: Python, который можно использовать для разработки агентских систем, вот из которых, ну, по моему, все, все 3, так или иначе на этом курсе. Ну, на основном курсе я имею ввиду.
2: Рассматриваются и 1 из них, лен граф, я, в частности, даю на 1, на 1 из занятий. Вот, ну да, если по коммуникации там какие-то
3: Как-то проблемки или что-то подобное, то вовремя сообщайте, чтобы я успевал это мониторить. Вот немножко про меня. Я по бэкграунду прикладной математик в мль работаю, ну примерно уже 10.
4: Лет и с лм, ну, в частности, лм. Инженерингом занимаюсь. Последние, наверное, года 2, ну, как минимум, время от времени. Вот. Ну, тут, в принципе, про меня написано. То есть, чем я занимался, какой пример.
5: Опыт работы, то есть это как как классический эмэль, так и диплернинг, ну и последние вот год, 2, это, в частности, энэлпи.
6: Вот на отусе на платформе отус я преподаю на нескольких курсах, в основном это курс по computer vision, ну и на курсе по m. Dd я тоже веду 2 занятия.
7: Ну, 1 по файнтюнинг, по приёмам тонкой донастройки модели. И 2 как раз по графовым подходам, где, в частности, лен граф и рассматривается, ну, то есть 1 из фреймворков для разработки агентов.
8: Вот. Ну, правила у нас, в принципе, всегда более менее одни и те же, как на открытом уроке, так и на курсе. Вот приветствуется активное написание вопросов или каких-то замечаний в чат.
9: Чат я периодически просматриваю, как я сказал, ну и да, потом вам данные вебинара должны прислать, чтобы у вас этот материал был, ну или как минимум его где-то
10: Его выкладывают на вк, по моему и возможно на YouTube я не помню, так что он ещё останется ну да, по традиции мы интересуемся какой у вас бэкграунд и какие.
11: У вас в целом, ну, как бы такое целеполагание в разрезе этого курса. То есть, что вы хотите изучить, что вы хотите освоить для себя. Вот будет здорово, если вы напишите в чат, чтобы я тоже понимал, какой у вас бэкграунд и
12: И мог, соответственно, тоже адаптироваться. Вот немножко расскажу про отус перед тем, как перейти к основному материалу. Отус это онлайн платформа по обучению айти и смежным специальностям.
13: У нас довольно-таки много авторских онлайн курсов на разные темы от junior до лит. И самые разные тематики, то есть это и разработка devops аналитика эмэль вот и довольно-таки часто появляются.
14: Новые курсы для того, чтобы как раз
15: Отвечать на потребности специалистов, которые хотят получить какую-то дополнительную квалификацию или освоить что-то совершенно новое, чтобы, собственно, начать карьеру в каких-то направлениях, есть образовательные
16: Лицензия, что, в общем, тоже важно. Ну, которая считается как диплом о профессиональной переподготовке. Курс, как я сказал, самый разнообразный. И разработка, и архитектура.
17: И аналитика, как вы видите, дейта сайнс эмэль, ну вот, в частности, по эмэль стеку довольно-таки много разных направлений. То есть это и просто курсы по ml и data science, и энэлпи 2.
18: Курса компьютер вижн 2 курса. Вот вы сейчас находитесь на демо по курсу м дривен девелопмент. То есть это инжениринг, ну, разработка приложений с использованием м
19: Всего, что с ними связано. Ну вот скоро, насколько я помню, запускается ещё курс по ai агентам вот, так что довольно-таки много разного появляется. Итак, в принципе это так.
20: По водной части, наверное, все. Вот. И в принципе, можем переходить к такой содержательной части слайдов, да, по маршруту мы сегодня пойдём таким, ну,
21: Таким шагам. То есть мы поговорим, что из себя представляет агентный подход, и рассмотрим 3 фреймворка автоджин крю эйай и lang граф. Ну то есть рассмотрим
22: В режиме такого общего обзора, какие фичи чем отличаются друг от друга и где успеем посмотрим примерно ну то есть crew ai и learn граф, я думаю, что код посмотрим, атоден, ну там.
23: Увидим, будет время или нет. Ну и в конце скажу несколько слов про курс. Это, по моему, сейчас.
24: 3, наверное, запуск этого курса, который появился, соответственно, получается, год назад. Ну, там, в общем, покажу программу, если вы ещё не видели, и какие-то тоже вводные, скажу, если вы заинтересуетесь.
25: Вот в целом занятие сегодня довольно-таки обзорное, то есть там в описании к уроку написано, что оно скорее для тех, кто хочет вкатиться в тему агентов, как бы базово понять, как это все работает, как устроено. Ну,
26: Мотивация такова, что я вот, например, на работе у себя замечаю, что разработчики, которые довольно-таки мастеровито пользуются инструментами для генерации кода и активно пишут очень сложные проекты.
27: Ну, то есть уже не сами пишут, пишут, а скорее вот управляют эйай редакторами или какими-то агентами, системами, они вот приходят к тому, что начинают отдельно интересоваться агентами, фреймворками.
28: То есть, казалось бы, есть решения, которые генерируют код вполне себе. Ну вот есть потребность у людей, которые там с питоном не связаны, и энэлпи про энэлпи лм, инжиниринг, мало что вообще.
29: Изучали, но вот они обнаруживают, что есть такие фреймворки, которые позволяют ещё более гибко организовывать свою работу и получать больше контроля над тем, что происходит. Вот поэтому
30: В плане лм, инжиниринг знания агентов это маст, ну то есть, необходимая, необходимый такой скилл, если вы просто разработчик, ну, наверное, ну то есть, если вы разработчик, я имею ввиду не связанный с
31: В принципе, а вот у вас какие-то классические задачи, ну вот, наверное, вам тоже интересно узнать, какие вещи существуют, чтобы
32: Ну, улучшать свои процессы и какие-то интересные вещи тоже писать самостоятельно. Вот. В общем, такая мотивация сегодняшнего демо. Так, по маршруту я сказал, давайте проговорим ещё.
33: Цели, зачем это все мы делаем, каковы цели вебинара и что вы из этого можете извлечь для себя? Ну, я сформулировал, что надо бы в целом понимать, в чем сущность агентного подхо.
34: Да, то есть чем отличается просто от использования лм, и какой тут сдвиг парадигмы? Ну, который на самом деле произошёл, кто-то осознал, кто-то нет, ну про это мы проговорим. Вот.
35: Пардон, ну и да, если вы понимаете агентный подход, то, соответственно, вы понимаете ситуации, когда имеет смысл его.
36: Пользуется, когда такого смысла нет. Вот. То есть не всегда надо брать агент, ну, не всегда нужно скатываться к тому, чтобы везде и всюду разрабатывать агенты, системы. Иногда
37: Можно обойтись каким-то классическим использованием моделей с промтами, но все-таки агентная система это такая мощная штука, которую, ну, уже, наверное, невозможно игнорировать.
38: Вот по основным а фреймворкам, как я сказал, мы хотим понять, что за основные фреймворки, чем они.
39: Друг от друга, друг от друга. Какие у них фичи для того, чтобы понимать, на каком остановиться, когда вы решаете какую-то задачу в режиме агентного подхода. Ну и, наконец, понимать,
40: Какие паттерны стоят за каждым из подходов, чтобы понимать, ну, чтобы уметь оценивать сложность своей задачи и соотносить с конкретным фреймворком, конкретным набором.
41: Паттернов, которые вам нужно использовать.
42: Вот. Дальше у нас будет раздел по агентному подходу. Давайте я быстренько взгляну на чат. Наверное, да, вижу, что много вопросов.
43: Ну давайте я к чату вернусь после вот этой вводной части и прокомментирую, что вы написали. Пока что давайте продолжим.
44: Итак, поговорим про агентный подход. Чем это, чем это отличается? Просто от использования какой-то, ну, отдельно взятого чат бота, то есть с промтом в режиме собственно чата.
45: В чем здесь новаторство и почему этим нужно заниматься иногда. Вот, то есть по классике мы привыкли, что у нас есть какая-то модель, которая живёт
46: В виде чата, да, с каким-то интерфейсом или в виде афишки. И вы в эту модель отправляете какие-то запросы с просьбой что-то для вас сделать, чем-то вам помочь то есть вот вы указываете
47: Входные данные, модель что-то там делает и вам выдаёт результат, которым вы довольны или нет. Вот. И в принципе все, что вы все, что вы можете, вы описываете внутри.
48: И промта, то есть все ваши данные, весь контекст, весь список функций, апишек каких-то внешних, которые вы хотите, чтобы модель могла использовать. Все это вы описываете в промте, вот, то
49: Это в целом такая рабочая схема, но узкое место в том, что, собственно, вам нужно заниматься про инженирингом, и это вот ваше такое бутылочное горлышко, в которое вам нужно
50: Всю необходимую информацию. Ну то есть и модель в зависимости от мощности и, ну, мощности, размера и способности вам выдаст ответ какой-то, ну,
51: Соответствующие её возможности. Теперь, что касается каких-то фичей в плане рассуждений, да, то есть было бы неплохо, чтобы модель
52: То есть модель это что-то, что генерирует просто какие-то последовательности токенов в соответствии вот с тем протом вы указали и с тем, как она была разработана. То есть её респонс это
53: Вот так просто генерация такого длинного текста, который является ответом теперь, что если мы хотим, чтобы она не просто генерировала, но и
54: Продемонстрировал какие-то свойства наподобие размышлений. Есть такие подходы, вот, которые вы видите на экране, то есть то, что называется сокращённо си оти тиоти джи оти, то есть чейн офот 3 офо и граф офот, то есть
55: Это такие способы генерации текста моделью, при которых она демонстрирует что-то вроде мышления, ну или ринга, как это называют в индустрии. То есть енот это цепочка.
56: Мыслей, да, когда модель как бы генерирует, генерирует какой-то промежуточный вывод, после него генерирует следующий вывод и идёт такой
57: Точки, опираясь на то, что она, опираясь на те выводы, к которым она пришла до этого. Вот 3 of thought. И graph of thought, вы видите, это уже такая более структура, собственно, граф
58: Видное, да, какие-то вот ну вот здесь мы видим уже циклы, а здесь мы видим то что называется dark, то есть как это directed Алик граф, то есть направленный не циклический граф.
59: То есть это описывает те направления, по которым модель как бы может перемещаться от промежуточных выводов в процессе генерации. И, в принципе, когда мы говорим про запуск модели с 1 промтом,
60: Подходы оказываются довольно-таки, ну, полезными, потому что если мы скажем модели, что сгенерируй какие-то, ну, то есть в процессе ответа сгенерируй промежуточные результаты и опираясь на них,
61: Лучше там свой вывод, чтобы прийти к окончательному ответу. То есть там 1 дело, что вы пишите модели, что-то типа, дай ответ на вопрос. Другое дело, что вы пишите, порассуждай, объяс.
62: И то-то, и то-то напиши это явным образом, и только после этого дай ответ. То есть что-то вроде такого. И оказывается, что в таких кейсах, когда вы запи, ну описываете какую-то вот из 3 парадигм, то есть
63: Как модели нужно, надо подумать в процессе генерации это все довольно-таки результативно помогает модели отвечать. Вот, но это все работает по прежнему.
64: В рамках 1 промта. То есть вот у вас есть модель чат бот, да, которому вы даёте промт, и он работает вот в таком режиме 1 ответа, разумеется.
65: В какой-то момент пришли к тому, что стало ясно, что 1 модели недостаточно. То есть какими бы мощными они не были, какие-то определённые ограничения у них есть, то есть вот модель как агент.
66: Да, она принимает задачу, то есть prompt как-то там отвечает, или фейлится, или отвечает, но некорректно, и мы с этим дальше должны иметь дело, то есть перезапускать что-то, переписывать, тюнить промты.
67: Под датасет или там под какие-то свои бич марки и так далее. Поэтому возникает следующее направление м. Инжиниринга. То есть как бы нам начать строить такие системы, которые были бы автономны.
68: В плане улучшения качества респонса, при условии, что мы их снабдим необходимыми инструментами. Вот, то есть как нам перейти дальше вот от этой мощной модели.
69: Комплексному решению на её основе. Вот. И общая схема такова, что модель, она становится ядром того, что называется агентом. То есть, что это означает? Означает, что
70: Она может заниматься планированием и контролем, может предпринимать какие-то действия. У неё есть инструменты для того, чтобы взаимодействовать с окружающей средой. Есть память для того, чтобы
71: Не просто внутри как бы текущей генерации, ну или промта хранить какие-то, какие-то данные но и чтобы это могло располагаться где-то ещё. Вот. И тогда мы собственно переходим
72: К агентским системам, то есть agent роуч, да, то есть агентный подход, когда модель и даже агент, построенный на основе этой модели, не является центром ре.
73: Решение, то есть это просто может быть 1 из компонент вашего решения. То есть агентов может быть много. Агент может ошибиться, может что-то как то плохо ответить или зафейлиться в принципе.
74: Это не должно быть проблемой. То есть должна быть система, которая отловит, ну, отмониторит такое вот его подобное поведение, примет необходимые шаги, то есть там
75: Повторит попытку, например, может быть, какой-то другой флоу задаст и таким образом так или иначе попытается, ну вот отработать ошибки модели.
76: Которые, в принципе, могут быть, то есть как фейл, так и просто неподходящий ответ, вот, и тому подобное. И тогда, если мы говорим вот про такие агентские системы,
77: Мы можем, ну, собственно, 4 компоненты основные и рассмотреть, ну, то есть там их больше, в принципе, можно в рамках каких-то паттернов рассматривать, но мы будем говорить именно про 4, то есть про модель.
78: Про инструментарий. Ну там дальше увидим, там в порядке, я не помню. Так вот, если 1 компонента это модель, и мы сравниваем 2 подхода. То есть когда просто у нас, когда мы работаем
79: С моделью просто через промт, вот то, что я в начале объяснял, и когда мы работаем в режиме, ну, потенциально мультиагентной системы, то есть какие тут отличия таких подходов в 1 подходе.
80: У нас, ну, разумеется, 1 модель, да, с которой мы работаем здесь и сейчас 1 промт, в который нам нужно уместить вообще все и нет какой-то специализации. Ну то есть вы можете
81: Задать специализацию через промт, но она у вас останется фиксированной. Вот, то есть за рамки этих возможностей модель не выйдет, вы можете описать много возможностей, но это усложнит соответственно,
82: И генерацию и повысит риски ожидания каких-то некачественных ответов сложно контролировать. То есть вы не можете как бы заранее сказать, что ответ будет хорошим.
83: Вам придётся заниматься промт инжинирингом, промт тюнингом, то есть подбирать такие промты, чтобы на бичмарк. Ну то есть на каком-то вашем контрольном датасете получались при
84: Ответы и потом надеяться, что в продакшене это все тоже будет работать. Далее. Если ошиб, если модель допустила ошибку или там просто выкинула какое-то исключение, вам нужно все запускать за
85: Вот, что может быть тоже дорого. То есть состояние вполне, ну, то есть состояние получается, не сохранится, или если вы получили неправильный ответ, вы как бы, ну, с этим и живёте, да, то есть вы
86: Ничему не научитесь, вам нужно как-то заново запускать модели. Напротив, если мы говорим про мультиагентный фреймворк в контексте вот этой компоненты модели, то мы имеем, во первых, возможность
87: Задавать любое количество моделей очевидно, но что ещё более приятно, это могут быть самые разные модели от самых разных вендоров. То есть это могут быть модели как локальные, так и энтерпрайзные по
88: Фишки это могут быть модели от разных вендоров, то есть вы внутри 1 системы можете сочетать решения там, скажем, от open ai, от джемини, например, и там, не знаю, яндекс.
89: Да, это все может жить внутри 1 системы. Или если вы берете 1 вендора, фиксируете, вы можете вот в вашем зоопарке моделей одни брать модели мощные для одних.
90: Задачи, а другие поменьше для того, чтобы там что-то Амирова какие-то простые операции сделать. То есть у вас появляется такая гибкость ну и разумеется при этом, ну
91: Вы, соответственно, ещё и расходами можете управлять в этом случае возможность специализации. То есть вот я уже сказал, что можно брать самые разные модели, если вот вы экспериментально пришли к тому, что одни семейства решают
92: Хорошо, одни задачи, другие решают другие то вы это все можете учесть в вашей агентной системе оркестрация и контроль, то есть фреймворки дают инстру.
93: Документы для того, чтобы, ну, чтобы делать мониторинг и телеметрию того, что выдают ваши модели внутри агентов. Ну, или вы можете, в принципе, сами написать какую, какую-то агентскую систему.
94: Ну и, наконец, что тоже очень важно, это управление памятью и состоянием. То есть 1 дело, когда у вас
95: Весь контекст живёт внутри текущего промта, который вы дали. А другое дело, когда у вас есть система, у которой есть доступ, ну, есть возможность довольно-таки гибко работать с разными типами.
96: Хранилищ, ну и внешних источников, данных по инструментам. То есть, ну, многие из вас, наверное, знают, что можно снабжать модели доступом к функциям, инструментам. Ну, то есть, что
97: Такое там, скажем, если, скажем, вы можете достаточно хорошей модели написать запрос типа выполни какие-то арифметические операции, да, то есть модель без инструментов достаточно хорошая, да.
98: Может дать хорошие ответы, но это надо понимать, что просто генерация там, скажем, модель посчитает 2 + 5. Это не результат вычислений, это будет результат генерации. Вот, чтобы
99: Ну и риск, соответственно, в том, что чем сложнее вычисления или какие-то прочие операции, тем больше шансов, что модель в процессе генерации, разумеется, может ошибиться. То есть там какой-нибудь, скажем,
100: Не знаю, посчитать неопределённый интеграл, да, но модель с высокой вероятностью ошибётся, ошибётся в таких задачах. Вот, поэтому вы вполне себе можете снабжать обыч.
101: Модель набором соответствующих инструментов функций, ну то есть функции это просто обычные функции на python, да, которые умеют делать какие-то определённые вещи, вы можете снабжать модель.
102: Татором, то есть чтобы она могла запустить простой интерпретатор на пайтоне и какие-то вещи посчитать и получить результат. А можете дать довольно-таки широкий выбор инструментов, например,
103: Сходить там по апишке в какие-нибудь сервисы, типа погода какая-нибудь спортивная статистика, какие-нибудь расписания транспортных билетов, вот это все можно модели предоставить и ну то
104: В промте вы указываете список доступных инструментов, функций и модель знает, что к чему нужно обратиться, что использовать, и все это она может вызвать. Это все работает в рамках простой модели, но
105: В рамках в контексте вот этой парадигмы мультиагентных фреймворков мы можем, разумеется, делать гораздо более гибкие вещи. То есть мы можем, ну если у нас фреймворк система
106: Состоит из нескольких моделей, мы можем каждый, каждой модели дать какой-то свой релевантный набор инструментов, то есть не все инструменты большим списком, а вот только то, что нужно конкретно этому агенту.
107: Инструменты могут быть, могут использоваться, как и промежуточные шаги, там для обработки каких-то результатов, приведению их к определённым форматам. Вот.
108: Управляемые вызовы, ну и логирование действий, чтобы понимать, где что происходит.
109: Вот. 3 компонент память, ну, частично про это уже сказал, но ещё раз проговорим, чем отличается работа с памятью в контексте вот обычного общения с чат ботом или, ну, там даже с
110: И когда мы говорим про мультиагентную систему, когда мы говорим про модель, про обычную модель с промптом, вся память, как уже было сказано, она находится в пределах текущего вызова.
111: Если перезапуск, какая-то ошибка все теряется и состояние вы сохранить не можете. То есть вот вы отправили запрос в модель, у вас пошла генерация внутри этой генерации, как бы, ну
112: Трудно сохранить состояние, то есть для этого нужны опять же функции как-то это можно делать но это немножко нечисто то есть, ну да, то есть лучше все-таки как то между агентами делать такие вещи типа
113: Сохранение состояния. Вот. Короче, да, нет способа сохранить состояние. И как-то часто трудно понять, что происходит. Ограниченность структур данных, которые вы можете подавать в Пронт, то есть
114: Если у вас такая задача, что очень много разных самых структур данных, вам это все нужно как-то суметь уместить в 1 промт, то есть, скажем, таблицы какие-нибудь.
115: Графы изображения, если у вас вот такая сложная задача, вам это все нужно описать в 1 промте и все это дать как переменные. Ну и, в сущности, главная фича вот этого 1 вот этой 1 парадигмы.
116: Это то, что память это по сути токены. То есть вот модель что-то генерирует в процессе ответа. Это по сути её память и есть текущая мультиагентном подходе. Наоборот можно сделать дизайн краткосроч.
117: И долгосрочной памяти можно всячески гибко сохранять и обновлять состояние системы, можно поддерживать самые разные внешние хранилища и структуры данных, то есть это как хранилище.
118: Изображений хранилище эскьюэль, ноу, эскьюэль, графовые базы данных и так далее. То есть, по сути, в этом подходе память это вот то, что мы привыкли называть памятью, это как раз-таки и состояние самой
119: Система, в котором она сейчас находится. Вот, ну и, наконец, в плане управления и контроля тем, что происходит, когда мы говорим про 1 парадигму м plus промт, у нас ризинг нахо.
120: Внутри 1 1 генерации, то есть внутри 1 ответа нет проверки каких-то промежуточных Шагов. Ну то есть модель, как мы видели, может
121: Генерирует промежуточные шаги, чтобы давать более качественный ответ. Но у вас нет способа на эти шаги повлиять, потому что это по прежнему 1 генерация, вот и план это, по сути, превращается в текст.
122: Находящийся внутри пронта без какой-то возможности независимого контроля. Ну и мультиагентный подход это на вас уже, ну то есть это ваша свобода.
123: Гибкость в явном планировании и управлении этапами работы в системе, разделение планирования и исполнения. Дальше вы сами можете. Ну то есть вам нужно самим
124: Придумать, как валидировать промежуточные какие-то шаги состояния внутри этой системы. Вот, то есть это вам даёт больше как бы такой гибкости, уверенности в том, чем вы хотите управлять.
125: И дальше, ну, фреймворки поддерживают такие сложные штуки, как циклы, то есть там повторение каких-то Шагов, либо пока не получится результат, либо там с какими
126: Для каких-то новых параметров это условные какие-то переходы, ветвления и прочие сложные логики таким образом, в этом контексте план превращается в управляемый процесс не просто
127: Какой-то промт, вот такая в общем, фича, когда мы говорим про, ну, фича, вот plan и управления, когда мы говорим про мультиагентный фреймворк в сравнении с таким классическим
128: Использованием лмки. Вот это была такая вводная часть по агентному подходу и как он работает. Давайте я взгляну на чаты и попробую поотвечать на вопросы.
129: Так, написали много, но, наверное, можно на все ответить. Так, я вижу ответы на вопросы про ваш бэкграунд. Ага. Задать вопрос. Хорошо. Ну да, вопросы по курсу.
130: Я думаю, что на большую часть смогу ответить, хоть я и веду всего 2 занятия, но в целом в контекст разумеется погружён так по трендам да, по трендам. Кстати, я забыл сказать, что мы это занятие запланировали.
131: До того, как появился, в частности, опен клоу клоу хаб, такие вот мощные штуки. Но это, разумеется, никак не не отменяет того, что нужны вот такие
132: Устоявшиеся фреймворки с историей разработки и что, наверное, более важно с таким как-то пореко, то есть, как это сказать? Ну, короче, зарекомен за
133: Рекомендовавшие себя в индустрии, то есть на которых уже такие продакшн системы вполне строятся. Вот, да. Ну, в общем, опен клод мощная штука, судя по
134: По отзывам, я сам пока не использовал. И как бы там есть некоторые консерные, если вы знаете, там по безопасности, по расходам на токены, вот все-таки такие классические фреймворки, это более такой
135: Управляемый, как мне кажется, путь, когда мы строим агентные системы. Вот. Окей. Так, дальше давайте я почитаю. Угу. Обзор.
136: Так, интересует. Интересно разобраться, как делать агент агентскую обвязку на scala ассистенс.
137: Ну, если без питона, там, скажем, n n, какие-то вот такие решения обычно используют, насколько я могу судить, когда делают какие-то кастомные агентские системы, кому не хочется пайтон осваивать.
138: Так, вопрос григория, правильно ли понимается, что для систем эмэль не является обязательным? Ну там по разному, чтобы собрать какой-то пруф оф концепт, какую-то rock систему?
139: Совершенно точно. Есть no код или лоукод решения. Вот. Но другое дело, когда это нужно развёртывать, мониторить, следить за дрейфом как данных, так и поведе.
140: Вот здесь все-таки надо, наверное, погружаться, а так, чтобы что-то запрототипировать, в том числе какие-то advanced подходы. Ну, наверное, да, кодить не обязательно no код. Ну и в принципе, завай кодить вполне себе.
141: Разнообразные рак системы вполне можно
142: Ну, вопрос в целом про рак, не про агенты, я так понимаю, то есть агенты в rac, конечно же, можно использовать, и они улучшают результаты, но вот вопрос григория чисто про рак, я так понимаю, окей.
143: Угу. Да, вот вопрос, Гузель про main нейтон, наверное, да, проще сказать, это, да, популярный фреймворк. То есть я вижу, там коллеги и знакомые, которые
144: Не готовы погружаться в python. И вот эти фреймворки, про которые мы сегодня поговорим, используют нейтон там, ну да, то есть плюс в том, что как бы не требуется погружение.
145: Фреймворки python, как я сказал, хотя эти фреймворки, ну, они не то чтобы сложные с точки зрения разработки.
146: То есть, ну да, это такая гибкая история, нейтон. Использовать вот для таких довольно-таки кастомных решений его вполне можно. Так, вопрос.
147: Олега записал на ii агенты эдвансд ндиди.
148: Смущает пайтон ну лм диди, вот про который мы сегодня говорим он да, там все задания на python про ai, ну про курс эйай агенты я на самом деле не знаю, я на нём не преподаю, хотя вот сегодня.
149: Занятие, оно, очевидно, с ним очень сильно коррелирует. Вот не знаю как там python, но скорее всего тоже есть, подозреваю, ну, потому что это все в 1 стеке дс мл. Курсов, вот там предполагается все-таки знания.
150: Поэтому так.
151: Так, снова вопрос про рак. Давайте я про рак, наверное, потом отвечу в конце, если время будет вот сейчас. А хотя тут про агент, давайте все-таки, правильно ли понимать, что нельзя сжимать модель, когда находит строго 1 результат?
152: Ну, это к экспериментам относится, то есть, чтобы агент выдал 1 качественный ответ. Ну да, да. То есть вот это как раз как-то нечёткий поиск, то есть проксимед нейро нейборс.
153: В частности, вот как раз-таки из серии тех решений, где 1 1 вариантом лучше не ограничиваться, когда ожидаете хорошего ответа от rock системы, ну, в частности, с агентами.
154: Так, вопрос для мультиагент системы. Как понять, когда нам нужны разные модели разных агентов?
155: Ну, это на самом деле все эксперименты, то есть так сходу сказать трудно, потому что так или иначе, вам нужно дизайнить агентские системы. Во первых, когда вы систему
156: Проектируете, вам нужны, нужно придумать, как дёшево её запускать, да, потому что какие-то первые этапы это дебаггинг, да, системы. То есть просто понимание того, что она корректно работает. Вот потом уже
157: Начинаете усложнять и смотрите, насколько хорошо она начинает перформить при усложнении. Вот, ну то есть при переходе от простых моделей.
158: К более сложным, вот как-то так я бы сказал.
159: Ну да, поскольку, ну, если, скажем, мы говорим про каких-то вендоров типа антропин или open eye, у которых, как бы, ну, богатые панели самых разных моделей там есть очень
160: Мощные модели, которые внутри себя умеют делать довольно-таки хороший ризонинг. И, соответственно, это самые дорогие модели, есть модели там дешёвые и быстрые, но тем не менее, достаточно мощные, там, типа GPT-3 5, да.
161: Ну, вполне себе для решения каких-то сложных задач вы можете и малого числа вызовов, вы можете использовать мощные модели.
162: Модели попроще вы можете там чтобы анализировать или там запустить запуск каких-то запустить запуск, запустить какие-то инструменты с известными входными данными, там как-то просто порассуждать то есть
163: Вот такие соображения, общие. Мультиагент, система разработки по есть ли целесообразность деления на разные Роли? Ну да, да, в общем, к этому вот, в общем, приходят как поставщики.
164: Ai редакторов, то есть там все эти копайлот, курсор и так далее. И если у вас есть необходимость проектировать такую систему для своей работы,
165: Это, конечно, все тоже становится компонентами вот этой архитектуры.
166: Так, материал вебинара, да, сам вебинар вам пришлют, там будут ссылки в конце на некоторые ресурсы, которые я добавил в слайдах. Слайды, ну, должны тоже.
167: Послать. Ну, если что, там все гуглится, я потом ссылки ещё покажу. Так, вопрос ещё в мультиагентных системах. Краткосрочная память и хранение состояния как реализуется, каким техническим решением? Ну, состояние это там элементарно какие
168: Это dump файлы, или там какой-то локальный эскьюэль для небольших таблиц, или там какая-нибудь тоже локальная Монго база, если это неструктурированные данные, маленькая ве.
169: Хранилище, если происходит какая-то векторизация и маленький рак встроен в систему, ну то есть как промежуточный шаг. Вот, то есть, ну короче, все те же самые инструменты, что и для больших
170: Решений, но в меньшем масштабе, так, чтобы можно было с этим работать в горячем режиме. Вот, да, про материалы я надо мне не забыть подробнее показать вам потом ссылки, чтобы, чтобы
171: Вы могли загуглить там, если слайды, н, ну, по моему, слайды присылают, я не помню, должны прислать. Так, если не питон, сейчас я уже не помню, вопрос был про and, наверное,
172: Для автоматизации рабочих процессов. Ну у нас разработчики, скажем на go, на scala. Они вот кто не хочет использовать.
173: На пайтон многие используют. And давайте я напишу название в чат, хотя его уже писали.
174: Вот. Короче, да, такой фреймворк тоже есть более гибкий. Ну да, то есть, поскольку там много всего нужно проектировать самостоятельно, то и, соответственно, он явля,
175: Более гибким так, запись будет на vk видео и на YouTube тоже, если не ошибаюсь.
176: Так, окей. Ну на все я ответил. А вот возвращаясь к вопросу, ну да, да, вот вопрос григория про рак системы, да, лучше не ограничиваться 1 ответом.
177: Лучше, как правило, давать модели несколько вариантов при извлечении.
178: Ну, враг системах, чтобы генерация была качественнее.
179: Так будет ли да, довольно много вопросов ещё пишется ну да, 2 осталось давайте прокомментирую, будет ли радикально разный опыт при запуске локальных моделей vs тяжёлые облачные модели да, конечно, раз.
180: Разница будет и даже в локальных моделях вы это обнаружите. То есть там, как правило, все, что все локальные модели размером там меньше 70.
181: Гигабайт, например, ну, годятся для достаточно простых задач. То есть, чтобы какие-то замысловатые сложные штуки решать, если вы строите мультиагентную систему с использованием локальных моделей, вам нужны
182: Модели, ну, как минимум среднего размера. Ну, то есть, чтобы там хотя бы где-то в вашей системе это использовалось. Ну, если предполагаю, что агентная система достаточно сложная, ну, как бы, других причин другие системы строить нет.
183: Да, вам нужны там модели среднего или большого размера?
184: Так вот, тут уже пошли спецификации, тут я обычно сходу не могу ответить. Так, ну так или иначе.
185: Ну вот последний раз, когда я работал в команде, которая использовала локальные модели, там хорошо себя показывала модель coin.
186: Среднего размера. То есть вот если что-то локально делать, то средняя модель н довольно-таки хорошо работает и gpu там используется тоже такая доступная для её работы.
187: Правда, я так сходу не скажу, ваши настройки подойдут под неё или нет, надо уже смотреть.
188: Окей.
189: Да, ссылку на презентацию. Ну давайте я потом напишу куратору, чтобы вам все-таки прислали слайды или хотя бы там ссылки на ресурсы среднее, по моему, 32 миллиарда, если я не ошибаюсь. Ну.
190: Вы можете там посмотреть просто на хагги фейс, там, как правило, они приводят маленькую, среднюю, большую, громадную, вот, то есть там средняя, я не помню, просто точное число параметров, а цифра вертится 32 или 70.
191: Что-то в таком Роде. Окей, давайте продолжим со слайдами. Так, экран у меня шарится, нам осталось рассмотреть 3. Вы вопросы пишите, если что, я вот после
192: Каждого блока. Буду возвращаться к чату и по возможности отвечать на них. Так, нам нужно завершить ещё 3 блока по примерам фреймворков. Так у нас порядок не
193: Много не такой, как в маршруте. Ну, автоджин я перенёс в конец, посмотрим на фреймворк. Ну, поговорим про фреймворк крю эйай. Для начала. Вот. Ну, я напомню, что 3 фреймворка мы рассмотрим в порядке возрастания, как бы
194: Интересности, они таковы, что auto джен ну сначала ауто джен, потом крю эйай и потом уже лэнг граф. Ну автоджин я поставил в конец как я сказал, мы скорее всего просто не успеем
195: Смотрите пример, поэтому он там оказался. Вот. Окей, крю эйай, поговорим про него. Ну, такая общая информация, что сам фреймворк существует в 2 таких.
196: Как это ипостасях, да, то есть как опенсорс его можно использовать, так и интерпрайс решение тоже есть. То есть непосредственно команда crew ai, она может вам предоставить какие-то
197: Разные энтерпрайзные решения, то есть там за какую-то подписку вы получаете возможности по использованию их платформы, то есть там мониторинг, визуализация, какие-то вот ещё фишки есть.
198: Не не знаю, решают ли они проблему с нестабильностью, которая проявляется в open source версии там вот есть жалоба на 1 из режимов работы и.
199: И и какие-то вот ещё замечания есть у пользователей опенсорсной версии. Не знаю, воспроизводится ли это в интерпрайс. Вот, ну просто не пользовался поэтому не могу сказать.
200: Фреймворк устроен таким образом, что формулируются задачи и формулируются агенты с помощью описания просто ямал файлов. Фреймворк, разумеется, поддерживает самые
201: Разные конфигурации моделей, то есть в рамках системы, вы можете описывать, ну, давать разные модели для работы от разных вендоров, локальных через api и так далее поддерживать.
202: Разумеется, разные виды памяти, то есть горячая память, длинная память, да, и память по сущностям, то есть вы можете давать какие-то сущности, ну,
203: То есть какие-то определения или антологии и настроить систему так, чтобы она с ними тоже работала. У фреймворка есть своя вот такая студия, ну,
204: Среда разработки, крю студио для того, чтобы в режиме no код можно было строить агентские системы. Но если что, у нас дальше ещё будет упоминание ноу код, я сам с такими фичами не экспериментирую. Мне вот просто
205: Как-то трудно переключиться и, ну для меня, короче, новый код такая достаточно непривычная штука. Как минимум, я привык там читать нагенерированные код и понимать, что происходит. Вот.
206: Code парадигма для меня она, ну, по прежнему такая, немножко чуждая вот по таким ееще экосистемным моментам. У команды крю есть agent апи это
207: Platform, то есть это их система, которая как раз-таки для enterprise пользователей открывает вот разные возможности по визуализации телеметрии, мониторингу. Вот.
208: А ещё приятно тем, что, ну вот я сказал про какие-то жалобы на имплементацию, там, в частности, те обзоры, которые я посмотрел перед занятием, там упоминается, что
209: Сейчас вспомню, там, короче, 2 режима работы есть режим работы последовательный и есть режим работы иерархичный, то есть как бы более такой сложный. И вот как раз на иерархичный режим есть жалобы, что
210: Не всегда он работает так как документируется. То есть там какие-то баги бывают. Вот ещё замечание крю. Я не знаю, насколько это актуально в 1 из обзоров тоже жаловались, что
211: Бывает у них путанная или неактуальная документация, вот как бы это тоже нужно иметь ввиду, но вот из 3 перечисленных фреймворков я бы сказал, что crew ai поинтереснее.
212: Тоже, про который мы поговорим. И часто вот подчёркивается то, что низкий как-то, ну, низкий порог разработки, то есть в течение там рабочего
213: Дня можно собрать мультиагентную систему и начать уже с ней экспериментировать, дебажить, измерять её производительность. То есть, короче, довольно быстро прототипируется решение, но
214: Соответствующий недостаток эти решения. Ну, то есть гибкость разработки, скрю эйай и надёжность таких решений, она вот, ну, заметно ниже, чем у Ланграф. Ну и 2 свойство. Так.
215: Я сейчас все подряд говорю, но возможно, что-то, что я говорю, обозначено дальше. Короче, да, давайте про низкий порог входа я сказал и про простоту. Есть ещё такое замечание. Вот я
216: Данные не стал искать на эту тему, но вот просто увидел цифру, что, скажем, при разработке аналогичных систем на lang граф и crew ai на lang графф можно доби.
217: Большей производительности, ну и, соответственно, большей экономии токенов. То есть вот его алгоритмы, они такие достаточно неоптимальные. И вот за простоту входа, за простоту разработки вы
218: Платит тем, что у вас могут получиться неоптимальные системы вот чуть чуть по паттерну работы q ai вот ну тут скорее для тех кто ни разу не запускал этот фреймворк.
219: Ну, наверное, таких вот таких много. С другой стороны, у края есть, собственно, своя командная утилита, которая позволяет собирать проекты. Вот там достаточно удобно организовано. Насколько
220: Могу судить. Ну просто я обычно ею не пользовался, когда делал проекты на crew ai. И вот недавно я просто узнал, что она существует. Вот. Ну короче, да, создаёте проект, это.
221: Делается с помощью этой самой утилиты. Вы описываете тип проекта, какие у вас там агенты описываете, какие модели использовать локальные, апишные, какие вендеры и так далее.
222: Ну, разумеется, вам нужно указать ключи, чтобы у вас был доступ. Если это афишные модели, вы описываете задачи и агенты, да, то есть вот то, что
223: Написано через yaml файлы задача, что должно быть выполнено и какие ожидаемые результаты вы хотите увидеть ну и агент что это такое агент это роль.
224: Plus задача цель и плюс какой-то контекст, который ему даётся как тоже входная переменная вот для каждой задачи вы указываете агентов, которые будут служить для её выполнения.
225: Ну и, собственно, запускаете систему, и через какое-то время у вас получается ответ. Вот по фичам крю и i относится к
226: Архитектуре, то есть, собственно, агенты это как бы такие, ну, относительно автономные элементы. То есть тут достаточно подробно описываются, как вы видите, роль Зада.
227: Контекст поддерживаются 2 режима работы, ну то есть паттернов либо последовательно, либо иерархически. Вот про что я говорил. Иерархический режим из того, что я почитал, вызывает
228: Недовольство у пользователей. Вот верхний уровневый выглядит, ну, работа системы выглядит так, что есть менеджер, агент, да, который как бы управляет всем, что происходит.
229: И есть, допустим, 2 типа агентов, то есть воркер, который рабочий, да, который выполняет, ну, то есть непосредственно занимается решением какой-то задачи. А ресерчер это
230: Агент, который там может что-то поискать, может разнообразить, как-то насытить контекст для того, чтобы у воркера было больше понимания того, что нужно делать так про
231: Модели, я сказал, многозадачные, крю. Ну, crew, собственно, это как команда переводится, да, команда как-то ещё. Ну, в общем, там команда, да, то есть, то есть
232: Мультиагент системы, мультиагент системы. Это вот, по сути, команда агентов, команду агентов из себя представляет фокус на практические бизнес сценарии у этого фреймворка.
233: Ну и также есть экосистема, вот про crew студию, я сказал, также есть нативная авторизация со многими сервисами, там типа атлассиан, ноушен, майкрософт, слэк джимэйл и так далее. То есть.
234: Разных способов интеграции. Также есть интеграции нативные с поставщиками данных с поиском. Это вот не просто поставка данных, это именно вот в таком экономном режиме для
235: Использование леммами, то есть не так вот, как вы видите, поисковик, да, или какие-то сервисы данных, а оптимизированным способом, чтобы это было экономнее при работе вот мультиагентных систем.
236: Вот это что касается по фичам, вот и давайте теперь я перемещусь.
237: К небольшой Демке я запускать код никакой не буду, просто покажу репозиторий с примерами. Вот чтобы вы потом могли перейти и что-то
238: И поэкспериментировать. Так, сейчас, сейчас вспомню, где у меня.
239: Так, я все ещё шарю экран, по моему. Да, я хотел перешарить сейчас я.
240: Сменить экран.
241: А или нет?
242: А так пример, который я хотел показать, а не здесь, так мы говорили про crew ai.
243: Да, сейчас. Ну, короче, я показываю браузеров, я так думаю, если нет, то дайте знать. Вот я предполагаю, что вам буду предполагать, что вам его видно.
244: Так, так, так, ну, короче, да, вот есть такой, такая страница с документацией крю эйай, ну, либо гуглится, либо потом вы в записи можете это
245: Найти. Вот тут есть несколько таких примеров. И давайте, наверное, посмотрим тот, который я
246: Хотел показать, сейчас я его найду.
247: Так, сейчас я вспомню, что
248: Что хотел показать? А, да, вот маркетинг и то есть посмотрим, как устроено решение по планированию маркетинговой стратегии. Вот, в общем, примеры крю.
249: Ай, ну видите, тут 7 примеров, их там на самом деле больше нет. 6 примеров. Их тут больше, да, вот тут есть такой репозиторий, в нём папка Клюс, и там вы найдёте
250: Много примеров, по которым вы сможете, собственно, научиться строить такие системы. Вот мы давайте посмотрим верхнеуровнево на то, как устроен репозиторий. Давайте я попробую найти фрагмент.
251: Где написано про команду? Нет, это не здесь. Ну, короче, ладно, хотел найти примеры использования командной утилиты крю. Ну, это
252: На самом деле вы просто загуглите крю эй i getting started и у вас 1 из первых ссылок найдётся руководство как собрать 1 проект на crew a i. И там как раз-таки будет подробно написано как его.
253: Новить и как пользоваться командной утилитой при создании проекта. Но так или иначе, мы вот видим в этой Папке типичный проект, как он выглядит на все, мы смотреть не будем. То есть мы обратим внимание на папку source, в которой
254: Собственно, и лежит решение. Вот смотрите, тут есть папка config, которая описывает, как вы видите, агентов и описывает задачи. Вот если мы вернёмся назад, у нас тут есть гла.
255: Главный файл, который описывает крю, то есть команду агентов в этом решении. Ну и, наконец, файл main, который является точкой входа в этот пример. То есть вы просто запускаете, там команда выглядит типа cru ра.
256: И у вас исполняется файл main, который, собственно, и представляет из себя 1 запуск этой агентской системы.
257: Вот давайте, да, посмотрим на несколько.
258: Ну, на некоторые элементы, которые есть в этом примере, это пример, как я сказал, планирования маркетинговой стратегии, и в нём мы увидим, как команда из 3 агентов, собственно, пытается решить эту Зада.
259: Код я запускать не буду. Вы потом это, эти демки сможете запустить у себя. Ну, если у вас там есть какая-то подходящая модель, да, которая нужна для, ну, очевидно, нужна для этого. Вот. А агенты будут такие, ну то есть их задачами.
260: Исследование рынков стратегий креативных идей. Ну и задача будет собрать какую-то финальную маркетинговую компанию. Вот давайте посмотрим на сначала.
261: На класс, на файл крю, да, то есть что в нём находится
262: Вот, да, вот тут мы видим.
263: Собственно, класс для маркетинговой стратегии компании.
264: Так, у нас копирование модели, да? Ну и вот у нас есть основной класс, который описывается декоратором Крейс, который как раз-таки и описывает команду агентов, которые здесь будут использоваться. Вот мы
265: Видим внутри, собственно, 3 функции на агентов, ну, соответствующим декоратором агент лид маркет, аналитик.
266: Главный маркетинговый стратег, ну, как видите, по названию, да? Ну и креативный коперайтер, да, вот дальше как инициализируются агенты из конфига мы берём, ну вот есть агент конфиг, который мы потом посмотрим.
267: В этом конфиге описывается, собственно, ну, задаются настройки, ну, то есть роль, контекст для ведущего маркетингового аналитика, да, мы указываем.
268: Какие инструменты этому агенту доступны? Подробный вывод, ну и без использования памяти. Ну как и все они здесь, мы без памяти работаем. Дальше. Следующий агент у него.
269: Своё описание Роли и такой же набор инструментов, как мы видим, это инструменты для поиска и парсинга сайтов. Вот как вы видите из названий скрет вебсайт тул, я не помню, по моему, он работает, прост.
270: Так, а вот server death тул там нужно отдельно предооставить апи ключ ну это бесплатно вы просто на сайте там залогинитесь ну создадите аккаунт, если у вас нет и получите ключ для того, чтобы поль.
271: С поиском по их афишке. Вот, и креативный коперайтер, у него тоже свой конфиг. Вот он сдаётся, это вот агентская часть команды, мы видим её инициализацию. Ну и дальше
272: Вот. Таск, 3 таски, да, задача исследовательская, которая тоже описывается в кон, в конфиге. И здесь указывается, что над ней работает, ну, соответс.
273: Свой агент. Задача по пониманию проекта, который работает, вот, соответственно, агент стратег, вот, и маркетинга таск, ну, ещё 3 задачи маркетинг.
274: Стратегия, идея компании тоже своими агентами. И вот у них ещё есть output, то есть свой класс, который нужно передать.
275: Ну, то есть, который будет результатом того, что они там что-то поделали. Так мы были в тасках. Вот. Ну и да, наконец, крю. То есть тоже отдельный метод со своим.
276: Декоратором, который создаёт команду. Вот мы указываем агентов, указываем задачи, говорим, какой тип процесса в данном случае это последовательный, да, вот можно рас.
277: Комментировать иерархический процесс и, соответственно, закомментировать эту строку. И тогда будет работать в иерархическом режиме. Вот. В общем, так выглядит главный файл, который описывает саму систему. Собственно, эта вот система и есть
278: Давайте теперь посмотрим на агентов и задачи вот ну короче вот как я сказал это source папка, она полностью сгенерирована ну то есть вы получаете это все.
279: С помощью командной утилиты крю, да, вот получаете такую структуру проекта, и вам уже нужно самим после этого, ну, задизайнить агентов, описать задачи и
280: И снабдить их инструментами. Ну то есть, если нужны какие-то задачи, ну, процессинг вычисления сходить по каким-то афишкам, это все вам тоже нужно добавить, но структуру вам крю.
281: Утилита сгенерирует. Вот посмотрим на агентов. Мы видим перед собой такой ямал файл. И вот, собственно, 3 Роли описаны. Нет, не 3. Так там было, по моему, 3 файле крю, я пере.
282: Читал здесь я вижу 4.
283: Так, че то я там в том файле я пропустил чиф директор видимо вот он тут тоже есть. Ну в общем, формат файла таков, что вы описываете всех агентов в таком формате, то есть как раз вы описываете роль.
284: Агента, описываете, чем он должен заниматься. И некоторый контекст бэкграунда, чтобы, ну да, то есть как бы для описания того, вот что за
285: Background. У этого конкретного агента и тоже самое у всех агентов, мы видим, воспроизводится вот по таскам мы здесь видим тоже вот 5 задач из нашего вот этого главного
286: Класса, ну то есть, которые там используются, задачи на исследование. То есть, что тут написано, надо провести тщательное исследование на про клиента и конкурентов.
287: В контексте вот какой-то темы, где тема, ну или сфера, это переменная, да, надо, что надо, чтобы информация была релевантной для позапрошлого года. Вы потом это можете у себя, разумеется, отредактировать.
288: Когда будете экспериментировать, ну и это должно быть таргетированно на вот какой-то проект, который тоже будет переменной и точно также это описывается у остальных агентов. То есть вот мы видим, повторяется проджект дискрипшн.
289: Че ещё у нас тут, тут опечатка, если что хотели написать тактикс, пропустили букву. Вот. Ну, короче, такой ямлик файл, который описывает задачи для агента. Вот. Ну и, наконец,
290: Давайте посмотрим на файл main. Сейчас я хотел ещё тут файла окружения нет.
291: А вот есть пример, здесь вот как раз-таки вы указываете настройки того, как вы хотите управлять своими моделями. Ну то есть 1 ключ это просто для инструмента поисковика, чтобы он
292: Чтобы он мог пользоваться собственно этим сервисом. Ключ для модели. Ну и, наконец, сама модель, которую вы хотите использовать. Давайте вернёмся в точку входа main, да, то есть
293: Тут есть функция run, которая, собственно, и триггерится, когда вы с помощью утилиты запускаете этот проект.
294: То есть вот смотрите, переменные, да, которые мы видели в ямал файлах, там у нас была переменная проекта. То есть вот тут в этой Демке приведён проект, собственно, по самому.
295: Вендору клю эйай, как провайдера мультиагентных, ну вот этого мультиагентного фреймворка. Вот такая, да, длинное описание задачи, мультиагентные системы, которые предназначены для того, чтобы
296: Как это произвести революцию? Да ма автоматизации маркетинга для enterprise ну, то есть для коммерческих клиентов. Проект.
297: Стоит в разработке инновативной, но передовой маркетинговой стратегии для того, чтобы как-то продвинуть
298: Как-то ну ключевые, не ключевые, а как собственно ну продвинутые да, ai driven решения от крю иай, подчёркивая на простоте, масштабируемости и возможностях.
299: Ну давайте все читать не буду, там много описаний по тому, какой должен быть проект домен этих клиентов, это значит компании, которые ищут способы, ну которые работают в ai и ищут способы.
300: Автоматизировать свои подходы. Вот и обзор проекта это создать
301: Маркетинговую компанию для того, чтобы как-то для того, чтобы адаптировать
302: Решение крю эйай для вот каких-то других компаний, вот, и домен, ну то есть переменная кастом домен это вот, собственно, крю и i come. Вот, и после этого, ну, инпутс это просто
303: Как мы видим, вот у нас класс, который мы видели, который я назвал главным классом вот этой системы. То есть вот так мы его инициализируем и просто вот команда Киков функция, которая
304: Инициализирует запуск этой системы с вот этими входными параметрами. То есть что после этого происходит? Значение переменных заполняются вот в этих ямал настройках агент
305: Уже имеет вполне инициализированный бэкграунд, ну и, соответственно, решает задачу. Вот в контексте, в том контексте, который они получили вот на слайдах, я говорил, что
306: Команда устроена таким образом, что есть менеджер, да, мы его вот видели в yaml файле. Давайте вернёмся. То есть вот агент менеджер, по моему вот chef, директор, который всем этим управляе.
307: И остальные вот это, собственно, либо ресерчеры, либо воркеры, которые занимаются тем, что решают эту задачу. Вот такой, в общем, пример, тут примеров, да, как я сказал, довольно-таки много.
308: Ну, потом вы посмотрите, как это все запускать. Ну, по установке. Это, собственно, вот 1 из сегодняшних 3 примеров, где устанавливать нужно через пакетный менеджер юви и где управление
309: Самим проектом осуществляется через отдельную командную утилиту, то есть во всех остальных это просто pip и вы сами запускаете свои скрипты, ну то есть как вы это
310: Обычно привыкли делать. Вот. Окей. Так, у нас ещё 2 примера остаётся. Наверное, появились вопросы. Давайте быстренько посмотрим. Так, так, так.
311: Вопросы мы, а вот здесь мы остановились.
312: Всегда приходит только ссылка на запись.
313: Так, вы хотите ссылку на слайд? Ну давайте я тогда в конце подробно покажу ресурсы, потому что, в общем то, это скорее самое полезное, что слайд содержит остальное. Это вот просто обзорная такая информация по
314: Так, нет, это не no code решения. То есть это я отвечаю на вопрос григория про crew ai. Пример, по всей видимости, то есть там ну вот когда вы будете запускать команду.
315: Crew ai. Там будет несколько Шагов, в которых вы просто укажите какая модель, укажите свои api, ключи, чтобы сконфигурировался проект, но все остальное вам нужно делать самим. То есть
316: Ну, в принципе, если вы хотите сделать именно no код или, ну да, no код, вы, в принципе, можете обойтись вот этими простыми пулами сейчас давайте я к ним вернусь вот здесь.
317: Всего 2 инструмента, как мы видели, вот они, да, для поиска и парсинга сайтов, в принципе, какие-то, ну, много задач можно решить в таком режиме. Я думаю про
318: Управляя агентной системой через самих агентов и задачи. То есть, в принципе, я думаю, это решаемо. То есть, чтобы там этот проект превратить в какой-то другой. Я ду,
319: Думаю, что какие-то результаты вы получите, просто меняя вот эти 2 файла и используя все те же самые инструменты.
320: Примеры запускаются как консольные приложения, да, но в целом их, разумеется, можно обернуть в докер то, что вы делаете. Сделаете, обвесить там своими хранилищами, инструментами, что
321: Там ещё будет и в общем у вас будут свои микросервисы на основе вот агентских систем.
322: Так, так, вопросы.
323: Конкретному сайту, как агент выглядит для пользователя. Ну, в общем то, зависит от того, как вы настроите мониторинг и телеметрию, то есть интерпрайзом решении там, по всей видимости,
324: Это все достаточно.
325: Достаточно много способов по настройке и получению данных, я полагаю, но можно сделать и самому, то есть описать логирование.
326: Какие-то промеж получение промежуточных результатов в этом плане опенсорсная версия вполне гибкая и позволяет это делать.
327: Пользователь, он просто описывает вот этот конфиг. Ну вот как мы видели в этом примере, не конфиг, пардон, а входные данные, да, вот мы там видели переменные в ямликах, здесь мы описали значение переменных
328: Это все передаётся в мультиагентную систему. Она, как это мы говорим, горшочек вари, да, она производит какой-то результат, который мы, соответственно, уже оцениваем.
329: На, на адекватность, на приемлемость.
330: Так, про масштабировать. Так, ну вот сразу скажу, что на 10000 я пока ещё агентские системы не писал. То есть это если
331: Это использует. Ну то есть это в целом.
332: По локальным моделям, разумеется, есть ограничения, то есть сколько запросов вы сможете там одновременно обрабатывать при модели, при опенсорсной модели среднего размера и с умеренным
333: Железом. Ну, это, как правило, там десятки, наверное, не больше одновременных запросов. Вот, если по апишке, ну, тут, наверное, проще, ну, соответственно, и расходы.
334: Если мы говорим при про одновременное использование
335: Так вопрос говорят оптимальнее писать промты на английском.
336: Ну, что касается меня, я пишу, ну, по крайней мере, продакшн промты действительно на английском, как пользователь.
337: Я часто замечаю, да, что, ну, там, модели типа open, ну, chat gpt, да, там, или клод, тем более, они, да, на английском пишут, ну, то есть, в целом ведут себя.
338: Гораздо качественнее, чем на русском, наверное, по промта. Такое же соображение. Что касается ошибок. Мне кажется, это не так критично, если это достаточно мощная модель, то есть они там вполне себе
339: С опечатками, со знаками препинания справляться. Даже если там смысл поменялся, все равно они по контексту обычно правильно понимают. Так?
340: Так, окей, сайт с примерами да, crew ai com документация соответственно вот здесь ну и примеры ну либо вы просто можете загуглить крю эй, i example, гитхаб.
341: И там, скорее всего, 1 же ссылка, это будет вот этот репозиторий с примерами.
342: Да, улама, как бэкэнд для эл эмки вполне годится. То есть это такой, ну, поддерживаемый способ работы.
343: С моделями. Вот все 3 фреймворка, про которые мы сегодня говорим, они улану поддерживают, ну то есть локально запущенную модель.
344: Окей. Так у нас остаётся 5 минут. Давайте я вернусь к
345: К этому, к следующему разделу лен граф, и у нас ещё останется атоден. Так learn граф.
346: Несколько слайдов да, давайте поговорим про этот фреймворк я уже говорил, что да, что лен граф чуть ну не чуть, а заметно посложнее в настройке, чем crew ai, но зато
347: Позволяет строить более такие гибкие и сложные системы, которые часто оказываются ещё и оптимальнее. Вот. То есть я там видел цифру, что производительность
348: Learn граф бывает там до 2 раз выше чем crew ai что довольно-таки здорово итак по общей инфор ну мы да снова посмотрим на общую информацию на то как выглядит паттерн использования.
349: Посмотрим, какие фичи. И пример я тоже покажу. Ну, на этот раз из нашего курса. Вот, да, ну, ленав, это фреймворк из экосистемы, знаменитой ленчей.
350: Вот такая тоже, ну, лейн такой тоже достаточно популярный фреймворк для лм. Инжениринга. То есть, когда вы строите какие-то решения на основе лм.
351: Расширяет, собственно, эту экосистему эль си и all это ленчей, сейчас скажу, ленчей.
352: Забыл, что означает буква е и, короче, это язык, язык дизайна цепочек на основе лакейн. То есть цепочки это можно себе представить как такие типа
353: Пайплайны или воро с использованием модели. То есть если мы говорим про модель как про чат бот, это такой самый простой вариант использования, да, но мы можем делать и какие-то небольшие пайплайны, то ест
354: Модель принимает промт с каким-то описанием, выдаёт какой-то результат. Дальше мы хотим построить цепочку, которая либо этот результат как-то
355: Форматирует, либо в зависимости от результата как-то дальше начнёт начнёт принимать какие-то решения. То есть такой такую мини агентную процедуру можно построить. То есть
356: Уже это получается, по моему, чисто бак режим, то есть режим без циклов, если я правильно помню. То есть это, в общем, такой инструментарий по инжинирингу небольших таких приложений, если так по простому.
357: Объяснять, расшифровывается как легчён и и и не помню. Ну, если загуглите лэнген, элси и эль, вы потом там найдёте описание того, как это работает.
358: Что касается Ланграф, собственно, чтобы пользоваться Энграф н и lc, all вам необходимости знать нет, вам нужно только чуть чуть ленчей для того, чтобы использовать модели там какие-нибудь.
359: Раторы, процессоры, наверное. Да, собственно, и все. То есть все знать не нужно. Мультиагентная система строится в виде направленного графа. Циклы поддерживаются. Это важная фича.
360: Узлы графа. Ну, я надеюсь, что все знают, что такое граф из информатики, да, то есть это такая структура с вершинами и рёбрами. Вот, ну и, в частности, лен граф имплементирует вот эту
361: Парадигму, когда мультиагентная система это вот такой граф, да, в котором вершины это агенты или какие-то вычислительные модули. А ребра граф
362: Это, собственно, управление, ветвление или передача, граф. Передача данных между узлами, ну то есть между агентами или вычислителями, здесь явно описывает
363: Состояние лен граф, то есть это тоже такие вспомогательные классы, которые перемещаются между вершинами графа, меняются и содержат в себе контекст.
364: Последние результаты и какие-то промежуточные шаги это все можно хранить внутри состояния, чтобы очередная вершина, ну то есть агент или вычислительный модуль могли с этим, ну как-то
365: Адекватно работать. Вот поскольку лен граф обеспечивает такую фичу построение Графов, это означает, собственно, довольно-таки мощные возможности в плане построения таких систем. То есть вы можете
366: Сколько угодно моделей, какие угодно вычислитель, вычислители, ну то есть вычислительные модули, описывать какие угодно сценарии с помощью собственно рёбер в этом графе, короче,
367: Говоря, можно строить довольно-таки сложные и мощные системы. Вот, но, с другой стороны, да, как было сказано, порог входа в learn, граф повыше, то есть, конечно же, можно строить
368: Простые графы агентов, но чтобы инженерить такие сложные задачи, то здесь уже может быть потруднее, да, и, соответственно, для небольших
369: Приложение это может быть избыточно, то есть там действительно может быть, если у вас что-то простое действительно может быть лучше обойтись с помощью атоден или crew ai паттерн.
370: Работы ленд граф таков, что вы описываете состояние начальное, да, которое будет, которое, во первых, будет аргументом в эту графовую систему и будет передаваться между шагами.
371: Ну, то есть между вершинами этого графа. Дальше вы описываете, ну, создаёте, вернее, вершины графа. То есть это могут быть либо просто лмки, ну, то есть,
372: Обёрнутые агентами, да, это могут быть инструменты или функции, как было сказано, или там просто какая-то, какие-то элементы обработки предыдущих результатов. То есть там, скажем, вершина можт,
373: Отдать какие-то результаты в виде текста. Вам нужна другая вершина, которая это все обработает там, не знаю, регулярками или через пайдентик для того, чтобы получить что-то структурированное.
374: Вот дальше вы, разумеется, должны описать, какие ребра в этом графе существуют. То есть как будет осуществляться переход между вершинами, да, то есть агентами и
375: И, ну там какими-то процессорами или инструментами. Ну и наконец вы выбираете, в какую вершину, какая вершина в этом графе является входной, да, после
376: Делаете компиляцию, компиляцию графа и запускаете его вычисления. Вот по фичам это, ну, про циклические пайплайны уже сказали, то есть это
377: Позволяет, ну там, скажем, повторять какую-то задачу до тех пор, пока она не выполнится, например. То есть там что-то не получилось, ваш граф должен понять, что что-то не по
378: Получилось и за там как то что-то изменить в состоянии и отправить отправить новые данные в тот же самый цикл, например, или прогонять один и тот же цикл для каких-то разных групп.
379: Входных аргументов, да, то есть там что-то если наборы данных
380: Которые нужно обработать, которые там чем-то чуть отличаются. Это все тоже можно в цикле запускать. Внутри графа разумеется разделяется логика и состояние явным образом. То есть логика это сам граф.
381: Который описывает вот эту мультиагентную систему и состояние. Это отдельная структура данных, с которой ваш граф работает. То есть тут происходит вот как бы, ну, следование принципу.
382: Разделяй и властвуй, да, поэтапное выполнение графа. То есть там, разумеется, можно, ну, можно и нужно добавлять телеметрию, мониторинг, чтобы отслеживать, как это все выполняется. Ну и
383: Поскольку это граф, да, вы в любой точке можете, по вашему разумению, управлять процессом. То есть когда нужно вернуться, когда нужно остановиться, с какой ошибкой нужно вернуть.
384: С каким кодом вернуть результат? То есть это успех, ошибка или что-то ещё. Также вот в этой системе есть такой фреймворк, миф, который, собственно, служит для того, чтобы осуществлять трассировку
385: И мониторинг того, как работает эта система. Ну и да, экосистема энкейн, ну то есть это общая, как бы экосистема энкейн, Эльси, Эльси и эль. Это вот как бы native.
386: Они все дружат с lang, граф, вот в общем это да, основные такие фичи по lang. Граф, давайте я расшарю пример небольшой, чтоб просто было понимание как это выглядит.
387: Так, пример у меня на этот раз.
388: В редакторе.
389: Так, сейчас я его найду. У вас шарится браузер. Я думаю, давайте я перешар.
390: Перешарив.
391: Редактор с кодом.
392: Окей, это, собственно, небольшая демка того, как работает len, граф, я её тоже, да, запускать не буду. Это достаточно такой простой пример. Давайте просто пройдёмся по основным компонентам этого кода.
393: Вот тут мы видим, что из, ну, open я, я импортирую как модель, которая используется в этом примере из граф, я импортирую класс для описания.
394: Состояние, про которое мы говорили, да, и ключевое слово для того, чтобы сигнализировать о завершении работы системы вершина, инструмент, да.
395: Дальше уже пошли импорты из собственно экосистемы чейна, то есть у лечена есть биндинги для open eye вот я, собственно, импортирую класс, который будет обёрткой над open.
396: Моделью. Вот. И давайте посмотрим на решение. Начнём мы с функции, со входа, собственно, как это энтрипоинта входной точки в приложение. Вот, то есть
397: Такая функция run ньюс аналисис. Здесь мы строим систему, которая пытается как бы собрать какой-то саммари по новостям на определённую тему.
398: Где тема это аргумент функции. Вот я написал, что мне нужны нужно саммари на тему эйай, это у нас запрос, который поступает аргументом во входную точку.
399: Давайте посмотрим, что происходит в этой функции. То есть это основные шаги. Во первых, создаётся граф, эта функция наверху. Мы сейчас на неё посмотрим. Теперь смотрите, вот у нас создаётся состояние
400: То есть вот словарь, да, в котором есть запрос, есть статьи, которые ищутся, есть результаты анализа этих статей, есть результат финальный, есть поле для хранения ошибок.
401: И есть ещё счётчик Шагов. То есть вот смотрите, состояние будет перемещаться в графе между вершинами и при каждом перемещении нужно счётчик увеличивать, чтобы в мониторинге понимать сколько
402: Было сделано вот дальше, собственно, у нас, смотрите, мы берём вот эту, берём наш объект графа, в нём есть функция инвок, то есть как бы
403: Инициировать, да, и мы передаём аргументом состояние, то есть состояние помещается в граф и начинается работа мультиагентной системы. Вот теперь давайте посмотрим собственно, как выглядит устройство.
404: Графа, как он настроится, да, вот есть, собственно, класс, который
405: Как это инкапсулирует вот тот словарь, который мы внизу описали состояние, входное состояние для этого агента. Так нам нужна функция.
406: Create, где она была? Вот она создать граф, да, то есть аргументов нет. Мы просто описываем логику построения графа. Во первых, инициализируем граф.
407: Через такую инструкцию мы передаём
408: State, да, и получаем объект типа state граф да, вот который мы импортировали у нас пока что граф пустой. В этот момент дальше мы добавляем в этот граф 4 вершины вот то, что
409: На слайдах было написано то, что мы создаём вершины графа, то есть ключевые его элементы. Это могут быть агенты, это могут быть, ну или инструменты, да, в нашем случае это будут 3
410: Агента и 1 модуль, 1 вершина, которая обрабатывает ошибки. Мы указываем входную точку в граф. Да, это будет вершина под названием ресерч. Вот она, да, которую мы создали.
411: Здесь теперь мы создаём 3 ребра. По моему, в этом примере нет. 4 задаём ребро между вершинами ресерч и
412: Analysis. Вот они, да, между ними ребро, появляется ребро между вершинами analysis и summary. Да, вот такие ребро между вершинами саммари.
413: И. Р. То есть тут может быть ошибка, да?
414: Ну и, наконец, ещё, да, ещё 1, ещё 1 ребро, просто что мы можем свалиться в ошибку, да? Ну и, наконец, компилируем. Граф и граф скомпили.
415: Возвращается для использования. Вот теперь посмотрим на отдельно агентов. Это уже как бы такие технические моменты. Ну давайте посмотрим на 1 агента. В принципе этого хватит для понимания. То есть смотрите,
416: Агент принимает на вход состояние и возвращает тоже состояние, что делает агент. Называется ресерч эйджент. Это агент, который, собственно, собирает новости на вот эту тему.
417: Тему, которая у нас живёт внутри вот этого состояния. Вот квери, то, что мы как раз-таки указывали, вот агент собирает новости. Вот тут отдельная функция есть, которая как раз использует афишку обращения.
418: К новостям поиска их. Вот если новости нашлись, так
419: Да, ну, короче, ошибок в этом примере конкретном не бывает. Сколько бы я его не запускал. Ну, потому что достаточно простой пример, поэтому возвращается вот эта штука, то есть ошибки нет, возвращается обновлённое состояние воз.
420: Список найденных статей на эту тему и счётчик Шагов увеличивается на единицу. Как мы видим, это агент, который вот, собственно, собирает новости, а сбор новостей это вот такая тоже функция, которая
421: Декорирована как инструмент, как вы видите, и внутри себя она вот как раз-таки из вот этого новостного ресурса собирает новости и возвращает их в виде списка вот с такими полями. Вот, да.
422: У нас есть агент, который занимается анализом. Вот он тоже принимает состояние, возвращает состояние. Обратите внимание, да, что вот как раз-таки этот агент, он не использует лмку никакую.
423: То есть его задача просто сходить по апишке на новостной ресурс, собрать новости релевантные и передать их дальше. А вот агент анализ, он уже
424: Модель использует. То есть вот тут, видите, появляется промт.
425: Prompt получает в качестве переменной новости контент. Ну и, наконец, это все подаётся в модель. Цель модели проанализировать новости и для каждой, но.
426: Проанализировать, ну, определить, какая главная, ну, заголовок, да, о чем она? Ключевые какие-то поинты и важность.
427: Ну да, важность новости. Вот для каждой новости это делается вот это то, что делает агент анализ аналисис. То есть он как раз-таки вызывает модель, ну и, наконец, результаты
428: Этого агента поступают агенту самореза ору. Он тоже использует модель. Вот мы видим, то есть он склеивает все результаты работы модели работы агента аналити.
429: Вот такую структуру, это подаётся как параметр в prompt. Вот. Ну и, наконец, самаритов должен вернуть ответ. Вот и новое состояние. Мы видим, что у нас есть
430: Да, обновлённое состояние, финальный, финальное резюме, да, работы и шаги мы тоже увеличиваем на единицу. Вот достаточно простой пример. То есть маленький граф всего
431: 3 функциональные вершины с 2 рёбрами получается. Ну вот как бы такая демка показывает, как выглядит написание системы с помощью Ланграф.
432: Вот, код я не знаю, ну, достаточно простой, но я думаю, что там кураторы мне, ну, напомнят, я вам потом это тоже перешлю, если будет интересно. Вот, окей.
433: Давайте, у нас остался тоже.
434: Давайте я перешар обратно на браузер.
435: И завершим. Так.
436: Окей, должен появиться браузер. Давайте покажем атоден и на те вопросы, которые накопились. Я
437: Отвечу и будем заканчивать автоджин, например, уже посмотреть не успеем. Ну, как бы это такой фреймворк, который, наверное, наименее мощный из вот этих 3. А вот что.
438: Надо понимать, проект от microsoft research тоже мультиагентная система позволяет строить, но его парадигма такова, что он конвер ну, он строится вокруг.
439: То есть в случае с crew ai у нас была команда, да, в которой был, образно говоря, менеджер контекста, который управлял решением задачи.
440: В learn граф у нас есть граф с заданными правилами и критериями завершения работы вот атоже это просто чат в котором собственно чатятся разные
441: То есть вы по прежнему описываете агенты Роли, можете, можете дать инструменты разным агентам разные инструменты, можете по прежнему использовать самые разные модели.
442: От разных вендоров локальные, апишные в этом фреймворке.
443: Ну вот, да, то есть такой у него простой подход, что работа агента это, по сути, переписка. То есть вот агенты переписываются, появляется контекст, и в зависимости от того, решена ли
444: Задачу в переписке, которую дали на вход агентам, система завершает работу или продолжает, в общем, такой простой подход.
445: Да, ну агентам здесь тоже можно присваивать такие разные Роли, то есть планировщик, исполнитель, критик. И можно также как, кстати, в предыдущих фреймворках добавлять человека в исполнение, то есть
446: Human in залуп, когда система там пришла, может прийти к моменту, что она ожидает вмешательства человека, чтобы там, например, одобрил текущий результат или сказал, что надо продолжить.
447: Вот такие, в общем, вмешательства в работу агент систем тоже допускаются. Вот паттерн, в общем то, похож на то, что мы уже видели. То есть определяются
448: Агенты роль какая используется модель инструменты можно задать, описать поведение, подобно лэнг граф, тоже описываются правила взаимодействия кто с кем и как.
449: Получается, ну и наконец, инициализируется общий чат для агентов. Агенты в нём обмениваются сообщениями, ну и чат завершается при достижении цели или условия остановки. В общем, такая.
450: Процедура по фичам, да, тоже. Ну, я забыл сказать, да, что все фреймворки поддерживают автовыполнение кода. То есть это можно делать хьюман энелуп. Я сказал, да, то есть человек может вмешиваться в про
451: Работы агентов тоже разные модели поддерживаю, поддерживаются, мониторинг и телеметрия есть. И вот здесь тоже есть своя экосистема у авто.
452: Jean, то есть есть auto джен студио для разработки систем, и вот они ещё предложили ауто джен бэнч это инструмент для того, чтобы делать бенчмаркинг разных агентов, у них тоже такое решение.
453: Есть вот, ну life давайте будем делать уже не будем как бы пропустим джин, там не так интересно как learn, граф и crew ai вот и давайте будем.
454: Понемножку финализировать. Так у вас должно быть много вопросов. Так, да, давайте.
455: Найду, где мы остановились.
456: Так, так, так.
457: Про масштабирование интересно как край, насколько удобно масштабируется.
458: Да ну, ssl, да, вот мне подсказали, что и это expression.
459: Угу. Да, вот есть там оператор пайп для того, чтобы строить цепочки из из этого языка, так как масштабировать крю. Эй, ай, ну тут master масштабирование.
460: Скорее не к work, по моему, а к вашей общей инфре. То есть если у вас там прямо действительно нагруженная система, то как бы
461: Сам край справится. Вот вопрос в том, как организуется одновременная работа кучи моделей, если к этому есть потребность.
462: Так вот, вопрос, для каких проектов крю эй ай становится недостаточным, и chain более оптимален, Энграф имеется ввиду ну crew ai это достаточно быстро вкатиться.
463: Разработку, то есть можно быстро получить какие-то прототипы и потом уже в зависимости от усложнения можно инженерить в сторону, я бы сказал.
464: Так вот, по метагеном, вопрос, наверное, я не отвечу как бы с таким я не экспериментировал это вот вопрос oleg когда мета агенты сами делают, модифицируют мультиагентную систему?
465: Так.
466: Ну вот касательно примеров я в основном использую лен граф и на работе у нас тоже про learn граф обсуждаются, то есть он такой более инженерный, по моему. Ну и разрабо.
467: Нравится то, что его можно гибко настраивать и управлять сложностью системы. Ну и так, в целом он такой поинтересней, то есть в плане именно проектирования Графов, но и сложнее, конечно.
468: А тут Анастасия спрашивает Ланграф против легчена, а не против к. Я не дочитал ну, лечен, вот элси эль ленчей, экспрешн лэнгвич, как мне подсказали.
469: Такие простые цепочки, то есть пайплайны, да, там, скажем, простейший уровень это общение с чат ботом, да, следующий уровень это вот как раз, я бы сказал, цепочки, то есть
470: Не просто получить ответ, а ещё и с ним что-то сделать, то есть форматировать там, принять какое-то решение. Здесь как раз-таки используется элси и эль для того, чтобы такие цепочки
471: То есть таких простеньких агентов проектировать, то есть в цепочке по прежнему могут быть разные модели, использоваться в разных этапах. Ну вот.
472: По моему, они циклов не допускают, если я не ошибаюсь в этом смысле. Да, они, конечно, гораздо проще. Мониторинг. Да, можно через fuse лэнг смиф ленграфовна делать визуальное представлении.
473: В коде у меня этого нет, но вот, короче, тот граф, который вы спроектируете, его можно нарисовать средствами вот самого фреймворка.
474: When graph это, во первых, разделение состояния и как это самой системы. То есть, да, тут действительно поток или логика переходов между
475: Вершинами графа у crew иай это да, то есть crew и i вы можете себе представить как что-то типа совещательной комнаты, где в качестве модератора есть какой-то тимлид, а люди за столом как-то вот.
476: Почти асинхронно. Ну то есть сообща пытаются решать какую-то задачу, и это все модерируется главным агентом. Вот примерно так выглядит парадигма крю эй, ай, Энграф. Это да, действительно что-то вроде автомата.
477: Кто-то вот там писал в чате, я видел атоден. Это просто чат, в котором агенты общаются. Вот как бы 3, 3 такие парадигмы, я бы сказал.
478: Так, ссылка на базу агентов.
479: Да, ну вот есть, да, другие слушатели уже накидали, просто наберите там, во первых, вот есть учебные примеры, крю и i learn граф тоже самое можно найти. Вот.
480: Репозиторий если что по моему я его не показывал атоден я не искал, но тоже есть ресурсы, также если вы просто наберёте как-то q ai паттернс или атоже паттернс.
481: Или learn граф паттернс в принципе какие-то вот хорошие подборки найдутся также я думаю что ну то есть такая хорошая практика искать подборки это писать осом гитхаб.
482: Ключевое слово то, что вы пишите вот таким же принципом, можно и подборки подборки агентов тоже находить.
483: Так, край и chain. Так, я уже сказал, что можно делать хьюман ин зе лууп, честно, я просто сам не делал, но я предполагал, что можно, скорее всего, можно, но лучше уточните, по моему, да.
484: В crew и и Лена. Угу.
485: Окей, да, это вот все вопросы, которые я прокомментировал, пока ещё можете писать. Я давайте пока что вернусь к слайдам и будем уже финализировать. Мы тут уже за overtime или
486: На треть времени. Так.
487: Да, это, ну да, у нас сегодня открытый урок курса лм диди, вот в общем то поток текущий уже начался, но если что, следующий будет.
488: Примерно через полгода, где-то в августе, если не ошибаюсь.
489: Программа курса, если вы не видели, выглядит таким образом. То есть тут, что мне особенно нравится. Ну то есть, если там брать разные курсы по инженерингу, ну вот как бы, как мы смотрим на работу с лмками, то есть это либо
490: Энэлпи, где мы разбираем работу, ну, устройства трансформера, как это все работает внутри. Виды трансформеров, как устроена мультиязычность, например, там и прочие такие типы.
491: Задач, которые решаются современными трансформерами. Либо мы это делим, либо мы делаем чисто лм инжиниринг, когда вот нам неважно, как это устроено. Нам просто нужно строить системы.
492: На курсе мы даём также и такое, такую энэлпи часть, то есть как работают трансформеры, какие там разные виды, как визуализировать не работу вот агентских систем, а visual
493: Как работает сам трансформер, то есть как работают механизмы внимания в трансформере. Вот, ну и дальше.
494: Да, вот такие уже более как-то традиционные для лм. Инжиниринга темы. То есть, ну, собственно, инжиниринг, лм, опс, оптимизация, файнтюнинг.
495: Там тоже есть, по которому как раз я веду 1 занятие. Вот.
496: Да, когнитивные архитектуры, рак, паттерны архитектуры. Вот это все даётся на курсе преподавателей. Гораздо больше примерно 7 8 человек. Просто здесь не всех выводят.
497: Ну, на сайте курса, по моему, там есть информация обо всех.
498: Вебинары. Ну если вы не знаете, давайте тоже проговорю. Проходят в живом режиме. Там уже можно задавать вопросы вслух прямо во время занятия вебинар достаточно адаптивный, то есть мы между
499: Курса, собираем обратную связь и обновляем занятия если понимаем, что можно сделать что-то посложнее или там что-то мы забыли объяснить в предыдущем запуске стараемся вот это все включать, чтобы, Коро,
500: Программа была адаптивной, есть проект в рамках обучения, который вы выполните и можете использовать как элемент своего портфолио. Вот, ну и есть чат, в котором можно общаться.
501: Как во время обучения, так и после того как курс закончится вот там бывают анонсы от отуса на разные мероприятия там типа job offer дей или как писать?
502: Как составлять резюме? Вот такие анонсы там бывают, ну или там какие-то митапы релевантные, это все тоже присылается. Вот, да, как я сказал, курс уже начался неделю, неделю назад, примерно длится 4 месяца.
503: Вот. Ну, я так понимаю, что на текущий запуск все ещё можно успеть. Если не ошибаюсь, если сейчас ещё не решили, то примерно через полгода, если я ничего не путаю, следующий запуск состоится. Вот.
504: Да, давайте я сейчас вам пришлю ссылку на опрос, чтобы вы оставили фидбэк. По этому, по этой нашей встрече. Сейчас я найду ссылку.
505: И скину в чат её.
506: Вот это ссылка, чтобы вы могли оставить фидбэк по вот этому сегодняшнему демо занятию.
507: Так, и ещё. Так что нам остаётся, да, подведём итоги, просто отрефлексируем. Во первых, достижение целей мы сегодня
508: Ну, проговорили, в чем сущность агентного подхода по сравнению с, по сравнению с просто, ну, с простыми такими использованиями чат бота.
509: Когда это нужно, какие преимущества? Ну и не забываем, что иногда это может быть излишним, как бы важно задавать себе вопрос, не слишком ли, не слишком ли я усложняю, переходя к дизайну?
510: Агентов, может быть это все по прежнему можно решить с промтами, но основные такие элементы я подсветил. То есть вот 4 компоненты мультиагентной системы модель
511: Модель, память, Тулы, функции и 4 забыл. Ну, на слайдах там увидите. Ну, то есть на примере 4 основных компонентов я показал, чем отличается использование мультиагентной системы.
512: От обычного вызова лмки в чат боте или через апишку. Вот об этом мы поговорили по фреймворкам тоже верхний уровне мы прошлись, я показал, ну то есть
513: Сделали обзор, показал примеры кода и подсветил, как выглядит собственно дизайн простейших систем. Дальше вы репозитории подборки уже можете поискать сами, в том числе примеры. Вот репо,
514: Crew ai и learn графф можно найти вот ну и парадигмы 3 систем тоже мы разобрали надеюсь это было понятно чем отличаются друг от друга наконец.
515: Да, репозиторий внутри репозитория гуглятся достаточно легко. Дальше я решил дать ссылки на курсы от диплернинг. Вот если что, ссылку внизу экрана видно. То есть тут подборка из 6 курсов.
516: По атоден у них всего 1 курс, зато по q a i 3 курса и paul Греф, у них 2 курса вот, ну давайте я ссылки открою, посмотрим, что там есть, например.
517: Lang, граф.
518: Вот есть такой курс. Эти курсы бесплатные, достаточно подробные. Ну то есть, чтобы назвать себя опытным пользователем конкретного фреймворка, пройти курсы и начать что-то делать вполне себе.
519: Тебе достаточно, я думаю, вот, ну, разве что эти курсы на английском надо понимать, но зато они бесплатные и огромное преимущество это то, что в рамках курса они дают, как это бесплатный до
520: Доступ к апишке, то есть там в зависимости от того, какого вендора они используют в каждом курсе, апишка будет бесплатная. Вот диплерн иай это проект.
521: Находится в бета режиме. На текущий момент они вот все, все говорят, что собираются как бы перейти в такой рабочий режим, что будет означать, что курсы перестанут быть бесплатными. Вот, ну, пока что можно проходить и пользовать.
522: Соответственно, бесплатной афишкой, которую они дают. Вот если что, 6 ссылок, которые могут быть полезны, если вы ещё с этим ресурсом не сталкивались. Ну а репозитории они просто достаточно
523: Углубляться.
524: Вот. Ну да, короче, я куратору перешлю ссылку на слайды, вот вам, я надеюсь, она их потом передаст. А, ну или
525: Давайте ссылки просто скопирую.
526: Так.
527: Так и learn граф 2 ссылки.
528: Вот.
529: Да, так, так, так.
530: Так, ну да, получается, по ссылкам все подборки. Так вот, хороший вопрос был в чате, да, про подборки паттернов и решений это уже, да, вы сами погулите. Ну, таких.
531: Ресурсов вполне достаточно. Ну, для начала, наверное, полезно пройти вот эти курсы по агентным системам, чтобы после этого уже ориентироваться в подборках. Да, в telegram есть ещё курс. Сорри, не курс, а
532: Как его канал, на который можно подписаться, чтобы отслеживать новости отуса про запуск курса. Так слайд слайд уже просто повторился про опрос я сказал.
533: Да, ну тогда получается, на этом у нас все. Вам спасибо за внимание. Вот. Ну, надеюсь, ещё будем, надеюсь, ещё увидимся с вами. Вот тогда хорошего вечера и до свидания.