一文了解通用工具调用协议 (UTCP)

通用工具调用协议 (UTCP,Universal Tool Calling Protocol) 是一种轻量级、安全且可扩展的方式,可供 AI 代理和应用程序直接查找和调用工具,而无需额外的封装服务器。

主要特点

  • 轻量且安全:允许直接访问工具,避免不必要的中间层。
  • 可扩展:可以支持大量工具和提供商,而不会损失性能。
  • 模块化设计:1.0.0 版本引入了基于插件的核心,使协议更易于扩展、测试和打包。
  • 基于 Pydantic 模型构建:提供简单、定义明确的数据结构,使实现变得简单。
一文了解通用工具调用协议 (UTCP)

当前方法的问题

传统的集成工具解决方案通常需要:

  • 为每个工具构建和维护封装服务器
  • 通过中央协议或服务路由所有流量
  • 重新实现每个工具的身份验证和安全性
  • 接受额外的延迟和复杂性

这些步骤给开发人员增加了摩擦并减慢了执行速度。

UTCP解决方案

UTCP 提供了更好的替代方案:

  • 定义一个清晰的、与语言无关的标准来描述工具及其界面
  • 允许代理使用其本机通信协议直接连接到工具
  • 提供一种允许开发人员添加以下内容的架构:
  • 新的通信协议(HTTP、SSE、CLI 等)
  • 替代存储系统
  • 自定义搜索策略

所有这些都可以在不修改核心库的情况下完成。

通过消除对封装服务器或其他繁重中间层的需求,UTCP 简化了 AI 代理和应用程序与工具的连接方式。由于请求不再需要经过额外的基础设施,它降低了延迟和整体复杂性。身份验证和安全也变得更加简单,因为 UTCP 允许代理使用工具的现有机制,而无需在中间服务中重复这些机制。这种更精简的方法还使集成的构建、测试和维护变得更加容易,同时随着工具和提供商数量的增加,它也能自然地支持业务的增长。

工作原理

UTCP 使工具集成变得简单且可预测。首先,AI 代理通过获取 UTCP 手册来发现您的工具,该手册包含您公开的每项功能的定义和元数据。接下来,代理通过阅读手册并理解相关的调用模板来学习如何调用这些工具。定义明确后,代理可以使用 API 的原生通信协议直接调用它们。最后,您的 API 处理请求并返回正常响应。此过程确保了无缝的互操作性,无需额外的中间件或自定义转换层。

一文了解通用工具调用协议 (UTCP)
图片来自utcp

架构概述

UTCP 1.0 版引入了模块化、基于插件的架构,旨在实现可扩展性和灵活性。其核心是手册,用于定义工具及其元数据,以及调用模板,用于指定如何通过不同协议与各个工具进行交互。 

UTCP 客户端充当发现工具和执行调用的引擎。围绕此核心的是一个插件系统,支持协议适配器、自定义通信方法、工具存储库和搜索策略。这种关注点分离使得系统能够轻松扩展或针对特定环境进行定制,而无需改变其基础。

UTCP 与 MCP 有何不同?

UTCP 和 MCP 都支持 AI 代理连接外部工具,但它们侧重于不同的需求。UTCP 支持通过简单的 JSON 手册直接调用 API、CLI、WebSocket 和其他接口,从而保持基础设施轻量和低延迟。MCP 提供了一个更结构化的层,将工具封装在专用服务器后面,并使用 JSON-RPC 实现通信标准化。

要点:

  • 架构:UTCP 将代理直接连接到工具;MCP 使用服务器层进行路由。
  • 性能和开销: UTCP 最大限度地减少跳数;MCP 集中呼叫但增加了一层处理。
  • 基础设施:UTCP 只需要手册和发现端点,而 MCP 依靠服务器进行包装和路由。
  • 协议支持: UTCP 可跨 HTTP、WebSocket、CLI、SSE 等协议运行;MCP 专注于 JSON-RPC 传输。
  • 安全和授权: UTCP 使用工具的现有机制,而 MCP 管理其服务器内部的访问。
  • 灵活性:UTCP 通过其 MCP 插件支持混合部署,而 MCP 提供集中管理和监控。

这两种方法都很有用:UTCP 非常适合轻量级、灵活的集成,而 MCP 适合想要具有内置控制的标准化网关的团队。

结论

UTCP 是一款面向工具提供商和 AI 开发者的多功能解决方案。它允许 API 所有者、SaaS 提供商和企业团队以简单、安全的方式向 AI 代理公开 REST 或 GraphQL 端点等服务。同时,构建代理或应用程序的开发者可以使用 UTCP 轻松连接内部或外部工具。通过消除复杂性和开销,UTCP 简化了集成,使软件能够更轻松地访问强大的功能。

本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/jishu/61743.html

(0)

相关推荐

发表回复

登录后才能评论