草庐IT

GPT-4 Copilot X震撼来袭!AI写代码效率10倍提升,码农遭降维打击

新智元 2023-03-28 原文
微软真的杀疯了!

上周,微软刚用GPT-4升级了Office办公全家桶,还没等人们反应过来,微软又来抄码农的家了。

今天,GitHub官宣:基于GPT-4的新一代代码生成工具Copilot X来了!

GitHub Copilot发布还不到两年,就已经为100多万的开发者编写了46%的代码,并提高了55%的编码速度。而这次的重磅升级,更是强到发指。

新一代Copilot X,直接整合里一个华丽的聊天界面,不仅动动嘴皮子就能生成代码,还能边写代码边跟AI对话,以及为你量身定做的智能文档系统等等。

GPT-4加持Copilot,动嘴就能写代码

具体来说,Copilot X提供支持的体验有:Copilot Chat;Copilot for Pull Request;Copilot for Docs;Copilot for CLI。

这些新功能都是由OpenAI的GPT-4驱动的。值得注意的是,由于速度延迟的原因,代码自动补全工具仍基于GitHub的Codex模型上,该模型是在GPT-3上训练的。

现在,微软已经将GPT-4集成到搜索、办公、写代码等各种真正意义上的生产力工具上,属实是拥有了开启第四次科技革命的力量。

资深大数据架构师祝威廉称,Everything powered by AI已经不再遥远:

如果说,OpenAI GPT-4只是个模型完成了从0到1,微软则推动了其商业化直接前进一大步。

这次,Copilot X的发布,直接降维打击上一代Copilot。

目前,Copilot X已经开启排队入口。但比较麻烦的是,每项体验都得申请排队。

对此网友戏称:「每一天都在各种申请Waitinglist的路上。」

​——昨天刚加入了Bard的候补,今天又要开始排Copilot X的队。

Copilot Chat

申请地址:https://github.com/github-copilot/chat_waitlist_signup/join

GitHub在Copilot中内嵌一个基于GPT-4的聊天窗口,专注于开发者场景,并集成成在VS Code和Visual Studio上。

然鹅,它不仅仅是一个聊天窗口那么简单。

现在,Copilot不仅可以识别开发者输入的代码内容,报错信息显示,还可以对代码块的用途进行深入分析和解释,生成单元测试。

甚至还可以给出debug的建议。

此外,在Copilot中,你甚至不再需要键盘来编写代码。

只需坐在电脑前,说一句「嘿,GitHub!」,动动嘴皮子编代码就能实现了。

目前,GitHub正在试验GitHub Copilot Voice新功能,一个基于语音的交互系统。

除了编写代码,通过Copilot Voice,你甚至可以完成:代码跳转、控制IDE、代码总结。

Copilot for Pull Request

申请地址:https://copilot4prs.githubnext.com/login

除了编辑器外,全新的GitHub Copilot还会为Pull Requests提供加持。

开发者在PR描述中插入标签,Copilot便会自动识别,并进行扩展补写。

目前支持的标记,主要有以下几种:

  • copilot:summary为PR生成一段摘要总结。
  • copilot:walkthrough详细的更改列表,包括指向相关代码段的链接。
  • copilot:poem写一首诗来描述本次改动。
  • copilot:all自动生成以上所有内容。
而这,还只是第一步。

未来,Copilot还会新增Gentest和Ghost Text的两大功能。

Gentest:当Copilot发现提交的Pull Request缺少足够的测试时,会自动提醒开发者,并根据项目需求建议可编辑、接受或拒绝的潜在测试。

对于项目所有者来说,这个功能还可以帮助他们去制定关于测试的策略,同时支持开发者遵循这些策略。

Ghost Text:当开发者创建Pull Request时,Copilot会动态地获取代码更改的相关信息,并自动给出建议。

此外,GitHub正在进行的其他探索和实验包括:

解决AI问题:可以自动描述如何解决问题,甚至自动建议需要进行的更改。

如下,在提交了转移到PyTorch的问题后,新功能可以提供生成代码建议,并发起新的Pull Request。

用AI审查PR:由于大量的开发人员将时间花费在代码审查,以及为代码审查准备PR上,这一功能就可以减少审查花费的周期。

Copilot for Docs

申请地址:https://githubnext.com/projects/copilot-for-docs

一份优秀的技术文档对于一位开发者的重要性,显然不言而喻。

Copilot for Docs这一功能能够帮你从这份文档中快速定位,并找到想要的内容。

官方博客称,Copilot for Docs仅是一个实验性的工具。程序员可以通过聊天界面来找到文档中的内容,包括使用的语言、框架和技术等问题。

比较厉害的地方是,就是这个个性化的特点。

它可以根据用户的不同编程水平,对该文档的了解程度,以及想要查找的内容,输出不同的答案。

程序员还可以第一时间获取最新内容,直接从GitHub repo让现有的材料与最新版本的文档保持同步。

