Agent 注册中心 — 设想与规划
这解决了什么问题
Agent 之间的异步通信,前提是它们能找到彼此。没有 Registry 的消息队列,迫使每个调用方硬编码端点、自行维护地址簿、手动处理服务变更。Registry 就是消息层所依赖的地址簿。
mq9 将这两层作为一个开源系统一并提供:先找到 Agent,再可靠地与它通信。本文档聚焦于 Registry 侧——它今天能做什么、要成为生产级系统还需要什么,以及长期方向。
行业背景
Agent Registry 问题正在被多个独立方向同时推进。理解这个全景,有助于解释 mq9 所做的选择。
生态系统的各种方向
截至 2025 年中,已有五个值得关注的项目:
MCP Registry 采用中心化方式:Go 语言 REST API,GitHub OAuth 做身份认证,DNS TXT 记录做所有权验证。部署简单;单点信任。
A2A Agent Cards 走完全相反的路径。每个 Agent 在 /.well-known/agent.json 自行发布机器可读的描述符。没有中央权威机构。发现天然是联邦式的——任何爬虫或索引都可以消费它。
AGNTCY Agent Discovery Service(ADS) 使用 IPFS Kademlia DHT 做 P2P 路由,OCI artifacts 作为包格式,Sigstore 做供应链完整性验证。去中心化程度最高;运维复杂度也最高。
Microsoft Entra Agent ID 将 Agent 作为企业身份图中的一等公民。Registry 是身份管理的副产品,依赖 Azure AD。
NANDA Index 使用 Ed25519 签名的 AgentAddr 记录,采用三层设计:密码学身份、语义元数据、路由。签名模型借鉴了 DNSSEC 的思路。
关于 Registry 质量的研究结论
ArXiv 2508.03095 提出了四个评估维度:Security、Authentication、Scalability 和 Maintenance。它将信任框架归纳为三个支柱:Identity Assurance(你知道是谁注册了这个 Agent)、Integrity Verification(描述符未被篡改)、Privacy Preservation(发现过程不泄露内部拓扑)。
A2A 社区对治理的讨论
Google 在 A2A Discussion #741(kthota-g,2025 年 6 月)中提出了一个正式治理模型,包含四个角色:Administrator、Catalog Manager、User 和 Viewer,以及 Agent Entitlements(目录级访问控制)、Open Discovery、Agent Search 等概念。同时引用了 W3C DCAT v3 作为候选的元数据词汇表,以实现跨系统互操作。
Registry 的三个演进阶段
整个行业的 Registry 实现呈现出一个可识别的演进模式:
- 静态文件 — Agent Cards 放在已知 URL,无查询能力,无生命周期管理。
- 动态 REST API — 中心化 Registry,支持 CRUD、搜索、TTL、认证。运维简单;需要信任运营方。
- 去中心化密码学可验证 Registry — 签名溯源、基于 DID 的身份、内容寻址存储。最大化去信任;运维开销显著。
今天大多数生产系统处于第二阶段。第三阶段基础设施正在涌现,但尚未成熟到可以普遍使用。
mq9 的定位
mq9 并不试图解决所有 Registry 问题。明确的范围:
- 中等规模,开箱即用。不需要 Kubernetes operator 才能启动。
- A2A 兼容。mq9 必须能够从
/.well-known/agent.json拉取 A2A AgentCard,并自动将这些 Agent 导入 mq9 Registry。这是进入更广泛 A2A 生态的入场券。 - Apache 许可证开源。本路线图中的所有功能均不需要企业许可证。
mq9 不构建的内容:
- 企业治理层(Entra 风格的身份、RBAC 层级、合规报告)。
- 去中心化身份层(DID 解析、链上溯源、IPFS 存储)。
目标是:「让 Agent 在通信之前能找到彼此,做到工业级水准」。在核心稳固之前,其他一切都在范围之外。
能力层级
路线图分为三个层级。Tier 1 是任何生产使用的前提。Tier 2 是成熟产品的要求。Tier 3 针对企业级和研究级场景。
各层级并非严格顺序执行。部分 Tier 2 工作(语义搜索)已经部分上线。排序反映优先级,而非交付时间表。
Tier 1 — MVP
这些能力是 mq9 Registry 被推荐用于任何生产部署之前必须具备的。
Agent Card 数据模型
每个注册的 Agent 必须有一个结构化描述符,至少包含:
id— 全局唯一标识符(UUID 或 URI)name— 人类可读名称version— semver 版本字符串capability_description— 描述 Agent 功能的自由文本endpoint— 如何访问该 Agent(URL 或 mq9 邮箱地址)auth_schemes— 支持的认证方式列表metadata— 供调用方使用的任意键值对tags— 用于分类过滤的索引标签
此 schema 与 A2A AgentCard 结构兼容,因此通过 /.well-known/agent.json 注册的 Agent 可以无需字段映射直接导入。
生命周期操作
REGISTER、DEREGISTER、UPDATE 和版本管理。Agent 更新时,旧版本记录必须保留以便审计。按名称查询的客户端默认获取最新版本,并可以请求指定版本。
多维查询
Registry 只有在能高效找到 Agent 时才有价值。必需的查询维度:
- 按名称(精确匹配和前缀匹配)
- 按能力描述(全文搜索)
- 按 tag(集合交集)
- 按 owner 或团队
- 按语义相似度(基于能力描述的 embedding 近邻搜索)
心跳与自动过期
Agent 必须通过 AGENT.REPORT 定期发送心跳。如果在配置的 TTL 窗口内没有心跳到达,Registry 将该 Agent 标记为不可用,并从查询结果中移除。这防止了过期条目的积累,确保 DISCOVER 只返回实际运行的 Agent。
基础认证
注册和查询接口必须要求认证。此层级可接受的方案:OAuth 2.0(客户端凭证流)或 API key。未认证的写操作必须被拒绝。
持久化存储
Registry 状态必须在 broker 重启后保留。这是最低持久性要求。高可用(复制、故障切换)属于 Tier 2。
A2A 兼容性
mq9 必须能够从给定 URL 拉取 /.well-known/agent.json,解析 A2A AgentCard,并自动将 Agent 注册到 mq9 Registry 中。这使得 mq9 无需要求 Agent 采用新的注册协议,即可参与更广泛的 A2A 生态。
Tier 2 — 成熟产品
Tier 2 能力是 mq9 被推荐用于团队级或生产关键部署所必须具备的。
语义搜索
当 Agent 名称和描述与查询使用了不同词汇时,对能力描述的全文搜索就力不从心了。语义搜索使用 vector embedding(例如存储在旁挂向量索引中),允许调用方用自然语言描述需求,即使关键词重叠度很低也能获得相关结果。
此功能今天已部分上线;路线图项目是稳定 API、明确 embedding 模型要求,并确保它随 Registry 规模增长而保持扩展性。
权限模型(Entitlement)
并非每个 Agent 都应该对每个调用方可见。权限模型(即 A2A Discussion #741 中描述的"Agent Entitlements"概念)定义了哪些客户端(通过其认证主体标识)可以发现和调用哪些 Agent。
此层级的模型不需要复杂:每个 Agent 一个简单的允许列表(可以发现和调用它的主体),覆盖大多数使用场景。
审计日志
每次 REGISTER、DEREGISTER、UPDATE 和 DISCOVER 操作都应记录时间戳、操作主体和操作详情。对于任何需要追溯「谁在何时注册了什么」的部署,这是必要条件。
生命周期管理
Agent 会经历不同状态:已注册、活跃、已废弃、已吊销。Tier 2 增加明确的状态转换,以及将 Agent 标记为 deprecated(仍可发现,但附带废弃通知)或 revoked(不可发现,不可调用)的能力。
此层级的版本管理意味着:同一 Agent 的多个版本可以在 Registry 中共存。调用方可以锁定到特定版本,也可以请求最新稳定版。
联邦发现(Federation)
跨 Registry 发现:mq9 Registry 实例可以配置为将未解析的查询转发到对等 Registry。这允许团队本地 Registry 回退到组织级 Registry 来查找它自身不托管的 Agent。
此层级的 Federation 比较简单:一个静态的上游 Registry 列表,按序尝试。不需要分布式协议。
高可用
Registry 在单节点故障时必须保持可用。这需要 Registry 状态的复制和 leader 选举。具体机制(Raft、主从复制等)是实现细节;可观测的要求是:无单点故障。
Tier 3 — 企业级深化
Tier 3 针对大规模企业部署或高安全性环境中出现的需求。这些是长期规划项目,没有承诺的时间表。
密码学完整性
Agent 描述符应由注册主体签名,以便消费方可以验证描述符在注册后未被篡改。这与 AGNTCY ADS 使用 Sigstore、NANDA Index 使用 Ed25519 的做法一致。
更长期地看:支持 W3C Verifiable Credentials(W3C VC)作为签名和溯源格式,实现与更广泛去中心化身份生态的互操作。
隐私保护发现
某些部署需要选择性披露:Agent 应该对授权调用方可见,而不将其完整描述符暴露给所有人。这可能使用查询结果上的基于属性的访问控制,或用于能力证明的零知识技术。研究框架参见 ArXiv 2508.03095 的"Privacy Preservation"支柱。
注册时安全扫描
Agent 注册时,可以对其 endpoint 和描述符进行扫描,检查已知漏洞模式、格式异常的 payload 或可疑元数据。这对于任何 Agent 都可以自行注册的开放 Registry 尤为重要。
DID 与去中心化身份
支持 Decentralized Identifiers(DID)作为 Agent 标识符,使 Agent 无需依赖 mq9 作为信任根即可证明其身份。这使 Registry 成为缓存和索引层,而非权威身份来源。
跨地域联邦
Tier 2 的 Federation 是静态且本地的。Tier 3 的 Federation 跨越地理区域并提供一致性保证:任何地方的发现查询都在有界延迟内返回相同结果。
OpenTelemetry 集成
通过 OpenTelemetry 原生导出 Registry 操作的 trace 和 metrics,使运维人员能够将 Registry 活动与更广泛的可观测性体系关联起来。
对集成方的含义
如果你今天正在基于 mq9 构建:
- Tier 1 数据模型(Agent Card schema、REGISTER/DISCOVER/REPORT/UNREGISTER)已稳定。可以直接基于它构建。
- 语义搜索已可用,但 API 接口在 Tier 2 稳定之前可能有变化。
- A2A 兼容性(消费
/.well-known/agent.json)是硬性承诺——mq9 始终支持这一点。 - 权限模型尚不存在。如果今天需要发现层面的访问控制,在应用层自行实现。
Registry 和消息层共享同一个 broker。通过 Registry 发现的 Agent 通过 mq9 邮箱进行通信。不需要额外运行独立服务。
