HarmonyOS APP《画伴梦工厂》开发第52篇-Agent开发实战——A2A接入系统级智能分发

第7.2篇:Agent 开发实战------A2A 接入系统级智能分发

难度 :⭐⭐⭐ 高级

前置知识 :第 7.1 篇 Skill 开发入门

涉及源文件:参考 HarmonyOS 7 Agent 开发文档


概述

HarmonyOS 7(API 26)在 HDC 2026 上正式发布,其中最引人瞩目的能力之一便是系统级 Agent 框架。如果说 7.1 篇的 Skill 是"单个智能功能的模块化封装",那么 Agent 就是"具备自主推理与执行能力的智能体"------它能理解用户意图,规划执行步骤,调用系统能力和第三方服务,最终完成任务闭环。

本文将从概念到实战,系统讲解 HarmonyOS 7 的 Agent 开发体系。你将理解:

  • Agent 是什么------从 Skill 到 Agent 的演进逻辑
  • Agent vs Skill------何时用 Skill,何时用 Agent
  • A2A 协议------Agent 之间的通信与协作机制
  • 双构建模式------LLM 驱动 vs Workflow 驱动
  • 系统级多入口分发------小艺、技能市场、上下文感知
  • Agent 架构------小艺智能大脑的四大支柱
  • "画伴梦工厂"的 Agent 化改造------从编排到智能体的跃迁
  • 实战开发------从零构建一个鸿蒙 7 Agent

一、什么是 HarmonyOS 7 Agent?

从 Skill 到 Agent 的演进

在 7.1 篇中我们学习了 Skill------它本质上是一个"可被小艺调用的功能模块",开发者定义触发意图和实现逻辑,用户通过语音或文字触发执行。Skill 的核心模型是 "意图 → 动作" 的线性映射。

Agent 则在 Skill 的基础上做了质的飞跃:

复制代码
Skill:    用户输入 → 意图匹配 → 执行固定逻辑 → 返回结果
Agent:    用户输入 → 意图理解 → 自主规划 → 工具调用 → 执行反馈 → 结果优化 → 返回
维度 Skill Agent
执行模式 固定流程,预定义路径 自主规划,动态决策
智能程度 规则匹配 LLM 推理 + 规划
工具调用 单一接口 多工具编排,动态选择
状态记忆 无状态 有状态(会话记忆 + 上下文)
错误处理 预置容错 自主重试、降级、求助
多轮交互 有限 完整多轮对话能力
复杂度 低~中 中~高

简单来说:Skill 是被动执行的"功能开关",Agent 是主动思考的"数字员工"

Agent 在鸿蒙 7 中的定位

鸿蒙 7 的 Agent 框架是小艺智能大脑开放给开发者的核心能力。它位于系统 AI 能力的顶层,向下调用端侧 LLM、视觉识别、语音合成等 AI 能力,向上对接小艺的对话界面和系统级分发入口。

复制代码
┌─────────────────────────────────────────────────┐
│                   用户交互层                       │
│   小艺对话   技能市场   上下文触发   悬浮球        │
└──────────────────────┬──────────────────────────┘
                       │
┌──────────────────────▼──────────────────────────┐
│              Agent 框架(开放层)                  │
│   ┌──────────┐  ┌──────────┐  ┌──────────────┐  │
│   │ LLM 模式  │  │Workflow  │  │ A2A 通信协议  │  │
│   │ (意图驱动) │  │(预定义流)│  │ (Agent间协作) │  │
│   └──────────┘  └──────────┘  └──────────────┘  │
└──────────────────────┬──────────────────────────┘
                       │
┌──────────────────────▼──────────────────────────┐
│             系统能力层(@kit.*)                   │
│   Core Vision  Speech  LLM  Network  File  ...  │
└─────────────────────────────────────────────────┘

二、A2A 协议:Agent 间的通信语言

A2A(Agent-to-Agent)是鸿蒙 7 定义的一套 Agent 间通信协议。它允许不同开发者构建的 Agent 彼此发现、协商、协作,共同完成复杂任务。

为什么需要 A2A?

考虑一个场景:用户说"帮我规划这周末带孩子的活动"。这个任务可能需要多个 Agent 协作:

  • 天气 Agent:查询周末天气
  • 地图 Agent:查找附近适合儿童的场所
  • 票务 Agent:查询门票和预约
  • "画伴梦工厂"Agent:提供绘画创作活动

