通义灵码实战系列:一个新项目如何快速启动,如何维护遗留系统代码库?

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 以编码助手形态来帮助开发者提质、提效的通义灵码,自从入职阿里云后便深受广大同事的欢迎,一起通过多个实战场景演示感受它的工作能力吧:01/ 使用 Spring Boot 创建一个新项目02/ 维护遗留系统代码库03/ 生命游戏/报错场景演示

进入 2024 年,AI 热度持续上升,翻阅科技区的文章,AI 可谓是军书十二卷,卷卷有爷名。而麦肯锡最近的研究报告显示,软件工程是 AI 影响最大的领域之一,AI 已经成为了软件工程的必选项,也有研究称开发者每天的事务性工作可能占到了七成左右,比如单侧编写等,而这部分恰好是 AI 所擅长的。让大模型辅助工程师加速编码和提升质量,可以让我们更加聚焦于剩下的 30% 的业务和技术创新。


日常工作中经常听到工程师的一些诉求和痛点。比如说单元测试编写比较费时间;接手了一个新的代码库,一些祖传代码理解成本比较高;排查问题查资料要跳转到一些浏览器,并且很难找到合适的答案,会显得焦头烂额。我作为智能编码研究者,同时也是开发者,这次终于能够华佗打点滴,医者自医了。

image.png

总结下来,开发者的主要诉求有三点,1)快速编码,快速解决问题,快速完成需求。2)减少 IDE 跳出,享受沉浸式心流。3)减少重复编码,排除语言限制。


比如我要做一个网页,虽然我不懂前端,但在大模型辅助下,可以帮助我编写 HTML 和 JS 的代码,这样我能够更加聚焦于业务的实现和创新。一句话概括来讲就是开发者来 IDE 只干三件事,写代码,写代码还是写代码,通义灵码便是以编码助手的形态来帮助开发者提质和提效的。


点击进入通义灵码官网体验:https://tongyi.aliyun.com/lingma

image.png

通义灵码的核心功能有行级/函数级的自动续写、自然语言编码、注释生成、单元测试生成、代码解释、代码优化、异常报错、智能排查、技术文档搜索等等。同时它也提供了企业化个性能力,比如报表展示以及专有云的各种部署形态。


通义灵码支持 Java、Python、Go 等 200 多种主流编程语言,目前已经在 VS Code 和 JetBrains 全家桶 IDE 上的插件市场上架了,大家诉求很高的 Visual Studio 也即将在下个月上架,并且这些 IDE 的远程开发模式也都是支持的,比如说 Remote、SSH、WSL 等等。

image.png

总体来讲通义灵码是基于通义大模型,结合海量开源知识以及阿里云的文档 SDK 开发的,从而有了上层的代码补全和研发问答的核心能力。再上层便是我们工程侧,比如说有问答意图识别、用户习惯学习、Prompt 工程、跨文件学习等等。从基模到垂直领域的模型,再到端侧核心能力的整体同步建设,支撑了我们在 IDE 上可以使用通义灵码这款产品。


通义灵码能力展示


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


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,灵码会给出更加具体的解释。


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


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

image.png

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

image.png

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


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


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

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


  • 一是修炼内在,强大模型,学习更多的优质数据,比如阿里云自身的一些 SDK 跟 OpenAPI。
  • 二是提示词工程,用精雕细琢的提示词配合模型训练,使生成的效果加倍提升。
  • 三是眼观六路,比如真实的开发者要写对下一行代码,不光要眼看当前文件的上下文,也要知道一些跨文件信息,比如调用另一个文件中的某个方法,这样可以减少一些幻觉问题的出现。


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


点击此处,快速体验通义灵码

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
SVN版本控制系统
SVN是现在软件开发之中的主流软件版本控制工具,在工作之中利用SVN可以有效的解决多人开发的代码管理问题,本课程将为读者讲解SVN服务器的配置以及基于MyEclipse的SVN客户端插件的配置与使用,并且在讲解之中着重讲解了冲突的产生于解决。
相关文章
|
30天前
|
人工智能 程序员 开发工具
“AI 程序员入职系列”第二弹:如何利用通义灵码光速改写项目编程语言?
本文中阿里云后端工程师云徊将从项目开发的实际需求出发,演示通义灵码在开发工作中可提供的帮助。
|
30天前
|
人工智能 自然语言处理 Cloud Native
通义灵码×西安交通大学携手打造“云工开物-高校训练营”,解锁 AI 时代编程学习与实战
阿里云与西安交通大学计算机学院携手打造的“云工开物-高校训练营”,带你走近 AI 编程助手“通义灵码”。
|
7月前
|
人工智能 IDE Java
全面开测:AI智能编码辅助工具通义灵码
全面开测:AI智能编码辅助工具通义灵码
62824 7
全面开测:AI智能编码辅助工具通义灵码
|
9天前
|
人工智能
通义灵码喊你一起高效 AI 编码
通义灵码喊你一起高效 AI 编码
20 1
|
30天前
|
人工智能 自然语言处理 JavaScript
阿里云发布 AI 编程助手 “通义灵码”——VSCode更强了 !!
阿里云发布 AI 编程助手 “通义灵码”——VSCode更强了 !!
298 3
|
30天前
|
人工智能 IDE Devops
通义灵码技术解析,打造 AI 原生开发新范式
本文第一部分先介绍 AIGC 对软件研发的根本性影响,从宏观上介绍当下的趋势;第二部分将介绍 Copilot 模式,第三部分是未来软件研发 Agent 产品的进展。
71947 7
|
30天前
|
消息中间件 人工智能 监控
|
30天前
|
人工智能 自然语言处理 JavaScript
西安站开营!AI 编码助手通义灵码帮大学生“整活儿”
从 4 月 15 日到 4 月 30 日持续两周时间,期间全国的大学生都可以在阿里云云工开物通义灵码高效编程实践营官网领取免费的云服务器资源、通过完成训练营课程学习及任务掌握通义灵码使用方式,最终获得阿里云官方认证结营证书。西安本地高校学生还可以去西安交通大学、西安电子科技大学、西北工业大学进行线下交流学习。
|
30天前
|
机器学习/深度学习 人工智能 自然语言处理
通义灵码回答:如何看待首个 AI 编程助手入职科技公司?
通义灵码回答:如何看待首个 AI 编程助手入职科技公司?
205 1
|
30天前
|
人工智能 自然语言处理 JavaScript
通义灵码走进武汉大学:让 AI 编码助手激活大学生的创造力
阿里云启动“高校训练营”,首站在武汉大学开启通义灵码专场。