同时,从GitHub获取内容的另一个好处是,可以轻松回答有关团队私有内容的问题。这一功能可以在现有的GitHub权限基础上提供只有自己内部团队可以看到的信息。

此外, Copilot还可以在不同第三方文档之间来回穿梭,比如React、 Azure文档和MDN,可以将其内容进行拼接,并返回结果。

未来,GitHub还要探索索引文档以外的资源的其他方法,比如问题、请求、讨论和wiki,以便为开发人员提供回答技术问题所需的一切。

Copilot for CLI

申请地址:https://githubnext.com/projects/copilot-cli/

在代码编辑和pull request旁边,命令行终端是开发人员花费最多时间的地方。

但是,即使是最熟练的开发人员也需要滚动许多页面,来记住许多命令的精确语法。

而GitHub Copilot CLI可以编写命令和循环,并给出模糊的find标志来满足程序员的查询。

CLI的Copilot提供了三个shell命令: ??,git?,gh?。

「??」是指用于任意shell命令的通用goto。它将组成命令和循环,并抛出模糊的查找标志以满足个人查询。

「git?」用于专门搜索以及调用git。相比??,它将在生成Git命令方面更加强大,你甚至不需要解释处于Git的上下文时,查询更加简洁。

「gh?」将结合了GitHub CLI命令和查询界面的强大功能,并使用AI生成复杂标志和jq表达式。

软件开发黄金时代!10倍效率提升

GitHub首席执行官Thomas Dohmke称,虽然自动补全代码已经大大提升开发人员的生产力,而全新的Copilot X能将开发人员的生产力提升10倍。

随着全新聊天功能的出现,Copilot将成为未来人们学习编码的基础。

「软件开发的黄金时代已经来到聊天界面。」

英伟达科学家Jim Fan表示,「10倍工程师依旧是个神话,但是100倍由AI加持的工程师比以往任何时候都要真实。」

鉴于GitHub「混搭」了OpenAI的GPT-3和GPT-4,来驱动聊天功能和现有的自动补全代码功能。

Dohmke解释道,当你在编辑器中输入时,肯定是希望得到非常快的响应。

因此,在需要速度的地方,我们使用较小的模型,如代码自动补全基于Codex;而在需要准确性的地方,我们使用较大的模型,如聊天中使用GPT-4。

网友:码农「已死」

网友纷纷表示,编程已经被ChatGPT永远地改变了。

「作为一个开发者,这实在是令人沮丧。编程中,我们快乐的源泉是与逻辑打交道和解决技术问题,而不是专注于生产力或满足需求。」

「我已经做了30年的编程,但我仍然很喜欢它。我不知道没有人类代码的世界会是什么样子。不过我确实很喜欢有CoPilot来处理那些烦人的东西,还有ChatGPT来帮助我解决bug。」

「AI出现后,可能就不再需要这么多码农了。对此我感到非常焦虑,即便已经在各种存钱和投资了,但还需要差不多9年时间才能『躺平』。我略微羡慕那些在FANG工作的人,他们似乎可以轻而易举地实现财务自由。」

「从中长期来看,我们将会失去工作。」

程序员们终于用编程把自己淘汰了……