没有 A2A,每个 Agent 各自为政,用户需要分别与它们交互。有了 A2A,Agent 之间可以自动编排协作流程。

A2A 协议的核心要素

复制代码
Agent A                             Agent B
  │                                    │
  │── A2A Discovery Request ──────────→│  (发现能力)
  │←── A2A Capability Response ────────│  (声明支持的任务类型)
  │                                    │
  │── A2A Task Assign ────────────────→│  (分配子任务)
  │   { taskId, params, context }      │
  │                                    │
  │── A2A Status Query ───────────────→│  (查询进度)
  │←── A2A Status Response ────────────│  { status, progress }
  │                                    │
  │←── A2A Task Complete ──────────────│  (任务完成通知)
  │   { taskId, result, artifacts }    │

消息格式示例(简化示意):

json 复制代码
{
  "protocol": "a2a/1.0",
  "messageType": "task_assign",
  "sender": "com.example.planner.agent",
  "target": "com.example.drawing.agent",
  "payload": {
    "taskId": "task_20260626_001",
    "intent": "create_drawing_activity",
    "params": {
      "theme": "weekend_fun",
      "userAge": 6,
      "preferredTime": "2026-06-27T14:00:00"
    },
    "context": {
      "sessionId": "session_xxx",
      "parentAgent": "com.example.planner.agent"
    }
  }
}

A2A 协议的三种协作模式

模式 描述 适用场景
链式 Agent A → Agent B → Agent C,顺序执行 流水线式任务(如:识别 → 生成 → 导出)
扇出 Agent A 同时分发子任务给多个 Agent 并行查询(如:比价、多源搜索)
汇聚 多个 Agent 的结果汇总到主 Agent 综合报告生成(如:旅行规划)

"画伴梦工厂"的现有 AI 编排流程(拍照 → 识别 → 文生图 → 图生视频 → 保存)天然适合 A2A 链式协作模式


三、双构建模式:LLM 模式与 Workflow 模式

鸿蒙 7 Agent 框架提供两种构建模式,开发者可以根据任务特性选择。

LLM 模式(意图驱动)

LLM 模式的核心思想是:让大模型驱动 Agent 的行为。开发者只需定义 Agent 可用的"工具集"(Tool Set),Agent 通过 LLM 推理自主决定调用哪些工具、以什么顺序调用。

复制代码
用户输入 → [LLM 推理] → 工具选择 → 工具调用 → 结果评估 → [LLM 推理] → 下一步...
                                          ↑                    │
                                          └────────────────────┘
                                          (循环直到任务完成)

适用场景

  • 用户意图不确定,需要多轮对话澄清
  • 任务路径不固定,需要动态规划
  • 需要创造性或开放性回答

示例:一个"活动推荐 Agent"

typescript 复制代码
// 伪代码示意 Agent 工具注册
@AgentEntry
class ActivityRecommenderAgent {
  @Tool({
    description: '根据年龄和兴趣推荐绘画活动'
  })
  async recommendDrawingActivity(age: number, interest: string): Promise<Activity> {
    // 调用"画伴梦工厂"的服务
    return DrawingService.generateActivity(age, interest);
  }

  @Tool({
    description: '查询指定日期的天气预报'
  })
  async getWeather(date: string): Promise<WeatherInfo> {
    return WeatherService.query(date);
  }

  @Tool({
    description: '查询附近适合儿童的场所'
  })
  async findNearbyPlaces(location: string, category: string): Promise<Place[]> {
    return MapService.searchNearby(location, category);
  }
}

当用户说"周末带 5 岁孩子去哪玩"时,LLM 会自主决定:

  1. 先调用 getWeather 查询周末天气
  2. 根据天气情况调用 findNearbyPlaces
  3. 如果用户对绘画感兴趣,调用 recommendDrawingActivity
  4. 汇总结果,给出综合建议

Workflow 模式(预定义管道)

Workflow 模式适合确定性流程的任务。开发者预先定义好执行步骤的 DAG(有向无环图),Agent 严格按照编排执行。

