代码|“AI程序员”上岗,软件开发的“第三次工业革命”来临?

澎湃新闻见习采访人员 邵文
近日 , GitHub、GitHub的母公司微软和OpenAI联合推出了“AI配对程序员”GitHub Copilot的技术预览版 , 这也是微软向OpenAI投资10亿美元后的首个主要成果 。
代码|“AI程序员”上岗,软件开发的“第三次工业革命”来临?文章插图
GitHub Copilot官网中将其描述为:“你的AI配对程序员” , 可直接在编辑器中获取有关整行或整个函数的建议 , 帮助你更快完成编程工作 。
GitHub Copilot不是搜索引擎 , 它提出的绝大多数代码建议都是新生成的 , 此前从未出现过 。 它会分析用户已编写的代码 , 并生成新的匹配代码 , 包括之前调用过的特定函数 。 可实现的主要功能有:根据注释写出代码、快速评估不同方法、编写测试、自动填充重复代码、给出整行代码或整个函数的补全建议以及适应用户编写代码的方式 。
AI开始抢夺程序员的工作了?
代码|“AI程序员”上岗,软件开发的“第三次工业革命”来临?文章插图
从左起 , GitHub首席执行官Chris Wanstrath、微软首席执行官Satya Nadella和GitHub首席执行官Nat Friedman在旧金山GitHub总部 。 (来源:微软)
GitHub Copilot建立在Open AI Codex的新算法之上 , Open AI首席技术官Greg Brockman将其描述为GPT-3的后代 。 GPT-3是Open AI的旗舰语言生成算法 , 可以生成无法区分是否为人类书写的文本 。 他进一步解释道 , 编程涉及提出关于如何做某事的想法 , 然后实施它 , Copilot擅长实施 。
Open AI是一家人工智能初创公司 , 现由Y Combinator前总裁Sam Altman领导 。 自Altman领导以来 , OpenAI已经从非营利转向“有限盈利”(capped-profi)模式 , 2019年接受了微软的投资 。 2020年9月 , 微软获得OpenAIGPT-3语言模型的独家许可 。
GitHub首席执行官Nat Friedman在博客中表示 , Copilot适用于广泛的框架和语言 , 但目前发布的技术预览版对Python、JavaScript、TypeScript、Ruby和Go尤其适用 。
对于AI替代程序员的热议 , Nat Friedman表示 , “软件开发正迎来自己的‘第三次工业革命’ 。 第一次革命是编译器、调试器、垃圾收集器以及语言等工具的出现 , 极大提升了开发者的工作效率;第二次则以开源为龙头 , 帮助全球开发者社区汇聚起来并在彼此的开发成果基础之上不断推进;第三次革命就在当下 , 尝试在编码当中使用AI技术 。 在发展成熟之后 , 开发人员的日常工作内容将有巨大改变——但仍然有很多工作可做、也只能由人类开发者完成 , 因此不用太担心 。 ”
本质上来说 , Copilot是一款AI结对编程工具 。 程序员可以在机器辅助下进行编程 , 并且在与AI共同完成程序编写的过程中 , 程序员会及时纠正机器人的错误 , 进一步改进机器人学习的模型 。
GitHub认为该工具是结对编程的重大进展 , 程序员在编写代码时有了一个“虚拟的帮手” , 它可以捕捉到程序员的错误 , 加速开发过程 。
【代码|“AI程序员”上岗,软件开发的“第三次工业革命”来临?】这里说的结对编程(Pair programming)是计算机编程领域的术语 , 用来代指两个程序员在一台计算机上共同工作 , 一个人输入代码 , 而另一个人审查输入的每一行代码 , 输入代码的人称作驾驶员 , 而审查代码的人称作观察员 。 为了保证结对编程的纠偏能力 , 两个程序员经常互换角色 。
近年来人机结对编程(MMPP)不断成熟 , AI结对编程(AIPP , 可以简单理解为人机结对编程的升级版)产品也逐步成熟落地 , 目前典型的落地产品有aiXcoder智能编程机器人和最新亮相的Copilot 。
对于Copilot能实现怎样的效果 , 官网做了如下演示 。