HarmonyOS 26端侧智能体构建秘诀
·
在 HarmonyOS SDK 26 中,利用全新的 Agent Framework Kit,开发者可以通过约40行代码在端侧快速构建一个具备对话、上下文记忆和流式输出能力的智能体(Agent)。
核心步骤与代码示例
构建一个基础智能体主要涉及三个核心步骤:创建智能体、配置技能(Skill)、以及启动对话。以下是一个完整的 ArkTS 代码示例:
// 1. 导入必要的模块
import { Agent, Skill, AgentBuilder, AgentContext } from '@ohos.agentframework';
import { promptAction } from '@ohos.agentframework'; // 用于处理自然语言指令
// 2. 定义一个自定义技能(Skill)
class MyCustomSkill implements Skill {
// 技能的唯一标识符 id: string = 'my_custom_skill';
// 技能的名称描述 name: string = '我的计算器技能';
// 技能支持的指令或意图描述 description: string = '可以进行简单的数学计算,如加法、减法。';
// 技能的执行方法,当智能体匹配到意图时会调用此方法
async execute(context: AgentContext): Promise<void> {
// 从用户输入中解析意图和参数
const userInput = context.getInput();
// 此处应集成自然语言理解(NLU)来解析,为简化示例,假设已解析出操作和数字 // 实际开发中,可使用Intents Kit或集成云端语义理解服务
if (userInput.includes('加') || userInput.includes('+')) {
const numbers = this.extractNumbers(userInput);
const result = numbers.reduce((a, b) => a + b, 0);
// 通过上下文对象输出结果,系统会托管UI进行流式展示
context.reply(`计算结果是:${result}`);
} else {
context.reply('我目前还无法处理这个请求。');
}
}
// 一个简单的辅助函数,用于从文本中提取数字(示例用)
private extractNumbers(input: string): number[] {
const regex = /\d+/g;
const matches = input.match(regex);
return matches ? matches.map(Number) : [];
}
}
// 3. 创建并配置智能体@Entry
@Component
struct AgentDemo {
private myAgent: Agent | null = null;
aboutToAppear() {
// 使用AgentBuilder构建智能体 const builder = new AgentBuilder();
// 设置智能体的基本属性 builder.setName('我的端侧助手')
.setDescription('一个演示用的简单计算助手');
// 创建并添加自定义技能实例
const mySkill = new MyCustomSkill();
builder.addSkill(mySkill);
// (可选)添加预置技能或配置多轮对话记忆等高级功能
// builder.enableMemory(true); // 启用多轮上下文记忆
// 构建智能体实例 this.myAgent = builder.build();
}
// 4. 在UI中触发智能体对话
build() {
Column() {
Button('开始与智能体对话')
.onClick(() => {
if (this.myAgent) {
// 启动智能体对话界面。系统将托管完整的对话UI,包括输入框和流式输出区域。
// promptAction是触发系统级智能体交互的入口。
promptAction.start({
agent: this.myAgent,
onSuccess: (data) => {
console.info('智能体对话完成:', data);
},
onFail: (error) => {
console.error('启动智能体失败:', error);
}
});
}
})
}
.width('100%')
.height('100%')
.justifyContent(FlexAlign.Center)
}
}
关键特性与优势
| 特性 | 说明 | 对应SDK能力 |
|---|---|---|
| 极简集成 | 约40行核心代码即可完成智能体的创建、技能定义与UI启动。 | Agent Framework Kit 2.0 |
| 系统托管UI | 无需自行实现聊天界面,系统提供完整的对话UI,支持流式输出。 | Agent Framework Kit |
| 多轮上下文记忆 | 通过简单配置即可让智能体记住之前的对话内容。 | Agent Framework Kit |
| 自定义技能扩展 | 通过实现 Skill 接口,可以赋予智能体调用API、处理复杂任务的能力。 |
Agent Framework Kit 的标准化Skill开发能力 |
| 意图调度 | 可结合 Intents Kit,使智能体能够解析用户指令并拉起其他应用的服务。 |
Intents Kit |
总结借助 HarmonyOS SDK 26 的 Agent Framework Kit,开发者可以通过定义技能(Skill)并利用系统提供的对话框架,以极少的代码量在应用中嵌入智能体能力,实现从“被动应用”到“主动智能服务”的转型。上述示例展示了最基础的集成流程,在实际开发中,还可以结合 Multimodal Awareness Kit(多模态感知)和 Data Augmentation Kit(知识增强)等构建更强大的端侧智能体。
参考来源
- 刚刚,鸿蒙SDK26重大升级!
- 刚刚,鸿蒙SDK26重大升级!
- 鸿蒙SDK 26重大升级!102个Kit、8万+API全面开放,Agent智能体时代来了
- 附下载 |HDC 2024华为开发者大会(脱敏)PPT汇总(123份)
更多推荐



所有评论(0)