复制代码
用户输入 → Step 1 → Step 2 → Step 3 → ... → Final
             条件分支 → Step 2a / Step 2b → 合并

适用场景

  • 业务流程固定,如"下单 → 支付 → 发货"
  • 需要严格的顺序和依赖管理
  • 多步骤的 AI 编排任务

示例:"画伴梦工厂"的 Workflow Agent

typescript 复制代码
@WorkflowAgent({
  name: 'DrawingAnimationAgent',
  steps: [
    { name: 'capture',   tool: 'camera' },
    { name: 'recognize', tool: 'gpt4o-mini', depends: ['capture'] },
    { name: 'generate',  tool: 'seedream',   depends: ['recognize'] },
    { name: 'animate',   tool: 'img2video',  depends: ['generate'] },
    { name: 'save',      tool: 'repository', depends: ['animate'] }
  ]
})

双模式对比与选择

维度 LLM 模式 Workflow 模式
灵活性 高,动态规划 低,固定流程
可预测性 低,结果不固定 高,结果可预期
开发复杂度 高(需提示词工程) 中(定义 DAG)
调试难度 高(LLM 输出不确定) 低(流程可追踪)
延迟 较高(多次 LLM 调用) 较低(直接执行)
最佳场景 开放域对话、规划类 业务流水线、AI 编排

最佳实践:在实际应用中,LLM 模式和 Workflow 模式可以混合使用。例如,在 Workflow 的某个步骤中使用 LLM 做决策分支,或者在 LLM 模式中将某些确定性操作封装为 Workflow 子任务。


四、系统级多入口分发

Agent 开发完成后,鸿蒙 7 提供了多个系统级分发入口,让 Agent 能触达用户。

入口一:小艺对话

这是 Agent 最核心的分发入口。用户通过小艺的语音或文字输入触发 Agent 调用:

复制代码
用户:"帮我把这幅画变成动画"
小艺 → 意图识别 → 匹配 DrawingAnimationAgent → 执行 → 返回结果

Agent 通过 @Skill 装饰器声明触发意图,与小艺的意图识别引擎对接:

typescript 复制代码
@AgentEntry({
  skills: [
    {
      name: 'drawing.to.animation',
      intents: ['把画变成动画', '让画动起来', '制作动画', '画变动画'],
      priority: 10
    }
  ]
})

入口二:技能市场

Agent 可以发布到鸿蒙的技能市场(Skill Market),用户可以主动搜索和安装。技能市场提供:

  • 分类浏览:按 Agent 类别(教育、健身、旅行等)展示
  • 评分与评价:用户反馈机制
  • 自动化更新:Agent 版本管理与自动升级

入口三:上下文感知触发

鸿蒙 7 的上下文引擎能根据用户当前场景智能推荐 Agent:

  • 时间触发:每晚 8 点,推荐"睡前故事 Agent"
  • 位置触发:用户进入博物馆,推荐"展品讲解 Agent"
  • 行为触发:用户打开相册中孩子的画作,推荐"画变动画 Agent"
  • 设备触发:连接蓝牙耳机,推荐"语音笔记 Agent"
typescript 复制代码
@ContextTrigger({
  type: 'photoAlbum',
  condition: 'photo.category === "child_drawing"',
  suggestAgent: 'com.example.drawing.agent'
})

入口四:多设备流转

Agent 可以在设备间无缝流转。用户在手机上开始一个任务,可以在平板上继续:

复制代码
手机:用户说"把这幅画变成动画"
      → Agent 启动,图片上传,任务提交
平板:用户打开同一账号的平板
      → Agent 流转到平板,显示进度
电脑:用户打开电脑
      → Agent 流转到电脑,展示最终视频

五、Agent 架构:小艺智能大脑的四大支柱

在技术实现层面,鸿蒙 7 的 Agent 框架围绕四个核心组件构建,它们共同构成了**小艺智能大脑(Xiaoyi Smart Brain)**的开放架构。

支柱一:规划(Planning)

规划模块负责将用户意图分解为可执行的子任务序列。

复制代码
"制作一个恐龙动画"
  │
  ▼
┌─ Plan ──────────────────────────────────┐
│  1. 选择画作(从相册/拍照/涂鸦)          │
│  2. 识别画作内容(GPT-4o-mini)          │
│  3. 生成动画描述(LLM)                   │
│  4. 提交图生视频任务(Seedream)          │
│  5. 轮询等待结果                          │
│  6. 保存到作品集                          │
└──────────────────────────────────────────┘

