写在开始
通义灵码,是一款时下非常流行的基于通义大模型的 AI 研发辅助工具,提供代码智能生成、研发智能问答、任务自主执行等能力,为开发者带来智能化研发体验,引领 AI 原生研发新范式。
目前支持 Java、Python、Go、JavaScript、TypeScript、C/C++、C# 等主流语言,同时兼容 Visual Studio Code、Visual Studio、JetBrains IDEs 等主流编程工具。
目前提供的各个版本之间的差异如下:
- 个人基础版:提供基础的代码生成和智能问答功能,适合独立开发者进行日常编码任务。
- 个人专业版:在基础版的基础上增加了单元测试生成、代码优化和本地工程问答,为开发者提供更全面的编码场景支持。
- 企业标准版:为企业客户,提供开箱即用的企业管理服务,支持统一账号和授权管理、知识库问答、代码生成增强、自定义扩展等能力,满足企业规模化推广的诉求。
- 企业专属版:为企业客户,提供用户管理并支持用户账号集成、统一授权管理、知识库问答、代码生成增强、自定义扩展等能力,并提供专属 VPC 部署模式,满足企业安全合规要求及个性化使用场景的需求。
- 企业私有化部署版本:为企业客户,提供私有化部署解决方案,确保数据安全和符合特定合规要求。
有关更多产品详情可自行前往官网文档查看,这里就不再赘述。如果你想快速入门,可以点击前往查看官方的社区博文,非常适合新用户查阅。此外,如果你是通义灵码新用户,完成通义灵码安装体验,还可额外获得定制超大鼠标垫哟。参与链接如下:
https://survey.taobao.com/apps/zhiliao/wHHnILAYI
接下来将着重体验本次产品的几个新功能,也就是@workspace、 @terminal 和 #team docs。
- @workspace,基于本地代码库的 RAG 技术,可以快速了解一个工程、查找工程内的实现逻辑,通过自然语言描述需求,结合当前工程生成简单需求或缺陷的整体修改建议和相关建议代码。
- @terminal,当你遇到执行指令不知道如何写,或者不清楚某个指令的意思时,使用自然语言描述你的需要指令诉求,通义灵码将可以生成你需要的命令,或基于输入指令生成指令解释。
- “#team docs,是企业版新推出的一项功能,志在提供企业知识库问答和企业代码补全增强,可以结合企业知识库内的文档进行回答,或结合企业代码库进行代码补全增强,让编码助手的生成更加贴合企业特点。
产品体验
下面我将以当下正在编码的一个项目来进行实操体验,该项目是基于Java语言,实现企业内部文档智能管理的一个需求。在没有使用通义灵码前,该项目的基本没有做单元测试和代码注释,使用后该方面的内容得到了补充,为项目的最终定版节省了近一周的工期。
个人版体验
对于如何安装使用通义灵码,这里就不再赘述了,刚兴趣的朋友可以前往查看我的这篇社区文章,非常详细。通义灵码多维度体验分享
- 工程理解
这里以IDEs工具上使用为例展开阐述。可以在通义灵码登录后的这个位置查看是否是个人版。如下:
首先通过在输入框输入@workspace调用灵码,让其进行整个项目的理解。如下:
从整个生成的效果来看,还是非常不错的,灵码非常准确地找到了项目的几个关键文件,并基于这些文件进行了整个工程的分析和理解,包含项目需求说明,主要功能模块解析,使用了那些技术以及目录结构。
- 优化建议
除了分析整个项目外,还可以进行代码的解读和建议。如下:
得到的优化建议如下:
可以看到,灵码去掉了调试或者是非必要的提示信息。
- 代码解释
很多时候,给代码加注释是非常重要且必要的,但很多开发者却没有这个习惯,那这个时候,借助灵码还可以给代码添加注释,如下:
灵码会逐段代码进行注释,但从效果上来看,貌似并不是这个样子的,需要解释的代码文件是addGroup.js,可生成时写成了index.jsp。
- 单元测试
你只需选定需要生成测试的代码,而后调用@workspace 输入生成单元测试即可。如下:
从生成的测试代码来看,还是非常优的。
- 代码诊断
灵码共诊断出了两处需要优化的地方,这两段代码虽然功能可以很好地实现,但在处理速度和逻辑上不是最优,而灵码给出了最优解,还是非常棒的。
此外,还可以继续通过灵码诊断出是否存在漏洞和风险。如下:
灵码识别出了三处风险,分别是XSS、代码注入和依赖库的安全漏洞,并给出了详细的位置和优化建议。
这个新功能对于开发者来说是非常实用的,尤其是遇到编码需要多人协同完成时,这个就非常好用了,因为每个开发者的编码习惯和方式不一致,对于功能实现所采用的编码逻辑不一致,导致很多时候开发者需要花费大量时间和精力去理解和适应这些差异。灵码提供的这个功能就可以很好地解决和处理这个问题,通过项目工程的整体理解和分析,让代码层次和逻辑得到呈现,方便开发者进一步完善和优化。
@terminal更多的时候,是解答你对于当前某个命令或者问题的,比如我在编码中需要用多种语言实现九九乘法表,这个时候我可能只会使用python,对于shell如何实现就不得而知了,有了@terminal,你就可以立马得到答复。如下:
对于这段命令看不懂怎么办,可以点击中文,让灵码告诉你。如下:
企业版体验
企业版的体验需要先开通企业版权限,开通参考链接。开通后在编码工具进行登录,选择企业开发者(标准版),如下:
登录后,需要构建私有知识库,这里可参考上述链接进行配置。完成后,在编码工具输入如下指令:
team docs 代码规则有那些 而后回车,效果如下:
可以很直观地看到,此时的回答已经是基于私有知识库了,除此外,你还可以对已有的代码进行基于知识库的优化建议。如下:
给出的建议完全基于私有知识库。企业版非常最要的一个新功能就是基于私有知识库进行代码增强补全,效果如下:
可以看到,在私有知识库的加持下,通义灵码给出的答复不再是自由搜索得来的结果,而是更具专业性的私有回答,能够更好满足企业实际需求。
体验总结
1、在需要生成大段文字或者代码时,灵码会中断。比如下面需要变更的有8项,在第4项生成时就中断了。如下:
2、灵码在生成过程中,会快速消耗机器的内存资源,这个可能需要优化。
@workspace功能以其强大的代码理解和生成能力,极大地减轻了我的编码负担。它不仅能够快速解析项目结构,精准定位到我想查找或修改的代码位置,还能根据我的需求智能生成代码片段,甚至是完整的模块。这种智能化的编码支持,让我能够更专注于业务逻辑的实现,而无需在繁琐的代码编写和调试上花费过多时间。
@terminal功能则是我日常开发中不可或缺的好帮手。它不仅能够智能识别并补全我输入的命令行指令,减少了我手动输入的工作量,还能够根据我当前的工作上下文,提供相关的命令建议和使用说明。这种智能化的命令行支持,让我能够更快速、更准确地执行各种操作,如编译、构建、测试等。
#team docs功能则是我在团队协作中的得力助手。它能够将企业内部的知识库、文档等资源整合在一起,为我提供了一个便捷的查询和分享平台。通过#team docs,我能够快速找到我需要的信息,如项目文档、API接口说明等,而无需在多个平台之间来回切换。
总之,通义灵码的@workspace、@terminal和#team docs功能为开发者提供了从代码理解、生成到执行,再到企业内部知识共享的全方位支持。它们不仅让我能够更快速、更准确地完成编码工作,还让我能够更好地理解和把控项目整体,以及更高效地与团队成员进行协作。这些功能不仅提高了开发效率,还优化了开发体验,是开发者不可或缺的得力助手。