在英语学习 App 中集成 AI 学习助手
一、HMAF 是什么
HarmonyOS 6.0 推出的鸿蒙智能体框架(HarmonyOS Multi-Agent Framework,简称 HMAF),是系统级 AI 能力开放的全新范式。它的核心理念可以概括为"1 个超级助理 + N 个垂直智能体"——小艺作为超级助理统一调度,各个垂直智能体各司其职,在端云一体大模型的驱动下协同完成复杂任务。
对于英语学习 App 而言,HMAF 意味着我们不再需要自行对接云端 AI 接口、管理模型调用状态、处理网络异常等琐碎工作。系统提供了一套完整的智能体生命周期管理、通信协议和模型调度机制,开发者只需专注于业务逻辑——即"英语学习助手"这个智能体该做什么、该说什么、该怎样呈现。
二、智能体注册与激活
在 HMAF 中创建一个学习智能体的流程分为三步:定义、注册、激活。我们首先需要继承系统提供的AgentBase基类,定义智能体的能力描述和触发条件。
import{ agent } from '@kit.AgentKit';@agent.AgentexportclassStudyAssistantAgentextendsagent.AgentBase{protectedonActivate(context: agent.AgentContext): void {// 智能体被激活时的初始化逻辑context.setDisplayName('学习助手'); context.setDescription('基于你的学习数据智能推荐每日单词和复习计划'); }protectedonRequest(input: agent.AgentInput): agent.AgentOutput{// 处理来自用户或其它智能体的请求returnthis.processStudyRequest(input); } }注册完成后,智能体需要被激活才能响应请求。激活时机有两类:一是用户显式调用(比如点击首页的"AI 推荐"按钮),二是系统根据场景自动触发(比如打开单词卡片页时自动推荐今日重点单词)。在我们的 App 中,推荐在CourseHomePage的aboutToAppear中自动激活学习助手智能体,让用户在进入单词学习页面时第一时间看到个性化推荐。
三、通信机制与数据集成
HMAF 的通信基于消息总线设计,智能体之间通过标准化的消息格式交换数据。每个消息包含sender、receiver、payload和priority四个核心字段,支持点对点和广播两种模式。
在我们的英语学习 App 中,最关键的是智能体如何获取学习数据。项目中的StatisticsManager以单例模式管理用户的答题统计、正确率、各题型掌握情况等数据。HMAF 智能体可以通过系统提供的DataProvider接口直接读取这些数据,无需关心数据存储细节。
// 在智能体内部获取学习统计letstats =StatisticsManager.getInstance().getHistoryStatistics();letwrongRate = stats.wrongQuestions/stats.totalQuestions;基于StatisticsManager提供的TypeStat数组,我们可以按题型分析用户的薄弱环节。例如,当typeStatistics中 '单词拼写' 类型的正确率低于 60% 时,智能体自动生成针对性的拼写练习推荐。这种数据驱动的方式,让 AI 推荐不再是"千人一面",而是真正个性化的。
四、个性化复习计划生成
HMAF 最强大的能力之一,是结合设备端数据和云端大模型生成个性化内容。以"今日重点单词"推荐为例,推荐的算法逻辑如下:
- 从 StatisticsManager 获取历史错题数据:分析各题型的错题率,识别高频错误词汇。
- 结合 LearningPlanManager 的学习计划:获取今日目标、连续学习天数、已学词汇量。
- 应用艾宾浩斯遗忘曲线:根据上次学习时间计算遗忘概率,优先推荐即将遗忘的单词。
- 综合生成推荐列表:智能体返回 10 个"今日重点单词",并附带推荐理由。
privategenerateReviewPlan(): WordCard[]{letstats =StatisticsManager.getInstance().getHistoryStatistics();letplan =LearningPlanManager.getInstance().getLearningPlan();letallWords = DEFAULT_WORD_CARDS;letrecommended: WordCard[]=[];// 优先选取错题率高的分类中的单词letweakTypes = stats.typeStatistics .filter(t => t.correctRate <60) .map(t => t.type);for(letwordofallWords) {if(recommended.length >=10) break;if(weakTypes.includes(word.category)) { recommended.push(word); } } return recommended; }五、UI 呈现:复用课程卡片设计
智能体的推荐结果需要有好的视觉呈现。HMAF 提供了AgentCard组件用于展示智能体内容,但它完全兼容 ArkUI 的原生组件体系。因此,我们可以将推荐结果直接用CourseHomePage中的单词卡片风格呈现,保持 App 视觉一致性。
推荐的做法是在首页的"今日推荐"区域放置智能体入口,点击后展开推荐列表。卡片正反面设计仍然保留——正面展示单词和音标,反面展示推荐理由(如"该词你已答错 3 次,建议重点复习")。这样既复用了已有的 UI 组件,又赋予了 AI 个性化的含义。
六、实践建议:从"每日推荐"开始
HMAF 的功能丰富,但建议不要一次性铺开。最佳实践是先从一个简单的"每日推荐"场景切入:
- 在
MainPage新增一个"AI 推荐"入口按钮。 - 点击后激活
StudyAssistantAgent,生成 5 个推荐单词。 - 推荐结果以原有单词卡片风格展示,点击可直接跳转
CourseHomePage学习。
这一步验证通过后,再逐步扩展到学习计划自动生成、薄弱环节分析和备考策略建议等更复杂的场景。这种渐进式集成方式,既降低了风险,也让团队逐步熟悉 HMAF 的开发模式。
七、总结
HMAF 为 HarmonyOS 应用打开了一扇通往 AI 原生体验的大门。通过智能体注册、数据集成和端云一体模型调用,我们的英语学习 App 可以在保持轻量化的同时,提供媲美专业 AI 助手的个性化学习体验。核心 500 单词 + 错题数据 + 遗忘曲线算法,三者结合足以打造一个用户每天都会主动打开的"随身 AI 英语教练"。