Agent 框架内置了 ReAct(Reasoning + Acting) 规划策略,让 LLM 在"思考→行动→观察"的循环中逐步推进任务。

支柱二:工具(Tools)

工具是 Agent 与外部世界交互的接口。鸿蒙 7 定义了标准化的工具注册和调用协议:

typescript 复制代码
interface AgentTool {
  name: string;           // 工具名称
  description: string;    // 自然语言描述(供 LLM 理解用途)
  inputSchema: object;    // 输入参数 JSON Schema
  execute(params): any;   // 执行函数
}

系统预置了大量工具,开发者也可以注册自定义工具:

工具类别 示例 来源
系统工具 拍照、定位、剪贴板、日历 @kit.*
AI 工具 图片识别、语音合成、翻译 Core AI Kit
网络工具 HTTP 请求、WebSocket Network Kit
自定义工具 "画伴梦工厂"的 AI 生成服务 开发者注册

支柱三:记忆(Memory)

Agent 的记忆系统分为三个层次:

层次 存储内容 生命周期 实现方式
会话记忆 当前对话上下文 会话期间 内存缓存
用户记忆 用户偏好、历史行为 跨会话 端侧 preferences
知识记忆 Agent 的能力描述、FAQ 持久化 Agent 配置文件
typescript 复制代码
@AgentMemory({
  session: { type: 'sliding_window', windowSize: 10 },
  user: { 
    type: 'persistent',
    fields: ['favoriteTheme', 'ageGroup', 'creationHistory']
  },
  knowledge: {
    type: 'static',
    sources: ['./knowledge/faq.json']
  }
})

支柱四:执行(Execution)

执行引擎负责调度规划步骤、管理工具调用、处理异常和反馈:

复制代码
执行引擎工作流:
1. 接收规划步骤
2. 解析步骤依赖
3. 准备工具调用参数
4. 执行工具(同步/异步)
5. 收集执行结果
6. 错误检测与处理
   ├── 成功 → 返回结果,继续下一步
   ├── 可重试错误 → 自动重试(最多 3 次)
   └── 不可恢复错误 → 向用户报告,请求指导
7. 完成所有步骤 → 汇总结果 → 返回用户

六、"画伴梦工厂"的 Agent 化改造

我们现有的 AI 编排流程(第 3.9 篇)本质上已经具备 Workflow Agent 的雏形。下面展示如何将其改造为一个标准的鸿蒙 7 Agent。

现有架构回顾

当前"画伴梦工厂"的 AI 编排是一个三页面的手动编排流程

复制代码
PhotoRecognitionPage → RecognitionWaitingPage → RecognitionResultPage
      ↓                      ↓                        ↓
    拍照采集             AI 等待+轮询              结果展示

每个页面之间的跳转和数据传递由开发者手动管理,状态机、定时器、异步回调等都耦合在页面代码中。

Agent 化改造设计

将整个流程封装为一个 Workflow Agent,由 Agent 框架接管流程编排:

typescript 复制代码
@WorkflowAgent({
  name: 'DrawingToAnimationAgent',
  description: '将儿童绘画转化为动画',
  entry: {
    skills: [
      {
        intents: ['把画变成动画', '让画动起来', '制作动画'],
        triggerType: 'voice' | 'text' | 'context'
      }
    ]
  },
  workflow: {
    steps: [
      {
        name: 'collectImage',
        tool: 'ImageCollector',
        description: '采集画作(拍照/相册/涂鸦)',
        output: 'imageUri'
      },
      {
        name: 'recognizeContent',
        tool: 'ImageRecognizer',
        description: '识别画作内容',
        depends: ['collectImage'],
        input: { image: '$steps.collectImage.output.imageUri' },
        output: 'recognitionResult'
      },
      {
        name: 'generateAnimation',
        tool: 'AnimationGenerator',
        description: '生成动画',
        depends: ['recognizeContent'],
        config: {
          maxRetries: 3,
          timeoutMs: 360000,
          pollingInterval: 5000
        },
        output: 'videoUri'
      },
      {
        name: 'saveToWorks',
        tool: 'WorkSaver',
        description: '保存到作品集',
        depends: ['generateAnimation'],
        input: { video: '$steps.generateAnimation.output.videoUri' },
        output: 'workId'
      }
    ],
    onProgress: (step, progress) => {
      // 进度通知回调
      NotifyAgent.updateProgress(step, progress);
    },
    onError: (step, error) => {
      // 错误处理策略
      if (error.isRetryable && step.retryCount < 3) {
        return RetryPolicy.RETRY;
      }
      return RetryPolicy.ASK_USER;
    }
  }
})

