Github Copilot Enterprise

它终于来了,企业级Github Copilot重磅推出。它和之前的Github Copilot有什么不同?
Github Copilot Enterprise旨在帮助大型企业在其编程项目中利用AI进行编程,重要的是,它可以根据企业内部的代码库和标准生成代码建议,回答查询并进行总结更改。
也就是说,它类似于Github私有仓库一样,保证了安全性,让企业可以更放心得使用。不知道小伙伴们的企业都安排上没?
官网地址:https://github.com/features/copilot
你还不会AI编程?
首先,先来说一个现象,现在很多企业内部的一些部门里(尤其大厂居多,我就不点名了)大量渗透了一些AI工具,为提高项目生产性,并且会强制你用。最后会收集数据,用AI后,生产性提高了多少,可以节省了多少成本。
其次,企业的业务部门人员和产品经理等角色,现在已经开始用AI去开发应用了,你没看错,原来代码只属于程序员,但现在,一些场景下,他们也可以了。
我查过网上一些公开的数据,程序员中,尤其高级开发人员,前期用AI编程助手进行编程时,效率提升一般只有30%左右,但是用来解决技术问题的效率竟然提升了80%,看来谷歌百度真的可以“下岗了”。过了3个月之后,大家AI编程助手用熟练了,效率提升普遍在45%左右,但是有些人员竟然可以提升70%,多么可怕的一个数字。
说了上面这三件事,是不是感叹自己又离失业不远了,还没开始用AI进行编程的小伙伴们,慌不慌的一批,有没有危机感?
不怕,不怕,下面结合我自身的使用经验,来简单介绍下如何用AI进行编程,带领大家入门,希望大家以后可以养成这种习惯,强制用一些AI编程工具,用一段时间试试,看看是否开发效率有所提升,我相信用过之后,你一定会感觉非常爽。
如何使用AI进行编程?
我个人用AI进行编程的技巧,主要有下面两个方面,并且是结合起来使用:
1、在ChatGPT-4平台(其他的大模型平台也ok,但现在肯定ChatGPT-4是最好的),通过输入Prompt去给我生成代码,或者提出解决方案。
2、利用IDE中的Github Copilot插件,去进行代码补全,生成注释,进行代码检查和优化,生成Junit等。
如果还有其他的应用方式,也欢迎大家进行补充。下面我来进行具体的说明:
利用大模型平台
毕竟插件本身是有限制的,所以有些场景下使用起来很不方便,直接在大模型平台通过输入提示词去解决问题和生成代码是很必要的(虽然插件也支持,但使用体验不太好)。而大模型平台首选ChatGPT-4,再考虑其他的,哪怕在编程的垂直领域,ChatGPT-4也是表现的最为出色的。
但是ChatGPT-4有使用次数的限制,3小时内可以使用40次,所以在平台进行提问时,要考虑技巧,我个人是ChatGPT-3.5和ChatGPT-4结合使用,这取决你的问题场景。比如我要提问Jquery如何进行赋值,Java中如何使用范型设计共通等,这类比较老并且解决方案都很成熟的问题,建议用GPT-3.5就可以,但是如果你要提问Springboot3.0或Java虚拟线程的一些问题,你就必须使用ChatGPT-4了,因为GPT-3.5只支持到2021年9月,此时提问GPT-3.5,他就会出现幻觉问题,乱答一通。当然,你也可以什么问题都使用GPT-4,注意次数限制别用超了就ok。我个人的做法是根据问题场景不同,ChatGPT3.5 + ChatGPT-4结合起来使用。
最后再说一下Prompt,建议使用英文进行提问,针对英文Prompt回答出的结果往往比中文更靠谱一些。
使用IDE插件
现在AI Code Copilot有很多,比如Bito、Cursor、Github Copilot等,并且对各种编程语言的支持也不同,因为我平时的编程主要是Java、Python、Golang、Vue、React那些,综合看还是Github Copilot更胜一筹,但是Github Copilot收费,个人版的话每个月是10美金,按年付的话稍微优惠一些,是100美金。就想用免费的话,我测评过,个人推荐Bito。我了解到的,大多数企业,还是用收费版的Github Copilot居多。还有一点,国内需要魔法才可以访问Github,相信这点对于技术人员来说都不是问题。
Github Copilot到底用起来有多爽,谁用谁知道,主要介绍下面几个功能:
1、代码联想补全。当你敲几行代码,它会根据上下文,提示后面的代码,并且大多数时候正确率很高。
2、生成文档或注释。相信程序员对于写注释这个事都深有感触,自动生成注释简直太赞了,而且根据上下文,可以生成各种语言的注释。
3、代码检查和优化。针对你写完的代码,可以要求Github Copilot对你的代码进行检查和优化,相当于帮你做代码review,给出修改意见,我们自己判断是否采纳。
4、生成测试类。这个会根据不同语言的框架生成对应的测试代码,但是里面具体的一些逻辑,例如比较值的地方还是需要修改。
--------
相信通过上面的介绍,要是用AI辅助进行编程的话,确实可以大幅提高开发效率。但是它毕竟只是编程助手,最后还是需要人去主导,去判断生成的代码,去调试,所以对于技术人员还是有些要求的,但不可否认是这确实方便了一部分非技术人员也可以做这个事。
无论未来如何,现在技术人员掌握AI的编程的思维都是非常必要的。
