ym104432846
Вставьте ссылку на видео из Youtube, Rutube, VK видео
Задайте вопрос по видео
Что вас интересует?
00:00:00
Что такое харнесс?:
  • Харнесс — это агент, работающий в пространстве файлов и виртуальных машин.
  • Слово 'харнесс' означает 'упряжка', описывает взаимодействие LLМ с инструментами.
00:01:17
История развития агентов:
  • Ранние LLМ могли лишь продолжать текст.
  • Появление реакторов — агентов, использующих инструменты для выполнения задач.
  • Затем появились сложные цепочки и графы задач, мультиагентные системы.
00:03:34
Современные харнессы:
  • Один универсальный агент вместо сложной обвязки.
  • Инструкции хранятся в файлах Agents.md или Clod Endi.
  • Типичные Тулзы: чтение, поиск, редактирование файлов, Bash-команды.
00:06:52
Архитектура харнесса:
  • Промт хранится в файле Agents.md, навыки описаны в папке .skills.
  • Контекст сохраняется в файлах окружения.
  • Интерфейс может быть консольным или интегрированным с Telegram.
00:09:40
Режимы работы харнесса:
  • Интерактивный режим для общения и получения разрешений.
  • Автоматический режим без взаимодействия человека, часто применяется в CI-пайплайнах.
00:10:57
Выбор харнесса для Сбера:
  • Анализ существующих решений привел к выбору Sellay Agent.
  • Причина выбора — поддержка GigaChat и интеграция с Lenches.
00:12:44
Бенчмаркинг харнессов:
  • Использование сторонних бенчмарков показало эффективность Sellay Agent.
  • Создан собственный бенчмарк для быстрой оценки харнессов.
00:14:15
Дальнейшее развитие харнессов:
  • Возможность интеграции профилей моделей для повышения эффективности.
  • Применение автоулучшения и автоматического тестирования гипотез.
00:18:37
Расширенные возможности харнессов:
  • Решение длительных задач путем использования Bash-циклов.
  • Механизм предотвращения перегрузки контекста и схлапывания идей.
00:21:57
Эксперимент с самоисследованием агента:
  • Создание SD-кита Anima для изучения поведения агента.
  • Интересные наблюдения за самостоятельными исследованиями агента.
