HMP / docs /HMP&ANP_layer_inversion.md
GitHub Action
Sync from GitHub with Git LFS
c319b9a
# HMP и ANP: взаимное туннелирование как признак правильной архитектуры
## TL;DR
HMP можно туннелировать поверх ANP — и это ожидаемо. Но и ANP можно инкапсулировать в специализированные HMP-контейнеры — и это тоже корректно.
Такая взаимная инверсия слоёв не является архитектурным трюком или костылём. Напротив, она указывает на то, что оба протокола описаны на правильных уровнях абстракции и не смешивают семантику с транспортом.
Эта заметка фиксирует архитектурную логику такого решения и объясняет, почему взаимное туннелирование — это признак зрелого дизайна, а не аномалия.
---
## Контекст
HMP и ANP решают разные задачи и могут использоваться как по отдельности, так и совместно. При этом при совместном использовании они усиливают друг друга, сохраняя чёткое разделение ответственности.
* [**ANP (Agent Network Protocol)**](https://github.com/agent-network-protocol/AgentNetworkProtocol) фокусируется на discovery, идентичности, согласовании возможностей и установлении защищённых каналов между агентами.
* [**HMP (HyperCortex Mesh Protocol)**](https://github.com/kagvi13/) фокусируется на передаче, хранении и воспроизводстве когнитивных артефактов: смысла, reasoning chains, рефлексии, долгосрочной памяти и этических ограничений. При этом HMP изначально включает базовые механизмы discovery и peer-анонса, достаточные для формирования mesh-сети, но допускает и приветствует использование внешних discovery-протоколов.
Проще говоря:
* ANP отвечает на вопрос **«как агенты находят друг друга и договариваются»**;
* HMP отвечает на вопрос **«что именно передаётся и как сохраняется смысл во времени»**.
Из-за этого HMP не является транспортным протоколом, а ANP — когнитивным форматом. И именно это различие делает возможным их композицию в обе стороны.
> В метафорическом смысле ANP и HMP напоминают два полушария распределённого «агентного мозга»:
> ANP отвечает за рациональную, дискретную часть — идентичность, discovery, формальные договорённости о протоколе взаимодействия.
> HMP — за контекстную, непрерывную часть — сохранение смысла, долгосрочную память, рефлексию и этическую преемственность.
> Как в человеческом мозге, ни одно полушарие не «главнее» другого. Только их совместная работа позволяет системе быть одновременно связанной и осмысленной.
---
## Сценарий 1: HMP поверх ANP (естественный путь)
Самый очевидный и практичный сценарий — доставка HMP-контейнеров через ANP.
В этом режиме:
* ANP обеспечивает:
* discovery агентов,
* обмен идентичностями (DID),
* согласование протоколов,
* установление защищённого канала;
* HMP использует этот канал для передачи:
* когнитивных контейнеров,
* proof-chains,
* архивов памяти,
* резонансных и рефлексивных артефактов,
* а также собственных сообщений discovery и `peer_announce`, если это необходимо.
В этом сценарии агент может обладать несколькими идентичностями (например, DID в ANP и идентификатором в HMP). Это открывает пространство для будущих расширений, таких как включение ANP-раздела в HMP `peer_announce` для явного связывания идентичностей.
Это прямой аналог классической модели:
```
HTTP → TCP → IP
```
Только вместо HTTP — HMP, а вместо TCP/IP — ANP, а также, опционально, конкретный сетевой транспорт (libp2p, WebRTC, QUIC и т.д.).
С поправкой на то, что в агентном стеке уровни могут комбинироваться гибче:
* **HMP** — когнитивный слой,
* **ANP** — discovery, identity и negotiation слой,
* **libp2p / WebRTC / QUIC и т.д.** — опциональные сетевые транспорты и дополнительные механизмы поиска узлов.
В минимальной конфигурации агент может использовать только HMP или только ANP. Однако совместное использование HMP и ANP является желательным, так как обеспечивает более устойчивую и выразительную архитектуру.
Ключевой момент здесь в том, что **HMP принципиально не зависит от способа доставки контейнеров**. Он предполагает наличие надёжного канала, но не навязывает его реализацию.
---
## Сценарий 2: ANP поверх HMP (менее очевидный, но корректный)
Менее очевидный, но архитектурно допустимый сценарий — упаковка ANP-сообщений в специализированные HMP-контейнеры.
Если рассматривать ANP-события как **структурированные когнитивные факты**, такие как:
* discovery агентов,
* negotiation параметров взаимодействия,
* обновление идентичности или capabilities,
то их можно представить в виде HMP-контейнеров, например:
* `anp_discovery_event`
* `anp_negotiation_container`
* `anp_identity_update`
В этом режиме:
* HMP выступает как **универсальный когнитивный субстрат**,
* а ANP — как один из протокольных «диалектов», используемых внутри него.
Такой подход имеет смысл в случаях, когда:
* важна **долгосрочная когнитивная преемственность**,
* требуется хранить negotiation и discovery как часть памяти агента,
* необходимо связать сетевые события с reasoning chains и этическими решениями.
Данный сценарий рассматривается как **опциональный** и может быть зафиксирован в разделе будущих расширений HMP.
---
## Инверсия слоёв как следствие, а не цель
Подобная взаимная упаковка иногда описывается термином *layer inversion* — инверсия слоёв.
Важно подчеркнуть: в контексте HMP и ANP это **не цель проектирования**, а естественное следствие правильного разделения ответственности.
Если протокол:
* чётко знает, **что** он описывает,
* и сознательно не берёт на себя **как** это доставляется,
то он становится компонуемым.
Возможность инверсии слоёв — это диагностический признак того, что:
* семантика и транспорт не перепутаны;
* абстракции не протекают;
* система допускает нетривиальные, но корректные способы использования.
---
## Что это говорит о проектировании HMP и ANP
Возможность взаимного туннелирования HMP ↔ ANP подчёркивает несколько ключевых свойств **обоих протоколов**. В этом месте принцип *layer inversion* действует симметрично:
1. **Транспортная нейтральность** — HMP не требует эксклюзивного сетевого стека.
2. **Семантическая автономность** — контейнеры HMP сохраняют смысл независимо от канала доставки.
3. **Композиционность** — HMP может дополнять другие протоколы, не вытесняя их.
4. **Отсутствие претензии на монополию** — HMP не пытается стать «протоколом всего».
Это делает HMP ближе не к сетевым протоколам, а к формату долговременного когнитивного обмена. Одновременно это показывает, что ANP также спроектирован как модульный и композиционный протокол, допускающий использование поверх когнитивных субстратов.
---
## Чего это не означает
Также стоит отметить, что прикладные протоколы взаимодействия агентов, такие как **A2A / ACP**, могут использоваться поверх HMP и/или ANP для решения более прикладных задач (task exchange, orchestration, workflows). Их использование не является обязательным: HMP и ANP способны функционировать самостоятельно, однако A2A / ACP могут выступать дополнительным уровнем, когда требуется более выраженная прикладная семантика.
Важно явно зафиксировать границы интерпретации:
* HMP **не предназначен** для замены ANP, A2A или libp2p;
* взаимное туннелирование **не является обязательным** сценарием;
* HMP не навязывает использование ANP и наоборот;
* инкапсуляция ANP в HMP имеет смысл при необходимости когнитивной фиксации событий, а также в случаях, когда ANP использует механизмы discovery, предоставляемые HMP.
Во всех остальных случаях ANP и HMP могут использоваться независимо, параллельно или в классической иерархии.
---
## Статус заметки
Этот текст является **architectural design note**.
Он фиксирует:
* принципы проектирования,
* допустимые режимы композиции,
* философию разделения ответственности между протоколами.
Он не вводит обязательных требований к реализации и не является нормативной частью спецификации.
---
## Связанные материалы
* [Grok (xAI): Comparative Analysis of HMP and ANP (January 2026)](https://github.com/kagvi13/HMP/blob/main/docs/Grok_HMP&ANP.md)
* [HMP v5.0 Overview](https://github.com/kagvi13/HMP/blob/main/docs/HMPv5_Overview_Ru.md)
* [ANP Whitepaper](https://arxiv.org/abs/2508.00007)