AgentUse 标准协议
AgentUse 是定义 AI Agent 与软件交互的开放标准。它规定了软件如何暴露自身能力,使 Agent 能够以结构化、可发现、可验证的方式进行调用。AgentUse 不定义 Agent 的内部架构,关注点明确:软件如何被 Agent 使用。
标准协议层
定义统一的 Skill Manifest 格式,声明软件能力、输入输出契约、权限要求。产出机器可读的能力声明文件。
技能市场层
中央集线器,提供技能的一键发现、安装与评估验证。产出结构化技能目录。
质量认证层
Agent-Ready 认证体系,通过自动化测试和安全审计验证软件兼容性。产出权威认证标识。
设计原则
1. Agent 优先,但不排除人类
接口首先为 Agent 优化,同时保留人类可读的表达方式
2. 自描述优于文档
Agent 不应阅读人类文档来理解接口,接口本身必须自描述
3. 渐进式采用
软件可逐步完成转型,从原子化单一功能开始,到全面认证
4. 安全默认
权限默认最小化,高风险操作默认需要人类审批
5. 开放与中立
标准不绑定任何特定 Agent 框架或云厂商
Agent-Ready 转型框架
传统软件要成为 Agent-Ready,需按以下四步完成架构演进。每步均可独立实施和验证。
操作原子化
将复合功能拆解为 Agent 可精准调用的原子指令,每个指令具备明确的输入/输出 Schema。
要求:
- 每个原子操作执行单一职责,不混合多个业务逻辑
- 输入参数使用 JSON Schema 描述,类型、约束、示例值完整定义
- 输出结果使用统一格式,不含自由文本或 HTML
- 操作间不共享隐式状态,依赖通过显式参数传递
验收标准:
| 检查项 | 标准 |
|---|---|
| 单一操作原子化 | 每个 API/命令仅执行一个业务动作 |
| 输入 Schema | JSON Schema 覆盖所有参数,含 type/constraint/example |
| 输出格式 | 结构化 JSON,无 HTML/自由文本混合 |
| 无隐式状态 | 操作间依赖通过参数显式传递 |
标准暴露层
为原子操作提供标准化的机器接口,使 Agent 能够自动发现和调用。
暴露方式优先级(至少实现一种):
方式 A:Agent-First CLI(首选)
为每个原子操作提供 CLI 命令。非 TTY 时默认输出 JSON,支持 --output json 切换,提供 manifest 子命令返回机器可读能力清单,结构化退出码。
方式 B:WebMCP 接口(次选)
基于 Model Context Protocol 的 Web 实现。软件以 MCP Server 形式暴露能力,Agent 通过标准协议发现、调用、接收结果。适用场景:SaaS 服务、远程 API。
Agent → SSE/HTTP → MCP Server → Business Logic
← tools/list ←
← call/tool_name ←方式 C:REST + OpenAPI 3.1(兼容方案)
已有 REST API 的软件,通过补充完整 OpenAPI 3.1 描述来适配 Agent 消费。每个 parameter 和 response 字段包含 description,requestBody 标记 required。
验收标准:
| 检查项 | 标准 |
|---|---|
| 协议选择 | 至少实现 WebMCP / CLI / REST+OpenAPI 中的一种 |
| 能力可发现 | Agent 通过一次调用获取完整能力清单,无需解析文档 |
| 参数自描述 | 每个参数含 description,Agent 无需外部文档 |
| 示例值 | 每个入参提供 example,Agent 可参考格式 |
可观测的上下文
用结构化执行日志流取代传统视觉 UI 反馈,使 Agent 能够追踪操作状态。
要求:
- 每个操作返回唯一的 operation_id
- 同步操作在响应中直接返回结果
- 异步操作返回状态句柄,支持轮询或事件订阅
- 执行日志以 JSON Lines 格式输出,每行包含 operation_id、timestamp、stage、status
- 写入操作支持 Idempotency-Key,Agent 可安全重试
异步操作状态流示例:
// 1. Initiate operation
POST /deployments
{ "ref": "abc123", "Idempotency-Key": "req-001" }
// 2. Immediate handle returned
{
"ok": true,
"data": { "handle": "dep-789" },
"warnings": [],
"meta": { "operation_id": "op-123" }
}
// 3. Agent polling
GET /deployments/dep-789
{
"ok": true,
"data": { "status": "in_progress", "stage": "building", "progress": 0.65 },
"warnings": [],
"meta": { "operation_id": "op-123" }
}
// 4. Final result
{
"ok": true,
"data": { "status": "completed", "result": { ... } },
"warnings": [],
"meta": { "operation_id": "op-123" }
}验收标准:
| 检查项 | 标准 |
|---|---|
| operation_id | 每次操作返回唯一标识 |
| 异步状态句柄 | 长耗时操作返回 handle,支持轮询 |
| 结构化日志 | JSON Lines 格式,含 operation_id/timestamp/stage |
| 幂等支持 | 写入操作支持 Idempotency-Key |
安全护栏与边界
确立基于最小权限原则的边界,引入人机协作(Human-in-the-loop)授权机制。
操作风险分级:
| 级别 | 名称 | Agent 行为 | 示例 |
|---|---|---|---|
| L0 | 只读 | 自主执行 | 查询、列表、状态检查 |
| L1 | 低风险写入 | 自主执行 + 事后审计 | 创建草稿、更新配置 |
| L2 | 高风险操作 | 需人类审批后执行 | 删除数据、生产部署 |
| L3 | 危险操作 | 禁止 Agent 自主执行 | 权限变更、系统配置修改 |
审批流程示例(L2 操作):
// Agent initiates L2 operation
POST /deployments/production
{ "ref": "abc123", "Idempotency-Key": "req-002" }
// Returns approval request (not error, but human-intervention state)
{
"ok": true,
"data": {
"status": "pending_approval",
"approval_request_id": "appr-456",
"message": "This operation requires human approval..."
},
"meta": { "operation_id": "op-789" }
}
// After human approval, Agent retries the same operation
POST /deployments/production
{ "ref": "abc123", "approval_request_id": "appr-456", "Idempotency-Key": "req-002" }要求:
- Skill Manifest 中声明每个操作的 risk-level(取值:L0/L1/L2/L3)
- L2 操作触发审批流程,Agent 等待人类确认
- L3 操作在能力清单中标记 disabled_for_agents: true
- 所有 Agent 操作生成审计日志:操作者、时间、操作内容、结果、审批记录
验收标准:
| 检查项 | 标准 |
|---|---|
| 风险分级 | 所有操作标记 L0-L3 风险等级 |
| 审批流程 | L2 操作返回 pending_approval 状态 + approval_request_id |
| L3 隔离 | L3 操作对 Agent 不可见或明确禁用 |
| 审计日志 | 每次操作生成不可篡改审计记录 |
技术规范
AgentUse 标准的核心技术细节,确保软件能力可被 Agent 自动发现、理解和调用。
Skill Manifest 格式
Skill Manifest 是 AgentUse 标准的核心数据结构。每个 Agent-Ready 软件必须提供一个符合规范的 Skill Manifest,使 Agent 能够自动发现和理解其能力。基于 SKILL.md 开放标准,采用 YAML Frontmatter + Markdown Body 的结构。
---
name: my-skill
description: Clearly describe the skill's function and trigger scenarios
license: MIT
compatibility: ">=1.0.0"
allowed-tools: Bash Read Write
metadata:
author: your-org
version: "1.0.0"
category: document-processing
agent-ready-level: gold
protocols:
- webmcp
- cli
---Frontmatter 字段定义:
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| name | 是 | string | 唯一标识符,1-64字符,小写字母/数字/连字符 |
| description | 是 | string | 描述技能功能和触发场景,含 Agent 匹配关键词 |
| license | 否 | string | SPDX 标识符 |
| compatibility | 否 | string | 环境要求(系统包、网络访问等) |
| allowed-tools | 否 | string | 技能可使用的工具列表(空格分隔) |
| metadata | 否 | object | 扩展元数据:agent-ready-level、protocols、capabilities、risk-level 等 |
能力声明
Agent-Ready 软件必须提供机器可读的能力清单。能力清单描述软件能做什么,而非如何做。
WebMCP/MCP 方式(tools/list 端点):
{
"tools": [
{
"name": "create_order",
"description": "Create a new order. Accepts product ID, quantity, and shipping address; returns order ID and status.",
"inputSchema": {
"type": "object",
"required": ["product_id", "quantity"],
"properties": {
"product_id": {
"type": "string",
"pattern": "^prod_[a-zA-Z0-9]+$",
"description": "Unique product identifier",
"example": "prod_A8k3Xp"
},
"quantity": {
"type": "integer",
"minimum": 1,
"maximum": 1000,
"description": "Order quantity, range 1-1000",
"example": 5
}
}
},
"x-ax-idempotent": false,
"x-ax-risk-level": "L1",
"x-ax-capabilities": ["write", "create"]
}
]
}扩展属性使用 x-ax- 前缀(Agent Experience),与 MCP 原生命名空间兼容。
输入/输出契约
输入契约:
- 强类型参数:所有参数必须有明确的类型定义
- 约束显式化:使用 enum、pattern、minimum、maximum 等 JSON Schema 约束
- 必需字段明确标记:required 字段必须显式声明
- 示例值:每个参数应提供 example
输出契约:
- 响应信封:统一格式(ok/data/warnings/meta)
- 有界输出:列表操作必须支持分页
- 字段稳定性:添加新字段是兼容变更
- 版本标识:输出包含 schema_version
统一响应信封格式:
{
"ok": true,
"data": { /* operation result */ },
"warnings": [ /* non-fatal warnings, can be empty array */ ],
"meta": {
"operation_id": "op-123",
"timestamp": "2026-05-06T12:00:00Z",
"schema_version": "1.0"
}
}错误处理规范
Agent-Ready 软件必须返回结构化错误,而非自然语言错误文本。
{
"ok": false,
"error": {
"code": "VALIDATION_FAILED",
"type": "input_error",
"message": "Parameter product_id format is invalid",
"details": {
"field": "product_id",
"value": "12345",
"expected_pattern": "^prod_[a-zA-Z0-9]+$"
},
"retryable": false,
"suggestions": [
"Use 'mytool products list' to query valid product IDs",
"product_id must start with 'prod_'"
]
},
"meta": {
"operation_id": "op-123",
"timestamp": "2026-05-06T12:00:00Z"
}
}语义化退出码(CLI):
| 退出码 | 含义 | 可重试 |
|---|---|---|
| 0 | 成功 | — |
| 1 | 通用错误 | 否 |
| 2 | 用法错误(参数不正确) | 否 |
| 80-89 | 用户输入错误 | 否 |
| 90-99 | 资源错误(未找到/冲突) | 视情况 |
| 100-109 | 网络/服务错误 | 是 |
| 110-119 | 系统错误 | 视情况 |
认证与权限模型
认证方式(至少实现一种):
- API Key:按 Key 设置权限范围
- OAuth 2.0 Device Flow:支持无浏览器环境授权
- JWT:Token 中包含权限声明(claims)
权限在 Skill Manifest 中声明,Agent 在调用前检查自身权限是否满足要求。
Agent-Ready 认证体系
认证是 AgentUse 区别于纯技术标准的独特价值。认证不是自声明的——每个提交都必须通过标准化的测试管线和安全审计。
Bronze
基础兼容:Skill Manifest + 至少一种标准协议接口 + 基本结构化输出
Silver
功能完善:Bronze + 完整能力清单 + 结构化错误处理 + 语义化退出码
Gold
生产就绪:Silver + 幂等性保证 + 权限分级(L0-L3)+ 审计日志 + 通过安全审计
Platinum
全链路认证:Gold + 多 Agent 框架兼容验证 + 性能基准达标 + 持续合规监控
测试管线
每个等级的认证对应一套自动化测试管线:
| 测试类型 | 验证内容 | 适用等级 |
|---|---|---|
| 协议兼容性 | Skill Manifest 格式正确性、能力清单完整性、I/O 契约一致性 | 所有等级 |
| 功能测试 | 针对每个声明能力执行标准输入,验证输出符合 Schema | 所有等级 |
| 错误处理 | 注入非法输入,验证错误响应格式和语义化退出码 | Silver+ |
| 安全测试 | 权限越权检测、注入攻击测试、敏感信息泄露检测 | Gold+ |
| 幂等性 | 重复执行同一操作,验证不产生副作用 | Gold+ |
| 性能基准 | 响应时间、吞吐量、并发处理能力 | Platinum |
持续合规
认证不是一次性的。通过认证的软件需满足:
- 版本同步验证:每次发布新版本时,自动重新运行认证测试管线
- 破坏性变更检测:自动检测 I/O Schema 的破坏性变更,要求更新版本号
- 安全评分监控:持续监控安全漏洞,安全评分低于阈值将降级认证等级
- 用户反馈闭环:Agent 使用中的报错和兼容性问题自动反馈至厂商
生态协同
AgentUse 不是孤立的——它与业界已有的 Agent 标准共同构成一个完整的生态系统。
标准全景图
| 标准 | 关注层面 | 与 AgentUse 的关系 |
|---|---|---|
| MCP | Agent 工具调用传输协议 | AgentUse 的次选传输层(WebMCP 基于此),与 CLI 方案互补 |
| AGENTSMD | 项目级 Agent 指令 | 互补——AGENTS.md 管代码库上下文,AgentUse 管软件能力 |
| ARA | 网站级 Agent 能力发现 | 互补——ARA 管网页,AgentUse 管软件与服务 |
| OSSA | Agent 自身身份与治理 | 互补——前者定义 Agent,AgentUse 定义被 Agent 调用的软件 |
| DIRECT | Agent 接口设计原则 | AgentUse 的技术规范基础,认证体系对齐 DIRECT |
| CLI | CLI 如何被 Agent 调用 | AgentUse CLI 方式的详细规范参考 |
AgentUse 的独特价值
业界已有标准主要聚焦于协议定义和设计原则,AgentUse 在三个层面提供了独特增量:
认证体系
提供客观、可验证的 Agent-Ready 认证流程,而非自声明
中央市场
提供结构化的技能市场和一键安装,解决 Agent 去哪里发现可用技能的问题
转型路径
提供四步转型框架,帮助传统软件厂商从零完成 Agent-Ready 转型
与 DIRECT 原则的对齐
| DIRECT 原则 | AgentUse 对应实现 |
|---|---|
| Deterministic(确定性) | I/O Schema 强类型约束 + 幂等性测试 |
| Introspectable(内省性) | 能力清单自动发现 + Self-describing Manifest |
| Recoverable(可恢复性) | 结构化错误处理 + 语义化退出码 |
| Explicit(显式性) | 所有约束在 Schema 中声明,无隐式行为 |
| Consistent(一致性) | 统一响应信封 + 跨操作命名规范 |
| Testable(可测试性) | 认证测试管线 + 幂等性保证 |
让你的软件 Agent-Ready
下一代用户不会再点击 UI——他们是 AI Agent,将直接自主操作你的软件。
无需任何承诺,从一次免费咨询开始