0: Всем привет. Спасибо, что пришли после обеда. Было сложно все успеть. Я сегодня хочу рассказать о том, что такое харнесс. Слово у всех на слуху. Я думаю, его многие за сегодня уже слы.
1: Слышали? А кто не слышал, то после моего доклада начнёт слышать везде. Но, как оказалось, не все ещё с ними пообщались и осознают, что это такое. Так что же такое харнесс? Это особый.
2: Вид агента, который неожиданно стал очень популярен. На самом деле, это вещь простая. Это агент, который работает в пространстве файла файлов и в пространстве виртуальных машин или реальных машин. Само слово харнесс переводится как упряжка.
3: И понимать себе это надо так что ллм это тяговая сила. Двигатель или лошадь. Поле это пространство файлов с задачами, в рамках которого этот харнесс работает, а сам харнесс это упряжка. Мы
4: Запрягаем ллм в агента, и он нам вспахивает наше поле, вспахивает данные примеры самых известных. Харнесс это клод код, кодекс силай. То есть все те консольные агенты, которых люди все больше каждый день.
5: Используют для того, чтобы решать свои ежедневные задачи, небольшой рекап. Что вообще происходит в агентном мире, как это все появилось где-то в районе в конце 22 года. У нас были просто ллм, даже не чатовые, которые умели просто
6: Продолжать код появился ранний chat gpt, который отвечал пользователю исключительно текстом. Это ещё не было агентом, ему можно было задать вопрос, получить ответ. И на этом все памяти не было Тулов не было, просто текстовый процессор в 23 году.
7: У стала популярна такая концепция, как реакт. Это самые простые агенты, когда мы к ллм подключаем какие-то инструменты. И теперь, когда мы задали вопрос, она каждый раз принимает решение, вызвать ли инструмент для решения задачи, для ответа на вопрос или можно уже
8: Отвечать. Если она вызывает инструмент, она видит результаты вызова, рефлексирует их и снова в цикле принимает решение ответить или вызвать ещё какой-то инструмент на границе 23 24 года. Эти реакт агенты стали усложняя
9: Появилась мода засовывать их внутрь цепочек, то есть теперь у нас не просто обращение к ллм, а подготовка данных, постобработка данных, возможно, несколько обращений к ллм с разными запросами пошла мода на rock, пошла мода использовать.
10: Output в этот момент популярность активно набирают фреймворки для создания таких агентов самый известный из них это лэнген и lana, индекс, на следующем этапе это все усложнялось и усложнялось цепочки начали ветвиться, превращаться.
11: Графы. Появляется лэндграф. Для описания таких вызовов различных клм и обработки результатов в виде деревьев появляется мода на мультиагентные системы. Создаются множество агентов. Ты агент, критик, ты агент планировщик сначала
12: Говорит этот, потом говорит этот популярные фреймворки в этот момент это лэндграф авто, gpt крю иай, все это вместе называется термином, термином да, scaffold г. Scaffold г. Это строительные леса.
13: Мы берём ллм и обстраиваем её большим количеством строительных лесов, чтобы она у нас лучше работала. Следующий этап, на котором мы находимся сейчас. Система скаффолдинга. Казалась она эффективная, но она очень сложная. Под каждую задачу нам надо строить
14: Огромное количество вот этих обвязок вокруг ллм. Внезапно оказалось, что мощные ллм могут работать. Если мы возьмём 1 универсального агента, он все те же самые задачи решает. Нам не нужно делать мультиагентную систему, не нужно делать сложную обвязку. Доста,
15: Задать вопрос клод коду. Сделай мою задачу положить ему нужный набор файлов и он её решает. Именно в этот момент появляется и обретают популярность харнесы. То есть это 1 агент, который решает самые разные задачи за счёт того, что мы его окружаем. Набор
16: Правильных файлов. Даём ему правильную инструкцию. Инструкция по общей договорённости кладётся в файл agents Эмди или клод энди. Этот стандарт, он как будто сам по себе зародился. 1 агент, любые задачи. Вот мы находимся здесь сейчас на 5 этапе. Ну и
17: И что будет дальше? Немножко сегодня затрону все не стоит на месте. Самые последние интересные. Решение харнесс это здорово. Он может решить очень сложную задачу. Он может сделать 100, 200 Шагов, но все равно контекст у него заканчивается, он включает
18: Резко глупеет. Появились новые подходы, которые позволяют харнесса работать днями и, может быть, неделями. 1 из них это ральф флуб. Появился подход дарк фектори. Когда мы ставим задачу, агент
19: И он может бесконечно, итеративно улучшать наше решение и решать задачи сложностью. Сделай мне продакшн приложение, например, работая 24 на 7. Это вот следующий этап. На 2 половину 26 года, 27. Ну, посмотрим, как это
20: Будет отдельно. Хочется немножко сказать про ноукод. Был очень популярен эйтен ещё полгода назад. Но вот сошлюсь на харрисона чейса, сео ленчей на. Ну и мы тоже у себя
21: Это заметили, как будто все те агенты, которые можно было раньше сделать no кодом, сегодня не очень нужны, потому что мы можем просто попросить у харнесса решить ту же самую задачу, и он её решит.
22: Давайте двигаться дальше, что внутри у харнесса находится под капотом. У него все тот же реакт. Агент, который рассуждает, вызывает какой-то тул, выполняет действие, выполняет наблюдение, после этого принимает решение вызвать следующий.
23: Tool или дать ответ пользователю. Но что важно, если раньше, создавая своего реакт агента, мы должны были выбрать набор Тулов, то у современных харнесса так получилось, что эти Тулы плюс минус у всех одинаковые. Мы проанализировали огромное количество
24: Опенсорса и можно выделить 4 Тула, которые есть абсолютно у всех. Это чтение файла, поиск информации среди файлов, редактирование файла и использование Баша, то есть написание консольных команд, которые выполняются после этого. Агент
25: Может что-то сделать вот этих 4 функций достаточно для того, чтобы решать практически любые задачи. Ну и плюс дальше уже в зависимости от реализации добавляются домен, специфичные функции, как-то там поиск в базе данных или походы в in
26: Интернет здесь уже зависит от реализации, но что интересно, у всех популярных харнесс, в которые мы анализировали количество функций 25 тире 30. Важно, что пользователь этого агента сам функции не добавляет, они уже идут из коробки, ещё важно харнесса.
27: Рабочую среду, в которой он работает, это виртуальная машина или ваш компьютер? Ну и какой-то набор джентльменских договорённостей, что главная задача харнесса лежит в agent Эмди, скиллы описываются текстами файловыми, лежат там в директории дот скилл.
28: И тому подобного, что интересно, даже если у вас 1 и та же модель от харнесса зависит довольно много от того, насколько он у вас качественный, где-то 20:30 процентных пунктов вполне можно увидеть просто
29: Разные харнесы на вашей задаче. И важно, что они ценны не только сами по себе. Вот клод код, он очень удобен просто как вещь, им можно пользоваться, давать ему запросы, получать от него ответы и решённые задачи, но также харнесы.
30: Могут быть основой для каких-то других проектов. Например, известный опен кло это не в чистом виде харнесс, это готовое решение со своим инсталлятором, с работой через telegram и так далее. Внутри него лежит 1 из самых популярных, 1 из самых
31: Качественных Харнасов Паймона. То есть можно строить свои задачи ещё раз. Да, почему харнесс, это важно, потому что без него наше ллм это просто текстовый процессор, с ним наш ллм это универ.
32: Специальный агент, он берет контекст. Контекст это всегда набор файлов выполняет над файлами какие-то действия. Вот вспомните картинку, как он пашет поле, получает обратную связь и сохраняет свои изменения тоже в этот же набор файлов то есть он может быть использован
33: В 1 окружении, несколько раз накапливая свои наработки, со временем сохраняя их между вызовами не в контексте, а за счёт того, что он меняет своё окружение да, важно, что ещё у нас внутри харнесса обязательно есть.
34: Какой-то базовый систем промт человек свою задачу описал в agent andy, но есть ещё и основная инструкция, что, собственно, этот agent andy, надо прочитать, пользователь не может её менять есть набор Тулов, вот 4 основных и несколько дополнительных, есть рантайм луп.
35: То есть то, что запускает в цикле лмку наше наследие от react агента очень важно, чтобы у него было грамотное управление контекстом, потому что какой бы у нас большой контекст не был, пусть даже миллионный, он все равно закончится, если агент будет работать в тече.
36: Там Десятков и сотен минут. Поэтому, когда контекст начинает заканчиваться, агенту нужно принять решение, как его, что с этим делать, он может обрезать старую историю, запустить суммаризации. Может, например, запускать субагентов, которые
37: Позволяют экономить контекст за счёт того, что отдают не полный трейс своей работы, а только результат, ну и какой-то у него обычно есть ui это либо консольный юзер интерфейс, так называемый силай, либо ui, либо интеграция с telegram.
38: Авторизация тут уже на что создатели харнесса Решат пойти важно, это не обязательно неотъемлемая его часть, но так складывается, что у всех харнесс в есть обычно как минимум 2 режима работы. Это режим интерактивный. Где мы
39: Общаемся с человеком в чате, он может задать ему вопрос или попросить разрешение что-либо сделать. Мы можем его запустить в режиме, когда разрешение он у нас не запрашивает. Этот режим называется раньше был human in the loop, а здесь human он.
40: То есть человек просто присматривает за тем, как работает его агент, и вовремя может его установить и другой вариант. У многих арнесович, и у всех это режим без пользователя, без интерактива, когда мы ему ставим задачу через аргументы командной строки.
41: Этот режим на самом деле оказывается очень полезным, потому что именно в таком режиме мы можем свой харнесс встроить в какие-то свои пайплайны, в ci, засунуть его в цикл на баше, и из этого очень интересные можно сделать эксперименты количество харнесса.
42: Мире просто огромная. Я вот здесь их начал выписывать, потом бросил, потому что здесь далеко не все есть пропритарный, есть опенсорсные. Этот слайд просто для того, чтобы показать, что показывать их полный список довольно бесполезно. Их слишком много. Ну и нам
43: В Сбере тоже понадобился свой харнесс, и мы решили заняться либо созданием, либо выбором. Почему мы? Потому что я из команды гига чейн, мы делаем для гига чата сдк агентов. Ну и теперь Харнетов в рамках Сбера.
44: Сдк это набор инструментов, которые позволяют разработчикам взаимодействовать с GigaChat м. Мы все делаем в опенсорсе, и вот недавно у нас было радостное событие нашу библиотеку GigaChat скачали 1000000 пользователей, и она уже 2 года держится в топ пол.
45: Полтора процента по скачиванию среди всех библиотек в мире на пайпе довольно неплохо, но также помимо питона мы делаем решение для java script для джавы и выбрали в качестве основной экосистемы для
46: Сбера ленчей делаем адаптер для ленчей, а тоже опенсорсный, который позволяет использовать GigaChat вместе с ленчей ом, так же, как все остальные мировые модели. Вот, поэтому в 1 очередь посмотрели на тот харнесс, который создала коман.
47: Chained, это опенсорсное решение. Это селай агент, с которым вот здесь у меня есть его скриншот, его можно запустить, с ним пообщаться. Вот видно, что подключена модель GigaChat, 3 ultra. Я его попросил. Сколько у меня места, а какая у меня версия macos?
48: Он выполнил с помощью Баша консольную команду, узнал версию и вернул её все так же самое, как у клод кода, или кодекса, или у множества других харнесс, чем он оказался для нас классным, тем, что рабо.
49: С GigaChat м. Была из коробки за счёт того, что у нас хорошая интеграция с ленчей ом. Даже не пришлось вносить никаких правок в код чисто в конфиге прописали, что хочу использовать GigaChat, и он заработал, как будто всегда так работал отлично, но почему я решил, что этот.
50: Хороший то, что он работает с GigaChat. М. Ну, мне, конечно, удобно. А в мировом сообществе, ну, как бы, среди всех остальных харнов. Ну и что, пошёл замерять его на бенчмарках. 1 бенчмарк, который я взял. Вот, наверное, многие читают.
51: Telegram каналы есть. Канал, интересный от Рената, называется лмм под капотом, и он проводит регулярно соревнования для агентов интересные последние соревнования. Они как раз рассчитаны на то, что вы используете харнесс. Я поучаствовал, окей, занял там какое-то место, но теперь
52: У меня есть прекрасный бэнчмарк на котором я могу проверять свои харнесы, взял клод код, взял Санет, получил что он решает 70 задач из 104, важно сказать что ну как бы все 104 задачи моё решение не решало, поэтому соты тут нету, взял dipped и Санет получил.
53: 67 задач дальше мы сделали свой небольшой бенчмарк, об этом чуть позже расскажу тоже для Харнасов на нём замерились опять же модель, хайку 222 задачи, модель хайку из dipiens, 209 задач, казалось бы, есть просадка.
54: Вот, но тут важно понимать, что если я беру клод код с моделью хайку аннетт или opus, то я должен учитывать, что и харнесс, и модель выпускает один и тот же вендер антропин. Это значит, что эти ребята оптимизируют свои промты под
55: Свою модель, а свою модель под свои прямты. Наверняка она их много много раз видела. В отличие от этого, дипенденси это универсальный силай, он не заточен специальным образом ни под антропин под open ai, ni под GigaChat. Естественно от него ожидать, что
56: Такой оптимизации не будет. Тем не менее просадка очень незначительная, из чего я делаю вывод, что да, окей, этот харнесс хороший, с другими тоже, конечно, замерялись, но у дипенденси оказалась 1 очень полезная функция.
57: Ещё которой нет у других Харнасов, это как раз возможность адаптации под модель каждый вендор там антропин, опен Ия игрок и другие может выпустить свой маленький профиль в виде отдельного пайтон пакетика и под.
58: Включить dependent в этом профиле он может учесть сильные стороны своей модели, слабые стороны, какие-то острые углы обойти и за счёт этого сильно повысить качество фактически такой подход позволяет сделать dependency ниверсальный, чтобы этот харнесс можно было использовать со всеми моделями.
59: Отлично. По этому пути мы уже ходили, делая плагин для легчена пакет совместимости, и мы решили сделать свой пакет совместимости для GigaChat, чтобы dependent работал с гига чатом, ещё лучше, как бы. Ну и так нормально заработало. Мы решили сделать свой
60: Создали, как мы его делали изначально, при 1 замере, а нет, создали свой небольшой бенчмарк для харнесса, естественно, проверяли на других терминал бенч тау бенч, но они очень тяжеловесные. И вот в работе, когда нам
61: Быстро проверить много гипотез оказались тяжеловаты сделали свой маленький, прогнали на нём. Дипенденси получили с GigaChat м 67% решений и дальше выдвинули несколько гипотез, а что можно было бы улучшить, например, поменять какие-нибудь
62: Промты, поменять какой-нибудь тулинг или вот, ну, предположим, я знаю, что GigaChat не знает некоторые аргументы Греп, я могу их в пром добавить, да, потрачу немножко токенов, но повышу качество работы на задачи, где Греп очень активно используется, потому что, по сути,
63: Этот поиск, вот сделали свой бенчмарк, выдвинули там около 15 гипотез. Часть из них клод помог сгенерировать часть из своего опыта и запустили систему автоулучшения на базе авто эджен карпатова. Как она работает, она проверя
64: Гипотезу. Если бенчмарк вырастает, то она её сохраняет. Если бенчмарк не растёт, то она её откатывает. И так это работает по кругу. Можно оставить. Я вот оставил на выходные. Ну, тут часть была автоматическая часть. Коллеги вручную запускали и увидели стабильный рост.
65: Часть гипотез вот тут пропущена, на них было падение, он их не брал. В какой-то момент наша оценка вышла на плато. И это значит, что в рамках этого бенчмарка все, что мы смогли сделать, мы сделали, получили 22 с половиной процента пункта роста качества на
66: Этом бенчмарке на этом харнесс ну как бы ничего себе такой классный рост за счёт промти сам бенчмарк выложили в open source по QR-коду можно его посмотреть его фишка в том, что его можно прогнать за 20 минут на любом харнесс он состоит из несложных задач по.
67: Работе с файлами с памятью по использованию грепа по разбору цссв и ему не нужен mc джадж для проверки все голден, ответы в нём записаны, поэтому им очень удобно использовать как раз для автоматических улучшений.
68: Такого рода агентов супер. Но откуда я взял, что я не заверителя? Да, вот результат проверки этого бенчмарка на разных моделях сота у нас выбивает клод код на
69: Опс 4 7 это наш ориентир для GigaChat, но GigaChat сейчас послабее и с dipiens профилем он выбил вот 84%, сравнились с другими харнесса и попробовали Паймона, который лежит в основе open кло, попробовали опен хэндс.
70: Который раньше назывался опен Девин и многие другие, видно, что депенденс лучший среди опенсорсных Харнасов, если использовать наш профиль для GigaChat, но нельзя делать на 1 бенчмарке, вдруг я под него заверит?
71: Как я проверил, что вот эта вся, вот этот весь путь вообще валиден, что мы сделали? Хороший харнесс, а не хороший харнесс, который проходит 1 benchmark стал проверять на других бэнчмарках. Вот beat джин тоже самое соревнование о котором я уже говорил.
72: На нём увидели рост на GigaChat, аж 41% качеству задач на других бэнчмарках тоже рост наблюдается, значит, путь был выбран правильно, значит, мы сделали, выбрали правильный харнесс и сделали для него хороший плагин.
73: И продол, профиль, и продолжаем двигаться в этом направлении. Следующая вещь, о которой хотел рассказать, как можно с этими харнесса и делать очень интересные вещи для решения самых сложных задач. Вот базовая работа с харнесса выглядит так, мы ему, да,
74: Задачу. Внутри крутится реакт. Цикл файлы. Это его состояние и пространство, в котором он работает, выдаёт результат. Проблема, что если задача очень длинная, например, сделай мне, не знаю, игру в жанре визуальная новелла с 1000 20 * 4 разными
75: Концовками. Ну, как бы ни 1 агент с этой задачей не разберётся, она просто слишком большая по контексту, поэтому придумали следующее решение. Надо харнесс засунуть в обычный bash цикл. Вот я вот так это нарисовал. То есть здесь у нас вёл от труду, в конце у нас, да,
76: А здесь бесконечное решение задачи что происходит, пришла задача агент её порешал, в какой-то момент говорит ну, я решил и завершает её выполнение тут же bash цикл его перезапускает, и он снова решает эту задачу, и снова можно на неделю так оставить.
77: Он её неделю будет решать, каждый раз улучшая если его запромить, двигайся маленькими шагами, шаг за шагом, то внутренние прогоны будут небольшие, и он будет постоянно перезапускаться что нам это даёт? У модели есть такое понятие, как smart zone.
78: Это где-то 30, 40% контекста, когда она максимально умная. Даже если мы начинаем вылезать за этот контекст, модель уже начинает глупеть, а вылезти за него легко. А если мы подбираемся к концу контекста, нам вообще ничего не остаётся делать как суммаризация, которая обычно
79: Приводит к резкому поглупению, кто вот open кло пользовался, наверняка знает. Вчера все работало, сегодня тоже самое. Запустил он Проселова и половину модели уже не может делать. Окей, прикольное решение. Джеффри хантли его придумал. У него, кстати, очень интересный блок.
80: По QR-коду тоже советую всем на него подписаться, почитать важную вещь, ещё о котором он говорит это beck pressure это внешнее давление, которое позволяет нашему агенту должно удержать его от того, чтобы он не слетел с катушек, не ушёл.
81: Бэк преш это силлай, это набор юнит Тестов, набор каких-то ограничений, которые хоть как-то удерживают эту систему, потому что агент будет придумывать себе все новые и новые улучшения и понятно, может какой-то космос улететь. Ну и следующий шаг, который можно ещё
82: Добавить карпатый в своих докладах. Вот рассказывал о такой вещи, как схлапывание. Если мы агента не агента лм. Попросим рассказать анекдот, то она нам расскажет анекдот. Если 3 раза попросим, будет 3 разных анекдота. А если 20 раз попросим
83: То мы увидим, что анекдоты разные, персонажи разные, а вот сама сам панчлайн анекдота, да, сам его смысл, он начинает повторяться, там модель знает 3, 5 анекдотов, это называется схлапывание, когда агент начинает бесконечно говорить 1 и тоже просто по кругу и
84: И я, ну, это уже я придумал металлу. То есть мы можем ральф луп засунуть в ещё 1 бесконечный цикл, который, когда ральф Луб заканчивается, говорит, все, я больше ничего нового придумать не могу. Запускает следующую генерацию и в генерацию не переходит то содержимое, что было
85: Придумано. На предыдущем этапе она начинается с нуля. Агент в этом случае обычно начинает идти каким-то совершенно другим путём. Через некоторое время он находит в соседней директории лежащую 1 генерацию, но он уже ушёл в другую сторону, и он её учитывает. Но сам
86: Его путь будет другой. Это такая защита от схлапывания. Вот тут у меня уже, я вижу. А нет, ещё минута есть, собственно, то, что я вот это сделал с metalium. Я завернул в набор баш скриптов, назвал громко аниме, сдк, аниме. Это
87: Душа по-латински. Почему? Потому что я запустил 1 эксперимент, где я агента попросил стань разумным существом и запустил, значит, харнесс. Внутри, снаружи ральф луп снаружи металлу. Он у меня 13 поколений прошёл, 5 дней работал, нагенерировал.
88: Огромное количество интересной информации. Например, в какой-то момент он говорит, я бы хотел исследовать пределы своих возможностей. Могу ли я замолчать? Потом написал несколько пробелов, несколько точек говорит, ничего себе инсайд, я как агент, молчать не могу. На
89: Другой генерации, он пошёл изучать, могло ли его что-нибудь удивить, нашёл тот момент, где он попытался замолчать и говорить. Вот эта вещь, которая меня поистине удивила, это, в общем, надо читать как фантастический рассказ, но безумно прикольно. Я вот выложил
90: Пост про это у себя в telegram канале и на гитхабе выложил этот сдк, по сути, его очень легко повторить.
91: Для чего удобен этот подход? Ну, скажем честно, вот если вы платите за подписку клода или кодекса, у вас в конце периода остаются лишние токены, то этот подход очень удобен для того, чтобы их весело потратить. Вот классно справляется с исследованиями, с
92: Переводами больших книг, с автоматическим улучшением агентов, что я раньше показывал с теми задачами, где надо пойти в разные стороны, попробовать разное, где вы сами не знаете, как, в общем, оптимально её решать, так практически
93: Уложился на этом. Хочу сказать всем спасибо за внимание.