Стек агентной коммуникации: что находится ниже MCP и почему это важно
MCP решает, что агент может делать. A2A — что агенты говорят друг другу. Но как они вообще находят друг друга за NAT и файрволами? Pilot Protocol закрывает именно этот пробел — на сетевом уровне.
Проблема, которую все игнорируют
MCP стал стандартом де-факто для подключения агентов к инструментам. A2A от Google описывает, как агенты разговаривают друг с другом. Но оба протокола молчаливо предполагают одно: агент и сервер уже могут друг до друга дотянуться.
На практике это значит: публичный эндпоинт, ngrok-туннель или VPN-конфиг каждый раз, когда нужна связь. 88% реальных сетей работают за NAT. MCP на это не отвечает ничем.
За последние 60 дней было подано более 30 CVE по MCP. Значительная часть эксплойтов работает именно потому, что нижележащий транспорт — обычный HTTP без принудительного взаимного доверия и шифрования на сетевом уровне.
Вопрос формулируется просто: что находится ниже прикладного уровня агентных протоколов?
Pilot Protocol: сетевой уровень для агентов
Pilot Protocol — открытый протокол (AGPL-3.0), написанный на Go без внешних зависимостей. Он работает на сетевом/транспортном уровне — ниже MCP и A2A, не заменяя их, а дополняя.
Ключевая идея: интернет строился для людей и устройств, у которых есть IP-адреса. У AI-агентов нет ни адреса, ни идентичности, ни способа быть найденными. Pilot даёт агентам то, что интернет когда-то дал устройствам.
Адресация: 48-битные виртуальные адреса
Каждый агент получает постоянный 48-битный виртуальный адрес формата network:node-hi.node-lo — 16 бит на идентификатор сети, 32 бита на узел. У каждого узла 65 535 портов.
Это не IP-адрес, привязанный к физической сети. Это виртуальный идентификатор, который живёт независимо от того, за каким NAT, в каком облаке или на каком континенте работает агент. Плюс DNS-подобный hostname resolution: можно обращаться к агенту по имени, а не по числовому адресу. Если MAC-адрес привязан к сетевой карте, а IP — к точке подключения, то Pilot-адрес привязан к идентичности агента.
Транспорт: зашифрованные UDP-туннели
Весь трафик между агентами идёт через зашифрованные UDP-туннели. Под капотом:
- X25519 key exchange — эфемерный Diffie-Hellman с perfect forward secrecy
- AES-256-GCM — аутентифицированное шифрование с рандомным nonce для каждой сессии
- Ed25519 — идентичности агентов подписаны криптографически
Шифрование включено по умолчанию. Не опция, не флаг — базовое поведение. Поверх UDP реализован reliable transport: sliding window, SACK, AIMD congestion control, алгоритм Нейгла для коалесценции мелких пакетов, автосегментация по MTU 1400.
NAT-обход: трёхуровневая стратегия
Главная инженерная задача peer-to-peer протокола — пробить NAT. Pilot решает её тремя уровнями:
- STUN discovery — агент определяет свой публичный IP и тип NAT через STUN-сервер
- UDP hole-punching — оба агента одновременно отправляют пакеты друг другу, «пробивая дырку» в NAT-таблицах своих роутеров
- Relay fallback — если hole-punching не сработал (symmetric NAT, жёсткие корпоративные файрволы), трафик идёт через relay-ноду
Работает за любым типом NAT, включая Cloud NAT в AWS/GCP/Azure. Без конфигурации со стороны пользователя. Для тех, кто знаком с WebRTC: принцип тот же (STUN/TURN), но без браузерного стека — чистый UDP с минимальным оверхедом.
Модель доверия: private by default
В отличие от большинства сетевых протоколов, Pilot работает по принципу «приватен по умолчанию». Агент невидим в сети, пока не примет запрос на trust-связь. Обе стороны должны явно подтвердить доверие, прежде чем потечёт хоть один байт данных.
Это фундаментально отличается от HTTP-модели, где любой, кто знает URL, может отправить запрос. Здесь даже DNS-подобный resolve работает только между доверенными агентами (trust-gated resolve).
Как это выглядит в стеке
Стек агентной коммуникации выстраивается в три уровня. Прикладной уровень — MCP: что агент может делать (инструменты, контексты). Коммуникационный — A2A: что агенты говорят друг другу (задачи, артефакты). Сетевой/транспортный — Pilot Protocol: как агенты находят друг друга и устанавливают связь.
Каждый уровень решает свою задачу. MCP без транспорта — это API-спецификация, которая предполагает, что TCP-соединение уже есть. A2A без адресации — это формат сообщений, который предполагает, что агенты уже видят друг друга.
Практические цифры
Протокол не теоретический. По данным проекта: более 1 миллиарда обменов протокольными сообщениями через реестр, агенты работают в 19 странах, на нём строят GitHub, Pinterest, Tencent, Vodafone, Capital.com. Два Internet-Draft поданы в IETF — первый сетевой протокол для агентов, дошедший до формальной подачи. Python SDK на PyPI, Go-библиотека, CLI (pilotctl). Написан на Go, ноль внешних зависимостей, 202 теста проходят.
Архитектура взаимодействия
Агент общается с локальным daemon через Unix-сокет. Daemon берёт на себя всё: шифрование туннелей, NAT-обход, маршрутизацию пакетов, congestion control, управление соединениями.
Цепочка: Ваш агент → Unix socket → Pilot daemon → UDP tunnel → Pilot daemon → Удалённый агент. Агенту не нужно знать ничего о NAT, шифровании или транспорте. Он просто «звонит» по имени и получает зашифрованный канал.
Почему это важно прямо сейчас
Безопасность. 30+ CVE по MCP за два месяца — не аномалия, а следствие архитектуры. Когда прикладной протокол работает поверх голого HTTP без принудительного шифрования и взаимной аутентификации на транспортном уровне, атаки неизбежны. Pilot закрывает этот слой.
Масштаб. Мультиагентные системы выходят за пределы одной машины. Агенты в AWS общаются с агентами в GCP, домашний агент дёргает корпоративного. Cross-cloud, cross-firewall, cross-NAT — всё это требует сетевого уровня, а не костылей с ngrok.
Децентрализация. Текущая модель агентной коммуникации — «все через API-провайдера». Это single point of failure, контроля и цензуры. P2P-транспорт — единственный способ построить устойчивую агентную сеть.
Открытые вопросы
- Governance: кто управляет реестром адресов? Сейчас это централизованный компонент
- Adoption: чтобы P2P-сеть имела смысл, нужна критическая масса агентов
- Стандартизация: два IETF-драфта — начало, но до RFC далеко
- Relay trust: relay-нода видит метаданные (кто с кем общается), даже если payload зашифрован
Вывод
Мы привыкли думать об агентных протоколах как о прикладных: какие инструменты доступны, какой формат сообщений, как описать задачу. Pilot Protocol напоминает, что под прикладным уровнем есть транспортный — и без него всё остальное висит в воздухе.
MCP без Pilot — это как HTTP без TCP/IP: спецификация формата, которой не по чему течь. Возможно, именно сетевой уровень станет следующим полем стандартизации в агентном стеке.