OpenSharing:让 AI 资产跨平台流通的开放协议

2026-06-11 29 预计阅读时间: 1 分钟
来源: oschina.net AI 摘要 Original link

Disclaimer: This article is an AI-assisted summary. Read it together with the original source when precision matters. The summary may omit context, version differences, or edge cases and is not official documentation.

预计阅读时间:9 分钟

智能体之间要协作,先得能"互通有无"——模型、技能、数据集,这些 AI 资产目前基本被锁在各家平台的私有格式里。Linux 基金会刚宣布的 OpenSharing Project,试图用一套厂商中立的协议打开这扇门。项目由 Databricks 贡献,在已有的 Delta Sharing 协议上演进,面向智能体时代新增了对技能(skill)、模型等资产的交换规范。

Delta Sharing 打了地基,OpenSharing 盖了新楼层

Delta Sharing 本身已经在生产环境广泛使用——它定义了一套基于 REST 的开放协议,让组织可以通过简单的 HTTP 接口共享 Delta Lake 表数据,接收方无需 Spark 或任何特定计算引擎,用 Python/Pandas 就能读取。核心流程很直接:

  1. 提供方在 Delta Sharing Server 上注册要共享的表;
  2. 生成一个分享链接(recipient token);
  3. 接收方拿到链接后,通过 Delta Sharing Python SDK 直接 load_as_pandas() 拿到数据。

OpenSharing 在这个地基上做了两件事:一是把共享对象从"表数据"扩展到 AI 模型、智能体技能描述、特征向量等新资产类型;二是为智能体的自动发现和调用场景增加了协议字段,比如技能的输入输出 schema、版本兼容性声明、调用端点等。这意味着一个智能体不再需要硬编码"去哪里找某个能力",而是可以通过协议动态发现和接入。

协议长什么样:从数据共享到技能共享

Delta Sharing 的 REST 授予端点已经定义了 sharesschemastables 三级结构。OpenSharing 在此基础上新增了 modelsskills 资源类型,大致结构如下:

/share/{share_name}/schema/{schema_name}/table/{table_name}   ← 原有
/share/{share_name}/schema/{schema_name}/model/{model_name}   ← 新增
/share/{share_name}/schema/{schema_name}/skill/{skill_name}   ← 新增

每个 skill 资源会附带一个 JSON schema 描述其接口,接收方智能体可以据此生成调用代码。这比目前常见的"贴个 API 文档链接"方式要结构化得多——协议本身就是契约,机器可读、可校验。

动手试一下:用 Delta Sharing Python SDK 读取共享数据

OpenSharing 的完整 SDK 还在建设中,但它的底座 Delta Sharing 已经可以直接使用。下面是一个可运行的示例——假设你收到了一个 Delta Sharing 的分享链接,用 Python 读取共享表数据:

# 安装 Delta Sharing Python SDK
pip install delta-sharing
import delta_sharing

# 分享链接文件(由提供方生成,包含 endpoint URL 和 recipient token)
# 实际使用时替换为你收到的 profile 文件路径
profile_file = "/path/to/open-sharing-profile.json"

# 创建 SharingClient
client = delta_sharing.SharingClient(profile_file)

# 列出可用的共享
shares = client.list_shares()
for share in shares:
    print(f"共享名称: {share.name}")

# 列出某个共享下的所有 schema 和表
schemas = client.list_schemas(shares[0])
for schema in schemas:
    print(f"  Schema: {schema.name}")
    tables = client.list_tables(schema)
    for table in tables:
        print(f"    表: {table.name}")

# 直接加载为 Pandas DataFrame——无需 Spark,无需特定计算引擎
df = delta_sharing.load_as_pandas(
    profile_file,
    share="my_share",
    schema="default",
    table="product_catalog"
)

print(df.head())
print(f"共 {len(df)} 行数据")

open-sharing-profile.json 的格式如下(替换为提供方给你的真实 endpoint 和 token):

{
  "shareCredentialsVersion": 1,
  "endpoint": "https://sharing-provider.example.com/delta-sharing",
  "bearerToken": "dapi-a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6"
}

注意:上面的示例用的是 Delta Sharing 的现有 SDK。OpenSharing 新增的 modelsskills 资源类型的 SDK 接口(如 list_skills()load_skill_schema())预计会在项目首个正式发布版本中提供。目前可以先用 Delta Sharing 协议验证数据共享流程,后续升级到 OpenSharing 时只需扩展资源类型即可。

面向智能体场景的扩展:技能发现与调用

OpenSharing 最值得关注的增量是 skill 资源类型。一个智能体要调用另一个平台上的技能,协议层面需要解决三个问题:

  • 发现:我需要"文本摘要"能力,去哪里找?
  • 契约:这个技能接受什么输入、返回什么输出、有什么版本约束?
  • 鉴权:跨组织调用,token 怎么发放和验证?

OpenSharing 的设计思路是——skill 的描述本身就是协议的一部分。一个 skill 资源的元数据大致会包含:

{
  "skill_name": "text_summarization",
  "version": "1.2.0",
  "input_schema": {
    "type": "object",
    "properties": {
      "text": {"type": "string", "maxLength": 10000},
      "max_length": {"type": "integer", "default": 200}
    },
    "required": ["text"]
  },
  "output_schema": {
    "type": "object",
    "properties": {
      "summary": {"type": "string"},
      "token_count": {"type": "integer"}
    }
  },
  "invocation_endpoint": "https://provider.example.com/skills/text_summarization/invoke",
  "compatibility": "backward_compatible"
}

接收方智能体拿到这个 schema 后,可以自动构造请求、校验响应,不需要人工对接 API 文档。这和 OpenAPI 规范的理念类似,但专门为智能体的自动调用场景做了裁剪——更轻量、更聚焦于"能力描述"而非"整个服务描述"。

采用建议与边界

适合现在关注的场景

  • 你在构建多智能体系统,需要跨团队或跨平台共享技能和数据——OpenSharing 的 skill schema 可以作为内部技能注册的规范模板,即使暂时不用官方 SDK。
  • 你已经在用 Delta Sharing 共享数据——升级路径平滑,OpenSharing 是增量扩展而非替代。
  • 你需要向外部合作伙伴提供 AI 资产访问——厂商中立协议比私有 API 更容易被接受。

需要留意的边界

  • 协议本身不解决计算执行问题——它定义的是"怎么发现和拿到",不是"怎么跑"。skill 的实际执行仍然依赖提供方的推理服务。
  • 安全模型沿袭了 Delta Sharing 的 bearer token 机制,对于高敏感场景可能需要叠加零信任网络或 VPC 限制。
  • 项目刚启动,models 和 skills 的 SDK 实现尚不完整,生产采用建议跟踪首个正式 release。

快速上手清单

  1. 用 Delta Sharing Python SDK 跑通一次数据共享流程,验证 endpoint 和 token 机制;
  2. 在内部技能注册表中试用 OpenSharing 的 skill schema 格式描述你的智能体能力;
  3. 关注 Linux 基金会 OpenSharing 项目的 GitHub 仓库,等待 models/skills SDK 发布后做集成测试。

跨组织共享 AI 资产的需求已经很明显,OpenSharing 给了一条具体的协议路径。它不是万能方案——执行、安全、治理仍有大量工程工作——但至少让"智能体之间怎么互相认识"这件事有了标准化的起点。


相关推荐