“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认为该工具是结对编程的重大进展,程序员在编写代码时有了一个“虚拟的帮手”,它可以捕捉到程序员的错误,加速开发过程。

这里说的结对编程(Pair programming)是计算机编程领域的术语,用来代指两个程序员在一台计算机上共同工作,一个人输入代码,而另一个人审查输入的每一行代码,输入代码的人称作驾驶员,而审查代码的人称作观察员。为了保证结对编程的纠偏能力,两个程序员经常互换角色。

近年来人机结对编程(MMPP)不断成熟,AI结对编程(AIPP,可以简单理解为人机结对编程的升级版)产品也逐步成熟落地,目前典型的落地产品有aiXcoder智能编程机器人和最新亮相的Copilot。

对于Copilot能实现怎样的效果,官网做了如下演示。

根据注释写出代码:编程者给出一条描述代码逻辑的注释,Copilot就能自动生成代码。

“AI程序员”上岗,软件开发的“第三次工业革命”来临?(第三次工业革命人工智能)

代码补全:提取代码上下文,即可给出整行代码或整个函数的补全建议。

“AI程序员”上岗,软件开发的“第三次工业革命”来临?(第三次工业革命人工智能)

自动填充重复代码:

“AI程序员”上岗,软件开发的“第三次工业革命”来临?(第三次工业革命人工智能)

编写测试:导入单元测试包,即可帮开发者实现与代码匹配的软件测试。

“AI程序员”上岗,软件开发的“第三次工业革命”来临?(第三次工业革命人工智能)

快速评估不同方法:

在编程中,同一个函数常有多种实现方法,编程者通常会根据代码的实现效果和运行性能选择最合适的方法,Copilot可一键查看多种实现方法。

“AI程序员”上岗,软件开发的“第三次工业革命”来临?(第三次工业革命人工智能)

“这很可能是让编程本身更平易近人的事情之一,”微软CTO凯文·斯科特表示。

Copilot的核心Codex模型使用GitHub的数十亿行公开可用代码以及英语示例进行训练。对于由此引发的争议,Friedman回应称,“总体来说:(1)在公共数据上训练机器学习系统属于合理的使用方式;(2)输出结果的所有权归于操作者,跟传统的编译器没什么区别。具体到训练问题上,大家也可以看到OpenAI向美国专利商标局做出的承诺。”

GitHub也表示,并不是所有使用的代码都经过了漏洞、不安全实践或个人数据的审查。因此,他们也设置了一些过滤器来防止Copilot生成攻击性的语言,但效果可能并不完美,需要后续完善。

GitHub Copilot首先会出现在微软的免费开源产品Visual Studio Code中,未来,微软计划将其整合到商业产品Visual Studio中。

责任编辑:李跃群

校对:张艳

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月1日 上午10:36
下一篇 2024年5月1日 上午10:48

相关推荐

  • 汽车项目开发管理系统

    汽车项目开发管理系统 随着汽车制造业的不断发展,汽车项目开发管理系统已经成为了现代汽车企业必须拥有的工具之一。汽车项目开发管理系统可以帮助企业高效地管理项目开发过程,提高项目质量,…

    科研百科 2024年12月19日
    0
  • 信息系统项目管理师业绩

    信息系统项目管理师业绩 随着信息技术的不断发展,信息系统项目管理师已经成为了一个不可或缺的职业。作为一个专业的项目管理师,他们负责协调和管理团队,以实现信息系统项目的成功交付。本文…

    科研百科 2025年1月24日
    0
  • 《初中语文教材中记叙文标题的读思达教学实践研究》结题报告(读思达在语文教学法实验设计)

    #头条创作挑战赛# 一、研究的背景、目的、意义 (一)研究背景 一是着眼于我国基础教育发展的时代背景 夸美纽斯早就在《大教学论》中提出“生本化”思想的雏形,本世纪初,郭思乐教授明确…

    科研百科 2024年6月19日
    36
  • 工业物联网(IIOT)的定义、示例及关键技术(lot工业物联网)

    “工业物联网”一词在工业背景下普遍存在,因为数字化转型已成为许多组织的业务优先事项。那么,什么是IIoT? 工业4.0 随着互联网云计算和互联网的其他进步,我们现在正处于下一次工业…

    科研百科 2023年10月28日
    92
  • pr项目管理

    pr项目管理:从入门到精通 在数字媒体领域,pr项目管理是非常重要的一项工作。它涉及到编辑、制作、发布和营销等多个方面,需要团队中的不同成员之间进行协调和合作。本文将介绍pr项目管…

    科研百科 2024年8月16日
    24
  • 厦门一批留学人才科研项目结项,最高产值近千万元(厦门留学人才服务)

    来源:【厦门日报】 12月27日上午,市人社局举办2023年厦门市留学人才科研项目结项颁证暨创新创业座谈交流会,10位获得留学人员科研项目及配套资助结项的留学人才参会。 2023年…

    科研百科 2024年4月14日
    52
  • 仓储管理系统有哪些?(仓储管理软件有哪些模块)

    仓储管理软件是一种用于管理仓储物流的软件,可以帮助企业优化仓储管理,提高库存利用率,减少库存浪费,提高物流效率。下面是仓储管理软件的一些常见模块: 1. 库存管理模块:该模块主要用…

    科研百科 2024年6月2日
    45
  • 协同办公软件排名(协同办公软件比较)

    协同办公软件比较 在现代企业中,协同办公软件已经成为了工作过程中不可或缺的一部分。不同的协同办公软件具有不同的特点和功能,因此我们需要比较它们以选择最适合我们需求的软件。在本文中,…

    科研百科 2024年8月28日
    27
  • 科研项目产生的收入

    科研项目产生的收入 科研项目是一种通过科学技术创新来解决现实世界问题的活动。这些项目产生的收入不仅仅是资金,更是推动科学技术发展的重要动力。本文将探讨科研项目产生的收入以及其对经济…

    科研百科 5天前
    0
  • 项目管理中的系统论方法

    项目管理中的系统论方法 系统论方法是一种用于项目管理的方法,它基于系统论的思想,将项目视为一个整体,并考虑其组成部分之间的关系和相互作用。这种方法可以帮助我们更好地理解项目,制定更…

    科研百科 2025年1月28日
    0