智能体之间要协作,先得能"互通有无"——模型、技能、数据集,这些 AI 资产目前基本被锁在各家平台的私有格式里。Linux 基金会刚宣布的 OpenSharing Project,试图用一套厂商中立的协议打开这扇门。项目由 Databricks 贡献,在已有的 Delta Sharing 协议上演进,面向智能体时代新增了对技能(skill)、模型等资产的交换规范。
Delta Sharing 打了地基,OpenSharing 盖了新楼层
Delta Sharing 本身已经在生产环境广泛使用——它定义了一套基于 REST 的开放协议,让组织可以通过简单的 HTTP 接口共享 Delta Lake 表数据,接收方无需 Spark 或任何特定计算引擎,用 Python/Pandas 就能读取。核心流程很直接:
- 提供方在 Delta Sharing Server 上注册要共享的表;
- 生成一个分享链接(recipient token);
- 接收方拿到链接后,通过 Delta Sharing Python SDK 直接
load_as_pandas()拿到数据。
OpenSharing 在这个地基上做了两件事:一是把共享对象从"表数据"扩展到 AI 模型、智能体技能描述、特征向量等新资产类型;二是为智能体的自动发现和调用场景增加了协议字段,比如技能的输入输出 schema、版本兼容性声明、调用端点等。这意味着一个智能体不再需要硬编码"去哪里找某个能力",而是可以通过协议动态发现和接入。
协议长什么样:从数据共享到技能共享
Delta Sharing 的 REST 授予端点已经定义了 shares、schemas、tables 三级结构。OpenSharing 在此基础上新增了 models 和 skills 资源类型,大致结构如下:
/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 新增的
models和skills资源类型的 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。
快速上手清单:
- 用 Delta Sharing Python SDK 跑通一次数据共享流程,验证 endpoint 和 token 机制;
- 在内部技能注册表中试用 OpenSharing 的 skill schema 格式描述你的智能体能力;
- 关注 Linux 基金会 OpenSharing 项目的 GitHub 仓库,等待 models/skills SDK 发布后做集成测试。
跨组织共享 AI 资产的需求已经很明显,OpenSharing 给了一条具体的协议路径。它不是万能方案——执行、安全、治理仍有大量工程工作——但至少让"智能体之间怎么互相认识"这件事有了标准化的起点。