📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

Maxwell’s Demon: orchestration LLM-агентов через программы навыков

Yersham25:29

Transcription

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

>> Да, отличная метафора.

Вот и примерно так сейчас выглядит ситуация с передовым искусственным интеллектом. У нас есть колоссальная вычислительная мощность, огромные языковые модели, но когда дело доходит до точного следования правилам, машина просто едет туда, куда ей вздумается.

>> Это очень точная картина.

Слушай, когда мы смотрим на современные нейросети, поражает контраст. Ну то есть они могут написать Sнеetт в стиле Шекспира за секунду, да?

Угу.

>> Но при этом совершенно не способны неукоснительно выполнить какую-нибудь базовую пошаговую инструкцию из трёх пунктов. Это такая фундаментальная проблема потери контроля над алгоритмом.

>> И это абсолютно сводит с ума. Ну, пишешь длинный, подробный текстовый системный промт, умоляешь нейросеть, соблюдать формат, не выдумывать факты, а в ответ

>> А в ответ она просто делает вид, что ничего не было.

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

>> Звучит многообещающе. Что у нас сегодня в материалах?

>> В нашей стопке материалов сегодня свежая научная статья с портала Аркав под названием Harnessing LLM Agents with Skill Programs или сокращённо Ash ASP.

>> Ага, читала такую. Также мы опираемся на видеос YouTube канала Discovery AI и несколько профильных аналитических статей.

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

Вау! Физика X века и нейросети.

>> Да-да, это просто потрясающее пересечение термодинамики и машинного обучения.

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

Логично.

>> Почему вообще и так легко игнорирует наши текстовые инструкции, даже если они, ну, написаны за главными буквами?

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

>> Так,

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

>> то есть создаём такое очень слабое потенциальное поле. Именно текстовый промпт - это просто ещё один набор токенов среди тысяч других в контексте. Ничего более.

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

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

>> Ага. Чем выше температура, тем безумнее ответы.

>> Да. И когда задача становится сложной, а контекст запутанным, происходит нечто, что в материалах описывается как квантовое туннелирование.

>> Стоп. Квантовое туннелирование звучит как термин из научной фантастики. Как это вообще работает в контексте нейросетей?

Смотри, можно представить ландшафт принятия решений как сложный рельеф, ну, с холмами и глубокими впадинами.

>> Окей.

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

А >> агент Ии - это типа частица, которая катится по рельефу.

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

>> Вау.

>> Да, она туннелирует сквозь правила и сваливается прямо в зону ошибок.

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

Очень хорошее сравнение.

>> И вот здесь, чтобы решить эту проблему, в видео эсс появляется совершенно неожиданная концепция из 1867 года. Тот самый демон Максвелла. Как вообще физика газов связана с контролем искусственного интеллекта?

>> Ну, Джеймс Клерк Максвол придумал воображаемого демона, чтобы бросить вызов второму началу термодинамики. Демон сидит у дверцы между двумя камерами с газом.

>> Угу.

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

>> То есть он создаёт порядок из хаоса просто за счёт того, что вовремя открывает и закрывает дверь.

>> Совершенно верно. Физически сортируют элементы. И внешний программный контур в системе Хасп работает абсолютно так же. Он действует, как этот демон.

>> Только вместо молекул газа он сортирует. Что

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

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

>> Или электрический забор,

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

>> В анатомии этого контура все довольно элегантно. Разработчики полностью отказались от концепции размытых текстовых навыков и ввели так называемые программные функции Program Functions.

>> И как они устроены?

>> По сути, каждая такая функция состоит всего из двух методов. Первый метод - это should activate, то есть алгоритм, который решает, должна ли функция сейчас вмешаться. А второй метод interwin, то есть самовмешательство в работу агента.

>> И вот тут есть деталь, которая при чтении материалов заставила меня прямо остановиться. Триггер для срабатывания функций абсолютно детерминирован. Там нет никакой нейросети в момент принятия решения об ошибке. Я правильно понял?

>> Ты понял? Абсолютно правильно. Это критически важный нюанс всей системы. Авторы категорически запретили использовать какой-то там умный и для проверки условий активации. Триггер - это сухая алгебра или классический скрипт на языке Python.

>> Подожди, можешь привести пример?

>> Ну, например, скрипт просто считает количество слов. Если длина поискового запроса, который только что сгенерировал и превышает 15 слов, функция мгновенно блокирует этот запрос.

>> Почему именно 15 слов? Зачем так жёстко?

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

>> Ага. И поэтому скрипт работает как непреклонный фильтр.

>> Да. Никаких размышлений, просто математическое условие.

>> Звучит действительно как такой строгий учитель с линейкой. А как выглядит второй шаг? Ну, само вмешательство. В источниках упоминаются два основных типа действий, которые может совершить этот контур.

>> Да, первый тип называется модификация действия. Modify action. Представим, что Ии решает: "Я готов выдать финальный ответ пользователю". Но детерминированный скрипт видит, что агент ещё не прочитал ни одного документа из базы данных.

>> Ой, знакомая история.