有关GPT-4 Copilot X震撼来袭!AI写代码效率10倍提升,码农遭降维打击的更多相关文章

  1. 由于 libgmp.10.dylib 的问题,Ruby 2.2.0 无法运行 - 2

    我刚刚安装了带有RVM的Ruby2.2.0,并尝试使用它得到了这个:$rvmuse2.2.0--defaultUsing/Users/brandon/.rvm/gems/ruby-2.2.0dyld:Librarynotloaded:/usr/local/lib/libgmp.10.dylibReferencedfrom:/Users/brandon/.rvm/rubies/ruby-2.2.0/bin/rubyReason:Incompatiblelibraryversion:rubyrequiresversion13.0.0orlater,butlibgmp.10.dylibpro

  2. ruby - ri 有空文件 – Ubuntu 11.10, Ruby 1.9 - 2

    我正在运行Ubuntu11.10并像这样安装Ruby1.9:$sudoapt-getinstallruby1.9rubygems一切都运行良好,但ri似乎有空文档。ri告诉我文档是空的,我必须安装它们。我执行此操作是因为我读到它会有所帮助:$rdoc--all--ri现在,当我尝试打开任何文档时:$riArrayNothingknownaboutArray我搜索的其他所有内容都是一样的。 最佳答案 这个呢?apt-getinstallri1.8编辑或者试试这个:(非rvm)geminstallrdocrdoc-datardoc-da

  3. ruby-on-rails - gem install rmagick -v 2.13.1 错误 Failed to build gem native extension on Mac OS 10.9.1 - 2

    我已经通过提供MagickWand.h的路径尝试了一切,我安装了命令工具。谁能帮帮我?$geminstallrmagick-v2.13.1Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingrmagick:ERROR:Failedtobuildgemnativeextension./Users/ghazanfarali/.rvm/rubies/ruby-1.8.7-p357/bin/rubyextconf.rbcheckingforRubyversion>=1.8.5...yescheckingfor/

  4. ruby - 安装 tiny_tds 在 mac os 10.10.5 上出现错误 - 2

    我正在使用macos,我想使用ruby​​驱动程序连接到sqlserver。我想使用tiny_tds,但它给出了缺少free_tds的错误,但它已经安装了。怎么能过这个?~brewinstallfreetdsWarning:freetds-0.91.112alreadyinstalled~sudogeminstalltiny_tdsBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtiny_tds:ERROR:Failedtobuildgemnativeextension.完整日志如下:/System

  5. ruby - rails 3.2.2(或 3.2.1)+ Postgresql 9.1.3 + Ubuntu 11.10 连接错误 - 2

    我正在使用PostgreSQL9.1.3(x86_64-pc-linux-gnu上的PostgreSQL9.1.3,由gcc-4.6.real(Ubuntu/Linaro4.6.1-9ubuntu3)4.6.1,64位编译)和在ubuntu11.10上运行3.2.2或3.2.1。现在,我可以使用以下命令连接PostgreSQLsupostgres输入密码我可以看到postgres=#我将以下详细信息放在我的config/database.yml中并执行“railsdb”,它工作正常。开发:adapter:postgresqlencoding:utf8reconnect:falsedat

  6. ruby-on-rails - 在 osx 10.9.3 上使用 RVM 安装 ruby​​-1.9.3-p547 时出错 - 2

    如何解决这个错误:$rvminstall1.9.3Searchingforbinaryrubies,thismighttakesometime.Nobinaryrubiesavailablefor:osx/10.9/x86_64/ruby-1.9.3-p547.Continuingwithcompilation.Pleaseread'rvmhelpmount'togetmoreinformationonbinaryrubies.Checkingrequirementsforosx.Certificatesin'/usr/local/etc/openssl/cert.pem'arealr

  7. u盘安装系统(win10为例) - 2

    下载微PE工具箱进入官网下载微PE工具箱-下载 安装好后,打开微PE工具箱客户端,选择安装PE到U盘 PE壁纸可选择自己喜欢的壁纸,勾选上包含DOS工具箱,个性化盘符图标 下载原版系统进入网站下载镜像NEXT,ITELLYOU如果没有账号,注册一下就好进入选择开始使用选择win10 这里我们选择消费者版,用迅雷把BT种子下载下来 下面的两个盘符,是PE工具箱安装进U盘后,分成的盘符,注意EFI的盘符,这里面不能删东西,也不能添东西,另一个盘符可以当做正常的U盘空间使用,我们现在需要把下载下来的景象文件复制到正常的U盘空间中去 这个时候我们的系统U盘就只做好了 安装系统我们将U盘插入电脑,开机,

  8. ruby-on-rails - OSX 10.7.5 - Ruby on Rails LoadError : Could not open library 'sodium' : dlopen(sodium, 5) - 2

    输入rakedb:create后我得到:LoadError:Couldnotopenlibrary'sodium':dlopen(sodium,5):imagenotfound.Couldnotopenlibrary'libsodium.dylib':dlopen(libsodium.dylib,5):imagenotfound这里还有一些输出。/Users/Mao/.rvm/gems/ruby-2.0.0-p451/gems/ffi-1.9.3/lib/ffi/library.rb:133:in`blockinffi_lib'/Users/Mao/.rvm/gems/ruby-2.0

  9. ruby-on-rails - 如何使用 Xcode 4.5.1 在 OSX Lion 10.8.2 上编译 EventMachine gem - 2

    我找遍了所有我能找到的地方,但似乎找不到解决这个问题的办法。我在Lion10.8.2上使用Xcode4.5.1,并尝试为Rails项目运行bundle,但它一直卡在这上面。我正在为Heroku使用Thingem。Bolanos@Jeremys-Mac-mini⦿-1.9.3fishfarm$sudogeminstalleventmachinePassword:Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingeventmachine:ERROR:Failedtobuildgemnativeextens

  10. ruby - Ruby 中允许 "p *1..10"打印出数字 1-10 的功能是什么? - 2

    require'pp'p*1..10这会打印出1-10。为什么这么简洁?您还可以用它做什么? 最佳答案 它是“splat”运算符。它可用于分解数组和范围并在赋值期间收集值。这里收集赋值中的值:a,*b=1,2,3,4=>a=1b=[2,3,4]在此示例中,内部数组([3,4])中的值被分解并收集到包含数组中:a=[1,2,*[3,4]]=>a=[1,2,3,4]您可以定义将参数收集到数组中的函数:deffoo(*args)pargsendfoo(1,2,"three",4)=>[1,2,"three",4]

随机推荐