智能客服
你问我答,随时在线为你解决问题
本文档定义了AgentCard的完整字段规范。AgentCard是Agent的元数据描述文件,用于向A2A中的Remote Agent、Server描述自身的能力、接口和元数据信息。
以下为AgentCard的完整字段定义,包含类型、必填性、说明及实际使用示例。
字段名称 | 类型 | 必填 | 最大长度 | 说明 | 备注 | 使用示例 |
|---|---|---|---|---|---|---|
name | string | 是 | 64 | Agent的可读名称 | A2A标准字段 | "出行助手智能体" |
description | string | 是 | 512 | Agent的可读描述,帮助用户和其他Agent理解其用途 | A2A标准字段,一句话描述 | "出行助手智能体,提供路线规划、语音出行、服务伴随等服务" |
agentId | string | 是 | 64 | 内部Agent ID,非全局唯一,在同包名下唯一 | 不支持导入导出(内部存储时,采用平台的agentId) | "XXPHONE_TRAFFIC_AGENT" |
version | string | 是 | 32 | AgentCard定义的版本号 | A2A标准字段,建议遵循语义化版本 | "1.0.0" |
iconUrl | string | 是 | 512 | Agent图标的URL | A2A标准字段,建议使用 HTTPS | "智能体的icon地址" |
capabilities | AgentCapabilities | 否 | - | Agent支持的A2A能力集合 | 包括streaming、pushNotifications、extensions 等,不约束扩展 | {"streaming": true, "pushNotifications": false, "stateTransitionHistory": false} |
defaultInputModes | string[] | 是 | - | Agent在所有技能中支持的默认输入交互模式(媒体类型) | 可在单个技能中覆盖,数组元素为MIME类型 | ["text/plain"] |
defaultOutputModes | string[] | 是 | - | Agent支持的默认输出媒体类型 | 数组元素为MIME类型 | ["text/plain"] |
skills | AgentSkill[] | 是 | - | Agent的技能列表。 | 需要拓宽字段定义 | [{"id": "travel_scene_recommend", "name": "景点推荐", ...}] |
provider | AgentProvider | 否 | - | Agent的服务提供商信息 | 包含organization和url | {"organization": "XXPAY", "url": "https://www.XXpay.com/"} |
documentationUrl | string | 否 | 512 | 提供有关Agent额外文档的URL | 不涉及 | "" (空字符串) |
extension | string | 否 | 51200 | 扩展信息,按JSON存储,详情见ExtInfo | 扩展字段,例如隐私等。IDE可考虑支持string或结构化配置 | - |
appInfo | AppInfo | 是 | - | 应用相关信息 | 在此承载应用相关信息。不支持导入导出。 | - |
supportedInterfaces
用于定义Agent支持的通信接口列表,有序排列,第一个为首选接口。
字段 | 类型 | 必填 | 最大长度 | 说明 |
|---|---|---|---|---|
url | string | 是 | 512 | 接口的URL,生产环境必须是有效的HTTPS URL |
protocolBinding | string | 是 | 32 | 支持的协议绑定类型,核心支持: JSONRPC |
protocolVersion | string | 是 | 16 | A2A协议版本,例如: "0.3"、"1.0" |
AgentCapabilities
字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
streaming | boolean | 可选 | 是否支持流式响应 |
pushNotifications | boolean | 可选 | 是否支持异步任务更新的推送通知 |
extension | string | 否 | Agent支持的协议扩展列表,JSON String |
extendedAgentCard | boolean | 可选 | 是否支持身份验证后提供扩展的AgentCard |
AgentSkill
字段 | 类型 | 必填 | 最大长度 | 说明 |
|---|---|---|---|---|
id | string | 是 | 64 | 技能的唯一标识符 |
name | string | 是 | 128 | 技能的可读名称 |
description | string | 是 | 512 | 技能的详细描述 |
tags | string[] | 是 | 32 | 描述技能能力的关键词集合 |
examples | string[] | 否 | 256 | 此技能可以处理的示例提示或场景 |
inputModes | string[] | 否 | - | 此技能支持的输入媒体类型(覆盖Agent默认值) |
outputModes | string[] | 否 | - | 此技能支持的输出媒体类型(覆盖Agent默认值) |
extension | string | 否 | - | 扩展信息 |
AgentProvider
字段 | 类型 | 必填 | 最大长度 | 说明 |
|---|---|---|---|---|
organization | string | 是 | 128 | 提供商的组织名称 |
url | string | 是 | 512 | 提供商网站或相关文档的URL |
ExtInfo
新增自定义字段,用于承载业务特有信息。
字段名称 | 类型 | 必填 | 最大长度 | 说明 |
|---|---|---|---|---|
introduction | string | 是 | 256 | Agent开场白,用于用户初次交互 |
reqMetaRequired | string[] | 否 | - | Request中meta必须携带的字段列表 |
securityInfo | Object | 否 | - | 认证信息 |
protocolVersion | string | 是 | - | 协议版本,初始默认 1.0 |
supportedInterfaces | AgentInterface[] | 否 | - | 支持的接口列表(有序),第一个是首选接口 |
developmentType | string | 否 | 64 | 开发类型:NATIVE(缺省)、PROCODE、LOWCODE |
AppInfo
新增自定义字段,用于描述Agent所在的应用信息。
字段名称 | 类型 | 必填 | 最大长度 | 说明 |
|---|---|---|---|---|
deviceTypes | string | 否 | 128 | 设备类型,逗号分隔。没配置则同APP类型。 |
bundleName | string | 否 | 255 | 应用包名 |
moduleName | string | 条件 | 255 | 模块名称 |
abilityName | string | 条件 | 255 | Ability名称 |
minAppVersion | string | 否 | 32 | 最小APP版本要求 |