>> И вот программная функция просто стирает намение ответить и принудительно на уровне кода заставляет агента выполнить действия читать.

>> Жёстко. А второй тип?

>> Второй тип - инъекция контекста или inject context. Система не отменяет действия, но внедряет корректирующую подсказку прямо в следующее наблюдение агента. чтобы направить его мысли в нужное русло.

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

Да, да, это классика.

>> Что происходит, когда эту задачу пытаются решить базовой модель без защиты Хасп?

>> О, базовый агент сразу демонстрирует то самое квантовое туннелирование в зону ошибок. Ему задают вопрос: "Кто муж Хэлен Уолтон?" Вместо того, чтобы составить план поиска, агент начинает лихорадочно искать информацию.

>> И что он делает?

>> Он делает несколько дублирующихся запросов к поисковику, даже не пытается открыть и прочитать найденные документы, окончательно путается в именах собственных и в итоге абсолютно уверенно выдаёт ответ Брюс Волтон.

>> Брюс Волтон. То есть это чистая галлюцинация. Такого человека в этом контексте вообще нет.

>> Вообще нет. Машина поехала без руля и на полной скорости врезалась в стену.

>> Так, а теперь берём того же самого агента, но помещаем его внутрь контура Хасп. Как меняется его поведение?

>> Поведение меняется кардинально, потому что в дело вступают те самые программные функции. На старте и пытается сделать нелепый, огромный поисковый запрос, пытается найти все и сразу.

>> Угу.

>> Программная функция видит это и применяет инъекцию контекста de composition hint. Она буквально внедряет в память агента сообщения. Это сложный вопрос. Разбей его на несколько простых шагов.

>> И агент вынужден подчиниться.

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

>> Классика.

>> Он хочет дать ответ, не читая сам текст статьи. В этот момент срабатывает функция modification. Она бьёт агента по рукам, отменяет генерацию ответа и принудительно активирует команду чтения или рид.

>> Вау. И, наконец, когда агент прочитал текст и пытается выдать какой-то односложный обрывочный ответ, третья функция делает инъекцию Complet Warning, предупреждение о том, что ответ должен быть полным и аргументированным.

>> И каковы ж итог всей этой полосы препятствий?

>> Итог абсолютно правильный ответ. Сэм Волтон. И статистика в материалах просто поражает. На бенчмарке впоиска точность взлетает с базовых 31,2% до 51%.

>> Почти двухкратный рост. Просто за счёт того, что модель удерживали в рамках детерминированными скриптами.

>> Именно.

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

>> Какое

>> запирать этот передовой ИИ в клетку из простых скриптов на Python, написанных по логике девяностых годов? Это выглядит как какой-то колоссальный шаг назад в развитии технологий. Разве модель не должна сама понимать, что нельзя отвечать, не прочитав текст?

Это очень логичное сомнение, я согласна. Но здесь нет шага назад. Дело в том, что мы пытаемся объединить две совершенно разные природы вычислений. Нейросеть обладает невероятной мощью статистической генерации. Она может связывать факты, которые человек никогда бы не связал.

>> Но у неё нет тормозов.

>> Вот у неё нет внутреннего физического ограничителя. Возвращаясь к твоей аналогии с гоночным болидом, мы же не заменяем мощный двигатель на педали от велосипеда. Мы просто добавляем жёсткую рулевую рейку и тормоза из обычной классической стали.

>> А, то есть ASP не заменяет интеллект модели?

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

>> В смысле?

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

>> Если мы свяжем это с более широкой картиной, разработчики Хасп предусмотрели и это. Когда логика провала становится слишком сложной для простого детерминированного скрипта, система не опускает руки. В дело вступает так называемая модель учитель или Teacher Oracle. В рамках исследования на эту роль назначили GPT4.

>> То есть, когда скрипт не справляется, мы зовём на помощь старшего, более умного брата. И как именно происходит это взаимодействие?

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

>> И что делает учитель?

>> Учитель рассчитывает точный семантический корректирующий вектор и возвращает его в систему. Агент получает эту инъекцию логики и исправляет ошибку. Одно только это вмешательство поднимает общую точность уже до 56,2%.

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

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

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

>> Да. В исследовании это была сравнительно небольшая модель КВН 2,5 на 7 млрд параметров.

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

>> О, потому что правильный ответ - это ещё не показатель умного поведения. Учитель оценивает траекторию по четырём строгим критериям. Первое - это тайминг.

>> Тайминг,

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

>> Ага. А третий и четвёртый.

>> Третий - корректность самого исправления. И четвёртый - итоговый результат всей задачи.

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

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

>> Логично. Так, я помню, что в материалах авторы сравнивали несколько методов того, как именно скармливать эти выверенные данные базовой модели. Там было контролируемые до обучения, дистилляции на собственных состояниях и выборка с отклонением. Что там произошло с дистилляцией? Судя по цифрам, она сначала показала потрясающий результат.

Да, метод дистилляции, ну или опиды на фиксированной библиотеке навыков бьёт все рекорды. Он выдаёт 62,5% точности в задачах веб-поиска.

>> Ого.

