在HDC 2026上亮相的HarmonyOS 7,把鸿蒙的叙事从单纯的“万物互联”推进到了“Agent时代”。过去通过分布式软总线解决设备协同,现在更进一步:应用需要具备自主理解、规划与执行的能力。对开发者来说,这意味着编写应用的心智模型正在从“画界面、调接口”转向“定义能力、编排智能体”。
单Agent在复杂场景下的不足是明显的:任务杂、能力分散、可靠性要求高。多智能体的核心思路是用“分工协作”替代“单打独斗”:一个Orchestrator负责拆解意图和调度子Agent,每个子Agent专注一种能力,通过标准协议通信。这样既提升成功率,也让能力边界更清晰。
为什么HarmonyOS适合做多智能体?四个能力底座值得关注。分布式软总线把跨设备通信封装成本地调用,Agent调度其他设备上的能力时,设备差异被屏蔽,只需关心能力本身。HarmonyOS 7的Agent框架统一了智能体的定义、注册、调用与上下文管理,开发者可以像声明组件一样声明一个Agent。意图框架让应用以“用户想做什么”而非“调用哪个API”来组织能力,Orchestrator只需表达意图,系统负责路由到本机应用、跨端设备或云端服务。端侧推理与端云协同则让轻量模型留在端侧保证隐私和低延迟,复杂推理自动走云端,在“快”和“强”之间动态取舍。
这些能力在多智能体场景中能派上不少用场。例如智能出行:用户说“明天带娃去海边玩一天”,Planner拆出查天气、规划路线、预订、生成清单,Executor调用车机导航、票务、日历,Reflector检查是否遗漏防晒和儿童设施。又如跨设备生产力:手机口述纪要,Orchestrator调度转录、摘要、多语翻译Agent,结果流转到大屏排版和手表提醒。主动服务场景中,系统感知下班时间,结合日历和路况,Agent群组主动给出避拥堵建议并预启动导航。
在ArkTS中编排这样一个多智能体流程,核心是定义统一的Agent接口,让Planner、Executor、Reflector作为子Agent注册到Orchestrator,再通过意图框架与Ability通信串联。以下是一段结构完整的示意代码,语法和工程惯例遵循HarmonyOS 7的典型写法。
- // MultiAgent.ets —— HarmonyOS 7 应用内多智能体协作示例
- // 说明:本示例演示 Orchestrator 调度三个子 Agent 的完整结构,
- // SDK 名称为示意,语法与工程惯例遵循 ArkTS / HarmonyOS 7。
- import { AbilityContext } from '@kit.AbilityKit'; // 提供跨 Ability 调用上下文
- import { taskPool } from '@kit.ArkTS'; // 任务池,用于并发调度子 Agent
- import { intent } from '@kit.IntentKit'; // 意图框架(示意)
- // 统一的智能体接口:每个 Agent 都接收文本输入、返回文本输出
- interface Agent {
- readonly name: string;
- run(input: string): Promise<string>;
- }
- // 子智能体 1:规划者 —— 负责意图拆解与任务编排
- class PlannerAgent implements Agent {
- readonly name: string = 'Planner';
- async run(input: string): Promise<string> {
- // 实际工程中此处调用端侧/云端大模型进行任务拆解
- const plan = `计划: [解析意图:${input}] -> [拆解:查天气,规划路线,生成清单] -> [分配执行]`;
- return plan;
- }
- }
- // 子智能体 2:执行者 —— 通过意图框架跨端/跨 Ability 真正干活
- class ExecutorAgent implements Agent {
- readonly name: string = 'Executor';
- private ctx: AbilityContext;
- constructor(ctx: AbilityContext) {
- this.ctx = ctx;
- }
- async run(input: string): Promise<string> {
- // 通过意图框架表达"执行",由系统路由到最合适的执行方(本机/跨端/云端)
- const want = intent.build({
- action: 'ohos.want.action.RUN_PLAN',
- parameters: { plan: input }
- });
- // ctx.startAbility(want); // 示意:跨 Ability / 跨设备发起执行
- return `执行完成: ${input}`;
- }
- }
- // 子智能体 3:反思者 —— 校验结果质量,必要时触发回退
- class ReflectorAgent implements Agent {
- readonly name: string = 'Reflector';
- async run(input: string): Promise<string> {
- // 实际工程中此处用模型或规则校验结果是否遗漏关键项
- const ok = input.includes('清单');
- return ok ? `反思通过: ${input}` : `反思未通过,建议补全: ${input}`;
- }
- }
- // 编排者:持有子 Agent 注册表,按序串联协作流程
- class Orchestrator {
- private agents: Map<string, Agent> = new Map();
- constructor(ctx: AbilityContext) {
- this.agents.set('planner', new PlannerAgent());
- this.agents.set('executor', new ExecutorAgent(ctx));
- this.agents.set('reflector', new ReflectorAgent());
- }
- // 编排主流程:规划 -> 执行 -> 反思
- async orchestrate(userIntent: string): Promise<string> {
- const plan = await this.agents.get('planner')!.run(userIntent);
- const result = await this.agents.get('executor')!.run(plan);
- const review = await this.agents.get('reflector')!.run(result);
- return review;
- }
- }
- // 在页面/Ability 中调用编排者
- @Entry
- @Component
- struct AgentPage {
- private orchestrator: Orchestrator = new Orchestrator(getContext(this) as AbilityContext);
- // 用户发出指令时触发多智能体协作
- async onUserCommand(cmd: string): Promise<void> {
- const output = await this.orchestrator.orchestrate(cmd);
- console.info(`[MultiAgent] 最终结果: ${output}`);
- }
- }
复制代码
这段代码背后有几个设计要点值得沉淀。第一,Agent接口统一,新加一个RetrieverAgent只需实现同一个接口并注册,具备可插拔性。第二,职责分离,Planner只管拆解,Executor借助意图框架落地,Reflector只做质量检查,互不耦合。第三,可扩展性,把await串行改成taskPool并发,就能让没有依赖的子任务并行执行。第四,端云协同,Executor通过意图框架路由,复杂任务自动走云端,轻量任务留在端侧。
HarmonyOS 7的“Agent时代”不只体现在某一个模型或框架上,而是让一群各司其职的智能体借助软总线、意图框架与端云协同,在设备之间自主协作。对开发者来说,现在正是把复杂意图拆解成优雅多智能体协作的好时机。 |