随着搭载HarmonyOS 5的Pura X发布,鸿蒙生态进入快车道,各应用正在加速适配开发,越来越多开发者加入到鸿蒙应用开发浪潮中。为提升鸿蒙应用开发效率,华为前不久上线了首款开发HarmonyOS应用的AI智能辅助开发助手——CodeGenie,该AI助手深度集成在DevEco Studio中,提供鸿蒙知识智能问答、鸿蒙ArkTS代码补全/生成和万能卡片生成等功能,提升了开发效率,深受广大开发者的喜爱。

应广大开发者的需求建议,我们最近又对CodeGenie进行了一次升级,不仅针对DeepSeek-R1新增支持鸿蒙知识RAG能力,还上线了代码解释功能,持续拓展AI在辅助鸿蒙应用开发全流程中的深度和广度。

升级点1:接入DeepSeek的小艺新增融合RAG能力,鸿蒙知识问答更精准更丝滑

随着CodeGenie接入了带上DeepSeek的小艺,智能体的问答变得更加丝滑流畅;同时此次小艺对DeepSeek模型增强融合了RAG能力,从生成机制上协同降低模型幻象,并同时提升生成模型的准确性和相关性。

RAG检索增强的核心机制是通过“检索-生成”分离架构,将模型输出严格约束在可信数据范围内:

1、实时检索验证:在生成阶段,系统首先从官方语料库中检索与用户输入最相关的片段,形成上下文约束。

主要实现技术:

(1)向量搜索:将查询和文档嵌入到高维向量空间,通过计算相似度进行检索。

(2)近似最近邻:提高大规模数据集下的检索效率。

(3)检索模型:用于高效检索相关文档。

2、可控生成过程:将检索结果作为生成模型的输入,引导模型仅基于已验证内容进行回答,大幅降低“虚构答案”的概率。

主要实现技术:

(1)使用大型语言模型(LLM):结合检索到的上下文生成回答

(2)提示工程(Prompt Engineering):通过优化提示模板,引导生成模型合理利用检索结果。

(3)模型微调(Fine-tuning):针对特定领域优化生成模型的表现。RAG支持实时更新官方数据源,避免传统微调模型因数据滞后产生的幻象。

图1:DeepSeek RAG检索流程

另外RAG检索增加使用结合机制和反馈优化手段,有效融合检索模块和生成模块,以及不断提升RAG系统性能:

1、结合机制:

(1)概率加权:通过对检索到的文档分配权重,影响生成模型的输出。

(2)多文档处理:结合多篇相关文档,生成综合性的答案。

2、反馈优化:

(1)测试反馈:根据实测结果调整检索和生成策略。

(2)强化学习:通过奖励机制优化模型行为。

经过RAG增强后的DeepSeek核心定位策略是专注成为鸿蒙生态开发领域的专家型助手,始终以HarmonyOS技术体系为核心服务领域,持续深耕鸿蒙系统组件开发全流程支持。当涉及非鸿蒙知识问题时,优先聚焦鸿蒙相关技术实现路径,如涉及必要的外部技术栈,会在有三方权威数据支撑时提供相关的延伸指导。这种设计既保障了鸿蒙技术支持的专注度,又通过善意引导帮助用户建立合理预期,最终实现开发者体验与专业深度的双提升。

随着DeepSeek模型使用RAG能力增强之后,CodeGenie接入的DeepSeek模型在鸿蒙领域上更专业、更准确。无需开发者在使用过程中强制加上“鸿蒙场景下”或“ArkTS中”等限定词,也能精准理解意图并输出鸿蒙技术栈内相应的专业知识,为鸿蒙开发场景带来了前所未有的智能问答体验。

RAG增强型与传统生成式AI的关键差异:

能力维度

传统生成式AI

RAG增强型AI

知识时效性

依赖训练时的静态数据

动态同步最新技术文档

场景适配性

通用性回答,缺乏深度上下文关联

结合代码上下文生成

版本兼容性校验

易产生过时API建议

自动过滤不兼容版本

图2:DeepSeek模型增强RAG能力前后效果对比图

升级点2:新增代码解释功能,提升初学者开发效率

针对开发过程中常见的代码问题,CodeGenie:此次新增了代码解释功能,进一步降低开发门槛。用户在选中代码片段后,AI即可自动分析代码结构,提供直观、易懂的解释,帮助开发者快速理解复杂逻辑与语法,尤其适合初学者或对ArkTS语言尚不熟悉的开发者,加速其上手与成长。

图3:代码解释功能

即刻体验

目前,CodeGenie新增能力已经上线,开发者可进入“HarmonyOS开发者官网”,点击“开发”——>“DevEco Studio”,可“立即下载”最新版AI辅助编程插件,进行安装使用。

图4:CodeGenie单独下载路径

进入“HarmonyOS开发者官网”,点击“开发”——>“开发文档”,点击左侧“DevEco Studio”——>“AI智能辅助编程工具”——>“CodeGenie”获取技术文档、使用指南,快速上手开发,体验AI带来的高效开发新模式。

图5:CodeGenie官网资料访问路径

未来, 鸿蒙应用开发AI助手CodeGenie将月度快速更新更多新功能,可持续关注HarmonyOS开发者官网。

了解更多CodeGenie相关信息,请访问HarmonyOS开发者官网:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-codegenie?ha_source=bokeyuan&ha_sourceId=89000449

