0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

峰会回顾第26期 | 知识驱动的智能辅助开发研究与实践

OpenHarmony TSC ? 来源:OpenHarmony TSC ? 作者:OpenHarmony TSC ? 2023-08-21 17:20 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

演讲嘉宾 | 彭 鑫

回顾整理 | 廖 涛

排版校对 | 李萍萍

f7fdd574-4003-11ee-852b-dac502259ad0.png

嘉宾简介

彭鑫,复旦大学计算机科学技术学院副院长、软件学院副院长、教授、博士生导师,中国计算机学会软件工程专委会副主任,主要研究方向包括软件智能化开发与运维、泛在计算软件系统、智能网联汽车等。获得2016年NASAC青年软件创新奖,多次获得IEEE Transactions on Software Engineering年度最佳论文奖、ACM SIGSOFT杰出论文奖、IEEE TCSE杰出论文奖等论文奖项。

内容来源

第一届开放原子开源基金会OpenHarmony技术峰会——开发者工具分论坛

视频回顾

打开 哔哩哔哩APP 搜索 OpenHarmony-TSC 视频更清晰

正 文 内 容

软件开发是一个知识密集型活动,涉及API算法、业务知识、样例代码以及可复用库等开发资源。然而,这些软件开发知识和资源缺乏统一的规范化描述,难以被方便地获取和复用。ChatGPT问世之前,学术界与工业界在智能辅助开发领域有哪些研究成果?ChatGPT爆火以后,我们又有哪些认识和思考呢?复旦大学计算机科学技术学院副院长、软件学院副院长,中国计算机学会软件工程专委会副主任彭鑫在第一届OpenHarmony技术峰会上分享了精彩观点。

f829fa3c-4003-11ee-852b-dac502259ad0.png

智能辅助开发的一个典型场景是基于深度学习的代码智能化推荐。以代码大数据作为输入,通过深度大模型训练,再基于训练结果进行微调或提示,最终在端侧实现代码搜索、代码推荐、代码生成、注释生成、缺陷预测和修复等能力。在ChatGPT火出圈之前,主要的代码智能化推荐产品有Copilot和AlphaCode。其中,Copilot已经实现了整函数和整方法的代码推荐,AlphaCode在编程竞赛中能够达到人类能力的普遍水平。尽管ChatGPT的强大推荐和人机交互能力让我们对AI和大数据深度学习产生了很多联想,但目前大数据深度学习的思路仍存在一定的局限性。

f8617156-4003-11ee-852b-dac502259ad0.png

Copilot

目前,大数据深度学习的主要思路是追求更多的数据、更大的模型、更强的算力、更好的代码表示方法、更多元的学习范式,以此获得更好的学习效果。而针对软件开发的本质性困难(如:需求与设计的开放性和创造性问题、领域的多样性和差异性问题等本质困难),以及开发人员的理解和决策问题(如:开发人员如何针对推荐内容进行选择、判断、理解和消化,如何开展长期维护)等方面,大数据深度学习可能并不是万能的。大数据深度学习思路探讨的根本问题,源于不同路线的选择:(1)AI领域的端到端思路:根据输入(功能描述)直接产生推荐结果(代码片段或线性的代码补全);(2)软件工程领域的人机协作思路:适应程序员的思考过程,从需求澄清到解决方案逐步精化,以交互的方式融入人的需求理解和经验判断。

软件开发最大的浪费是知识的浪费、重复思考的浪费。在实际的软件开发过程中,我们经常遇到如下场景:重复编写的代码、反复揣摩的设计意图、重复犯过的错误;它们(代码)曾经在脑海中浮现过、在交谈讨论和聊天记录中出现过,甚至曾经被记录过,但是无法在需要的时候出现;文档基本不可靠,要么过时要么从来没有存在过等。从长期来看,如何深层次、系统性地解决智能化软件开发问题呢?建立共建、共享,与代码持续协同演化的软件开发知识平台,能够大幅提升软件开发效率,保障代码质量,促进软件开发项目成员间的相互协作。例如,工业界“活文档”的实践上,实现了文档知识和项目始终保持同步、文档内容简短可理解以及文档知识集体所有等功能;在学术界,也提出了按需生成文档的思考,即基于各种结构化和非结构化软件制品,通过知识抽取按需生成高质量文档。

f87ebbf8-4003-11ee-852b-dac502259ad0.png

f8d0a45e-4003-11ee-852b-dac502259ad0.png

软件开发知识共享平台实践与思考

在ChatGPT问世之前,彭鑫教授所在团队基于知识思路的智能软件开发已经有相关尝试和产品:

(1)API/软件知识图谱构建:通过API文档中的API功能、特性、使用指南与约束等,并输入软件代码库的API样例、软件开发问答网站的API讨论等资源,结合通用知识图谱的概念关系进行语义标注,形成API知识图谱或软件开发知识图谱,开发端侧软件开发问答机器人等,以此辅助软件开发,提高开发效率;

f900eef2-4003-11ee-852b-dac502259ad0.png

f9238296-4003-11ee-852b-dac502259ad0.png

