# 意图开发概述

开发者可以通过如下两种方式来定义意图：

| 意图定义方式 | 说明 | 使用场景 |
| --- | --- | --- |
| 接入标准意图 | 由系统预定义调用规范，包含统一的意图参数格式定义与意图执行结果格式定义。系统会根据装饰器的schema字段与intentVersion字段，在标准意图列表查询是否存在匹配的意图。标准意图列表以Json Schema文件形式存储在SDK中。 | 通用功能场景，若开发者提供的功能在标准意图中已有定义，可选择接入标准意图。 |
| 创建自定义意图 | 由应用开发者定义调用规范，用于满足标准意图未覆盖的场景。 | 若开发者提供的功能未在标准意图中定义，可选择创建自定义意图。 |

#### 接入标准意图

当应用功能符合系统预定义的标准意图时（例如播放音乐、导航等），开发者可直接接入标准意图，避免重复定义规范。

当前发布的标准意图规范参见附录：标准意图接入规范。

每个意图均包含如下几个要素。

*   意图名称：意图的唯一标识。
*   意图版本：意图的兼容性控制。
*   参数类型定义：统一的意图参数格式定义。
*   结果类型定义：统一的意图执行结果格式定义。

#### 创建自定义意图

当现有标准意图定义无法覆盖应用的功能时，开发者可以自定义意图。系统入口需要解析开发者定义的意图描述和参数规范，意图匹配用户语义后，触发意图执行。自定义意图的属性通过IntentDecoratorInfo及其子类定义，需要包含如下要素：

*   大语言模型描述：自然语言描述意图功能，供系统入口解析语义。该描述应尽可能的精确并全面，涵盖该意图提供的能力范围，包括功能定义、约束限制等。
*   参数类型定义：自定义的意图参数格式定义，符合Json Schema规范。参数类型定义需要包含参数的功能描述、参数类型，定义参数的必选或可选。
*   结果类型定义：自定义的意图执行结果格式定义，符合Json Schema规范。结果类型定义需要包含意图执行结果的类型。

例如，应用提供查询天气能力时，模型描述可以描述为“通过输入经纬度坐标信息，查询对应地理位置的实时天气情况。”。