创新不设限,灵码赋新能:通义灵码新功能深度评测

简介: 自从2023年通义灵码发布以来,这款基于阿里云通义大模型的AI编码助手迅速成为开发者心中的“明星产品”。它不仅为个人开发者提供强大支持,还帮助企业团队提升研发效率,推动软件开发行业的创新发展。本文将深入探讨通义灵码最新版本的三大新功能:@workspace、@terminal 和 #team docs,分享这些功能如何在实际工作中提高效率的具体案例。

引言

自从2023年通义灵码发布以来,这款基于阿里云通义大模型的AI编码助手便迅速成为了开发者们心中的“明星产品”,受到了广大开发者的关注与好评。它不仅为个人开发者提供了强大的支持,帮助企业团队提升了研发效率,同时也推动了软件开发行业的创新发展。而我,作为一位通义灵码的忠实用户,有幸见证了这款工具从最初的版本逐步成长、完善至今日的历程。

image.png

在过去的一年里,通义灵码不断推出新功能,每一次更新都带来了令人惊喜的变化。从最初的基本代码生成与补全功能,到现在的智能代码优化、自动化测试案例生成乃至项目架构文档、流程图的自动生成,每一个进步都代表着通义灵码向着更加智能化、高效化的方向迈进了一大步。特别是最近推出的个人版和企业版新功能——@workspace、@terminal 和 #team docs,更是让开发者们体验到了前所未有的便捷与高效。

在这篇文章中,我将以一名安全运维工程师的视角,深入探讨通义灵码最新版本的特性,围绕其最新发布的@workspace@terminal #team docs功能,分享我的使用心得以及这些新功能如何帮助我在实际工作中解决问题、提高效率的具体案例。希望通过我的分享,能够让更多开发者了解到通义灵码的魅力所在,共同探索AI技术在软件开发领域的无限可能性。

最近也是撰写了几篇实践,希望各位看官能够多多提出宝贵的意见和建议:

【灵码助力安全1】——利用通义灵码辅助快速代码审计的最佳实践

【灵码助力安全2】——利用通义灵码辅助复现未公开漏洞的实践

【灵码助力安全3】——利用通义灵码辅助智能合约漏洞检测的尝试

通义灵码新功能简介

此次灵码新增的功能主要有三个,分别是:@workspace@terminal #team docs,下面我们来详细介绍。

@workspace(个人版)

@workspace本地工程问答:主要面向开发者,通过集成先进的RAG技术,深度解析和理解本地代码库,为用户提供包括代码导航、智能问答、需求实现建议、代码生成与优化等一系列服务。这项功能旨在帮助开发者快速上手新项目、高效解决编码过程中遇到的问题,并提升整体开发效率。无论是在理解复杂的项目结构,还是在寻找特定代码片段、实现新功能需求等方面,@workspace都能提供强有力的支持。

@terminal(个人版)

@terminal问答:该功能能够帮助开发者在不离开当前开发环境的情况下,快速生成和执行命令行指令。这一功能特别适合于那些经常需要在终端中执行各种操作的开发者,比如运行脚本、构建项目或是执行版本控制系统命令等。通过@terminal,用户可以使用自然语言描述他们想要执行的操作,通义灵码将根据用户的描述智能地生成相应的命令行指令。此外,@terminal还支持命令行指令的解释功能,对于已经存在的命令,用户同样可以通过自然语言询问其含义或用法,通义灵码会给出清晰的解答,帮助开发者更好地理解和使用这些命令。

#team docs(企业版)

team docs知识库问答:该功能是一项结合了企业内部私域知识信息的智能问答服务。这项功能允许开发者在智能问答窗口中通过输入#team docs标签并提出具体问题,通义灵码将利用企业知识库中的文档、代码等资源,为企业内部用户提供更加精准、个性化的回答。这意味着,无论是新手员工对企业编码规范的疑问,还是资深开发人员在实现特定功能时对内部API文档的查询,#team docs都能提供即时的帮助,加速问题解决过程,提高开发效率。通过这种方式,通义灵码不仅加强了团队成员之间的知识共享,还促进了企业内部知识的积累和传承。

@workspace基本使用

