首页 科技开发工具 娱乐游玩工具 热门工具   APP 登录/注册 联系/合作
   
 
自然语言编程人工智能正在消除编码的苦差事
“学习编码。” 每当媒体宣布裁员时,这三个词的贬义词就会永远挂在互联网巨魔和科技兄弟的嘴边和指尖。就其本身而言,这是一种无用的观点,但随着最近代码生成人工智能的出现,了解像Python这样的编程语言的来龙去脉很快就会像知道如何流利地说像梵语这样的死语言一样有用。事实上,这些 genAI 已经通过处理大量编程繁琐工作,帮助专业软件开发人员更快、更有效地编码。

编码是如何工作的
当今最广泛分布和编写的两种编码语言是 Java 和 Python。前者在 20 世纪 90 年代中期发布时,几乎单枪匹马地彻底改变了跨平台操作,现在正如Java 杂志在 2020 年所说的那样,驱动着“从智能卡到太空飞行器的一切”,更不用说维基百科的搜索功能和所有 Minecraft 了。 后者实际上早于 Java 几年,并作为许多现代应用程序(如 Dropbox、Spotify 和 Instagram)的代码基础。

它们在操作上有很大的不同,Java 需要在运行之前进行编译(将人类可读的代码翻译成计算机可执行的机器代码)。与此同时,Python 是一种解释性语言,这意味着它的人类代码在程序执行时会逐行转换为机器代码,使其无需首先编译即可运行。解释方法允许更容易地为多个平台编写代码,而编译的代码往往集中于特定的处理器类型。无论它们如何运行,两者之间的实际代码编写过程几乎相同:必须有人坐下来,打开文本编辑器或集成开发环境 (IDE),并实际写出所有这些指令行。直到最近,这个人通常都是人类。

今天的“经典编程”编写过程与 ENIAC 的过程没有什么不同,软件工程师解决一个问题,将其分解为一系列子问题,编写代码来解决每个子问题按顺序,然后反复调试、重新编译代码,直到运行。另一方面,“自动编程”在一定程度上消除了程序员。人们不再单独编写每一行代码,而是为计算机创建任务的高级抽象,然后生成要处理的低级代码。这与“交互式”编程不同,“交互式”编程允许您在程序已经运行时对其进行编码。

今天的对话式人工智能编码系统,就像我们在 Github 的 Copilot 或 OpenAI 的 ChatGPT 中看到的那样,通过将编码过程隐藏在自然语言的背后,进一步消除了程序员的负担。程序员告诉人工智能他们想要编程什么以及如何编程,机器可以自动生成所需的代码。

构建工具来构建工具,允许任何工具构建工具
Codex 是这种新型对话式编码 AI 中的第一批产品,它由 OpenAI 开发并于 2021 年末发布。此时,OpenAI 已经实施了 GPT-3(为 BingChat 公众提供支持的 GPT-3.5 的前身),即大型语言经过公共网络上数十亿单词的训练后,该模型非常擅长模仿人类的言语和写作。然后,该公司使用 100 多 GB 的 GitHub 数据来微调该模型,以创建 Codex。它能够生成 12 种不同语言的代码,并可以在它们之间翻译现有程序。

Codex 擅长生成小型、简单或可重复的资产,例如“单击时会短暂震动屏幕的红色大按钮”或常规功能(例如 Google Web 表单上的电子邮件地址验证器)。但无论你的文章多么丰富,你都不会将它用于复杂的项目,比如编写服务器端负载平衡程序——这个要求太复杂了。

谷歌的 DeepMind 专门开发了 AlphaCode 来应对此类挑战。与 Codex 一样,AlphaCode 首先在数 GB 的现有 GitHub 代码档案上进行训练,但随后接受了来自在线编程竞赛的数千个编码挑战,例如弄清楚有多少给定长度的二进制字符串不包含连续的零.

为此,AlphaCode 将生成多达一百万个候选代码,然后拒绝除前 1% 之外的所有代码以通过其测试用例。然后,系统根据剩余程序输出的相似性对它们进行分组,并依次测试它们,直到找到成功解决给定问题的候选程序。根据 2022 年发表的一项研究科学,AlphaCode 成功地在 34% 的时间内正确回答了这些挑战问题(与 Codex 在相同基准测试中取得的个位数成功相比,这还不错)。DeepMind 甚至进入 AlphaCode 参加 5,000 名参赛者的在线编程竞赛,它超过了近 46% 的人类竞争对手。

现在连人工智能都有笔记了
正如 GPT-3.5 是 ChatGPT 的基础模型一样,Codex 是 GitHub 的 Copilot AI 的基础。Copilot 经过从公共网络组装的数十亿行代码的训练,通过 Visual Studio Code、Visual Studio、Neovim 和 JetBrains 集成开发环境 (IDE) 的订阅插件提供基于云的 AI 辅助编码自动完成功能。

Copilot 最初于 2021 年 6 月作为开发者预览版发布,是首批进入市场的具有编码能力的人工智能之一。GitHub 的产品副总裁 Ryan J Salva 告诉 Engadget,自那以后的两年里,已有超过 100 万开发人员使用了该系统。借助 Copilot,用户可以从自然语言文本输入生成可运行的代码,并自动完成常见重复的代码部分和编程功能。

