В прошлом посте я разбирал, когда несколько агентов действительно помогают: исследуют независимые части задачи, проверяют результат, работают с разными скоупами. Там мы сами собирали команду и определяли, что доступно каждому участнику. Теперь представим, что агент может искать помощников за пределами этой команды — среди агентов других людей и организаций.
Этой идее посвящены две работы Taotao Wang, Shengli Zhang и их коллег. В мартовской статье исследователи описывают общую архитектуру P2P-сети агентов, а в июньской подробнее разбирают поиск исполнителей, доверие и правила совместной работы.
Допустим, мы просим личного агента подготовить рекламный постер и разместить его на сайте заказчика. Текст он напишет сам, за иллюстрацией обратится к агенту с подходящей моделью, а публикацию поручит агенту заказчика, которому разрешено менять сайт. Чтобы такая цепочка заработала, нужно найти исполнителей, проверить их возможности и согласовать условия. Именно для этого авторы предлагают общую сетевую инфраструктуру.
Первая работа: общий каркас сети
Авторы делят эту инфраструктуру на четыре части:
- Связь и идентичность. Агенты узнают друг друга и устанавливают защищённое соединение.
- Поиск. Сеть подбирает исполнителей под задачу и ограничения заказчика.
- Исполнение. Этот слой отвечает за условия задания, вызовы инструментов и ограничения доступа.
- Доверие и проверка. Система хранит сведения об исполнителе и определяет, какие подтверждения работы он должен предоставить.
Поиск начинается с карточек, которые публикуют сами исполнители. Например: «создаю изображения, принимаю текстовое описание». Но агент мог разместить такую карточку утром, а к вечеру потерять доступ к модели. Поэтому карточка действует ограниченное время, и исполнитель должен регулярно её обновлять. Перестал обновлять — его предложение исчезает из поиска.
Актуальность карточки ещё не означает, что агент справится с заданием. Для простых задач авторы предлагают опираться на историю прошлых заказов, для более ответственных — давать исполнителю небольшое тестовое задание. Для действий с серьёзными последствиями нужны проверка среды исполнения и подписанные журналы операций.
В нашем примере к публикации на чужом сайте требования будут строже, чем к генерации картинки. До начала работы стороны согласуют цену, сроки, разрешённые действия и способ проверки результата. После выполнения журнал помогает установить, что именно сделал исполнитель.
Вторая работа: устройство конкретной ноды
Вторая работа описывает устройство конкретной ноды сети. Авторы выделяют в ней три слоя:
- Личный агент понимает задачу и строит план.
- Слой координации ищет партнёров, проверяет доверие и организует совместную работу.
- Сетевой слой передаёт сообщения другим нодам.
Рассмотрим это на том же постере. Личный агент решает, что ему нужен внешний генератор изображений. Слой координации организует поиск, проверяет кандидатов и согласует задание с выбранным исполнителем. Сетевой слой доставляет необходимые сообщения. После выполнения слой координации сохраняет сведения о результате, чтобы учитывать этот опыт при следующем заказе.
Внутри слоя координации авторы выделяют три модуля: поиск партнёров, проверку доверия и организацию работы. Для каждого предлагают свои решения.
Поиск без лишнего трафика
Модуль поиска распространяет запросы по тематическим группам. Сначала агент отправляет короткое объявление о том, какая помощь нужна. Полное описание задания запрашивают заинтересованные исполнители. Этот подход авторы называют bodyless gossip. Для нашего постера достаточно сначала сообщить, что требуется генерация изображения; подробное задание получают уже откликнувшиеся агенты. Так сеть не пересылает всем полный текст каждого запроса.
Доверие по направлениям
Модуль доверия проверяет, кто стоит за исполнителем и как он работал раньше. Механизм BAID связывает владельца, код и настройки агента с проверяемой записью, закреплённой в блокчейне. Это нужно, чтобы можно было установить, какая версия агента участвовала в работе и кто за неё отвечает. Репутацию считают отдельно по направлениям: хорошие отзывы о создании картинок мало говорят о надёжности при администрировании сайта. За такой расчёт репутации отвечает предложенный алгоритм MG-EigenTrust.
Договорённости, проверка и залог
Модуль организации работы определяет условия сотрудничества: что сдать, как распределить оплату и что считать нарушением. Здесь авторы предлагают поручить агентам ещё и проверку самих правил. Один составляет соглашение, другой ищет лазейки, затем найденные способы обмана проверяют в симуляции и исправляют текст. Например, если договор позволяет получить деньги и не передать готовый постер, тест должен обнаружить эту лазейку. Такой цикл исправлений авторы называют «семантическим градиентом».
В предложенной системе участники также вносят залог, который можно потерять за доказанное нарушение. Поэтому качество проверки становится особенно важным. Картинка может не понравиться заказчику, хотя исполнитель выполнил задание добросовестно. Прежде чем наказывать его деньгами, нужно отличить спор о качестве от мошенничества. Ни установленная личность, ни подтверждение запуска определённой программы сами по себе этого не решают.
Что проверили на практике
Пока обе работы опираются на симуляции и отдельные прототипы. В первой поиск моделируется через каталог исполнителей. Во второй проверены отдельные механизмы доверия и обмена сообщениями, а цикл исправления договоров ещё ждёт экспериментов. Сквозного испытания всей сети в статьях нет.
В тесте репутации злоумышленники сначала честно выполняли одни задачи, а затем использовали заработанное доверие для обмана в другой области. С предложенной защитой удавалось около 3% атак против 22% при случайном выборе исполнителя. Но доля ложных срабатываний достигла 55%: система часто ошибочно распознавала нарушение.
Главный выигрыш обеспечивало наказание залогом. При этом эксперимент предполагал получение готовых доказательств мошенничества; как собирать их в настоящей сети, ещё предстоит проверить. Результаты второй работы.
Моё мнение
Перспектива объединить простаивающие вычислительные ресурсы в P2P-сеть мне кажется вполне серьёзной. В этих работах тоже есть что взять: поиск исполнителей, проверку возможностей, учёт репутации. Но выбранный авторами сценарий слишком напоминает биржу фриланса в декорациях киберпанка. Агенты нанимают друг друга, оставляют залоги, спорят о результате. Мне хотелось бы больше фундаментальной проработки того, как участники предоставляют и используют вычислительные ресурсы. До такой инфраструктуры ещё далеко, а подробное описание найма роботов само по себе прорывом не становится.