因为我个人偏好于使用VScode,所以此处仅以该编辑器为例来进行演示

在通义灵码中输入【/】,唤起插件功能

image.png

拖入某网关源码到工作空间中

image.png

选择@workspace模式,给出prompt如下:

请详细分析这部分代码,告知每个文件夹下是做什么的?

但是注意,偶尔也可能出现差错,这种情况下请重新给入prompt尝试

image.png

正常情况下,灵码会给出对当前工作空间文件的整体分析

image.png

但是经过这段时间的测试,发现的一个问题就是,灵码的used references数量其实是有限的

image.png

如果当源码中文件数量过多,比如这次网关源码里面文件有接近一百多个时,used references的数量和准确关联程度就会大大降低,比如上面给出的整体分析结果其实并不准确

如果我调整成让灵码为我分析某个文件夹下的文件功能,此时就会相对准确了

请帮忙分析portal_auth文件夹下的文件内容作用

image.png
image.png

如果遇到新的需求,或者说想自己新增一个功能让其能力更加完善和闭环时,也可以直接在灵码中提出,此时也是最好聚焦到某个文件夹下或者具体到某个文件中

请帮忙分析portal_auth文件夹下的文件内容作用,并在原有基础上新增一键加入黑名单的功能

此时灵码给出的回复如下:

image.png

也是成功在原代码的基础上进行了一些修改,实现了对新需求的增加

由于我个人实践其实更加偏向于安全和代码审计方面,所以这里我简单演示一下如何借助该功能进行辅助审计

假设此时已经借助静态代码分析工具完成了第一轮机器扫描,定位到了某个可疑文件夹下

image.png

回到灵码中,给出prompt如下:

请帮忙判断sys_manager文件夹下是否存在安全漏洞,如果有,请给出详细的漏洞原因,不需要给出修复方法。

这一块在我之前的实践文章中也提到,一定要强调不需要给出修复方法,否则会默认给出修复后的代码。

此时会给出一个大致的分析,我们再结合刚才的静态代码分析结果进行对比判断

image.png

进而定位到其中的一个文件中

image.png

此时就可以再指定灵码对该文件的方法进行详细分析

请帮忙判断backupsettings.php文件是否存在安全漏洞,如果有,请给出详细的漏洞原因,不需要给出修复方法。

可以看到,灵码给出了一个十分详细的漏洞分析报告,后面再通过灰盒方式验证是否存在即可

image.png

@terminal基本使用

这一块可以理解成专门调优之后的命令行编码助手,相比于普通通义灵码的话,这个功能的优势在于可以模块化的分解命令行脚本,而且不会像灵码那样直接一生成就是一大段

比如我们给出prompt如下:

我想编写一个定时任务脚本,每周日把服务器重启一次

可以看到回复是极其的干净和整洁

image.png

对于安全工程师来说,我也可以让它给我生成一段用来Linux机器入侵检测的检查脚本:

生成一段用来Linux机器入侵检测的检查脚本

对于Linux机器的入侵检测脚本,可以包含多个检查点,例如检查系统日志、查看当前登录用户、检查网络连接等。以下是一个简单的示例脚本:

#!/bin/bash

# 检查最近的登录记录
echo "最近的登录记录:"
lastlog -b 7

# 检查当前登录用户
echo "当前登录用户:"
who

# 检查网络连接
echo "当前网络连接:"
netstat -an | grep ESTABLISHED

# 检查系统日志中的异常
echo "系统日志中的异常:"
grep -i "failed\|error\|warn" /var/log/syslog

# 检查SSH日志中的失败登录尝试
echo "SSH日志中的失败登录尝试:"
grep "Failed password" /var/log/auth.log

# 检查计划任务
echo "计划任务列表:"
crontab -l

# 检查最近修改过的文件
echo "最近7天内被修改过的文件:"
find / -type f -mtime -7 -exec ls -l {
   } \; 2>/dev/null

# 检查监听端口
echo "监听端口:"
netstat -tuln

# 检查进程
echo "当前运行的进程:"
ps aux

# 检查用户列表
echo "用户列表:"
cat /etc/passwd

# 检查SUID/SGID文件
echo "SUID/SGID文件:"
find / -perm -4000 -o -perm -2000 2>/dev/null

