查看: 286|回复: 0

鸿蒙AI编码质量闭环:DevEco Code校验循环与Skill分级路由

[复制链接]
发表于 1 小时前 | 显示全部楼层 |阅读模式
AI Coding正在成为移动端研发的主流范式,但鸿蒙生态在这条路上的起点和iOS、Android并不一样。Android有超过十年积累的Java/Kotlin语料,iOS也有体量可观的Swift/Objective-C代码库,而ArkTS问世时间不长,公开可得的鸿蒙代码语料非常有限。语言层面的差距会直接影响大模型的生成质量,且这是模型自身很难补足的短板。与此同时,鸿蒙的设备形态又不止直板机一种,双折叠、三折叠都需要差异化适配,同一份业务代码在不同形态上的呈现逻辑差异明显。叠加鸿蒙应用工程普遍庞大、传统IDE交互面向人而非AI工作流这两个事实,鸿蒙环境下的AI编码面对的并不是单点问题,而是四点叠加的系统性挑战。

面对这种局面,华为在工具链上采取了一套"两层工具+一个开放市场"的布局:DevEco Code定位开箱即用的Coding Agent,覆盖项目创建、需求分析、代码生成、验证、集成测试到运维的完整链路;DevEco CLI则把IDE里的能力原子化,拆成可供AI Agent直接调用的命令行工具;两者之上还有格物市场,用来聚合官方和生态伙伴的Skills、MCP工具与知识库。这套方案的核心思路是分层:面向需要快速上手的开发者提供DevEco Code,面向已有AI流水线的团队提供DevEco CLI,市场则承担能力进一步扩展的职能。

质量是AI Coding落地中最关键的一环,DevEco Code用"三循环Harness"来解决这个问题。第一个循环是轻量级语法校验,结合LSP做依赖分析与引用关系查找,让Agent在动大手术之前先理解项目结构。第二个循环是编译诊断,直接调用原子化命令行编译工具,把编译错误反馈给AI修复。第三个循环是UIAI意图功能校验,它的存在直指AI编码长期被忽视的一个盲区:编译通过不等于功能正确,功能正确不等于UI符合预期。UI验证Agent会基于多模态模型自动拉起模拟器,模拟人工的点击、滑动、长按、输入等交互操作,在执行过程中截图并生成视觉对比报告,开发者只需查看结果做决策,不必再反复手动回归验证。

代码修复Agent也是这套体系里的重要组成部分。它覆盖语法错误、类型错误、边界错误、引用错误、URI错误等十几种典型问题。针对运行时的崩溃问题,代码修复Agent还配有专属Skill:自动采集崩溃日志并做分析,基于团队对一百多个崩溃定位案例的积累,修复成功率保持在80%以上,单次崩溃能够在分钟级内完成修复。

开发模式方面,DevEco Code给出了Build、Plan+Build、Goal三种选择,方便开发者在自主度和人工介入之间取平衡。Build模式适合需求明确、追求速度的场景,Agent写完就改,几乎不需要交互。Plan+Build模式则要求先规划后执行:Plan Agent先扫描代码库、梳理依赖关系并给出结构化任务清单,由开发者确认后,Build Agent按计划逐步实施,每完成一个任务就自动构建验证。Goal模式采用的思路是SDD,也就是规格驱动开发。开发者用自然语言描述需求后,Agent会先和开发者对齐验收标准,进入自主开发循环,完成从代码生成、静态检查、修复、构建出包、推送到模拟器到功能自验证的完整链路,开发结束后模拟器会自动拉起运行,开发者只需要做最终确认。

如果说DevEco Code更多是面向人的Agent化开发环境,DevEco CLI则是在做更深层的工程化适配。它的思路很直接:传统IDE是面向人的可视化集成环境,但当AI Agent是开发主体时,GUI反而成了瓶颈。Agent想要的不是界面,而是可编程调用的原子接口。于是devecocli被拆成create、build、device、emulator、run等一条条命令,再加上check、知识检索和Skills管理入口,通过一行devecocli init就能完成鸿蒙环境初始化和Skills安装。这种"命令行即接口"的设计,让Agent可以把构建、运行、模拟器、日志、知识检索等环节串成完整的工作流。