API知识以及API知识图谱

(2)基于知识图谱的代码概念链接:通过将代码段中的关键内容建立概念链接,使开发者在软件开发过程中,能够便捷地了解到相关代码的背景知识;此外,基于概念链接,对搜索出的代码列表提供多方面解释,如概念解释、概念关联路径以及补充建议等,还能够帮助开发者理解和筛选所需的代码片段;

f93cbe8c-4003-11ee-852b-dac502259ad0.png

代码概念链接

(3)基于事理图谱的代码异常修复:通常代码异常可能由多种原因造成,基于开发者在开源社区上求助的代码异常案例,抽取其求助目的、环境、代码片段、异常症状以及报错栈等内容,基于预训练语言模型进行提示学习,构建事理图谱,进而实现通过交互式问答获取异常报错相关信息,给出推荐的异常解决方案。

f95b0f68-4003-11ee-852b-dac502259ad0.png

事理知识图谱

在智能软件开发领域,ChatGPT具备代码解释、代码生成以及代码修复等能力,以人机对话的形式实现了多种智能化开发辅助功能,效果已经超过了现有手段。ChatGPT的强大能力背后,是否存在一些问题和可能的改进方向呢?彭鑫教授认为有以下几点:

通过提供相关真实项目代码、技术文档、人类问答等论据,增强推荐内容的可信性

结合一些专用模型或“小数据”方法改进,提高长尾及冷启动问题回答的准确性

将大模型与搜索引擎、知识图谱等传统信息和知识获取方法相结合,缓解知识更新问题

在大模型的基础上有机融入特定领域的软件知识和代码,从而支持特定领域软件开发问题

在大模型的基础上实现智能化的开发工具集成和反馈融合,让工具具有面向软件开发任务现场的“具身智能”

其中,特点领域/项目软件开发知识平台的开发是目前学术界和工业界的研究热点。如何协同机器智能、代码知识和专家知识呢?需要基于专家知识和代码规范管理,建立与代码双向追踪并同步演进的代码知识平台,探索以代码为核心、适应软件开发特点的知识众包模式。通过覆盖实现、设计、需求等不同层面的代码知识平台实现系统性开发知识复用。此外,在软件研发阶段,通过建立基于DevOps流水线的软件研发知识图谱,能够实现特性、缺陷、测试用例等开发制品与代码及其变更过程的全程追溯和基于知识的描述。

f992665c-4003-11ee-852b-dac502259ad0.png

f9b1b138-4003-11ee-852b-dac502259ad0.png

特定领域 / 项目软件开发知识平台

得益于软件代码及开发数据的大量积累和人工智能技术的发展,以及近期大模型和预训练模型方面取得的进展,使智能化软件工程研究与实践成为热点。但同时,智能化软件工程实践落地需要充分考虑软件工程实践以及特定领域的特点。未来,大模型将成为智能化软件开发的重要基础设施,改变现有的知识获取、抽取和利用方式;智能化辅助开发的主要问题变为如何在开发任务现场与大模型之间建立高效的双向交互管道;下一代IDE将成为融合软件开发项目和任务上下文及开发工具的智能化软件开发统一门户。期待与大家一起关注人工智能和软件工程领域相关进展,共同贡献国产化力量。

E N D

点击下方阅读原文获取演讲PPT。