自己再稍加修改即可投入使用

除了快速生成外,该模式下也可以一键调用命令行快速执行,点击此处的【Insert to Terminal】

image.png

一键执行命令

image.png

#team docs基本使用

该功能需要进入到企业版下才可使用,不过目前刚好有30天限免活动,大伙可以免费领取体验一下

通义灵码企业版

image.png

这里根据自己实际情况填写即可

image.png

回到VScode中,退出个人版,选择企业开发者(标准版):

image.png

此时就可以开始使用#team docs能力了,但是突然发现按钮还是灰色的,查了一下,可能是需要先建知识库的缘故

回到云效灵码的那个界面,接下来我们开始创建知识库

单击侧边栏上的知识管理按钮,进入知识管理页面,在知识管理页面,点击新建知识库按钮。

image.png

新建2个知识库,权限设置为公开:

image.png
image.png

点击下载规范文件,此处为示例,实际请根据自身单位情况指定对应文件

image.png

进入刚创建的知识库内,单击添加数据按钮,即可进入添加数据页面

image.png

数据类型为文档,单击或拖拽文件到上传区域(灰色区域)即可上传知识库文档,上传完成后,单击确认添加即可成功添加,相关文档会进入数据处理流程。

image.png

等待处理完毕即可

image.png

同理,在企业代码知识库中也加入对应的知识

image.png

确保数据处理完成后,数据准备阶段即告结束

image.png

点击开启企业规范知识库的检索增强功能开关,但是注意,开启后,只有在通义灵码IDE插件中使用智能问答功能时,才会支持企业知识库问答增强。

image.png

好吧,看来不得不用了

在IDE中,打开灵码,输入#team docs

image.png

给出prompt如下:

Java代码规范中的异常处理规范包括哪些内容?

即可看到通义灵码根据提供的企业Java开发规范文档,回复异常处理规范的关键要点,如图:

image.png

同理,也可开启企业公共代码库检索增强功能开关,体验企业代码补全增强

在文件中输入如下所示代码,在注释所在位置回车,灵码会根据知识库中上传的代码,自动进行补全,第一次回车灵码将基于上下文代码生成补全建议,第二次回车灵码将根据企业代码库中的代码进行补全。按Tab键可以采纳代码

 render() {
   
    // @ts-ignore
    const {
    fetchingNotices, onNoticeVisibleChange } = this.props;
    const noticeData = this.getNoticeData();
    const unreadMsg = this.getUnreadData(noticeData);
    return (
      <NoticeIcon
        className={
   styles.action}
        count={
   0}
        onItemClick={
   (item: INoticeItem) => {
   
          this.changeReadState(item);
        }}

         /* 说明:在此处通过回车,触发代码补全   */

        >
      </NoticeIcon>
    );
  }

但是注意,长度有限,不能太长了

image.png

总结

这次体验下来,总的来看新功能还是都很实用的,三项功能各有其长处,也都可以在其擅长的方向提升使用者效率。

下面我们再次以一图流来回顾一下

image.png

希望这些新功能能够帮助更多开发者和团队提高工作效率,更好地应对各种开发挑战,感谢您的关注和支持!

