声明
此次报告,已经经过公司的授权和允许,并且剥离了公司内部的隐蔽资料以及保密的信息,可以作为开源数据分享于大众。
调研背景
在当今快速发展的技术环境中,智能工具已成为各行各业提升效率、降低成本的利器。针对软件开发领域,人工智能(AI)等智能技术的应用正在逐渐改变传统的软件开发方式。
本次报告旨在总结2023年我司在智能工具应用方面的实践经验,特别关注通过AI提升软件开发效率与质量的调研成果,以及在探索过程中所遇到的问题和解决方案。
调研目的
本次调研报告主要是探讨如何利用人工智能技术提升软件开发效率,以及介绍一些现有的实践案例,通过了解这些技术,开发人员可以更好地应对项目挑战,提高生产力和质量。
- 工作效率提升
- 业务流程优化
- 竞争力增强
调研方向,关注以下几个方面
利用人工智能技术提升软件开发效率,通过利用代码自动生成与优化、智能代码审查、自动化测试和持续集成与持续部署等技术,可以显著提高开发效率和质量,减少错误和资源浪费。
方向1:代码生成与优化(提升研发效率+ 节约时间)
面向于:Java、NLP、FS以及前端开发技术团队
代码自动生成是一种利用机器学习技术生成程序代码的方法,它可以大大减少开发时间和错误。现有的一些工具,如TensorFlow、Keras和PyTorch等,可以帮助开发者自动生成高质量的模型代码。此外,还可以利用AI技术对代码进行优化,如去除冗余代码、自动调整参数等。
方向2:代码隐患审查Review(提升研发质量 +节约时间)
面向于:Java、NLP、FS以及前端开发技术团队
代码审查是基于机器学习的代码审查方法,它能够检测代码中的错误、警告和风格问题,并给出相应的建议。与传统的代码审查方法相比,智能代码审查可以提高审查效率和质量,同时可以减少人为错误和疏漏。
方向3:协助自动化测试(提升研发质量 + 时间)未来可以考虑使用
面向于:测试团队
自动化测试是利用AI技术自动执行测试用例的方法,它可以大大提高测试效率和准确性。现有的自动化测试工具,如Selenium、Appium等,可以帮助开发者自动执行测试用例并检测缺陷。
方向4:持续集成与持续部署(节约部署成本 + 时间)未来可以考虑使用
面向于:运维团队
持续集成与持续部署是一种通过自动化流程来加速软件发布周期的方法。CI/CD流程可以利用AI技术来自动化构建、测试、部署等环节,从而提高软件发布速度和质量。
AI工具选项
人工智能(AI)在软件开发领域的应用越来越广泛。人们不断寻找能够提高软件研发效率和质量的工具。例如,成熟的AI智能工具Github Copilot、Tabnine以及CodeGeek等就是出色的典型例子。本篇报告将探讨这些工具的优点、缺点,以及他们如何帮助我们提高软件开发效率。
此外国外的Kite、Codota、微软IntelliCode,国内的阿里云Cosy、AIXcoder等程序员比较常用的智能编码辅助工具,但是综合考虑选在了比较成熟且使用体验度好(耗时长度)的几种,因此暂时只选择了以上几种。
调研结果
各个开发团队可以按照自己团队成员的使用工具,进行灵活切换分配即可,当然可以进行对应的几个AI工具同时使用进行对比和分析。
以下工具,已经基本涵盖了Java、NLP、FS以及前端开发技术团队 的所有开发IDE集成开发工具。
调研后推荐工具
-
JetBrains IDE (IntelliJ、PyCharm、WebStorm、GoLand、PhpStorm、CLion、Android Studio 等 ------ 推荐可以使用:Codeium(免费软件)、Github Copilot(收费软件)、Bito(个人版免费)、CodeGeek(免费)
-
VSCode 、visualstudio ------ 推荐可以使用:Codeium(免费软件)、Github Copilot(收费软件)、Bito(个人版免费)
开展推进
- 团队Leader应依据本文档,在多种AI工具中做出最适合本团队的选择。
- 结合该调研文档,学习和理解如何运用A工具,并理清其使用规则和规范,以便于编写清晰且实用的使用规范文档。
- 组织并实施基于AI工具的培训活动,以充实团队成员的应用能力,并推进工具在项目中的有效应用。
- 团队Leader和相关负责人,需积极推广和监督工具的使用情况,同时关注并收集使用效果的反馈,以持续优化工具在实际工作中的应用效果。
Github Copilot
调研结果
指标体验度分析
代码生成与优化 | 代码隐患审查Review | 缺点 |
---|---|---|
较为不错 | 分析能力可以 | 有的时候响应速度会变慢 |
工具分析
GitHub Copilot 是由Github和OpenAI创造的AI工具,该工具通过自动代码补全来帮助程序员们编写代码。Visual Studio Code、Neovim 和 JetBrains 的用户已经可以使用这个插件了。
基于 OpenAI Codex 模型,经过自然语言和数十亿行公共源码的训练,其中来源包含 Github 上的项目。该工具能为你编写代码或提供替代的解决方案。该服务支持所有的编程语言,但在 Python、JavaScript、TypeScript、Ruby、Java 和 Go 语言中表现得最为出色。
面向人群:Java、NLP、FS以及前端开发技术团队
使用要求
- 前提要求:需要拥有一个github账号(在GitHub Copilot注册) ,注册的阶段,暂时忽略,基本都会。
花销成本
采购方案
个人版
19美元 / 一个月 (约人民币:136.33),对于个人账号而言,不太适合公司、部门范围,比较适合独立开发者进行使用。
企业版(GitHub Copilot Enterprise)
39美元 / 一个月 (约人民币:279.83),比较适合多个人的团队或者组织进行使用,但目前还处于beta版本,
个人不推荐,比较麻烦需要申请,而且还要使用GitHub Copilot Cloud
GitHub Copilot Enterprise为beta 版,功能和文档可能会更改。 可以使用 Copilot Enterprise 候补名单表单 填写申请加入 beta 版的组织或企业。
具体原因介绍:企业版申请资质要求
推广使用
-
组织对应的AI工具使用的团队培训,组织团队内部进行AI工具使用,可以暂时购买一年的使用租期。
-
各个团队Leader以及版本负责人,进行推广和跟进使用情况和关注使用效果反馈。
安装使用方式(非破解版)
代码案例效果
Codeium
调研结果
指标体验度分析
代码生成与优化 | 代码隐患审查Review | 缺点 |
---|---|---|
较为不错 | 分析能力可以 | 有的时候分析问题会出现小的错误或者纰漏 |
工具分析
Codeium是一款免费的智能编程助手,类似Github Copilot,目前Codeium提供超过40种语言的代码完成工具,具有闪电般的速度和最先进的建议质量。支持几乎所有主流编程语言和IDE,个人用户免费使用。
支持的编程语言
使用Codeium,可以永远无限制地完成单行和多行代码,支持40多种编程语言:Javascript、Python、Typescript、PHP、Go、Java、C、C++、Rust、Ruby等。
支持的开发工具
JetBrains IDE(IntelliJ、PyCharm、WebStorm、GoLand、PhpStorm、CLion、Android Studio 等)中安装 Codeium 扩展,并在编写注释和代码时开始查看建议。
花销成本
-
个人版:免费,不需要付费,注册账号即可,个人觉的足够使用了。
-
企业版:价格不清晰,需要单独与该平台进行对接。
采购方案
推荐每个开发人员使用个人版本。
安装使用方式
推广使用
-
各个团队Leader可以组织一下各个团队(NLP、JAVA、FS以及前端)分别进行对应codeium进行使用和推广组内开发人群使用,可以参考(本篇文档)。注册个人账号即可。
-
组织对应的AI工具使用的团队培训,组织团队内部进行AI工具使用。
-
各个团队Leader以及版本负责人,进行推广和跟进使用情况和关注使用效果反馈。
codeium使用案例
使用的效果案例1
使用的效果案例2
Tabnine(不推荐)
调研结果
指标体验度分析
代码生成与优化 | 代码隐患审查Review | 缺点 |
---|---|---|
较为可以 | 分析能力一般,答案有的时候不是我们想要的 | 有的时候分析问题会出现小的错误或者纰漏 |
Tabnine 则是另一个强大的内容自动补全工具。它对多种编程语言均有很高的支持水平。它使用机器学习技术对语境进行理解从而进行最为合适的代码自动补全。他同样可以通过学习用户的编写习惯来进行更为人性化的推送。
其限制主要体现在某些复杂场景下,比如嵌套语句和极端情况,可能无法给予完全准确的建议。该工具最佳的应用场景仍然是常见的代码编辑环境。
支持的开发工具
以下为支持的开发工具。
花销成本
- Starter版本:不推荐,基本相当于用不了,功能很受限制
- 专业版:需要花钱,成本较高,而且没有其他方式进行破解等。
- 企业版:价格不确定,而且流程复杂,觉得不太划算。
安装使用方式
个人不推荐使用Tabnine
Bito
调研结果
指标体验度分析
代码生成与优化 | 代码隐患审查Review | 缺点 |
---|---|---|
较为不错 | 分析能力良好 | 没有明显问题 |
工具分析
Bito是一款建立在OpenAI和ChatGPT模型之上的人工智能编程辅助软件,Bito AI可以帮助开发人员大幅提升工作效率。它是一个功能齐全的工具,同时使用和ChatGPT相同的模型,它可以让您的开发工作效率提高10倍,并每天节省一个小时的时间。
目前根据官方的介绍,Bito分两个版本,个人计划版本和商业计划版本,对于个人计划是免费使用的,商业计划暂未发布,基本可以看到以后对于个人是可以持续免费使用的,只不过一些高级特性、功能及服务会放在商业计划中进行收费。个人辅助应用已经足够了。
但是前提需要注册账号,因此,需要先注册一个账号。
Bito安装插件
JetBrain IDE安装
在JetBrains IDE,如IntelliJ IDEA中,请选择"文件"(File)-> "设置"(Settings)打开"设置"对话框,然后在"设置"对话框中单击"插件"(Plugins)-> "市场"(Marketplace)选项卡。搜索Bito扩展即可。(Mac版本直接点击主界面的Plugins菜单进入,或者通过IntelliJ IDEA → Preferences → Plugins进入) 在安装成功后,Bito面板将出现在右边的侧边栏中。单击该面板可以继续完成设置过程。
VS Code 安装
在Visual Studio Code中,点击扩展选项卡并搜索"Bito"。 安装完扩展后,建议重启IDE。安装成功后,Bito的标志会出现在Visual Studio Code窗口中。
Amazon CodeWhisperer
指标体验度分析
代码生成与优化 | 代码隐患审查Review | 缺点 |
---|---|---|
体验效果不好,结果反馈不太清晰 | 分析能力可以 | 没有明显问题 |
Amazon CodeWhisperer 直接在集成式开发环境 (IDE) 中为开发人员提供实时代码建议。个人开发人员可以免费使用 CodeWhisperer。组织为使用 CodeWhisperer 按"每位用户每月"支付固定的订阅费,无需预付费用或长期承诺。
测评结果:使用体验度比较低,功能较为受限制。
分享感言
此次总结分享旨在为公司在智能工具应用领域提供经验参考,促进更广泛的技术交流和合作,共同推动智能工具对软件开发过程的积极影响。