关注我们,获取更多精彩。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • OpenHarmony
    +关注

    关注

    30

    文章

    3865

    浏览量

    18970
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    从文化浸润到未来启航 | 同星智能3新员工培训高能回顾

    7月16日,同星智能2025年3新员工培训在热烈的氛围中画上圆满句号。本次培训以“文化浸润、思想碰撞、职业启航”为主线,通过文化知识PK、创始人面对面、职业发展沙盘三大模块,助力新
    的头像 发表于 07-18 20:05 ?277次阅读
    从文化浸润到未来启航 | 同星<b class='flag-5'>智能</b><b class='flag-5'>第</b>3<b class='flag-5'>期</b>新员工培训高能<b class='flag-5'>回顾</b>!

    虹软亮相2025高通汽车技术与合作峰会

    此前,2025年6月26-27日,在刚刚落幕的2025高通汽车技术与合作峰会上,虹软围绕视觉感知驱动智能进化,集中展示了基于高通骁龙汽车平台打造的多项车载视觉感知解决方案,重点呈现了覆
    的头像 发表于 06-30 17:59 ?1408次阅读

    第三届大会回顾3 | FFRT并发框架在OpenHarmony中的设计与实践

    演讲嘉宾 | 黄佑钟 回顾整理 | 廖 ? 涛 排版校对 | 宋夕明 嘉宾介绍 开发框架分论坛? 黄佑钟 ,海思Kirin解决方案并行与异构计算专家。 正文内容 多任务并发能更有效地利用CPU资源
    的头像 发表于 06-21 16:53 ?462次阅读
    第三届大会<b class='flag-5'>回顾</b><b class='flag-5'>第</b>3<b class='flag-5'>期</b> | FFRT并发框架在OpenHarmony中的设计与<b class='flag-5'>实践</b>

    直播预约 | 数据智能系列讲座6:大模型革命背后的算力架构创新

    鹭岛论坛数据智能系列讲座6「大模型革命背后的算力架构创新」/RVEI并行计算工作组(SIG-PP)技术沙龙/5月21日(周三)20:00精彩开播期待与您云相聚,共襄学术盛宴!|直播信息报告题目
    的头像 发表于 05-12 14:05 ?239次阅读
    直播预约 | 数据<b class='flag-5'>智能</b>系列讲座<b class='flag-5'>第</b>6<b class='flag-5'>期</b>:大模型革命背后的算力架构创新

    【「# ROS 2智能机器人开发实践」阅读体验】视觉实现的基础算法的应用

    的有效途径。 结语 本书7章和8章内容系统性强,从基础理论到代码实践,为读者提供了机器人视觉与SLAM的完整知识框架。未来,我计划结合书中案例,进一步探索多传感器融合、自主导航等
    发表于 05-03 19:41

    【「# ROS 2智能机器人开发实践」阅读体验】+内容初识

    《ROS 2智能机器人开发实践》内容阅读初体验 《ROS 2 智能机器人开发实践》是一本针对 R
    发表于 04-27 11:24

    DevEco Studio AI辅助开发工具两大升级功能 鸿蒙应用开发效率再提升

    HarmonyOS应用的AI智能辅助开发助手——CodeGenie,该AI助手深度集成在DevEco Studio中,提供鸿蒙知识智能问答、
    发表于 04-18 14:43

    【社区之星】赵云:不要浮躁,沉着稳定,才能做好技术

    、【免费】四层板进阶—PCBLAYOUT设计实战视频课 5、60天学会步进电机驱动训练营 往社区之星回顾81:【社区之星】张飞:做
    发表于 04-14 16:42

    【北京迅为】iTOP-RK3568开发板OpenHarmony系统南向驱动开发-4章 UART基础知识

    【北京迅为】iTOP-RK3568开发板OpenHarmony系统南向驱动开发-4章 UART基础知识
    的头像 发表于 03-17 15:50 ?562次阅读
    【北京迅为】iTOP-RK3568<b class='flag-5'>开发</b>板OpenHarmony系统南向<b class='flag-5'>驱动</b><b class='flag-5'>开发</b>-<b class='flag-5'>第</b>4章 UART基础<b class='flag-5'>知识</b>

    名单公布!【书籍评测活动NO.58】ROS 2智能机器人开发实践

    Jazzy长期稳定版推出,这也代表着ROS 2走向成熟。《ROS 2智能机器人开发实践》 一书全部代码便基于长期稳定版撰写。 ROS的发展 从2012年开始,使用ROS的人越来越多,ROS社区开始举办
    发表于 03-03 14:18

    明晚开播 |开源芯片系列讲座26:奕斯伟RISC-V GCC工具链实践分享

    鹭岛论坛开源芯片系列讲座26「奕斯伟RISC-VGCC工具链实践分享」明晚(22日)20:00精彩开播期待与您云相聚,共襄学术盛宴!|直播信息报告题目奕斯伟RISC-VGCC工具链
    的头像 发表于 01-21 08:04 ?609次阅读
    明晚开播 |开源芯片系列讲座<b class='flag-5'>第</b><b class='flag-5'>26</b><b class='flag-5'>期</b>:奕斯伟RISC-V GCC工具链<b class='flag-5'>实践</b>分享

    直播预约 |开源芯片系列讲座26:奕斯伟RISC-V GCC工具链实践分享

    鹭岛论坛开源芯片系列讲座26「奕斯伟RISC-VGCC工具链实践分享」1月22日(周三)20:00精彩开播期待与您云相聚,共襄学术盛宴!|直播信息报告题目奕斯伟RISC-VGCC工
    的头像 发表于 01-14 09:52 ?647次阅读
    直播预约 |开源芯片系列讲座<b class='flag-5'>第</b><b class='flag-5'>26</b><b class='flag-5'>期</b>:奕斯伟RISC-V GCC工具链<b class='flag-5'>实践</b>分享

    迅为iTOP-RK3568开发驱动开发指南-第十八篇 PWM

    期_SPI 第十七_串口 第十八期_PWM 第十九_RTC 第二十期_看门狗 未完待续,持续更新中... 更新内容 ◆教程更新 《iTOP-RK3568开发驱动
    发表于 10-29 10:13

    名单公布!【书籍评测活动NO.44】AI for Science:人工智能驱动科学创新

    材料基因组工程的推动下,人工智能如何与材料科学结合,加快传统材料和新型材料的开发过程。 4章介绍了人工智能在加快药物研发、辅助基因
    发表于 09-09 13:54

    2024 RISC-V 中国峰会:abg欧博电子助力RISC-V生态!

    百家业界领先企业及顶尖研究机构的专家学者,吸引了约3000名开发者、学者及行业精英亲临现场。在峰会前后,还策划了超过20场丰富多彩的同期活动,为全球开发者提供了一个深入交流、碰撞思想、
    发表于 08-26 16:46