《AIGC+软件开发新范式》--07.通义灵码实战系列:一个新项目如何快速启动,如何维护遗留系统代码库?(2)

简介: 在AI 热度持续上升的当下,阿里云推出AI智能编码助手—通义灵码。通义灵码是一款基于阿里云通义代码大模型打造的智能编码助手,基于海量优秀开源代数据集和编程教科书训练,为开发者带来高效、流畅的编码体验。

本文来源于阿里云社区电子书《AIGC+软件开发新范式》


《AIGC+软件开发新范式》--07.通义灵码实战系列:一个新项目如何快速启动,如何维护遗留系统代码库?(1);https://developer.aliyun.com/article/1537603


通义灵码能力展示


有同学会问了,纸上得来终觉浅,来点实战行不行?


01/ 使用 Spring Boot 创建一个新项目


接下来就使用 Spring Boot 创建一个新项目作为案例向大家展示通义灵码的能力。首先我们向灵码提问:如何通过 Spring Boot 编写一个照片上传下载的 Web 程序?灵码马上就能反应过来并开始生成,先是编写 Spring Boot 的 XML 文件以及一些数据结构配置文件,接着写 controller 层、service 接口以及 service 的实现类,大家会看到 AI 写代码的速度是很快的,并且思路非常清楚,知道需要哪些文件以及步骤,以及怎么把 Web 服务给部署起来。


我们可以随时随地和灵码通过问答的方式来交互。如果你对它的回答有任何的不满意,或者是想让灵码扩充一些比较概括性的代码,让它续写一下,再或者是遇到了某种报错或特别的诉求寻找解决方案等等,都可以通过追问方式进一步和灵码沟通,灵码会很乐意在问答的的过程中为你提供帮助。


比如我提问有没有通过 memory 的内存的数据库来存储的例子,而不是用 mysql 数据库,灵码就可以领会我的意思,并提供一个 redis的方案来做这个存储。


02/ 维护遗留系统代码库


另外一个比较常见的场景是我们作为工程师会经常去维护别人留下来的一个老旧系统,可能里面也会有一些祖传代码。那么灵码解释代码这样一个预知任务的能力就可以更好的得到体现了。


比如说有这样一段代码,if else 非常多,也比较杂乱。我们可以点击方法上方的一个快捷入口,让灵码解释一下。这里我们有一个设计,就是灵码会首先给出一个相对比较简短的 high level 解释,帮助开发者能更快的理解这段代码的意思。如果开发者想要更加具体的一些解释,可以通过我们底下的追问按钮有更详细的回答,英文系统叫 in detail,灵码会给出更加具体的解释。


单元测试也是个老生常谈的话题,人人都知单测好,但是能真正做到的又不多。单元测试可以提高代码的可维护性,让代码更加健壮,并且其他人来接手的时候也可以更好维护一些,但是工程师的日常开发需求会更大一些。


单测客观上讲,在短期内是肯定是相对费时间的一件事情,但很多开发者就会往往追求短期的省事,而抛弃了远期的利益。而灵码就可以更加快速的帮助工程师来编写单元测试,提高单测的覆盖率,提升代码库的可维护性。



代码优化也是一个高频场景,之前有很多用户的诉求,希望有这样一个能力。用户可以通过框选右键,也可以点击方法上方的快捷入口来触发代码优化。不过客观上讲,代码优化它是一个很宽泛的词,它设计了风格优化、缺陷修复、程序重构、安全性优化等等。所以我们也在尽我们所能来提升代码优化的模型能力,让开发者的代码质量更高。



最后介绍一下我们的运行调试错误排查能力。当 IDE 遇到一些 runtime 报错的时候,灵码会在报错堆栈中提供一键排错的功能,点击一键排错的按钮后灵码会自动的采集报错堆栈,并定位到出错代码的上下文,帮助用户生成一个报错排查的提示词来提问模型,寻求解决方案。这个功能目前在 IDEA 和 Java 中放开,后续也会在各个端侧和各个语言中放出。


通义灵码的产品亮点及优势


首先通义灵码产品特别关注开发者的体验,开发者是我们的用户。我们针对 IDE 的原生视觉做了很多交互设计上的努力,来贴合开发者的使用习惯。同时在编码过程中,通过补全的触发时机、长度选择、模型速度等层面都做了处理,助力开发者的编码心流体验。


朱熹老先生说过,读书有三到,谓心到眼到口到。对于灵码来说,要生成的准,需要:


  • 一 是修炼内在,强大模型,学习更多的优质数据,比如阿里云自身的一些SDK跟OpenAPI。


  • 二是提示词工程,用精雕细琢的提示词配合模型训练,使生成的效果加倍提升。


  • 三是眼观六路,比如真实的开发者要写对下一行代码,不光要眼看当前文件的上下文,也要知道一些跨文件信息,比如调用另一个文件中的某个方法,这样可以减少一些幻觉问题的出现。


