HMAF 鸿蒙智能体框架技术方案:打通感知 - 决策 - 行动全链路,引领 GUI→LUI 范式转变

  • 2026-05-08
    北京
  • 本文字数:5814 字

    阅读完需:约 19 分钟

一、引言:HMAF 的定位与意义

随着大语言模型(LLM)技术的飞速发展,人机交互方式正在经历从"人适应机器"到"机器理解人"的根本性变革。传统图形用户界面(GUI)要求用户学习复杂的操作路径和控件布局,而语言用户界面(LUI)则允许用户以自然语言直接表达意图,由系统智能理解并自主执行。这一转变不仅是交互方式的升级,更是计算范式的跃迁。


HarmonyOS 在这一背景下推出了 HMAF(HarmonyOS Agent Framework,鸿蒙智能体框架)——一套面向全场景智能体的操作系统级基础设施。HMAF 的核心使命在于:打通感知、决策、行动全链路,实现跨平台操作,推动人机交互从 GUI 向 LUI 范式转变。


HMAF 不是简单的 API 封装,而是从操作系统内核层出发,将智能体作为一等公民纳入系统调度体系。它让应用开发者只需约 40 行声明式代码即可接入系统级智能体,对话框 UI、流式渲染、上下文管理、网络通信全部由操作系统底层接管,极大降低了智能体应用的开发门槛。



二、架构解析:三层架构详解

HMAF 采用经典的三层架构设计,自上而下分别是应用层、框架层和能力层,各层职责清晰、解耦合理,既保证了系统的可扩展性,又确保了端侧性能的极致优化。


2.1 应用层(App Layer)

应用层是开发者与 HMAF 交互的入口,核心组件为 Agent Framework Kit,包含两个关键模块:


  • FunctionComponent:声明式智能体拉起组件,开发者通过简洁的参数配置即可触发指定智能体,无需关心底层通信和渲染逻辑。

  • AgentController:智能体生命周期管理控制器,负责检测智能体可用性、管理会话状态、处理异常回调等。


这种设计将智能体的"调用"与"管理"分离,开发者只需关注业务逻辑,框架自动处理 UI 渲染、流式输出和网络通信。

2.2 框架层(HMAF Framework)

框架层是 HMAF 的核心引擎,包含六大关键模块:

这六大模块协同工作,构成了从"理解用户"到"执行任务"的完整闭环。

2.3 能力层(Capability Layer)

能力层提供智能体运行所需的底层原子能力:


  • On-device LLM(端侧大模型):在设备端运行的轻量化大模型,保障隐私安全与低延迟响应

  • ASR/TTS(语音识别/合成):将语音输入转为文本、将回复转为语音输出

  • CV/OCR(视觉理解/文字识别):解析图像内容,提取文字和视觉信息

  • Intents Kit(意图框架):鸿蒙系统级意图框架,提供标准化意图定义与分发机制



三、感知-决策-行动全链路深度剖析

HMAF 的核心竞争力在于打通了"感知→决策→行动"的完整链路,使智能体从被动工具升级为主动代理。这一闭环机制是实现 LUI 交互范式的技术基石。


3.1 感知(Perceive)

感知是全链路的起点,分为交互感知环境感知两个维度:


交互感知由交互引擎负责,处理用户的文字或语音输入,通过意图识别模块解析用户真实需求。例如用户说"帮我调暗灯光",系统不仅识别出"灯光控制"意图,还提取出"调暗"这一操作参数。


环境感知由环境感知智能体持续采集设备传感器数据,包括温度、光照、人员存在等信息,为后续决策提供上下文依据。以下代码展示了一个环境感知智能体的实现:


import { BaseAgent } from '@ohos.ai.agent';
/** * 环境感知智能体 * 持续监测温度、光照和人员存在状态,当环境异常时主动通知相关控制智能体 */export class EnvironmentSensorAgent extends BaseAgent { private temperature: number = 24; // 当前温度(℃) private brightness: number = 500; // 当前光照(lux) private presence: boolean = false; // 是否有人存在 private pollingTimer: number = -1; // 轮询定时器ID
constructor() { // 注册智能体ID为 agent.environment.sensor // 声明能力列表:温度监测、光照检测、人员感知 super('agent.environment.sensor', [ 'temperature_monitoring', 'brightness_detection', 'presence_sensing' ]); // 启动传感器数据轮询 this.startSensorPolling(); }
/** * 启动传感器轮询 * 每5秒采集一次环境数据,若检测到人员存在则触发环境检查 */ private startSensorPolling(): void { this.pollingTimer = setInterval(async () => { // 模拟从硬件传感器读取数据 this.temperature = 22 + Math.random() * 6; // 温度范围 22-28℃ this.brightness = 300 + Math.random() * 400; // 光照范围 300-700 lux this.presence = Math.random() > 0.3; // 70%概率有人存在
console.info(`[EnvSensor] 温度=${this.temperature.toFixed(1)}℃ ` + `光照=${this.brightness.toFixed(0)}lux 人员=${this.presence}`);
// 检测到人员存在时,执行环境检查并通知相关智能体 if (this.presence) { await this.checkEnvironmentAndNotify(); } }, 5000); }
/** * 环境检查与主动通知 * 温度过高时通知空调智能体降温;光照不足时通知灯光智能体开灯 */ private async checkEnvironmentAndNotify(): Promise<void> { // 温度超过26℃,通知空调智能体执行降温 if (this.temperature > 26) { await this.sendMessage('agent.ac.control', { action: 'cooling', targetTemperature: 24, urgency: 'high' }); console.info('[EnvSensor] 已通知空调智能体降温至24℃'); } // 光照不足200lux且有人存在,通知灯光智能体开灯 if (this.brightness < 200 && this.presence) { await this.sendMessage('agent.light.control', { action: 'turn_on', brightness: 70, colorTemperature: 4000 }); console.info('[EnvSensor] 已通知灯光智能体开启,亮度70%'); } }
/** * 销毁时清理定时器 */ onDestroy(): void { if (this.pollingTimer !== -1) { clearInterval(this.pollingTimer); this.pollingTimer = -1; } }}
复制代码

3.2 决策(Decide)

决策环节是 HMAF 的"大脑",包含两大核心机制:


任务规划器将用户的复杂意图自动拆解为可执行的子任务序列。例如"准备一个舒适的观影环境"会被拆解为:关闭窗帘→调暗灯光→打开电视→切换到影院模式。


多智能体协同引擎在拆解完成后,自主协调各专业智能体协商形成最优协作方案。智能体之间通过标准化的消息协议通信,无需人工编排即可实现跨领域协作。


以下代码展示了多智能体协同调度的典型场景:


import { BaseAgent } from '@ohos.ai.agent';
/** * 场景编排智能体 * 将用户的高层意图拆解为多智能体协同任务,并行调度执行 */export class SceneOrchestratorAgent extends BaseAgent { constructor() { super('agent.scene.orchestrator', [ 'scene_planning', 'multi_agent_coordination', 'task_decomposition' ]); }
/** * 创建舒适休息场景 * 协同调度空调、灯光、窗帘三个智能体并行执行 */ async createRelaxScene(): Promise<void> { console.info('[SceneOrchestrator] 开始编排舒适休息场景...');
// 并行发送控制指令给多个智能体,提升执行效率 const results = await Promise.all([ // 通知空调智能体:降温至24℃,静音模式 this.sendMessage('agent.ac.control', { action: 'cooling', targetTemperature: 24, mode: 'quiet' }), // 通知灯光智能体:切换暖色放松场景,亮度40% this.sendMessage('agent.light.control', { action: 'set_scene', scene: 'warm_relax', brightness: 40 }), // 通知窗帘智能体:慢速关闭 this.sendMessage('agent.curtain.control', { action: 'close', speed: 'slow' }) ]);
// 检查各智能体执行结果 const allSuccess = results.every(r => r.success === true); if (allSuccess) { console.info('[SceneOrchestrator] 舒适休息场景编排完成'); } else { console.error('[SceneOrchestrator] 部分智能体执行失败,启动回滚'); await this.rollbackScene(results); } }
/** * 场景回滚:对已成功的操作发送恢复指令 */ private async rollbackScene(results: Array<{success: boolean, agentId: string}>): Promise<void> { for (const result of results) { if (result.success) { await this.sendMessage(result.agentId, { action: 'restore' }); } } }}
复制代码

3.3 行动(Act)

行动环节是全链路的落地执行,包含两大机制:


服务调用器标准化调用鸿蒙生态服务或自定义业务服务,确保不同来源的工具以统一方式被调度执行。HMAF 兼容 MCP(Model Context Protocol)工具协议,开发者可以轻松接入已有工具链。


跨设备任务流转基于鸿蒙分布式软总线,任务可以在手机、PC、平板、车机等设备间自由迁移。用户在手机上发起的导航任务可以无缝流转到车机继续执行,智能家居控制指令可以从平板迁移到智慧屏。



四、GUI→LUI 的范式转变

HMAF 推动人机交互从 GUI 向 LUI 的转变,这一变革可以分为两个阶段来理解:

4.1 API 12-14 时代:预定义的意图驱动

在鸿蒙早期版本中,交互模式为:


用户 → 语音输入 → Intents Kit 意图识别 → 调用 App 特定功能 → 返回结果


这一阶段虽然实现了语音操控,但本质仍是"预定义路由"——系统只能处理事先注册好的意图,执行单向、固定的操作流程,无法应对复杂多步任务。

4.2 API 18-21 时代:自主规划的多智能体协同

HMAF 带来了质的飞跃:


用户 → 自然语言 → HMAF 意图理解 → 多 Agent 协同调度 → 工具链式调用 → 自主决策


关键差异在于:

用户不再需要理解应用的界面结构,只需说"我要准备一个会议",系统便会自主调度日历、邮件、会议室、投影等智能体协同完成所有准备工作。



五、跨平台操作机制

跨平台操作是 HMAF 的核心优势之一,其实现依赖于鸿蒙分布式软总线和自主研发的 Agent 通信协议。

5.1 分布式软总线通信

鸿蒙分布式软总线为 HMAF 提供了底层通信基础设施。智能体之间通过软总线进行设备发现、连接建立、数据传输,整个过程对开发者透明。一个注册在手机上的智能体可以被平板、车机等设备上的其他智能体发现并调用。

5.2 Agent 通信协议

HMAF 自主研发的 Agent 通信协议针对智能体间高频、小数据量的交互特征进行了深度优化,使跨设备智能体协作时延降低了 70%。协议支持:


  • 服务发现:设备上线后自动广播可用的智能体列表

  • 能力协商:调用前自动匹配智能体的能力声明与任务需求

  • 安全鉴权:基于鸿蒙安全框架的端到端加密通信

5.3 MCP 协议兼容

HMAF 同时兼容 MCP(Model Context Protocol)工具协议,这意味着开发者可以将已有的 MCP 工具直接接入鸿蒙智能体生态,无需重新开发,极大降低了迁移成本。


以下代码展示了智能体注册与 AgentKit 集成的完整流程:


import agent from '@ohos.ai.agent';import { AgentController, FunctionComponent } from '@ohos.ai.agentframeworkkit';import { BusinessError } from '@ohos.base';import hilog from '@ohos.hilog';
/** * 智能体注册与AgentKit集成示例 * 演示从注册智能体到拉起调用的完整流程 */export class AgentIntegrationDemo { private agentId: string = 'agent.travel.booking';
/** * 第一步:注册智能体到HMAF框架 * 声明智能体的基本信息和能力列表 */ async registerTravelAgent(): Promise<void> { try { agent.registerAgent({ agentId: this.agentId, // 智能体唯一标识 name: 'TravelBookingAgent', // 智能体名称 version: '1.0.0', // 版本号 capabilities: [ // 能力声明列表 'flight_search', // 航班搜索 'hotel_booking', // 酒店预订 'itinerary_planning', // 行程规划 'cross_device_handoff' // 跨设备流转 ] }); hilog.info(0x0001, 'AgentDemo', '旅行预订智能体注册成功'); } catch (err) { hilog.error(0x0001, 'AgentDemo', `注册失败: ${(err as BusinessError).message}`); } }
/** * 第二步:检测智能体可用性并拉起 * 通过AgentController检测服务状态,通过FunctionComponent发起调用 */ async invokeTravelAgent(): Promise<void> { // 检测智能体服务是否可用 const isAvailable = await AgentController.isServiceAvailable(this.agentId);
if (!isAvailable) { hilog.warn(0x0001, 'AgentDemo', '旅行预订智能体当前不可用'); return; }
// 通过FunctionComponent拉起智能体,传入参数 FunctionComponent.create({ agentId: this.agentId, params: { destination: 'Beijing', // 目的地 date: '2026-05-10', // 出行日期 preference: 'comfort' // 偏好:舒适型 }, onError: (err: BusinessError) => { hilog.error(0x0001, 'AgentDemo', `智能体调用出错: ${err.code} - ${err.message}`); } });
hilog.info(0x0001, 'AgentDemo', '旅行预订智能体已拉起'); }}
复制代码



六、总结与展望

HMAF 鸿蒙智能体框架通过三层架构的精巧设计、感知-决策-行动全链路的打通、以及分布式软总线支撑的跨平台操作能力,正在推动人机交互从 GUI 向 LUI 的范式转变。其核心价值体现在:

  1. 极简开发:约 40 行声明式代码即可接入系统级智能体,操作系统接管 UI、通信、上下文管理等基础设施。

  2. 自主决策:多智能体协同引擎使系统从"被动响应"走向"主动规划",用户只需表达意图,系统自主拆解并执行。

  3. 无缝流转:任务在多设备间自由迁移,70% 的时延降低使跨设备协作接近本地调用体验。

  4. 生态兼容:MCP 协议兼容降低了工具迁移成本,已有生态可以平滑接入。


HMAF 不仅是一个技术框架,更是鸿蒙生态迈向全场景智能化的关键基础设施。当人机交互的门槛被彻底降低,每个人都能以最自然的方式与设备对话,技术的价值才能真正惠及每一个用户。


发布于: 2026-05-08阅读数: 110
用户头像

InfoQ签约作者 2018-11-30 加入

热爱生活,收藏美好,专注技术,持续成长

评论

发布
暂无评论