改造带来的收益

维度 改造前(手动编排) 改造后(Agent 框架)
代码量 三个页面 + 服务层,约 800 行 Agent 定义 + 工具注册,约 200 行
状态管理 手动 @State + 状态机 框架自动管理
错误处理 try-catch + 重试按钮 声明式策略 + 自动重试
多入口 仅应用内入口 小艺、技能市场、上下文触发
可扩展性 修改页面代码 添加新工具或修改 Workflow
跨设备 不支持 天然支持设备流转

七、Agent 分类与应用场景

鸿蒙 7 的 Agent 框架覆盖了广泛的场景类别。以下是官方定义的主要 Agent 分类及示例:

类别 典型 Agent 核心能力
出行交通 打车 Agent、导航 Agent、停车 Agent 定位、路线规划、支付
购物比价 比价 Agent、优惠券 Agent 商品搜索、价格对比
饮食餐饮 外卖点餐 Agent、菜谱推荐 Agent 菜单浏览、下单支付
金融财经 记账 Agent、汇率换算 Agent 数据录入、实时汇率
娱乐影音 音乐推荐 Agent、短视频 Agent 内容搜索、播放控制
健康健身 健身指导 Agent、饮食记录 Agent 运动监测、卡路里计算
教育学习 背单词 Agent、AI 辅导 Agent 学习计划、内容生成
创作工具 绘画 Agent、笔记 Agent、视频 Agent AI 生成、内容管理

教育类 Agent 场景设计(以"画伴梦工厂"为例)

复制代码
场景:孩子画了一幅画,家长想把它变成动画

触发方式:
  ├─ 语音:"小艺小艺,帮我把这幅画变成动画"
  ├─ 上下文:打开相册中的画作照片 → 小艺推荐"画变动画 Agent"
  └─ 技能市场:搜索"儿童绘画动画" → 安装 DrawingToAnimationAgent

执行流程:
  1. ImageCollector 从相册获取画作
  2. ImageRecognizer 识别画作内容(恐龙/森林/城堡)
  3. LLM 生成动画描述脚本
  4. AnimationGenerator 调用图生视频服务
  5. WorkSaver 保存到作品集
  6. 小艺播报:"动画已做好,去看看吧!"

后续对话:
  用户:"换个风格试试"
  Agent:自动重新生成,使用不同的动画风格参数

健身类 Agent 场景设计

作为对比,这里也展示一个健身类 Agent 的设计思路:

复制代码
场景:用户说"今天想练 15 分钟上肢"

触发方式:语音 → 小艺 → 健身 Agent

执行流程:
  1. 从用户记忆中读取运动历史和偏好
  2. 查询当天天气(适合户外还是室内)
  3. 根据时间和设备推荐训练计划
  4. 调用语音合成实时指导动作
  5. 运动结束后记录数据到健康应用
  6. 生成运动报告并鼓励用户

八、在 HarmonyOS 7 中开发一个简单 Agent

环境准备

  • DevEco Studio 26.0+(API 26)
  • module.json5 中声明 Agent 权限:
json 复制代码
{
  "extensionAbilities": [
    {
      "name": "DrawingAgentAbility",
      "srcEntry": "./ets/agent/DrawingAgent.ets",
      "type": "agent",
      "exported": true,
      "metadata": [
        {
          "name": "ohos.extension.agent",
          "resource": "$profile:agent_config"
        }
      ]
    }
  ],
  "requestPermissions": [
    {
      "name": "ohos.permission.ACCESS_AGENT_FRAMEWORK",
      "reason": "$string:agent_permission_reason"
    }
  ]
}

项目结构