最重要的,也是开发者比较关注的安全可控因素。通义灵码在大模型的生成过程中,所有代码数据仅会用于模型推理,中间不会做任何存储,更不会用来训练。同时我们也提供了两个模型,一个是云端大模型,另外一个是纯本地运行的小模型,不联网、速度快。这两种模型支持一键切换,满足我们在不同网络环境以及不同的补全强度诉求下的编码需求。

相关文章
|
15天前
|
人工智能 自然语言处理 IDE
💡通义灵码:让每个人都能成为软件开发的「超级个体」
作为阿里巴巴达摩院推出的先进大模型技术,通义灵码不仅具备强大的自然语言理解和生成能力,更支持多种编程语言和框架,能够广泛适用于不同的开发场景。这意味着,开发者可以借助通义灵码,通过自然语言进行代码生成、自动化测试、文档编写等,甚至还可以根据需求生成完整的项目结构和业务逻辑。
80 9
💡通义灵码:让每个人都能成为软件开发的「超级个体」
|
15天前
|
人工智能 测试技术 API
探索通义灵码的无限可能:功能场景与应用实战分析
本文深入探讨了通义灵码在现代软件开发中的应用价值。通过代码补全、单元测试自动生成等功能,通义灵码显著提升了开发效率和代码质量。文章通过具体案例展示了其在团队协作、代码风格一致性和创新项目中的实用性,并展望了未来开发的新趋势。
52 5
探索通义灵码的无限可能:功能场景与应用实战分析
|
15天前
|
人工智能 自然语言处理 IDE
💡通义灵码:让每个人都能成为软件开发的「超级个体」
通义灵码是阿里巴巴达摩院推出的大模型技术,支持多种编程语言和框架,具备强大的自然语言理解和生成能力。它能够自动生成代码、自动化测试、文档编写等,显著提升开发效率,降低技术门槛,让每个人都能轻松参与软件开发。通义灵码不仅支持多语言、多编辑器,还具备智能问答、代码优化等功能,为企业和开发者提供全方位的支持。通过通义灵码,开发者可以从繁琐的任务中解放出来,专注于创新和创意,推动软件开发进入新时代。
40 4
💡通义灵码:让每个人都能成为软件开发的「超级个体」
|
21天前
|
算法 机器人 测试技术
运用通义灵码有效管理遗留代码:提升代码质量与可维护性
本文首先介绍了遗留代码的概念,并对遗留代码进行了分类。针对不同类型的遗留代码,提供了相应的处理策略。此外,本文重点介绍了通义灵码在维护遗留代码过程中能提供哪些支持。
|
22天前
|
人工智能 自然语言处理 搜索推荐
通义灵码:AI辅助开发工具的新范式
在大模型时代,阿里云的通义灵码作为AI辅助开发工具,通过提高开发效率、简化协作和降低成本,重塑了软件开发的核心要素。通义灵码基于大模型和自然语言处理技术,实时辅助代码编写、调试和优化,提供个性化支持,显著提升了开发体验。未来,AI将在软件开发中发挥更大作用,通义灵码将继续引领这一变革。
58 0
通义灵码:AI辅助开发工具的新范式
|
5天前
|
人工智能 运维 JavaScript
通义灵码 SWE-GPT:从 静态代码建模 迈向 软件开发过程长链推理
在本文中,作者介绍了 Lingma SWE-GPT,一款专为解决复杂软件改进任务设计的开源大型语言模型系列。
|
4月前
|
人工智能 自然语言处理 前端开发
来点干货:AI 求职季通义灵码实战经验分享局
4000 份 AI 求职季见面礼限时派发中!通义灵码陪你备战求职季,和你的“AI 冲刺搭子”挑战大厂技术面试真题。
281 13
|
5月前
|
机器学习/深度学习 人工智能 算法
|
5月前
|
人工智能 自然语言处理 开发者
《AIGC+软件开发新范式》--02.谈谈我对 AIGC 趋势下软件工程重塑的理解(1)
在AI 热度持续上升的当下,阿里云推出AI智能编码助手—通义灵码。通义灵码是一款基于阿里云通义代码大模型打造的智能编码助手,基于海量优秀开源代数据集和编程教科书训练,为开发者带来高效、流畅的编码体验。
108 2
|
5月前
|
SQL 人工智能 Devops
《AIGC+软件开发新范式》--01.当「软件研发」遇上 AI 大模型(1)
在AI 热度持续上升的当下,阿里云推出AI智能编码助手—通义灵码。通义灵码是一款基于阿里云通义代码大模型打造的智能编码助手,基于海量优秀开源代数据集和编程教科书训练,为开发者带来高效、流畅的编码体验。
184 0