Знайомтеся: 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; локальний API MCP за замовчуванням працює на порту 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 і відстежує зайнятість за допомогою оренд. Коректність забезпечують синхронне призначення оренди, токени огородження, примусове звільнення після завершення пільгового періоду та резервний механізм 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, релізу продукту, вебінару тощо? Зв’яжіться з нами
Перекладено автоматично з англійської. Оригінал статті — за посиланням нижче.