Salva 指出,在 Copilot 发布之前,GitHub 之前的机器生成编码建议仅在 14% 到 17% 的情况下被用户接受。“这很好,”他说,“这意味着它正在帮助开发商。” 自 Copilot 首次亮相以来的两年内,这一数字已增长至 35%,“这相当于 [GitHub 上] 编写的代码量的一半以下——准确地说,46% 由人工智能编写。”

“[这]不仅仅是编写代码的百分比问题,”萨尔瓦澄清道。“这实际上关系到正在开发的开发人员的生产力、专注度和满意度。”

与 ChatGPT 等自然语言生成器的输出一样,来自 Copilot 的代码在很大程度上是可读的,但与在开放互联网上训练的任何大型语言模型一样,GitHub 确保纳入了额外的保护措施,以防止系统无意中生成可利用的代码。

“在模型产生建议和将该建议呈现给开发人员之间,”萨尔瓦说,“我们在运行时为开发人员执行[...]代码质量分析,寻找代码中的常见错误或漏洞,例如交叉站点脚本或路径注入。”

该审核步骤旨在随着时间的推移提高推荐代码的质量,而不是监视或监管代码的用途。Copilot可以帮助开发人员创建构成恶意软件的代码,系统不会阻止它。“我们认为 Copilot 是一种帮助开发人员生成代码的工具,”Salva 说道,他指的是此类系统的众多白帽应用程序。“将 Copilot 这样的工具放在他们手中 [...] 使他们更有能力的安全研究人员,”他继续说道。

随着技术的不断发展,萨尔瓦认为生成式人工智能编码将远远超出其当前的技术界限。这包括在对话式人工智能上“下大赌注”。他说:“我们还看到人工智能辅助开发确实渗透到软件开发生命周期的其他部分。”修复 CI/CD 构建错误、修补安全漏洞,或者让人工智能审查人类编写的代码。

“就像我们今天使用编译器生成机器级代码一样,我确实认为他们最终将通过人工智能进入另一个抽象层,允许开发人员用不同的语言表达自己,”萨尔瓦说。“也许是自然语言,如英语、法语或韩语。然后将其“编译”为机器可以理解的内容,从而使工程师和开发人员能够专注于项目的整体发展,而不是其构建的具体细节。

从编码员到闲聊者
由于人类决策仍然牢牢地嵌入人工智能编程循环中,至少目前如此,我们不必担心软件编写软件。正如萨尔瓦指出的那样,计算机在编译代码时已经在一定程度上做到了这一点,而数字灰色物质尚未因此而接管。相反,人工智能编程面临的最直接的挑战与一般生成人工智能的挑战相似:固有偏差扭曲训练数据、模型输出侵犯版权,以及在训练大型语言模型时围绕用户数据隐私的担忧。

GitHub 并不是唯一一家致力于打造 AI 编程伙伴的公司。OpenAI 的 ChatGPT 能够生成代码,就像在 GPT 平台上构建的无数独立变体一样。也是如此亚马逊的 AWS CodeWhisperer 系统,它提供了与 Copilot 大部分相同的自动完成功能,但针对在 AWS 框架内使用进行了优化。在用户多次请求后,谷歌合并了Bard 的代码生成和调试功能同样是在去年四月,在其整个生态系统转向拥抱人工智能之前I/O 2023和小程的释放,Alphabet 对 Copilot 的回答。我们还不能确定生成编码系统最终会变成什么样,或者它会如何影响科技行业——我们可能会关注变革性民主化技术的最早迭代,也可能是新一代的 Clippy。
最新文章:
所有文章资讯、展示的文字、图片、数字、视频、音频、其它素材等内容均来自网络媒体,仅供学习参考。内容的知识产权归属原始著作权人所有。如有侵犯您的版权,请联系我们并提供相应证明,本平台将仔细验证并删除相关内容。
工具综合排行榜
TOP 1
双计算器 双计算器
同时用两个计算器,用于价格对比、数字分别计算等
TOP 2
推算几天后的日期 推算几天后的日期
推算从某天开始,增加或减少几天后的日期
TOP 3
随机密码生成 随机密码生成
随机生成安全复杂的密码,自由设置密码长度及复杂度
TOP 4
推算孩子的血型 推算孩子的血型
根据父母的血型推测子女的血型
TOP 5
日期转中文大写 日期转中文大写
把数字日期转成中文大写,是财务或商务合同常用的工具
热门内容:       双计算器       推算孩子的血型       随机密码生成       日期转中文大写       推算几天后的日期       达轻每日一景       高校分数线       高校查询       周公解梦大全
首页 科技开发工具大全
娱乐游玩工具大全
登录/注册
联系我们
  用户咨询/建议
kf@ss3316.com


商务合作/推广
hz@ss3316.com

达轻工具 APP

访问手机版网站
使用本平台必读并同意:任何内容仅供谨慎参考,不构成建议,不保证正确,平台不承担任何责任,同意用户协议隐私政策   
BaiduTrust安全认证签章
© 达轻科技 版权所有 增值电信业务经营许可证 ICP备 沪B2-20050023-3