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

引言

自从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-ignoreconst { fetchingNotices, onNoticeVisibleChange } = this.props;const noticeData = this.getNoticeData();const unreadMsg = this.getUnreadData(noticeData);return (<NoticeIconclassName={styles.action}count={0}onItemClick={(item: INoticeItem) => {this.changeReadState(item);}}/* 说明:在此处通过回车,触发代码补全   */></NoticeIcon>);}

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

image.png

总结

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

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

image.png

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/12418.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

道品科技智慧农业中的物联网技术:生产与溯源系统的结合

随着全球人口的不断增长和城市化进程的加快&#xff0c;农业面临着巨大的挑战&#xff0c;包括资源短缺、环境污染和食品安全等问题。为了解决这些问题&#xff0c;智慧农业应运而生&#xff0c;其中物联网&#xff08;IoT&#xff09;技术的应用为农业的现代化提供了强有力的支…

【MPC-Simulink】EX03 基于非线性系统线性化模型MPC仿真(MIMO)

【MPC-Simulink】EX03 基于非线性系统线性化模型MPC仿真&#xff08;MIMO&#xff09; 参考 Matlab 官网提供的 Model Predictive Control Toolbox - Getting Started Guide&#xff0c;以零初始状态条件下的非线性系统在线性化后得到的多输入多输出&#xff08;MIMO&#xff…

期权开户难不难?期权开户成功后当天是否能交易

期权开户难不难&#xff1f;这取决于投资者的准备情况和所选的开户途径。对于满足一定资金和经验要求的投资者来说&#xff0c;通过正规期货公司或期权交易平台进行开户&#xff0c;虽然流程相对复杂&#xff0c;但只要遵循步骤&#xff0c;仍然可以顺利完成&#xff0c;下文为…

沈阳乐晟睿浩科技有限公司引领新潮流

在当今数字化浪潮汹涌的时代&#xff0c;电子商务以其独特的魅力和无限潜力&#xff0c;正深刻改变着人们的消费习惯与商业模式。沈阳乐晟睿浩科技有限公司&#xff08;以下简称“乐晟睿浩”&#xff09;&#xff0c;作为电商领域的一颗璀璨新星&#xff0c;凭借其深厚的技术实…

【一步步开发AI运动小程序】二十一、如果将AI运动项目配置持久化到后端?

**说明&#xff1a;**本文所涉及的AI运动识别、计时、计数能力&#xff0c;都是基于云智「Ai运动识别引擎」实现。云智「Ai运动识别」插件识别引擎&#xff0c;可以为您的小程序或Uni APP赋于原生、本地、广覆盖、高性能的人体识别、姿态识别、10余种常见的运动计时、计数识别及…

Python栈--深度优先搜索(迷宫问题)

给一个二维列表&#xff0c;表示迷宫(0表示给出算法&#xff0c;求通道&#xff0c;1表示围墙)。 给出算法&#xff0c;求一条走出迷宫的路径。 maze [ [1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 0, 0, 1, 0, 0, 0, 1, 0, 1], [1, 0, 0, 1, 0, 0, 0, 1, 0, 1], […

安卓主板_基于联发科MTK MT8788平台平板电脑方案_安卓核心板开发板定制

联发科MT8788安卓核心板平台介绍&#xff1a; MTK8788设备具有集成的蓝牙、fm、wlan和gps模块&#xff0c;是一个高度集成的基带平台&#xff0c;包括调制解调器和应用处理子系统&#xff0c;启用LTE/LTE-A和C2K智能设备应用程序。该芯片集成了工作在2.0GHz的ARM Cortex-A73、最…

LabVIEW 版本控制

在软件开发中&#xff0c;版本控制系统&#xff08;VCS&#xff09; 是管理代码版本变化的核心工具。对于 LabVIEW 用户&#xff0c;虽然图形化编程带来高效开发体验&#xff0c;但由于其特有的二进制 VI 文件格式&#xff0c;传统文本比较工具无法直接用于 LabVIEW 项目。这时…

centos7.9部署oracle19c教程

1.安装前准备 1.1关闭防火墙和selinux systemctl stop firewalld systemctl disable firewalldvi /etc/selinux/config1.2 安装依赖 yum install -y unzip compat-libcap1 compat-libstdc-33 gcc-c ksh libaio-devel libstdc-devel elfutils-libelf-devel fontconfig-devel …