DevEco CLI内置的官方知识库解决了另一个重要问题——语料不足。这个知识库涵盖最佳实践、开发指南、API参考、FAQ、版本说明和变更预告,总规模达到两千万字。为保证Agent使用时不会过载,知识库做了本地响应、渐进式读取、鸿蒙专有术语映射和结构化输出适配。本质上是把华为沉淀的官方结构化知识封装成Agent能直接调用的能力,在公开语料还不够厚的时候,用工程手段弥补模型在鸿蒙领域认知的不足。

Skills是这套体系的另一个关键变量,目前DevEco CLI和格物市场累计提供了70余个Skills,覆盖ArkTS语法规则、ArkUI开发技能、多设备适配、自动Bug修复、日志分析、测试与质量等场景。但Skill数量一多,问题也随之出现:大模型面对过多选择时会出现劣化,Agent往往要反复加载多个Skill才能找到真正有用的那个。为了解决这个问题,华为设计了Skill分级路由方案,把Skill拆成L0到L3四个层级。L0是ArkTS语法框架层,解决模型把ArkTS写成TS的典型问题;L1是组件与系统API层,当Agent要调用鸿蒙API时,路由到对应文档,确保系统接口使用准确;L2是工程上下文层,按当前工程的构建方式、常见错误修复路径做适配;L3是业务规则层,把业务约束和规范注入生成过程。四层遵循"先核心、后场景"的原则,先把语言和API层面的通用问题处理掉,再按工程和业务场景分发,避免把所有Skill一股脑塞进上下文造成的信息过载。

多设备适配Skills的效果可以直观说明这套机制的价值。在没有加载hmos-multidevice-scenario-entry时,AI针对双折叠屏生成的是单列布局,针对三折叠屏生成的是双列布局;叠加多设备Skill后,双折叠屏正确生成双列布局,三折叠屏也能按三列布局输出。这就是Skills对模型在鸿蒙多设备适配能力上的直接补强。

回到验证层面,华为还把"AI代码怎么验证"提炼成了HarmonyOS Verify体系,分递进四层。第一层是ETS语法检查和编译构建修复,属于最基础的静态保障。第二层是UI自动化操作加多模态图片验证:工具集模拟点击、滑动、长按、输入,Agent按需求文档执行操作后,用截图工具采集界面并交给多模态模型做视觉比对,判断实际行为是否符合预期。第三层是辅助定位工具,遇到问题不能只停留在"看到不对",还得知道"哪里不对"——Hidumper负责打印UI元素树,协助识别组件坐标与属性,日志采集分析工具则拿到编译或运行时的实时日志,两者构成问题定位的诊断依据。第四层是一多适配验证,也就是在直板机、双折叠、三折叠、平板多种形态上自动跑验证,确认代码在不同设备形态下都能正确呈现。从静态语法、构建、运行态UI到多端一致性,正好回应了鸿蒙场景下AI Coding最难处理的那几个环节。

鸿蒙的AI Coding布局里还有几个值得长期关注的方向:鸿蒙专属高质量代码语料体系的建设、超大复杂鸿蒙工程的全局理解能力,以及长程复杂开发任务中的目标约束与分段锚定。这三件事都不能靠单点功能补丁解决,需要生态层面的持续投入。鸿蒙作为后发者,在AI Coding时代有一个结构性优势:工具链不必背负"面向人的历史包袱",可以从零开始按AI工作流设计。DevEco Code的Agent定位、DevEco CLI的原子化拆分、格物市场的开放式聚合,都是这种思路的体现。

(本文内容整理自InfoQ技术分享,嘉宾为华为终端软件部AI技术专家许云红与Agent产品架构师姜钰潇。)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

Hacking Group 021A

旗下站点

态势感知中心

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

关注微信公众号

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2026-9-5 11:14 , Processed in 0.019791 second(s), 17 queries , Gzip On, Redis On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部