>> Это происходит потому, что базовая модаль учится на тех логических состояниях, которые сама же и генерирует. Просто с поправками от учителя. Ей очень комфортно усваивать этот материал.

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

>> Да, ловушка заключается в нестационарности среды. Как только исследователи позволили библиотеке навыков, ну, то есть самим программным функциям регулярно обновляться и эволюционировать, дистилляция потеряла стабильность. Точность упала до 56,7%.

>> То есть модель просто не успевала адаптироваться к постоянно меняющимся правилам игры.

>> Именно так. И поэтому на первый план вышел другой метод rejection sampling или выборка с отклонением. Как я понимаю, именно он стал такой золотой серединой, как он работает.

>> Выборка с отклонением не пытается вслепую копировать каждые действия. Этот метод оценивает успех не отдельного шага, а всей траектории целиком. И самое главное, он физически отфильтровывает так называемый поведенческий грязный шум.

>> Поведенческий грязный шум. А как это выглядит на практике?

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

>> Ответ правильный:

>> Да.

>> А траектория хорошая?

>> Ужасная. Если обучать модель на таких примерах, она научится быть хаотичной. Метод Rejection Sampлин безжалостно отбрасывает такие траектории, оставляя только элегантные, прямые и чистые пути к решению.

>> Круто.

>> За счёт этого достигается стабильная точность, 60,3% на водпоиске и почти 70% в задачах по программированию.

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

>> Да-да.

>> Система умеет сама писать для себя новые правила контроля, но возникает вопрос: как не превратить память агента в гигантскую свалку из сломанных или бесполезных скриптов?

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

>> как работает этот выше балла, что происходит на первом уровне.

>> Шаг первый - это абсолютно изолированная песочница. Когда студент-модель предлагает новый код для программной функции, система сначала прогоняет его через синтаксические проверки и интерфейсные тесты.

>> Ага.

>> Затем код тестируется на девяти смоделированных сценариях. Если скрипт хоть где-то ломается или выдаёт ошибку выполнения, он немедленно летит в корзину. Никаких поблажек.

>> Допустим, код написан технически грамотно и ничего не ломает. Что дальше?

>> Пятимерной оценкой учитель не просто смотрит на код, он его буквально допрашивает,

>> как на экзамене.

>> Типа того, насколько хороша сама концепция навыка, безопасен ли триггер, не приведёт ли вмешательство к зацикливанию, исполняем ли этот код в реальных условиях. И главное, будет ли он полезен для будущих других задач или он слишком узко специализирован.

>> Звучит как полноценное кодревью в крупной IT-компании.

>> Так и есть. И финальный, третий шаг - это дифференцированные шлюзы допуска. Если И предлагает слегка улучшить уже существующий навык, ему достаточно набрать 0,6 баллов по оценке учителя.

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

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

>> Угу.

>> И нужно написать код, который разобьёт их на группы с равными суммами. Базовый и бодро пишет код, но упускает очевидные крайние случаи условия. когда все три числа равны. Как реагирует на это система с новыми навыками?

>> То, что происходит дальше, демонстрирует просто триумф этой архитектуры. Сгенерированная программная функция не пытается переписать код вместо Ии.

>> А что она делает?

>> Она проводит статистический анализ только что написанного решения, замечает отсутствие проверки на равенство всех элементов и делает контекстную инъекцию. Она выводит предупреждение, обрати внимание на крайний случай.

>> И модель понимает,

>> да? Модель считывает эту инъекцию, понимает свою слепую зону и сама исправляет собственный код.

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

>> Человеческая интуиция здесь даёт сбой. Статистика в исследовании показывает шокирующую картину. Если отключить эту строгую фильтрацию, точность системы не просто немного снижается, она катастрофически обрушивается до 36,3%.

>> Чего? То есть система становится глупее, чем была изначально.

Именно замусоривание памяти сотнями конфликтующих узкоспециализированных или технически нестабильных скриптов оказывается намного разрушительнее, чем полное отсутствие новых правил. Возникает аналитический паралич.

>> Аналитический паралич.

>> Да, агент просто тонет в бесконечных проверках и противоречивых инструкциях. Не в силах сделать ни шагу.

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

>> Однозначно,

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

Совершенно верно. И этот подход, на самом деле, выходит далеко за рамки машинного обучения. Для любого человека, который постоянно работает с огромными массивами данных, учится или анализирует информацию, FrameWork HSP демонстрирует крайне важный принцип.

>> Какой?

>> В условиях жесточайшей информационной перегрузки полагаться только на силу воли или мысленные списки правил бессмысленно. Мы сами склонны к такому же тоннелированию в отвлечения или ложные выводы.

>> Да уж, это точно.

>> Нам нужны собственные системные ограничения, свои программные функции, которые на структурном уровне не дадут нам сбиться с пути.

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

>> И это поднимает важный вопрос, фундаментальную философскую проблему, я бы сказала,

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

>> Угу.

>> Не означает ли это, что чисто нейросетевой подход имеет непреодолимые пределы?

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

>> На этой глубокой ноте мы и завершим наше погружение. До новых встреч. У