034集——JIG效果实现(橡皮筋效果)(CAD—C#二次开发入门)

可实现效果如下&#xff08;对象捕捉F3需打开&#xff0c;否则效果不好&#xff09;&#xff1a; public class CircleJig : EntityJig{public static void DraCJig(){PromptPointResult ppr Z.ed.GetPoint("a");if (ppr.Value null) return;Point3d pt ppr.Value…

Softing工业将在纽伦堡SPS 2024上展示Ethernet-APL现场交换机

今年&#xff0c;Softing工业将在纽伦堡SPS贸易展览会上展示aplSwitch Field —— 一款先进的过程自动化解决方案。这款16端口以太网高级物理层&#xff08;APL&#xff09;现场交换机的防护等级高达IP30&#xff0c;可提供从应用到现场级别的无缝以太网连接&#xff0c;专为Ex…

鸿蒙UI开发——小图标的使用

1、前 言 鸿蒙SDK中为我们提供了大量的高质量内置图标&#xff0c;图标详见(https://developer.huawei.com/consumer/cn/design/harmonyos-symbol/) 图标资源一览&#xff1a; 除了基本的图标图形外&#xff0c;我们还可以支持图标的多种填充模式&#xff08;单色、多色、分层…

python3的基本数据类型:Dictionary(字典)的创建

一. 简介 本文开始简单学习一下 python3中的一种基本数据类型&#xff1a;Dictionary&#xff08;字典&#xff09;。 字典&#xff08;dictionary&#xff09;是Python中另一个非常有用的内置数据类型。 二. python3的基本数据类型&#xff1a;Dictionary&#xff08;字典&…

2024 年使用 Postman 调用 WebService 接口图文教程

使用 Postman 调用 WebService 接口图文教程

设计字符串类 运算符重载 C++实现 QT环境

问题&#xff1a;设计字符串类&#xff0c; 支持下面的操作 MyString s1; // 默认构造函数 MyString s2("hello"); // 含参构造函数 MyString s3(s1); // 传参构造函数 MyString s4(5, c); // 自定义构造函数 // 运算符重载 ! > < // 运算符重…

链表循环及差集相关算法题|判断循环双链表是否对称|两循环单链表合并成循环链表|使双向循环链表有序|单循环链表改双向循环链表|两链表的差集(C)

判断循环双链表是否对称 设计一个算法用于判断带头节点的循环双链表是否对称 算法思想 让left从左向右扫描&#xff0c;right从右向左扫描&#xff0c;直到它们指向同一个节点&#xff1a;left right 或相邻left->next right&#xff0c;或right->prev left&#x…

基于STM32的智能声控分类垃圾桶(论文+源码)

1系统的功能及方案设计 本次课题为基于STM32的智能声控分类垃圾桶&#xff0c;其系统整体架构如图2.1所示&#xff0c;整个系统包括了stm32f103单片机主控制器&#xff0c;LU-ASR01语音识别模块&#xff0c;WT588语音播报模块&#xff0c;舵机等器件&#xff0c;用户可以通过语…

华大单片机跑历程IO口被写保护怎么解决

一&#xff0c;说明 使用的单片机是HC32F460KETA华大单片机&#xff0c;使用的代码历程是小华单片机历程&#xff0c;具体历程在小华官网都可以找到。   在使用小华历程跑模拟IIC时&#xff0c;SCL时钟是有的&#xff0c;但是IO输入被LOCK了&#xff0c;所以在跑历程进行断点…

网络与通信实验一 网络协议分析

Wireshark的安装 https://www.wireshark.org/&#xff08;下载链接&#xff09; 具体安装步骤参考 安装步骤 点击即可自动跳转 安装后打开 输入ipconfig 选择ipv4网卡存在的设备&#xff08;我的电脑选择WiFi&#xff09; 过滤条件选择 icmp cmd下输入 ping www.baidu.com…

电脑网络丢包怎么排查优化

上网已经成为必不可少的一部分,无论是看视频、玩游戏还是办公,网络的稳定性直接影响到我们的体验。然而有时候会遇到一些问题,比如网页加载慢、视频卡顿、游戏掉线等。这些问题的背后,往往是因为网络丢包。 网络丢包检测工具分享 什么是网络丢包? 网络丢包,简单来说,就是…