谷歌AI助力软件工程的进展及未来展望

2024-06-11 08:36

本文主要是介绍谷歌AI助力软件工程的进展及未来展望,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行! 订阅:https://rengongzhineng.io/

回顾与现状

在2019年,无论是在谷歌还是其他地方,软件工程师们虽然听说过机器学习的进步,特别是深度学习在计算机视觉和语言翻译领域的显著效果,但他们很难想象这些技术会如何在软件开发中产生影响。仅仅五年后的2024年,AI辅助写代码已成为软件工程师中的热门话题,许多人都在使用基于机器学习的自动补全工具,无论是公司内部工具(如谷歌的内部代码补全)还是商业产品。

谷歌在这篇博客中,介绍了内部软件开发工具的最新AI改进,并讨论了未来五年的预期变化。团队负责谷歌工程师大部分时间所用的软件开发环境,包括内循环(如IDE、代码审查、代码搜索)和外循环界面(如缺陷管理、规划)。通过这些改进,直接提升了开发者的生产力和满意度,这是谷歌密切关注的两个指标。

挑战

AI技术发展迅速,预测哪些想法应该首先探索一直是个挑战。技术上可行的演示与成功产品化之间通常存在显著差距。谷歌遵循三条准则来将想法应用于产品:

  1. 优先考虑技术可行性和影响力:专注于已经确定技术可行性并对工程师工作流程有高影响力的想法。
  2. 快速学习以改进用户体验和模型质量:专注于快速迭代和提取经验教训,同时保障开发者的生产力和幸福感。用户体验与模型质量同样重要。
  3. 衡量效果:目标是提升生产力和满意度指标,因此需要广泛监控这些指标。

将LLM应用于软件开发

随着Transformer架构的出现,谷歌开始探索如何将大型语言模型(LLM)应用于软件开发。基于LLM的内联代码补全是AI在软件开发中最受欢迎的应用:使用代码本身作为训练数据是自然的应用方式。用户体验感觉自然,因为单词级自动补全已是IDE多年的核心功能。此外,可以使用一个粗略的影响衡量方法,例如由AI生成的新字符的百分比。因此,这一LLM应用成为首个部署的合理选择。

早期的博客介绍了谷歌如何通过代码补全提升用户体验及其影响测量。从那时起,企业环境中类似的快速增长也得以实现,软件工程师的接受率达到了37%,帮助完成了50%的代码字符。换句话说,现在代码中的字符有一半是由AI辅助完成的,而不是开发者手动输入的。虽然开发者仍需花时间审查建议,但他们有更多时间专注于代码设计。

关键改进

关键改进来自模型(更大的模型具有改进的编码能力,提供给模型的上下文构建的启发式方法,以及基于接受、拒绝和纠正的使用日志调整模型)和用户体验。这一循环对于从实际行为中学习,而不是从合成公式中学习至关重要。

谷歌利用多年来精心整理的跨多个工具的高质量内部软件工程活动日志。这些数据使谷歌能够表示细粒度的代码编辑、构建结果、解决构建问题的编辑、代码复制粘贴操作、修复粘贴代码、代码审查、解决审查问题的编辑以及代码提交到存储库的变更。训练数据是带有特定任务注释的代码对齐语料库。数据收集过程的设计、训练数据的形状以及基于这些数据训练的模型在DIDACT博客中进行了描述。谷歌继续利用这些强大的数据集与更新一代的基础模型进行探索。

下一个重大部署是解决代码审查评论(超过8%现在通过AI辅助完成)和自动适应周围上下文的粘贴代码(现在负责IDE中约2%的代码)。其他部署包括用自然语言指示IDE进行代码编辑和预测构建失败的修复。其他应用,例如预测代码可读性提示,遵循类似模式也是可能的。

学习成果

