【2023年公司智能工具降本增效分享总结】「智能工具的力量」总结分享我司通过AI提升软件开发效率与质量调研报告,问题踩坑之路

调研背景

人工智能(AI)已经成为当今科技发展的主要驱动力之一,AI在多个领域取得了显著的成果,包括软件开发。AI技术的应用可以帮助开发者提高代码质量、减少错误、优化资源和时间管理,从而提高软件开发效率。

调研目的

本次调研报告主要是探讨如何利用人工智能技术提升软件开发效率,以及介绍一些现有的实践案例,通过了解这些技术,开发人员可以更好地应对项目挑战,提高生产力和质量。

  1. 工作效率提升
  2. 业务流程优化
  3. 竞争力增强

调研方向,关注以下几个方面

利用人工智能技术提升软件开发效率,通过利用代码自动生成与优化、智能代码审查、自动化测试和持续集成与持续部署等技术,可以显著提高开发效率和质量,减少错误和资源浪费。
在这里插入图片描述

方向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(免费)

  • VSCodevisualstudio —— 推荐可以使用:Codeium(免费软件)、Github Copilot(收费软件)、Bito(个人版免费)

开展推进

在这里插入图片描述

  1. 团队Leader应依据本文档,在多种AI工具中做出最适合本团队的选择。
  2. 结合该调研文档,学习和理解如何运用A工具,并理清其使用规则和规范,以便于编写清晰且实用的使用规范文档。
  3. 组织并实施基于AI工具的培训活动,以充实团队成员的应用能力,并推进工具在项目中的有效应用。
  4. 团队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 版的组织或企业。

具体原因介绍:企业版申请资质要求

破解版

推荐使用闲鱼购买破解工具(学生包),20多人民币 / 一年,提供每个团队内部一同使用破解版本进行使用插件进行开发。

推广使用
  1. 各个团队Leader可以组织一下各个团队(NLP、JAVA、FS以及前端)分别进行采购闲鱼的一个破解版工具。目前还不确定一个工具可以破解几个终端,但是总体而言比其他版本成本要很低。

  2. 组织对应的AI工具使用的团队培训,组织团队内部进行AI工具使用,可以暂时购买一年的使用租期。

  3. 各个团队Leader以及版本负责人,进行推广和跟进使用情况和关注使用效果反馈。

安装使用方式(非破解版)
  • 【面向Java团队-IDEA使用文档】

  • 【面向FS、前端团队-visualstudio使用文档】

  • 【面向FS、前端团队-vscode使用文档】

破解版,单独进行使用安装破解工具即可,一般不需要进行账号注册。

代码案例效果

Codeium(推荐)

调研结果
推荐使用
代码生成与优化代码隐患审查Review缺点
较为不错分析能力可以有的时候分析问题会出现小的错误或者纰漏
工具分析

Codeium是一款免费的智能编程助手,类似Github Copilot,目前Codeium提供超过40种语言的代码完成工具,具有闪电般的速度和最先进的建议质量。支持几乎所有主流编程语言和IDE,个人用户免费使用。

  • 官方文档
  • 官方网站
  • chat工具
支持的编程语言

使用Codeium,可以永远无限制地完成单行和多行代码,支持40多种编程语言:Javascript、Python、Typescript、PHP、Go、Java、C、C++、Rust、Ruby等。

支持的开发工具

JetBrains IDE(IntelliJ、PyCharm、WebStorm、GoLand、PhpStorm、CLion、Android Studio 等)中安装 Codeium 扩展,并在编写注释和代码时开始查看建议。

花销成本

在这里插入图片描述

  • 个人版:免费,不需要付费,注册账号即可,个人觉的足够使用了。

  • 企业版:价格不清晰,需要单独与该平台进行对接。

采购方案

在这里插入图片描述

推荐每个开发人员使用个人版本。

安装使用方式
  • 【安装使用文档】
推广使用
  1. 各个团队Leader可以组织一下各个团队(NLP、JAVA、FS以及前端)分别进行对应codeium进行使用和推广组内开发人群使用,可以参考(本篇文档)。注册个人账号即可。

  2. 组织对应的AI工具使用的团队培训,组织团队内部进行AI工具使用。

  3. 各个团队Leader以及版本负责人,进行推广和跟进使用情况和关注使用效果反馈。

codeium使用案例
  • 【IDEA使用文档】
使用的效果案例1

在这里插入图片描述

使用的效果案例2

在这里插入图片描述

  • codeium-Chat对话案例
    在这里插入图片描述

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 按“每位用户每月”支付固定的订阅费,无需预付费用或长期承诺。

  • 官方文档
    在这里插入图片描述

测评结果:使用体验度比较低,功能较为受限制,因此不推荐使用。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Knowledge Graph知识图谱—9. Knowledge Modeling

9. Knowledge Modeling & Ontology Engineering How should the knowledge in a KG be modeled? – Which classes of entities do we have? – Which relations connect them? – Which constraints hold for them? → these questions are defined in the ontology …

javacv的视频截图功能

之前做了一个资源库的小项目,因为上传资源文件包含视频等附件,所以就需要时用到这个功能。通过对视频截图,然后作为封面缩略图,达到美观效果。 首先呢,需要准备相关的jar包,之前我用的是低版本的1.4.2&…

速学数据结构 | 树 森林 二叉树 的概念详讲篇

🎬 鸽芷咕:个人主页 🔥 个人专栏:《速学数据结构》 《C语言进阶篇》 ⛺️生活的理想,就是为了理想的生活! 📋 前言 🌈hello! 各位宝子们大家好啊,关于线性表我们已经在前面更新完了…