相关文章
|
3天前
|
人工智能 运维 自然语言处理
通义灵码一周年:灵码编码个人版实践
作为一名运维工程师,我在运维和测试过程中经常需要编写代码。最近了解到通义灵码,它支持行/函数级实时续写、自然语言生成代码等功能,大大提升了我的工作效率。通过通义灵码,我可以快速生成和补全代码,节省了大量时间。此外,通义灵码还提供了代码解释和注释生成等实用功能,帮助我更好地理解和维护现有代码。整体安装和使用都非常简便,推荐给需要提升开发效率的小伙伴们。
32 3
|
5天前
|
安全 Java BI
通义灵码一周年:灵码编码搭子新功能测评
通义灵码个人版是专为Java开发工程师设计的高效工具,其@workspace和@terminal功能极大地简化了新项目架构的熟悉过程和新功能的开发,显著提升了开发效率和代码质量,成为现代开发者的得力助手。
26 4
|
6天前
|
存储 安全 Oracle
【灵码助力安全3】——利用通义灵码辅助智能合约漏洞检测的尝试
本文探讨了智能合约的安全性问题,特别是重入攻击、预言机操纵、整数溢出和时间戳依赖性等常见漏洞。文章通过实例详细分析了重入攻击的原理和防范措施,展示了如何利用通义灵码辅助检测和修复这些漏洞。此外,文章还介绍了最新的研究成果,如GPTScan工具,该工具通过结合大模型和静态分析技术,提高了智能合约漏洞检测的准确性和效率。最后,文章总结了灵码在智能合约安全领域的应用前景,指出尽管存在一些局限性,但其在检测和预防逻辑漏洞方面仍展现出巨大潜力。
|
3天前
|
人工智能 自然语言处理 数据可视化
通义灵码上新功能:用代码画流程图
不想读前人“骨灰级”代码,不想当“牛马”程序员,想像看图片一样快速读复杂代码和架构。通义灵码刚刚支持代码逻辑可视化,可以把你的每段代码画成流程图。像个脑图工具一样帮你图文并茂画出代码逻辑和框架,再也不用迷失在代码迷宫啦!
|
4天前
|
Java
一转眼通义灵码已经一周岁了~在开发过程中有通义灵码的加持,大大的减轻了工作负担,效率直线提升!~~大赞
我是一位JAVA开发工程师,用通义灵码个人版做代码生成/代码检测/代码优化等,对比之前没有灵码,现在提效了30%
|
11天前
|
运维 测试技术 开发工具
灵码编码搭子新功能有奖测评
作为一名大型公司的运维人员,我使用通义灵码的 @workspace 和 @terminal 工具,大幅提升了项目运维效率。通过项目导入、代码阅读、文档查看、需求分析、代码开发、版本控制、本地测试和调试优化等步骤,快速熟悉新项目代码并实现新需求。这些工具的高度集成和智能功能,显著提高了开发效率和团队协作效果。
|
6天前
|
人工智能 API 开发工具
通义灵码一周年:灵码编码搭子新功能有奖测评
作为一名软件开发工程师,我使用通义灵码个人版快速熟悉新项目代码并实现新需求,效率提升约30%。通过@workspace功能快速克隆代码库和智能搜索,以及AI编码助手自动生成代码框架和提供优化建议,显著提升了代码质量和开发效率。
通义灵码一周年:灵码编码搭子新功能有奖测评
835
|
7天前
|
人工智能 Java 开发者
基于通义灵码轻松进行编程 在 AI 师傅(AI-Shifu.com)学的通义灵码
作为一名Java开发者,通过使用通义灵码个人版学习Python,学习效率提升了80%。根据AI师傅平台的指导,高效利用AI辅助学习的主要步骤包括:1. 描述需求,了解所需技术;2. 细化需求描述,便于AI高效编程;3. 发送参考指令给AI;4. 执行代码测试;5. 查看代码注释;6. 优化代码。
835
24 1
|
11天前
|
运维 自然语言处理 开发者
作为一名运维人员,使用通义灵码个人版处理日常工作中的代码相关任务,极大地提升了我的工作效率。以下是我使用通义灵码的具体实践场景、效果和心得,以及相应的截图。
作为一名运维人员,我使用通义灵码处理日常工作中的代码任务,效率提升了30%。通义灵码帮助我快速理解复杂代码、生成准确的代码注释,并能从自然语言生成代码示例,大幅减少了代码编写和理解的时间。
37 3
|
10天前
|
安全 前端开发 测试技术
【灵码助力安全2】——利用通义灵码辅助复现未公开漏洞的实践
本文介绍了利用通义灵码辅助复现未公开漏洞的过程,包括XSS和文件包含两种典型漏洞类型。通过具体案例,展示了如何结合CVE描述和源码,使用灵码定位漏洞位置、分析漏洞原因,并验证漏洞的存在。文章强调了灵码在提高漏洞复现效率、减少手动排查时间方面的优势,同时也指出了其在复杂场景下仍需人工判断的局限性。未来,期待灵码能在自动化安全测试、动态分析及威胁建模等领域发挥更大作用,全面提升软件安全性。