DevEco Studio AI辅助开发工具两大升级功能 鸿蒙应用开发效率再提升的更多相关文章

  1. 谁能真正替代你?AI辅助编码工具深度对比(chatGPT/Copilot/Cursor/New Bing)

    写在开头 这几个月AI相关新闻的火爆程度大家都已经看见了,作为一个被裹挟在AI时代浪潮中的程序员,在这几个月里我也是异常兴奋和焦虑.甚至都兴奋的不想拖更了.不仅仅兴奋于AI对于我们生产力的全面提升,也 ...

  2. Web 开发和数据科学家仍是 Python 开发的两大主力

    由于 Python 2 即将退役,使用 Python 3 的开发者大约为 90%,Python 2 的使用量正在迅速减少.而去年仍有 1/4 的人使用 Python 2. Web 开发和数据科学家仍是 ...

  3. 【转】iOS开发工具系列(按功能分)

    http://www.cocoachina.com/newbie/basic/2014/0417/8187.html 这是我们多篇iOS开发工具系列篇中的一篇,此前的文章比如:那些不能错过的Xcode ...

  4. [开发工具] 史上最全系列之开发环境搭建之DDMS

    原文链接:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=275774 一.简介 DDMS 的全称是DalvikDebug Mon ...

  5. Python 开发工具推荐

    对于开发工具,仁者见仁智者见智,关键是自己喜欢,用着顺手就好,不用刻意去追求别人用的是什么工具. 这里给大家主要推荐三款工具,分别是PyCharm.Sublime Text 3.VS Code,因为这 ...

  6. java开发工具比较(16个工具修订版)

    1.JDK (Java Development Kit)Java开发工具集 SUN的Java不仅提了一个丰富的语言和运行环境,而且还提了一个免费的Java开发工具集(JDK).开发人员和最终用户可以利 ...

  7. Java开发工具全面比较

    1.JDK (Java Development Kit)Java开发工具集 从初学者角度来看Java开发工具,采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,有利于理解Java面向对 ...

  8. JAVA程序员常用开发工具

    1.JDK (Java Development Kit)Java开发工具集 SUN的Java不仅提了一个丰富的语言和运行环境,而且还提了一个免费的Java开发工具集(JDK).开发人员和最终用户可以利 ...

  9. ARM 开发工具 Keil和DS-5的比较。

    http://www.eeboard.com/bbs/thread-25219-1-1.html 如今ARM体系架构的处理器在嵌入式市场上呼风唤雨,从低端的MCU应用到高端的多媒体消费电子,移动设备领 ...

  10. Delphi--最强大的开发工具(欢迎转载)

    最强大的开发工具 Delphi 目录 --------------------------------------------------------------------------- 前言 De ...

随机推荐

  1. Python实战:为Prometheus开发自定义Exporter

    Python实战:为Prometheus开发自定义Exporter 在当今的微服务架构和容器化部署环境中,监控系统的重要性不言而喻.Prometheus作为一款开源的系统监控和警报工具,以其强大的功能 ...

  2. [车联网/计算机网络] Autosar 的 `ARXML` 配置数据库文件协议

    序: 缘起 ARXML 概述 : Autosar 的 ARXML 配置数据库文件协议 ARXML 文件 ARXML文件: AUTOSAR系统描述文件,后缀*.arxml 实质是一个XML文件,一般通过 ...

  3. Luogu P11363 NOIP2024 树的遍历 题解 [ 紫 ] [ 树形 dp ] [ 组合计数 ] [ adhoc ]

    树上遍历:CCF 难得一遇的好题! 参考了洛谷的第一篇题解,所以思路会有点相似. 部分分 当 \(k=1\) 时,显然方案总数为 \(\prod_{i=1}^{n}(d_i-1)!\),因为进入一个子 ...

  4. mybatis之日志配置

    1.在mybatis-config.xml中配置 <!-- 指定 MyBatis 所用日志的具体实现,未指定时将自动查找. SLF4J | LOG4J | LOG4J2 | JDK_LOGGIN ...

  5. Java - 高射炮打蚊子(第二弹)

    题记部分 01 || 面试题 001 || 什么是JVM JVM(Java虚拟机)是Java程序运行的环境,它是一个抽象的计算机,包括指令集.寄存器集.堆栈.垃圾回收等.JVM屏蔽了与具体操作系统平台 ...

  6. 从汇编层解读Golang的闭包实现:逃逸分析与性能影响

    本文精心梳理了一系列面试中具有一定难度的高频Golang问题,其中部分知识点可能你之前未曾深入探究,然而它们却在面试和实际工作中至关重要. 包括:Golang的基础语法.并发模型.内存管理等核心知识点 ...

  7. centos 8 编译*.cpp文件

    1.安装g++ yum -y install gcc-c++ 2.编译*.cpp文件 g++ -o test_app_name test_source_file.cpp 3.运行编译结果 ./test ...

  8. 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库

    前言 今天大姚给大家分享一套基于 Material Design 规范实现的.开源(MIT license)且免费的 Blazor 和 Razor 通用组件库:MatBlazor. Blazor介绍 ...

  9. Golang 入门 : 变量声明

    变量声明 在Go中,变量是包含值的一块存储.可以使用变量声明为变量命名.只需使用var关键字,后跟所需的名称以及变量将保存的值的类型. 一旦你声明了一个变量,就可以用=为它分配该类型的任何值: qua ...

  10. CentOS 版本选择:DVD、Everything、LiveCD、Minimal、NetInstall

    CentOS 7.X,主要是下载的时候有很多版本供选择,如何选择? DVD版:这个是常用版本,就是普通安装版了,推荐大家安装.里面包含大量的常用软件,大部分情况下安装时无需再在线下载,体积为4G.Ev ...