目录

端A2A模式Agent

端A2A Agent概述

端A2A Agent是小艺与HarmonyOS APP内已有端侧Agent之间的连接方式。与传统应用通过页面交互执行功能不同,端A2A使用户能够通过自然语言向小艺提出需求,再由小艺调用第三方端侧Agent完成对应任务。

接入前提

端侧Agent通过AgentExtensionAbility组件实现步骤

从API version 24开始,支持开发者使用AgentExtensionAbility类型的组件提供智能体服务。系统应用可以连接其他应用实现的AgentExtensionAbility组件,并使用相应的智能体服务。在DevEco Studio工程中手动新建一个AgentExtensionAbility,具体步骤如下:

1、在DevEco Studio中通过【New】→【Extension Ability】→【Agent】创建。

2、IDE会自动生成以下三个文件:

AgentExtensionAbility:A2A通信逻辑实现类,处理小艺发来的消息并返回结果。

agent_config.json:AgentCard配置文件,声明该Agent的能力、技能与元信息,小艺通过此文件识别和路由Agent。

module.json5:注册AgentExtensionAbility,通过metadata字段指向agent_config.json。

3、在AgentExtAbility.ets文件中,补充AgentExtensionAbility的导入模块,自定义类AgentExtAbility继承AgentExtensionAbility并实现生命周期回调。

4、在工程Module对应的module.json5配置文件中注册AgentExtensionAbility,type标签需要设置为"agent",srcEntry标签表示当前ExtensionAbility组件所对应的代码路径。

工程内module.json5文件extensionAbilities结构中type=agent数据的name字段为应用服务名称。

5、在工程Module的resources/base/profile/目录下agent_config.json文件中配置AgentCard信息,详细操作步骤请参考Agent配置文件说明。

三者关系:module.json5通过metadata将Ability与agent_config.json关联,小艺连接时读取AgentCard获知Agent能力,通信过程则由AgentExtensionAbility中的方法处理。

示例应用

1. 应用介绍

本示例以“AI冰箱管家”HarmonyOS应用作为端A2A接入示例。AI冰箱管家是一款面向家庭食材管理的应用,主要提供食材信息记录、库存查询、临期食材提醒等功能,帮助用户及时了解冰箱内的食材情况。

在传统交互模式下,用户需要打开AI冰箱管家应用,通过页面操作完成食材查询、添加和管理。

接入小艺端A2A后,用户无需主动打开应用,即可通过与小艺进行自然语言对话,调用AI冰箱管家提供的端侧Agent能力,完成相应的食材管理任务。

2. 端侧Agent实现

AI冰箱管家在应用内部实现了独立的食材管理Agent,并通过AgentExtensionAbility组件对外提供智能体服务。

端侧Agent接收到小艺通过A2A发送的任务请求后,解析任务内容,调用应用内部对应的业务能力,最后将执行结果通过A2A通信返回小艺。

本示例主要实现以下能力:

Agent能力

功能说明

用户示例指令

食材库存查询

查询冰箱现有食材及数量

小艺,帮我看看冰箱有什么。

食材信息添加

根据用户描述新增食材记录

小艺,帮我添加3个苹果。

临期食材查询

查询即将超过保质期的食材

小艺,冰箱有哪些食材要过期了。

食谱推荐

根据冰箱现有食材提供食谱

小艺,推荐一下食谱。

3. 端A2A业务调用流程

以用户查询冰箱食材为例:

4. 预期实现效果

完成端A2A接入后,用户可以直接通过小艺调用冰箱管家的食材管理能力。

例如,用户输入:小艺,帮我看看冰箱里有哪些食材。

冰箱管家端侧Agent接收到任务后,查询应用内的食材数据,并将结果返回小艺。

小艺向用户展示:

当前冰箱内有牛奶2盒、鸡蛋6个、苹果3个。

至此,AI冰箱管家已在应用内实现端侧Agent,并通过AgentExtensionAbility组件提供A2A服务。接下来,将进入小艺开放平台,创建端A2A模式Agent,关联AI冰箱管家应用,并通过导入AgentCard完成Agent接入配置。

小艺开放平台接入配置

进入小艺开放平台,按顺序完成模式选择、应用关联、AgentCard导入、保存和真机发布。详情可参考快速开始章节创作端A2A模式Agent中的平台配置。