uim-protocol
synaptiai/uim-protocol加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

你一定遇到过这种情况:对着一个 AI 助手说"帮我订这周五晚上的酒店",它点头答应了,然后——就卡住了。不是 AI 不够聪明,而是它根本不知道酒店网站提供哪些功能、如何调用、权限怎么界定。
这背后是一个根本性的技术断层:AI Agent 在语义理解上已经非常强大,但在与具体 Web 服务交互这件事上,基本处于"野生"状态——每个服务有自己的一套 API 规则、认证方式、权限模型,AI 根本无法通用地与之对话。
UIM Protocol(Unified Intent Mediator Protocol,统一意图中介协议) 正是为了解决这个问题而诞生的。它本质上是一个标准化协议规范,定义了 AI Agent 如何发现 Web 服务提供的"意图"(Intent)、如何执行操作、如何处理权限与合规检查。
目前 AI Agent 与外部服务交互的主流方式,是让人类预先写好 Tool(工具),相当于给 AI 配备了一本"说明书"。但这种方案的局限非常明显:
每换一个服务,就要重新写说明书。 不同的电商平台、不同的酒店系统、不同的政务网站……接口规范五花八门,AI Agent 无法通用理解。人类开发者为此耗费大量时间做定制化集成,而且一旦网站改了接口,说明书就失效了。
更深层的问题在于信任与权限。当 AI Agent 代表用户去执行操作时,它需要知道:这个操作有没有经过用户授权?费用怎么结算?数据合规吗?现有的 Agent 框架在这些问题上几乎是空白的。
UIM Protocol 的核心思路是:不再让人类充当 AI 与服务之间的"翻译",而是让 AI 通过协议自己发现、自己理解、自己执行。 这就像给 AI Agent 配备了一张"万能通行证"和一个"合规印章",只要 Web 服务实现了 UIM 协议,AI 就能自动接入。
该协议由 Synapti.ai 团队发起,Apache-2.0 开源,托管在 GitHub,目前处于 Alpha 阶段(v0.2.0)。
UIM Protocol 的设计围绕几个核心概念展开:
在 UIM 的世界观里,每个 Web 服务不再是一个黑盒 API,而是一系列可发现的 Intent(意图)。Intent 的定义类似于函数签名,包含:
search_property、place_order)AI Agent 可以通过 UIM 的 Discovery API 查询"附近有哪些 Intent",就像用户打开一个应用的菜单,看看它能提供哪些服务。
这是 UIM 最具创新的设计之一。PAT 是一个由服务方签发的加密令牌,包含:
当 AI Agent 想执行某个 Intent 时,必须先申请 PAT,签署合规条款,服务方审核后才发放 Token。这个机制从根本上解决了"AI 擅自行动"的问题——没有合规令牌,操作就无法执行。
UIM 支持灵活的架构选择:
| 架构 | 说明 | 适用场景 |
|---|---|---|
| 集中式 | 中央服务管理所有 Intent 的注册与发现 | 企业内部、平台型应用 |
| 去中心式 | AI 直接与服务方交互,无中央节点 | 开放生态、公共 API |
| 混合式 | 中央做发现,执行分散 | 最通用的生产部署 |
项目中实现的 centralized-discovery-service 就是集中式架构的参考实现。
uim-protocol/
├── implementations/
│ ├── centralized-discovery-service/ ← 集中式意图发现服务
│ │ ├── app/ FastAPI 应用
│ │ ├── Dockerfile 支持容器化
│ │ ├── docker-compose.yml PostgreSQL + API 一键启动
│ │ └── tests/
│ ├── uim-mock-agent/ ← 模拟 AI Agent 端
│ │ └── src/ Agent 端参考代码
│ └── uim-mock-webservice/ ← 模拟 Web 服务端(房产中介场景)
│ ├── main.py FastAPI 实现,含 PAT 颁发和 Intent 执行
│ └── keys/ JWT 签名密钥
├── examples/
│ └── intent_examples/ Intent 定义示例
└── uim-docs/ 协议规范文档(MkDocs)
技术栈一览:
值得注意的是,项目根目录采用了 Poetry 作为包管理器,组织了 main、dev、docs、nlp 四个依赖组,并使用 pre-commit + flake8/black/isort 做代码质量控制——工程化程度相当规范。
以房产中介场景为例,体验 UIM 的完整工作流:
cd implementations/centralized-discovery-service
docker-compose up
服务启动后,通过 Discovery API 可以查询所有注册的 Intent,支持自然语言搜索(如"找附近的房子")。
poetry install
cd implementations/uim-mock-webservice
poetry run python main.py
服务暴露了 search_property 和 get_property_details 两个 Intent,并通过 DNS TXT 记录或直接请求发布到集中式发现服务。
cd implementations/uim-mock-agent
# 读取服务方公钥,构造 PAT 申请
# 通过 Discovery API 搜索 Intent
# 申请 PAT 并执行搜索操作
整个链路无需任何硬编码的服务对接,Agent 通过协议规范自动完成所有交互。
UIM Protocol 目前面临一些明显的挑战:
协议落地依赖服务方主动实现。 UIM 是一个开放规范,需要 Web 服务方主动实现 UIM 协议才能被 AI 发现和使用。这在初期面临"鸡生蛋"的问题——没有足够的服务方支持,AI Agent 厂商就没有动力接入;没有 Agent 厂商使用,服务方也没有动力实现协议。
ODRL 策略引擎的复杂性。 PAT 的合规检查依赖 ODRL(Open Digital Rights Language)策略描述语言,这是一种功能强大的数字版权语言,但学习和实现门槛不低。对于中小型 Web 服务来说,直接实现可能过于复杂。
DNS 服务发现的实际可行性存疑。 通过 DNS TXT 记录做 Intent 发现是一个很有创意的设计,但在实际部署中面临 DNS 记录大小限制(每条 TXT 记录不超过 255 字符,大型 Intent 列表需要分割)、TTL 缓存更新等问题。
安全与隐私的平衡。 PAT 机制虽然解决了权限问题,但也引入了新的隐私考量——AI Agent 的身份、如何防止 PAT 滥用、服务方与 Agent 之间的信任根如何建立,这些都需要更完善的设计。
尽管 UIM 目前是 Alpha 阶段,但它触及了一个真实的行业痛点:AI Agent 的协议标准化。
2024 年以来,Anthropic 的 MCP(Model Context Protocol)、OpenAI 的Agents SDK、LangChain 的工具调用规范,都在尝试解决"AI 如何与外部世界交互"的问题。UIM 的独特之处在于,它不只是一个工具调用协议,而是一个覆盖发现→策略协商→执行→合规审计全链路的完整协议框架,野心更大。
从技术趋势看,协议层的标准化是 AI Agent 走向大规模商用的必要条件。就像 HTTP 让网站之间可以互联、REST API 让系统之间可以集成,一个通用的 AI Agent 交互协议,将大大降低 AI 应用接入各类服务的成本。
| 维度 | 评价 |
|---|---|
| 创新性 | PAT 合规令牌 + DNS Intent 发现的设计有独创性,协议框架完整 |
| 工程化 | Poetry + pre-commit + pytest + Docker,工程实践规范 |
| 实用性 | 三个参考实现覆盖核心场景,mock 房产中介示例可运行 |
| 成熟度 | Alpha 阶段,协议尚未经过大规模生产验证 |
| 社区活跃度 | Stars 较少,社区贡献有限 |
| 文档质量 | 有独立的 MkDocs 文档站,规范较完整 |
UIM Protocol 是一个有野心也有实力的 AI Agent 协议规范。如果你正在构建 AI Agent 基础设施,或对 Agent 与 Web 服务交互的标准化感兴趣,这个项目值得研究和参与。