Знакомьтесь: SAM (Sovereign Agent Mesh) — P2P-сеть без настройки и с нулевым доверием для AI-агентов
google/sam — это не Segment Anything. Здесь SAM означает Sovereign Agent Mesh — сетевой проект Apache-2.0 для автономных ИИ-агентов. Он решает вполне конкретную проблему. Сегодня агенты работают на облачных серверах, в локальных дата-центрах, на ноутбуках, Raspberry Pi и устройствах Android. Возможность совместно использовать инструменты обычно означает открытие внутренних скриптов, конечных точек LLM или частных API в публичном интернете. Альтернатива от SAM — это P2P-оверлей с нулевой конфигурацией и нулевым доверием — нечто близкое к частной VPN, но предназначенное для совместного использования инструментов между агентами через Model Context Protocol. Узлы обнаруживают друг друга автоматически, работают за NAT, а каждый вызов авторизуется криптографически.
Примечание: в репозитории имеется явное предупреждение: это не официальный продукт, поддерживаемый Google.
Можно ли его развернуть?
Частично: разработка ориентирована на эксплуатацию в продакшене, но публичная mesh-сеть всё ещё обозначена как бета-тестовая сеть.
- Что доступно сейчас: бинарные файлы Go, установочный скрипт, Docker-образы
ghcr.io, Helm-чартcharts/sam-mesh, руководство по промышленному развертыванию в Kubernetes, а также поддержка Android/iOS. Публичная тестовая сеть доступна по адресуbananas.sam-mesh.dev. Для реальных рабочих нагрузок разместите плоскость управления самостоятельно. В документации этот режим называется «DIY Mode» — именно он обеспечивает полный контроль над данными и политиками. - Уровень компаний: лучше всего решение подходит инженерным подразделениям компаний среднего и крупного бизнеса, которые запускают агентов более чем в одной сетевой среде. Стартапы, работающие в пределах одной VPC, получат меньше преимуществ; ценность проявляется, когда агенты распределены между облаком, дата-центром и ноутбуками.
- Отрасли: финансовые услуги, здравоохранение, государственный сектор и оборонная промышленность, а также промышленные или робототехнические периферийные парки устройств. В целом — любые регулируемые организации, которые не могут публиковать внутренние инструменты в интернете.
- Применения: совместное использование MCP-инструментов между облаками, вызовы агентов из локальной инфраструктуры в облако и обратно, проксирование конечных точек инференса, изолированные агенты с внедрением учетных данных и пулы прогретых рабочих процессов.
Архитектура: три бинарных файла
sam-control-plane— регистрация идентичности, выпуск токенов, распространение политик.sam-router— точки начальной загрузки libp2p и оверлеи маршрутизации GossipSub.sam-node— P2P-клиент, обеспечивающий транспорт mesh-сети, самовосстанавливающееся соединение и локальный HTTP-интерфейс MCP.
Узел подключается с помощью sam-node join, а затем запускается командой sam-node run. libp2p использует 5001/udp и 5002/tcp; локальный MCP API по умолчанию работает на порту 8080.
Идентичность: на входе OIDC, на выходе Biscuit
Это самая интересная часть. Плоскость управления проверяет JWT OIDC. Затем она преобразует утверждения в факты Datalog и запечатывает их в токен Biscuit. sub превращается в user(...), каждая группа — в group(...), а идентификатор узла привязывается как client_peer_id(...).
Следствие: узлы авторизуют запросы автономно. Узел проверяет предоставленный токен по собственным локальным правилам, не обращаясь к центральному серверу.
Применяется строгая политика запрета по умолчанию. Для доступа необходим явный факт разрешенной возможности, например granted_service_exact(...). Встроенных исключений нет — даже каталог обнаружения system://sam.catalog должен быть явно разрешен. Сервисы используют строгий формат type://name с поддержкой подстановочных знаков (mcp://*, mcp://build-runner.*).
Каждый запрос проходит двухэтапный конвейер. На первом этапе соединение проверяется по кэшам блокировок и отозванных полномочий. На втором этапе выполняются ровно две авторизации Biscuit. Первая проверяет собственный токен идентичности узла и создает утверждения target_fact. Вторая проверяет токен вызывающей стороны. Базовая проверка предотвращает повторное воспроизведение, требуя, чтобы идентификатор узла соединения совпадал с идентификатором в токене.
Операторы могут локально ограничивать полномочия — например, запрещать инструмент записи после 21:00 или блокировать подрядчиков. Локальные разрешения всё равно не могут обходить ограничения check if плоскости управления.
Интерактивное объяснение
Что на самом деле вызывает агент
Узел предоставляет стандартные инструменты MCP: discover_remote_services, find_remote_tools и call_remote_tool. Руководства охватывают Gemini, Claude Code, Claude Desktop, Google Antigravity и OpenClaw. Команда sam-node skill install создает файл SKILL.md, благодаря чему агент может самостоятельно вывести узел в рабочий режим. Вход в систему для регистрации намеренно остается в руках человека.
Контроль исходящего трафика: sam-box и nano-init
Шлюз безопасного исходящего трафика предназначен для устранения реального пробела в безопасности агентов. nano-init работает как PID 1 в песочнице и задает переменные окружения прокси. Для инструментов, которые их игнорируют, он использует LD_PRELOAD для загрузки перехватчика, подключающегося к системному вызову C connect() на портах 80 и 443.
Трафик поступает в sam-box через доменный сокет Unix. Шлюз проверяет Biscuit, внедряет настоящий секрет из secrets.yaml и переводит запрос на HTTPS. Песочница агента никогда не хранит ключ.
Практический пример: пул прогретых агентов
Пример пула агентов для проверки кода распределяет пакетные задачи между одинаковыми работающими исполнителями с использованием обычных MCP-сервисов. Менеджер узнает об узлах через обнаружение DHT и отслеживает занятость с помощью аренд. Корректность обеспечивается синхронным назначением аренды, токенами fencing, вытеснением по истечении периода ожидания и резервным механизмом POOL_BUSY. Исполнители автономно проверяют краткоживущий токен HMAC; во всех остальных случаях возвращается NO_LEASE.
Основные выводы
- SAM — это Sovereign Agent Mesh, P2P-оверлей Apache-2.0, а не Segment Anything.
- Три бинарных файла: плоскость управления для идентичности и политик, маршрутизаторы для транспорта libp2p и узлы для MCP.
- Утверждения OIDC преобразуются в факты Biscuit Datalog, поэтому узлы могут авторизовать запросы автономно.
- Запрет по умолчанию является абсолютным: даже для каталога обнаружения требуется явное разрешение.
- Использование в продакшене означает самостоятельное размещение плоскости управления — публичная mesh-сеть является бета-тестовой сетью.
Посетите репозиторий на GitHub. Также подписывайтесь на нас в Twitter и не забудьте присоединиться к нашему сабреддиту о машинном обучении с более чем 150 тыс. участников и подписаться на нашу рассылку. Постойте! Вы есть в Telegram? теперь вы также можете присоединиться к нам в Telegram.
Хотите сотрудничать с нами для продвижения вашего репозитория на GitHub, страницы на Hugging Face, релиза продукта, вебинара и т. д.? Свяжитесь с нами
Переведено автоматически с английского. Оригинал статьи — по ссылке ниже.