到目前为止,谷歌的工作教会了几件事:

  1. 用户体验的自然融合:取得最高影响的是自然融入用户工作流程的用户体验。在所有上述示例中,建议会呈现给用户,只需按一下Tab键或点击一下就可以进行下一步。需要用户记住触发功能的实验未能规模化。
  2. 平衡代码审查成本和增加值:观察到,随着AI建议的增多,代码作者越来越成为审查者,找到审查成本和增加值之间的平衡很重要。通常通过接受率目标来解决这一权衡。
  3. 快速迭代和在线A/B测试:快速迭代和在线A/B测试是关键,因为离线指标往往只是用户价值的粗略代理。通过在内部工具中展示AI功能,能够轻松发布和迭代,测量使用数据,并通过用户体验研究直接向用户询问他们的体验。
  4. 高质量数据的重要性:谷歌工程师在软件工具中的活动数据,包括与功能的互动数据,对于模型质量至关重要。
  5. 优化机会转化:观察到跨功能的优化机会转化,从机会(主要是用户活动,如下图漏斗顶部所示)到影响(应用AI辅助,如漏斗底部所示),同时通过用户体验和模型改进消除漏斗中间步骤的瓶颈。

展望未来

受到迄今成功的鼓舞,谷歌正在加倍努力,将最新的基础模型(Gemini系列)与开发者数据(如上所述的DIDACT的一部分)结合,推动现有和新的ML在谷歌软件工程中的应用。

在整个行业中,基于ML的代码补全为软件开发者提供了重大推动。虽然在代码生成方面仍有改进的机会,但预计下一波收益将来自更广泛的软件工程活动的ML辅助,例如测试、代码理解和代码维护;后者在企业环境中特别重要。这些机会为谷歌的持续工作提供了信息。谷歌还强调了两个行业趋势:

  1. 自然语言的人机交互:人机交互已转向自然语言作为常见模式,正在转向使用语言作为软件工程任务的界面以及开发者信息需求的入口,所有这些都集成在IDEs中。
  2. ML自动化大规模任务:从诊断问题到实施修复的大规模任务的ML自动化已开始显示出可行性。这些可能性由代理和工具使用的创新驱动,允许构建使用一个或多个LLM作为组件来完成更大任务的系统。

为了扩展上述成功并迈向下一代能力,从事该主题的实践者和研究人员社区将受益于共同基准的帮助,以推动该领域向实际工程任务发展。迄今为止,基准主要集中在代码生成(如HumanEval)。然而,在企业环境中,针对更广泛任务的基准可能特别有价值,例如代码迁移和生产调试。一些基准,例如用于错误解决的基准(如SWEBench),以及针对这些基准的原型(如来自Cognition AI)已经发布。谷歌鼓励社区共同提出更多基准,以涵盖更广泛的软件工程任务。

这篇关于谷歌AI助力软件工程的进展及未来展望的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1050669

相关文章

揭秘未来艺术:AI绘画工具全面介绍

📑前言 随着科技的飞速发展,人工智能(AI)已经逐渐渗透到我们生活的方方面面。在艺术创作领域,AI技术同样展现出了其独特的魅力。今天,我们就来一起探索这个神秘而引人入胜的领域,深入了解AI绘画工具的奥秘及其为艺术创作带来的革命性变革。 一、AI绘画工具的崛起 1.1 颠覆传统绘画模式 在过去,绘画是艺术家们通过手中的画笔,蘸取颜料,在画布上自由挥洒的创造性过程。然而,随着AI绘画工

一份LLM资源清单围观技术大佬的日常;手把手教你在美国搭建「百万卡」AI数据中心;为啥大模型做不好简单的数学计算? | ShowMeAI日报

👀日报&周刊合集 | 🎡ShowMeAI官网 | 🧡 点赞关注评论拜托啦! 1. 为啥大模型做不好简单的数学计算?从大模型高考数学成绩不及格说起 司南评测体系 OpenCompass 选取 7 个大模型 (6 个开源模型+ GPT-4o),组织参与了 2024 年高考「新课标I卷」的语文、数学、英语考试,然后由经验丰富的判卷老师评判得分。 结果如上图所

AI儿童绘本创作

之前分享过AI儿童绘画的项目,但是主要问题是角色一致要花费很长的时间! 今天发现了这款,非常奈斯! 只需输入故事主题、风格、模板,软件就会自动创作故事内容,自动生成插画配图,自动根据模板生成成品,测试效果如下图。 变现方式:生成儿童绘本发布到各平台,吸引宝妈群体进私域。  百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全