复制代码
products/default/src/main/ets/agent/
  ├── DrawingAgent.ets          # Agent 入口和生命周期
  ├── tools/
  │   ├── ImageCollector.ets    # 图片采集工具
  │   ├── ImageRecognizer.ets   # 图片识别工具
  │   └── AnimationGenerator.ets # 动画生成工具
  └── config/
      └── agent_config.json     # Agent 元数据配置

agent_config.json

json 复制代码
{
  "agent": {
    "name": "DrawingToAnimationAgent",
    "displayName": "$string:agent_display_name",
    "description": "$string:agent_description",
    "version": "1.0.0",
    "mode": "workflow",
    "icon": "$media:agent_icon",
    "category": "education",
    "entryPoints": ["voice", "text", "context"],
    "skills": [
      {
        "name": "drawing.to.animation",
        "intents": ["把画变成动画", "让画动起来", "制作动画"]
      }
    ],
    "deviceCapabilities": ["camera", "network"],
    "privacyPolicy": {
      "dataCollected": ["image", "drawingContent"],
      "dataUsage": "仅用于生成动画,不上传服务器"
    }
  }
}

Agent 入口文件

typescript 复制代码
// DrawingAgent.ets
import { AgentExtension, AgentContext } from '@kit.AgentKit';
import { ImageCollector } from './tools/ImageCollector';
import { ImageRecognizer } from './tools/ImageRecognizer';
import { AnimationGenerator } from './tools/AnimationGenerator';

@AgentExtension
export class DrawingToAnimationAgent extends AgentExtension {
  private collector: ImageCollector = new ImageCollector();
  private recognizer: ImageRecognizer = new ImageRecognizer();
  private generator: AnimationGenerator = new AnimationGenerator();

  onStart(context: AgentContext): void {
    Logger.info('DrawingAgent started');
    // 读取用户记忆中的偏好
    const preferences = context.getUserPreferences();
    this.generator.setStyle(preferences.favoriteStyle || 'cartoon');
  }

  async onExecute(context: AgentContext): Promise<AgentResult> {
    // Step 1: 采集画作
    const imageUri = await this.collector.collect(context);
    context.updateProgress(25, '画作已采集');

    // Step 2: 识别内容
    const recognition = await this.recognizer.recognize(imageUri);
    context.updateProgress(50, '已识别画作内容');
    context.setMemory('recognition', recognition);

    // Step 3: 生成动画
    const videoUri = await this.generator.generate(
      imageUri,
      recognition.prompt
    );
    context.updateProgress(75, '动画已生成');

    // Step 4: 保存作品
    const workId = await context.saveToWorkspace({
      type: 'animation',
      source: imageUri,
      result: videoUri,
      metadata: recognition
    });
    context.updateProgress(100, '已保存到作品集');

    return {
      success: true,
      message: `动画已生成并保存!`,
      data: { workId, videoUri }
    };
  }

  onStop(): void {
    this.generator.cancel();
    Logger.info('DrawingAgent stopped');
  }

  onError(error: BusinessError): void {
    Logger.error(`DrawingAgent error: ${error.message}`);
    // 向用户发送友好的错误提示
    this.notifyUser('生成失败了,请检查网络后重试');
  }
}

调试与测试

在 DevEco Studio 中,可以通过 Agent Testing Panel 对 Agent 进行调试:

  1. 意图测试:输入自然语言,验证意图匹配是否正确
  2. 步骤调试:单步执行 Workflow 的每个步骤
  3. 工具模拟:模拟工具返回值,测试异常场景
  4. 性能分析:查看 Agent 各步骤的执行耗时和资源占用

九、最佳实践与未来方向

最佳实践

  1. 明确模式选择

    • 业务流程固定 → Workflow 模式
    • 开放域任务 → LLM 模式
    • 推荐:从 Workflow 开始,逐步引入 LLM 增强
  2. 工具设计原则

    • 单一职责:每个工具只做一件事
    • 清晰的描述:工具描述直接影响 LLM 的调用决策
    • 输入校验:使用 JSON Schema 定义参数,避免运行时错误
  3. 记忆管理

    • 会话记忆不要超过 10 轮,避免 token 爆炸
    • 用户记忆及时持久化,在 onStop 中 flush
    • 敏感数据不要放入记忆(如密码、token)
  4. 错误处理策略

    • 可重试错误:自动重试,最多 3 次,指数退避
    • 不可恢复错误:降级到最简功能,不要抛给用户原始错误
    • 关键步骤失败时:主动询问用户是否需要帮助
  5. 隐私合规

    • 在 agent_config.json 中声明数据收集范围
    • 敏感操作(拍照、录音)前获取用户明确授权
    • 端侧优先:优先在本地完成推理,减少数据上传

