目录

端A2A协议技术规范

本文档说明了小艺与应用内Agent的通信协议规范。文档版本V0.6,最后修改时间为2026-06-11。

端A2A支持场景列表

场景

说明

小艺通过端A2A跟应用Agent进行对话交互

支持小艺和应用Agent进行LUI交互,Agent按照用户query处理后可通过单轮回复、多轮回复、向用户澄清、交换文件、AgentUIExtension卡片等方式跟用户进行LUI交互。

小艺通过端A2A跟应用Agent进行长时任务伴随

支持小艺对应用Agent长时任务交互伴随态LUI控制,小艺伴随过程中,应用Agent可通过对话胶囊、状态胶囊和对话面板呈现任务过程,并允许用户干预任务。

小艺通过端A2A跟应用Agent进行界面控制伴随

支持小艺对应用Agent进行界面控制伴随态LUI交互,小艺伴随过程中,应用Agent可通过界面操控蒙层、流光效果、对话胶囊、状态胶囊和对话面板呈现任务过程,并允许用户干预任务。

小艺通过端A2A跟应用Agent进行chips(话题)推荐

小艺通过系统级的感知获取当前App上下文,设备上下文,向应用Agent请求Chips话题推荐内容,由Agent返回最适合当前场景的Chips话题建议。

小艺通过端A2A跟应用Agent进行原生操控

支持小艺和应用Agent交互过程中,Agent识别到特定意图后,可以根据应用是否在前台通过不同方式进行原生操控,实现应用自主进行瞬时操控并伴随对话体验。

小艺通过端A2A跟应用Agent进行开场白和引导语操控

小艺通过系统级的感知获取当前App上下文,设备上下文,向应用Agent请求动态的Agent开场白和引导语,由Agent返回最适合当前场景的开场白和引导语。

整体交互介绍

核心概念

在开始阅读后续章节之前,先了解本协议中四个核心概念的定义与关系。

[h2]Context(会话)

由Agent管理会话并分配contextId,相同的contextId标识同一个会话。

Context是会话的逻辑容器,将一段交互过程中的相关Task归组在一起。由Agent分配并管理其有效性,通过contextId唯一标识,只要contextId不变,会话即持续有效。

首次请求小艺不携带contextId,Agent在首帧响应中生成并返回,后续小艺在每次请求中携带。

会话失效

以下场景会导致会话失效:

[h2]Task(任务)

一个Context内可能包含多个Task,Task是一件事从发起到完成的全过程,期间可包含多次消息往返,直到任务终止后不可重启。taskId由Agent分配。例如:一次对话问答、一次长时任务从创建、中间处理到关闭。

Task是一件事从发起到完成的完整处理单元,有独立的生命周期。期间可包含多次消息往返,直到任务终止后不可重启。每个Task归属于一个Context,taskId由Agent在首帧响应中分配,通过taskId唯一标识。Task共包括以下状态:

状态名

状态含义

状态种类

TASK_STATE_SUBMITTED

任务已创建,等待执行

活跃态

TASK_STATE_WORKING

Agent正在处理任务

活跃态

TASK_STATE_INPUT_REQUIRED

任务暂停,等待用户提供额外输入

挂起态

TASK_STATE_COMPLETED

任务成功完成

终态

TASK_STATE_CANCELLED

任务被用户取消

终态

TASK_STATE_FAILED

任务执行出错

终态

Task的状态生命周期如下:

[h2]Artifact(产出物)

一个Task的产出单元,可能包含多个。同一个Artifact内的内容会被组合在一起呈现或处理。

Artifact是Task的产出单元,通过artifactId唯一标识。同一个Artifact内的内容会被组合在一起呈现或处理。例如:

[h2]Part

Artifact的组成分片,承载具体内容,可能包含多个,例如文本、卡片、长时任务中的各类指令等。Part是Artifact的组成分片,承载具体内容,例如文本、卡片、长时任务中的各类指令等。