时序预测 | MATLAB实现LSTM时间序列未来多步预测-递归预测

时序预测 | MATLAB实现LSTM时间序列未来多步预测-递归预测 目录 时序预测 | MATLAB实现LSTM时间序列未来多步预测-递归预测基本介绍程序设计参考资料 基本介绍 MATLAB实现LSTM时间序列未来多步预测-递归预测。LSTM是一种含有LSTM区块(blocks)或其他的一种类神经网络,文献或其他资料中LSTM区块可能被描述成智能网络单元,因为

人工和AI大语言模型成本对比 ai语音模型

这里既有AI,又有生活大道理,无数渺小的思考填满了一生。 上一专题搭建了一套GMM-HMM系统,来识别连续0123456789的英文语音。 但若不是仅针对数字,而是所有普通词汇,可能达到十几万个词,解码过程将非常复杂,识别结果组合太多,识别结果不会理想。因此只有声学模型是完全不够的,需要引入语言模型来约束识别结果。让“今天天气很好”的概率高于“今天天汽很好”的概率,得到声学模型概率高,又符合表达

智能客服到个人助理,国内AI大模型如何改变我们的生活?

引言 随着人工智能(AI)技术的高速发展,AI大模型越来越多地出现在我们的日常生活和工作中。国内的AI大模型在过去几年里取得了显著的进展,不少独创的技术点和实际应用令人瞩目。 那么,国内的AI大模型有哪些独创的技术点?它们在实际应用中又有哪些出色表现呢?此外,普通人又该如何利用这些大模型提升工作和生活的质量和效率呢?本文将为你一一解析。 一、国内AI大模型的独创技术点 多模态学习 多

【新闻】AI程序员要来了吗?阿里云官宣

内容提要 6 月 21 日,在阿里云上海 AI 峰会上,阿里云宣布推出首个AI 程序员。 据介绍,这个AI程序员具备架构师、开发工程师、测试工程师等多种岗位的技能,能一站式自主完成任务分解、代码编写、测试、问题修复、代码提交整个过程,最快分钟级即可完成应用开发,大幅提升研发效率。 近段时间以来,有关AI的实践应用突破不断,全球开发者加速研发步伐。有业内人士坦言,随着大模型性能逐渐提升,AI应

AI元宇宙

随着科技的迅猛发展,人工智能(AI)迎来了一个宇宙大爆发的时代。特别是以GPT为代表的生成式大模型的诞生和不断进步,彻底改变了人们的工作和生活方式。程序员与AI协同工作写代码已成为常态,大模型不仅提高了工作效率,还为人类带来了无限的可能性。 AI元宇宙http://ai.toolxq.com/#/如同生物进化出眼睛打开了三维世界的元宇宙之后,GPT打开了人+AI工作模式的新时代,程序员的人生被划

AI学习指南机器学习篇-朴素贝叶斯处理连续特征和离散特征

AI学习指南机器学习篇-朴素贝叶斯处理连续特征和离散特征 在机器学习领域,朴素贝叶斯是一种常用的分类算法,它的简单性和高效性使得它在实际应用中得到了广泛的应用。然而,在使用朴素贝叶斯算法进行分类时,我们通常会面临一个重要的问题,就是如何处理连续特征和离散特征。因为朴素贝叶斯算法基于特征的条件独立性假设,所以对于不同类型的特征,我们需要采取不同的处理方式。 在本篇博客中,我们将探讨如何有效地处理

AI赋能天气:微软研究院发布首个大规模大气基础模型Aurora

编者按:气候变化日益加剧,高温、洪水、干旱,频率和强度不断增加的全球极端天气给整个人类社会都带来了难以估计的影响。这给现有的天气预测模型提出了更高的要求——这些模型要更准确地预测极端天气变化,为政府、企业和公众提供更可靠的信息,以便做出及时的准备和响应。为了应对这一挑战,微软研究院开发了首个大规模大气基础模型 Aurora,其超高的预测准确率、效率及计算速度,实现了目前最先进天气预测系统性能的显著