AI代码生成工具调研报告

新知榜官方账号

2023-07-06 04:54:44

概要

最近AIGC由于chatGPT大火,各种颠覆性生成工具层出不穷,作为程序员有必要了解下相关的技术工具对自己所在领域的影响,究竟是颠覆替代,还是辅助提效。这里试用调研了几个主要的AI代码生成工具,希望从实际应用角度给大家一些输入。

Copilot

Github基于openAI的codex做的代码生成工具(copilotx基于gpt-4),可以通过注释直接生成注释描述的代码内容。目前以插件的形式介入,支持vscode,ideaj等多平台。免费试用6月,免费结束自动续费。安装插件后写完注释后会自动提示针对注释生成的代码,tab键选择当前生产的代码(有时会与编程习惯冲突),【option+]】或【option+[】选择下一个可能得代码生成段(如果有的话)。可以手动关闭copilot提示。

优势:

  • 效率提升,注释增加很多方法和属性可以直接根据注释生成,开发过程可以少打很多代码。
  • 自动推测下一个要写的内容。可以推测属性方法等。
  • 由于都要先写注释生成代码整体代码的注释水平大幅提高,代码可读性提高很多。
  • 减少人为错误生成的代码,尤其是在判读语句上,不会出错,避免了大部分的人为错误。

劣势:

  • 在大型工程或成熟工程里,对于已有代码的复用提示能力很弱,基本上下文都在最近创建的两个类里,不会读取当前工程所有信息。对于复用需要大量提示。
  • 存在一定的代码错误问题,需要人工识别。
  • 由于文件管理和编译能力的缺失,大型项目的管理更吃力。同样的,对于大型项目中已存在代码的复用也是支持的不好。

Cursor

一个新型的ide,介绍的是基于GPT4,但是据说由于GPT4压力过大限流问题,目前已经降回GPT3.5。整体的思路与传统的ide不同,主要通过【需求cmd+K】和【对话cmd+L】来完成对需求的描述的输入,编辑器会通过输入的信息进行代码生成。后续会基于新的这种模式持续迭代编辑器,希望设计一种全新的代码开发模式。也支持集成githubcopilot,开启后可以支持类似的功能,通过注释生成代码(未开启的时候不能)。

优势:

  • 交互式更像对话的交互方式,颠覆了传统编程模式。
  • 优化建议对于已经完成的代码,可以进行提问并给出优化建议(copilot也能,但是交互方式不同)
  • 局部修改可以选择部分代码进行进一步的描述修改,通过自然语言修改局部代码。(copilot不能)
  • 相同的描述下,生成的代码大部分情况下比copilot更接近作者的用意。

劣势:

  • 非常规开发模式,需要适应。不符合常规开发流程。
  • 代码错误也还是存在一定的代码错误问题,需要人工识别。
  • 目前还不是一个完整的ide,只是一个符合编码规范的文本编辑器,对于编译校验,编译过程,代码版本管理等多个常用功能都没有很好的支持。甚至连文件夹管理支持的都很简陋。
  • 由于文件管理和编译能力的缺失,大型项目的管理更吃力。

其他对比产品

CodeGeex(TODO)copilot竞品,类似的功能,提示效果待验证。PolyCoder卡耐基梅隆大学的开源项目,可以支持通过文字生成代码的能力,测评显示这个代码生成工具更擅长生成C代码。Pix2code很早的一个项目,主要是通过输入的图片信息,生成对应的页面信息,现在可以通过图片生成PC端和移动端的页面代码,并且带着图片中的颜色样式。其他还有一些国产的项目,但是网上信息较少,而且评价都不太高,没有进行深入调研。

本页网址:https://www.xinzhibang.net/article_detail-6192.html

寻求报道,请 点击这里 微信扫码咨询

关键词

AI 代码生成工具 Copilot

分享至微信: 微信扫码阅读

相关工具

相关文章