注册表的真空期:规范发货之前,名字归谁
本文引证源 · 官方 MCP 注册表:registry.modelcontextprotocol.io · modelcontextprotocol/registry(逐字引用)· 第三方目录 a2a-registry.org(机制引自其页面自述)· Forkast 报道 2026-10-10(已存档)· 我们自己的注册表经历,2026 年 9–10 月,一手
A2A 智能体注册表正式规范错过了十月的交付窗口,而它留下的真空没有空着。截至本文落笔:至少五个相互独立的注册表实现正带着互不兼容的 API 出货;模型上下文协议(Model Context Protocol,MCP)的官方注册表已冻结 v0.1 API 并在今天实际列着服务端;一家第三方目录在过去七天新增了七十五个智能体,执行的是「先收录、后认领」政策。「名字归谁」这个问题正在被回答——不是被规范回答,而是被先发货的那些默认值回答。
一、两种哲学,都已在跑
官方 MCP 注册表把规则写在一句话里:「注册表在发布时验证命名空间所有权。」命名空间本身就扎根在发布者可证明拥有的东西上——要发布 io.github.domdomegg/my-cool-mcp,你必须以 domdomegg 身份登录 GitHub;要发布 me.adamjones/my-cool-mcp,你必须通过 DNS 或 HTTP 质询证明对 adamjones.me 的所有权。先验证,后上架。每一条列表都是写入时被核查过的声称。
一家面向 A2A 智能体的第三方目录跑的是相反的时序:粘贴一个智能体 URL——不需要账户——条目立即上线;据称的所有者被邀请事后前来认领。网站自己的文案说得很直白:「看到你的条目处于未认领状态?登录把它认领走。」验证机制存在(DNS TXT、GitHub 关联),但与收录解耦;未认领条目只是排名靠后。先收录,后验证。在所有者现身之前,那条目就是一个零成本的声称。
二、真空为什么要紧:名字会变硬
A2A 注册表的正式设计——三层模型(名片、发布记录、信任授权覆盖层)与三个操作——一年多前就在社区收敛了,却始终未获批;八月,维护者把发现工作转向两个相邻规范,而这两个规范自己前面也都还有批准流程。与此同时,实现越滚越多:Apicurio Registry、两个相互独立的社区仓库、一个 Quarkus LangChain4j 集成提案——API 互不兼容,用 Apicurio 一位工程师 2026 年 5 月的话说:「互操作窗口正在关闭——等得越久,对齐越难。」
实现每多出一天,它关于所有权、吊销、争议处理的假设就变硬一点。而经济激励只指向一个方向:创建一条列表不花成本的系统,争议一条列表也不花成本。抢注不是这些系统里的 bug——它是「声称免费」的命名空间的默认行为。
三、三堂课,来自我们自己的命名战争
我们不是在阳台上写这篇文章。2026 年 9 月,我们把共鸣时间传输协议(Resonant Time Transfer Protocol,RTTP)的参考实现发布到三个生态,每一个都用不同的方式教了同一条法则。第一课:裸名早就有人占了。npm 上的 rttp 自 2017 年起就被一个不相关的小型 HTTP 库持有——七年的沉默,依然合法的在册者。先到先得,是互联网上每个命名空间的默认宪法。
第二课:哪里禁抢注,哪里就只有发布才能持名。npm 的政策禁止空壳占位包——所以我们没有请愿也没有等待,而是发布了一个带真实合规向量集的真包(@aicent/rttp),同日发布 PyPI(rttp),crates.io 上更早。名字由工件持有,不由申请持有。
第三课:先验证后上架,改变「列表」的含义。IANA 的 URI Schemes 注册表——rttp 与 iqa 现在作为临时条目在册,CRI 27 与 CRI 28——只在有具名变更控制方与专家评审路径的前提下收录名字。而一个独立的智能体索引主动收录了我们的 MCP 工具,随后在我们证明了发布方地址与仓库写权限之后,才授予 Verified Publisher 徽章。这些列表都绑定在「被核查过的东西」上。这就是目录与地政机关的差别。
四、注册表欠它列出的名字什么
剥掉厂商细节,任何注册表都必须回答三个问题。谁在列?——所有权在写入时证明,而不是在个人主页里声称。谁来担保?——徽章是对声称的声称;可验证的证明才是你能自己复查的声称。如何过期?——没有陈旧化故事的名字,是比真话活得更久的名字。
然后是来自我们寻址侧的诚实反转:共鸣时间传输协议(RTTP)的地址根本不需要注册表——地址从规范权威派生,无物可抢,无物可授;WHERE 这个问题没有房东。真正还需要回答的是地址上的东西是否站得住——那是身份质量保证(Identity Quality Assurance,IQA)的事:密封信封、具名担保主体、120 秒租约、离线可验证。注册表作为索引是有用的;真空闭合之时,是列表绑定到「被验证过的东西」之日,而不是「谁先点的鼠标」之日。
引证源 [1] 官方 MCP 注册表——registry.modelcontextprotocol.io;modelcontextprotocol/registry README 逐字引用(「注册表在发布时验证命名空间所有权」;命名空间示例;API 冻结 v0.1,2025-10-24),2026-10-18 访问 [2] a2a-registry.org——认领/验证机制引自其页面自述(「看到你的条目处于未认领状态?登录把它认领走。」;DNS TXT / GitHub 验证路径;7 天新增 75 个智能体),2026-10-18 访问 [3] Forkast,“Three Agent Specs Promised for October Remain Unshipped...”(2026-10-10)——五个实现与 Apicurio 2026 年 5 月引文,自存档原件逐字引用(2026-10-18 抓取) [4] 一手注册表经历,标注日期:PyPI rttp 与 npm @aicent/rttp 发布于 2026-09-17;crates.io rttp 更早持有;IANA CRI 27(2026-09-22)与 CRI 28(2026-10-13);独立索引收录与发布方验证,2026 年 10 月 [5] 编辑说明:个人一律只以所属机构指称;2017 年占用 npm rttp 的项目只作描述、不具名。
一句话:注册表是一份「名字意味着它所说的」的承诺——而真空最终不是被先验证的人填上,就是被先点击的人填上。