【C++入门到精通】 线程库 | thread类 C++11 [ C++入门 ]

阅读导航 引言一、thread类的简单介绍二、线程函数详细介绍1. start() 函数(1)头文件(2)函数原型 2. join() 函数(1)头文件(2)函数原型 3. detach() 函数(1)头…

扫描电镜中的信号-噪声比(SNR)参数如何优化

在扫描电镜(SEM)中,信号-噪声比(SNR)的优化对于获得高质量的图像和可靠的数据分析至关重要。以下是一些优化SNR的方法: 选择适当的检测器:SEM通常配备了不同类型的检测器,如二次电子…

紫光展锐T820与飞桨完成I级兼容性测试 助推端侧AI融合创新

近日,紫光展锐高性能5G SoC T820与百度飞桨完成I级兼容性测试(基于Paddle Lite工具)。测试结果显示,双方兼容性表现良好,整体运行稳定。这是紫光展锐加入百度“硬件生态共创计划”后的阶段性成果。 本次I级兼容性测试完…

多域名https证书购买选择

多域名https证书是一种特殊的SSL证书,它允许一个证书同时保护多个域名,并且不限制域名的类型,可以保护多个域名和子域名,确保网站传输信息时不被窃取、篡改。那么我们该怎么选择符合需求的多域名https证书呢?今天就随S…

基于VGG-16+Android+Python的智能车辆驾驶行为分析—深度学习算法应用(含全部工程源码)+数据集+模型(一)

目录 前言总体设计系统整体结构图系统流程图 运行环境Python环境TensorFlow 环境Pycharm 环境Android环境 相关其它博客工程源代码下载其它资料下载 前言 本项目采用VGG-16网络模型,使用Kaggle开源数据集,旨在提取图片中的用户特征,最终在移…

vue3 使用antd 报错Uncaught TypeError--【已解决】

问题现象 使用最基本的 ant-design-vue 按钮demo 都报错 报错文字如下 Uncaught TypeError: Cannot read properties of undefined (reading value)at ReactiveEffect.fn (ant-design-vue.js?v597f5366:6693:87)at ReactiveEffect.run (chunk-K2VKR2AM.js?v25c381c3:461:…

计算三叉搜索树的高度 - 华为OD统一考试

OD统一考试 分值: 100分 题解: Java / Python / C++ 定义构造三又搜索树规则如下: 每个节点都存有一个数,当插入一个新的数时,从根节点向下寻找,直到找到一个合适的空节点插入查找的规则是: 1.如果数小于节点的数减去500,则将数插入节点的左子树 2.如果数大于节点的数加…

网络(九)CanSM及达芬奇配置

【小猫爪】AUTOSAR学习笔记05-Communication Stack之CanSM模块-CSDN博客 上链接讲的非常好。 CanSM提供的函数。 C CanSM使用的函数:

当你打开终端并输入命令时会发生什么?(下)

哈喽大家好,我是咸鱼 我们先来大致回顾一下文章《当你打开终端并输入命令时会发生什么?(上)》的内容 终端设备是由电传打字机演变过来的,电传打字机通过物理线与大型计算机连接在一块来实现输入输出 如上图,分别是二…

【高效开发工具系列】DataGrip入门

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

【回眸】Tessy 单元测试软件使用指南(三)怎么打桩和指针测试

目录 前言 Tessy 如何进行打桩操作 普通桩 高级桩 手写桩 Tessy单元测试之指针相关测试注意事项 有类型的指针(非函数指针): 有类型的函数指针: void 类型的指针: 结语 前言 进行单元测试之后,但凡…

【Proteus仿真】【51单片机】电子门铃设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真51单片机控制器,使共阴数码管,按键、无源蜂鸣器等。 主要功能: 系统运行后,数码管默认显示第一种门铃音调,可通过K1键切…

对不起,必须放弃SQL!

尽管SQL很受欢迎,也很成功,但它又总是充斥着种种矛盾。 SQL可能笨拙又冗长,但开发人员又经常发现它往往是他们提取所需数据的最简单直接的方法。当查询写入正确时,它可以快如闪电,当查询出错时,它就会慢如…

LeetCode(62)删除排序链表中的重复元素 II【链表】【中等】

目录 1.题目2.答案3.提交结果截图 链接: 删除排序链表中的重复元素 II 1.题目 给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回 已排序的链表 。 示例 1: 输入:head [1…

像素、分辨率、频率、精度、延迟,关于光学动作捕捉镜头参数的那些事

精准度、分辨率、频率、延迟等参数是影响光学动作捕捉效果和还原度的关键因素。下面逐一介绍NOKOV度量动作捕捉系统的基础参数。 NOKOV度量动作捕捉系统的核心产品是光学动作捕捉镜头,用于捕捉被测物表面反光标记点的三维坐标数据。 从表中可以看到,不同…

Python自动化测试(unittest框架)

一、什么是框架 框架是由大佬开发或者专业的研发团队研发的技术骨架,框架是一个半成品,框架是对常用的功能,基础的代码进行封装的一个工具,这个工具对外提供了一些API,其他的开发者只需要调用框架的接口即可&#xff…

Windows进程机制

进程 进程要做任何事情,必须让一个线程在它的上下文运行。该线程负责执行进程地址空间包含的代码。每个进程至少要有一个线程来执行进程地址空间包含的代码。当系统创建一个进程的时候,会自动为进程创建第一个线程,这称为主线程(…