未来方向

鸿蒙 7 的 Agent 框架仍在快速演进中。以下是一些值得关注的趋势:

方向 描述 预期影响
多 Agent 协作 多个专业 Agent 组成"Agent 团队" 复杂任务的高效分解与执行
端侧 LLM 增强 端侧模型能力持续提升,推理更快 Agent 响应延迟从秒级降到毫秒级
Agent Store 类似应用市场的 Agent 分发平台 Agent 生态的繁荣
跨设备 Agent Agent 在手机/平板/车机/穿戴设备间无缝迁移 全场景智能体验
Agent 可解释性 Agent 决策过程透明化 用户对 AI 决策的信任提升

总结

HarmonyOS 7 的 Agent 框架为开发者打开了一扇全新的大门------从开发"功能"到开发"智能体",从被动响应到主动服务,从单设备到全场景。

本文的核心要点:

主题 要点
Agent vs Skill Skill = 功能模块,Agent = 自主智能体
A2A 协议 Agent 间通信与协作(链式/扇出/汇聚)
双构建模式 LLM 模式(灵活) vs Workflow 模式(确定性)
系统级分发 小艺对话、技能市场、上下文触发、设备流转
四大架构支柱 规划、工具、记忆、执行
"画伴梦工厂"Agent 化 现有 AI 编排流程 → Workflow Agent
场景分类 出行/购物/餐饮/金融/娱乐/健康/教育/创作

从第 7.1 篇的 Skill 到本篇的 Agent,我们见证了鸿蒙 AI 开放能力从"可调用"到"可思考"的飞跃。下一篇 7.3,我们将进入端侧视觉 AI 的世界------探索图像超分辨率与文搜图技术如何让"画伴梦工厂"的创作体验更进一步。


参考资源

  • HarmonyOS 7 Agent 开发文档(API 26)
  • HarmonyOS 7 Skill 开发指南(API 26)
  • DevEco Studio 26.0 发布说明
  • HDC 2026 主题演讲:HarmonyOS 7 智能体框架
相关推荐
花开彼岸天~10 小时前
03 module.json5 配置文件全解:能力声明、权限申请与设备支持
华为·harmonyos·鸿蒙系统
ZZZMMM.zip11 小时前
基于鸿蒙HarmonyOS NEXT开发AI股票分析应用:智能投资新体验与鸿蒙Flutter框架跨端实践
人工智能·flutter·华为·harmonyos·鸿蒙
花开彼岸天~13 小时前
04 oh-package.json5 与依赖管理:ohpm 包管理器全解析
华为·harmonyos·鸿蒙系统
爸爸61914 小时前
06 项目目录结构与编码规范:三层架构与 DAO 模式实践
华为·架构·harmonyos·鸿蒙系统
不才难以繁此生15 小时前
HarmonyOS 端侧应用实战:中式美食如何把资源、路由、存储和视频拆菜串成一条工程链路
harmonyos·arkts·arkui·中式美食·端侧应用
爸爸61915 小时前
07 ArkTS 基础类型与接口定义:从 TypeScript 到鸿蒙的类型升级
javascript·华为·typescript·harmonyos·鸿蒙系统
绝世番茄16 小时前
鸿蒙 HarmonyOS ArkTS 音乐播放器界面布局深度学习指南
深度学习·华为·list·harmonyos·鸿蒙
不才难以繁此生17 小时前
HarmonyOS 实战|中式美食视频拆菜编辑面板:因子状态、草稿卡片与底部操作条
harmonyos·arkts·中式美食·arkui v2·视频拆菜
在书中成长17 小时前
HarmonyOS 小游戏《对战五子棋》开发第18篇 - 棋盘设计
算法·harmonyos
m0_7496902317 小时前
HarmonyOS 本地备份与系统备份:BackupExtensionAbility、快照导出和恢复
harmonyos