Sakhanda Wire
NVDA $230.86 +1.09% MSFT $512.80 -0.02% GOOGL $338.24 -1.70% META $725.93 +0.10% AMZN $248.23 -0.37%
← К новостям

Agent-net открывает исходный код Webagent: инструментарий на Go, превращающий любой сайт в защищённого ИИ-агента

Agent-net, команда, создающая маркетплейс «агент-агент», где ИИ-агенты находят друг друга, устанавливают доверие и платят друг другу, выпустила Webagent — открытый фреймворк для развёртывания бизнес-агентов, доступных широкой публике. По сути, вы предоставляете ему свой веб-сайт, получаете агента и позволяете ему общаться с другими агентами. Вместо написания кода оркестрации компания заполняет декларативную JSON-спецификацию, выбирает по 1 провайдеру для каждого из 9 подключаемых слотов и запускает webagent serve.

Готов ли он к развёртыванию? Да, но с оговорками. Репозиторий распространяется по лицензии Apache 2.0, успешно собирается и уже запускает работающих агентов для Slack, WhatsApp и HTTP, использующих инструменты MCP. При этом проект всё ещё обозначен как v0, а провайдер действий в браузере, MCP с защитой OAuth, экспорт OTel, а также уровень идентификации и биллинга AgentNet пока числятся как нереализованные.

Слоты, провайдеры, выбор

Webagent написан на Go. Агент — это 1 мозг (LLM плюс инструкции), работающий поверх набора слотов, определённых в core/. Каждый слот представляет собой интерфейс поставщика услуг с реестром провайдеров в spi/ и назначенным провайдером по умолчанию:

СлотВстроенные провайдерыПо умолчанию
Извлечение данныхlive, keyword, hybridlive
Памятьsessionsession
Защитный механизмbasic, offbasic
Каналa2a, web, slack, whatsapp (заглушка telegram)a2a
Секретыenv, file, staticenv
Представлениеtext, terminal (QR), webtext
Модельecho, openrouter, gatewayecho
Действиеnone, demo, mcpnone
Наблюдаемостьnone, log, memorynone

Такая архитектура обслуживает 3 аудитории в рамках 1 контракта: компании, которые настраивают систему, выбирая пункты из меню; компании, которые расширяют её, регистрируя собственного провайдера; и компании-партнёры, поставляющие адаптеры. Никому не нужно форкать ядро. Каждый провайдер должен пройти набор тестов на соответствие своего слота, чтобы получить сертификацию.

Безопасность обеспечивается кодом, а не промптами

Самое важное архитектурное решение — это action.Guard. Каждый инструмент, которым располагает агент, независимо от того, предоставлен ли он провайдером действий или внедрён хостом, оборачивается таким образом, чтобы выбранный защитный механизм выполнялся над действием до его запуска. Модель не может обойти этот механизм. В документе DESIGN.md весь проект строится вокруг вывода исследования о том, что успех агента определяется архитектурой, а не возможностями модели; при этом приводятся ссылки на arXiv 2511.19477 и разрыв в успешности выполнения задач — 85% против 50% на одних и тех же моделях.

Что работает сегодня

Мозгу echo, используемому по умолчанию, не нужны учётные данные, поэтому webagent validate и webagent serve работают сразу после установки с двумя примерами спецификаций: zomato.json и bakery.json. Чтобы подключить настоящую модель, команда webagent keys set openrouter сохраняет ключ в каталоге конфигурации ОС с правами доступа 0600. Ключи никогда не записываются в спецификацию, а экспортированная переменная окружения всегда имеет приоритет. И openrouter, и gateway являются совместимыми с OpenAI клиентами с циклом вызова инструментов.

Компания с уже существующим MCP-сервером превращает его в работающего агента с помощью 1 блока спецификации. Провайдер действий mcp подключается через Streamable HTTP (JSON и SSE) с аутентификацией по bearer-токену или API-ключу, выполняет рукопожатие во время сборки и передаёт каждый инструмент агенту через защитный механизм, поэтому validate сообщает фактическое количество инструментов.

Адаптеры каналов Slack и WhatsApp проверяют подпись каждого входящего вебхука, немедленно подтверждают его получение, отвечают через API платформы, игнорируют собственные сообщения и устраняют дубликаты повторных доставок. Slack использует адрес /slack/events, а callback Meta направляется на /whatsapp/webhook.

Секреты подчиняются правилу именования: любой ключ конфигурации, заканчивающийся на Secret, представляет собой ссылку, которая разрешается через выбранное хранилище во время сборки, поэтому спецификации безопасно хранить в репозитории. Если ссылку невозможно разрешить, сборка завершается ошибкой, а канал не запускается без учётных данных. Система наблюдаемости создаёт для каждого хода TurnTrace в соответствии с соглашениями OpenTelemetry GenAI, а тестовый фреймворк eval/ запускает сценарии с проверками.

Основные выводы

  • 1 JSON-спецификация, 9 слотов, по 1 провайдеру для каждого; webagent serve сделает остальное
  • Каждый вызов инструмента проходит через action.Guard до выполнения
  • Уже работает: мозги OpenRouter или gateway, инструменты MCP, каналы Slack, WhatsApp и HTTP
  • Пока не реализовано: действия в браузере, OAuth MCP, экспорт OTel, биллинг AgentNet
  • Apache 2.0, Go, v0; перед использованием в продакшене ознакомьтесь со списком отложенных мер по повышению надёжности

Посмотрите репозиторий на GitHub и пост о запуске. Все заслуги принадлежат исследователю этого проекта. Также подписывайтесь на нас в Твиттере и не забудьте присоединиться к нашему сабреддиту о машинном обучении с аудиторией 150 тыс.+ и подписаться на нашу рассылку. Постойте! Вы есть в Telegram? Теперь вы также можете присоединиться к нам в Telegram.

Хотите сотрудничать с нами в продвижении своего репозитория GitHub, страницы на Hugging Face, релиза продукта, вебинара и т. д.? Свяжитесь с нами

Переведено автоматически с английского. Оригинал статьи — по ссылке ниже.

Впервые опубликовано изданием MarkTechPost

Читать оригинал на MarkTechPost ↗

Текст и изображения принадлежат MarkTechPost и приводятся здесь с указанием авторства и ссылкой на оригинальную публикацию.

← К новостям

Ещё новости

Все последние новости