当前位置: 首页 > news >正文

谷歌在软件工程领域应用AI的进展与未来展望

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

随着人工智能辅助软件开发的不断深入,谷歌在其内部工具中已经取得了显著进展,并对未来五年的发展趋势做出了展望。本文概述了谷歌在软件工程环境中推动AI应用的最新成果,并分享了构建高效AI产品的经验与方法。

在2019年,不论是在谷歌还是其他技术公司,大多数软件工程师虽然已耳闻机器学习的进展,并知晓深度学习在计算机视觉、语言翻译等领域的显著成效,但他们尚未真正意识到机器学习可以对软件工程工作带来哪些切实帮助。

然而,仅仅五年后的2024年,软件开发领域对AI技术的热情已然高涨。大量工程师已经在使用机器学习驱动的自动补全功能,无论是来自公司内部的代码补全工具(如谷歌内部使用的系统),还是商业产品。

谷歌此次公布的AI能力提升集中体现在对内部软件开发工具的持续改造上。工程团队负责构建谷歌工程师使用的开发环境,覆盖了内循环(如集成开发环境IDE、代码评审、代码搜索)以及外循环工作场景(如缺陷管理、项目规划)。这些工具的改进对开发者的生产力与满意度产生了直接影响,而这两项指标也在被持续跟踪与评估。

技术挑战与策略

人工智能技术发展迅猛,导致在实际产品化过程中常常面临三大挑战:选题优先级难以确定、从技术原型到可用产品存在巨大差距、用户体验和模型效果难以协调。为此,谷歌团队采用三项核心原则指导产品部署:

  1. 优先考虑可行性与影响力:优先开展那些既已被验证为技术可行,又能对开发者工作流带来显著、可量化影响的项目。
  2. 快速学习与迭代:以用户体验与模型质量并重的原则,快速试验、优化,同时确保开发者的效率与满意度不受影响。
  3. 注重成效衡量:围绕生产力与满意度这两个核心指标,建立详尽的指标监测体系,确保改进措施取得实际成效。

大语言模型在软件开发中的应用

随着Transformer架构的普及,谷歌开始探索将大语言模型(LLM)应用于软件开发的方式。其中,基于LLM的代码补全已成为AI在该领域最广泛的应用形式。这一用法天然适配于利用代码本身作为训练数据,且补全体验也与开发者早已熟悉的IDE中单词级自动补全功能相似。同时,该功能的影响也可粗略通过“AI生成字符数占总字符数的比例”来衡量。

根据团队之前发布的博客,相关用户体验已被持续优化,并记录了显著增长:当前谷歌工程师对AI代码建议的接受率达到37%,AI协助完成了大约50%的代码字符量。这意味着,一半的代码由AI完成,开发者则可以将更多时间投入到代码设计与架构之中。

提升的来源包括模型本身(更大的模型、更强的编程能力、上下文构建策略、基于使用日志的模型调优)以及用户体验的提升。这样的“模型+UX”循环对于从真实行为中学习至关重要,而非仅依赖人工合成的数据。

数据与模型训练

谷歌依托多年积累的高质量内部工程数据,为AI模型提供了丰富的训练素材。这些数据覆盖了代码编辑、构建结果、修复构建失败、代码复制与修改、代码评审意见的处理、提交等详细行为,并形成了带任务标注的训练语料。这一训练体系最早在DIDACT博客中做出详细描述,当前团队正将这些数据与新一代基础模型相结合,探索更高质量的AI能力。

AI功能部署与扩展

继代码补全功能之后,谷歌还部署了以下AI能力:

  • 处理代码审查评论:目前超过8%的代码评审意见已通过AI自动处理;
  • 粘贴代码的上下文适配:约2%的IDE代码由此生成;
  • 自然语言指令控制IDE进行代码修改
  • 预测并修复构建失败
  • 提出代码可读性建议(正在探索中)。

上述应用已被广泛采用,且在工业级场景中带来了可量化的生产力提升。

实践经验总结

谷歌团队从这些部署中总结出以下重要经验:

  1. 自然融入工作流的UX效果最佳:无缝的功能集成(如按下Tab即可采纳建议)远胜于需要用户主动触发的功能。
  2. 开发者从作者转变为审阅者:AI建议使开发者更多承担评审角色,因此建议质量与接受率之间需保持良好平衡。
  3. 快速迭代至关重要:通过线上A/B测试不断调整模型与UX设计,因为线下指标常常难以精准反映用户价值。
  4. 高质量使用数据是模型优化关键:包括开发者与功能的所有交互记录。
  5. 从机会到实际应用的转化路径必须优化:需针对整个“机会漏斗”中的各环节(模型置信度、响应时间、建议质量、用户是否看到)持续优化UX与模型。

未来展望

基于上述成果,谷歌团队将进一步集成最新的Gemini系列基础模型与DIDACT工程数据,扩展AI在软件开发中的应用边界。

放眼整个行业,ML驱动的代码补全已成为推动开发效率的重要因素。下一波提升将来源于以下方向:

  • 更广泛的AI辅助开发任务:如测试生成、代码理解、代码维护,尤其在企业级环境中尤为重要。
  • 自然语言成为交互主流:语言正在成为软件工程任务的核心接口,整合至IDE中。
  • 自动化大规模任务的初步可行性:如问题诊断到修复落地的一体化流程,正在通过多Agent系统与工具集成取得初步成果。

为推动下一代AI能力的发展,行业与研究界亟需构建更具代表性的公共基准测试。目前的基准(如HumanEval)主要聚焦代码生成,而在企业场景中,对诸如代码迁移、线上调试等任务的评估标准更加紧迫。已有如SWEBench等用于Bug修复的基准被提出,同时也已有部分原型产品(如Cognition AI)面向这些基准进行开发。谷歌方面呼吁社区协作,提出更广泛的基准测试覆盖,以加速软件工程领域AI能力的落地与普及。

http://www.xdnf.cn/news/1118449.html

相关文章:

  • 数智管理学(三十三)
  • AI生成单词消消乐游戏. HTML代码
  • Opencv---blobFromImage
  • NO.4数据结构数组和矩阵|一维数组|二维数组|对称矩阵|三角矩阵|三对角矩阵|稀疏矩阵
  • 在conda的环境中安装Jupyter及其他软件包
  • SpringBoot单元测试类拿不到bean报空指针异常
  • python函数快捷的传变量地址
  • C++--红黑树封装实现set和map
  • 极矢量与轴矢量
  • Linux系统移植19:根文件系统的构建
  • leetGPU解题笔记(2)
  • C# 接口(接口可以继承接口)
  • 华为OD 处理器
  • 改进后的 OpenCV 5.x + GStreamer + Python 3.12 编译流程(适用于 Orange Pi / ARM64)
  • vue的优缺点
  • Vue 3 TypeScript 接口(Interface)使用
  • 【基于开源大模型(如deepseek)开发应用及其发展趋势的一点思考】
  • 西藏氆氇新生:牦牛绒混搭液态金属的先锋尝试
  • web:js的三种引用方式
  • MYSQL笔记1
  • 大模型之Langchain篇(二)——RAG
  • SQL的初步学习(二)(以MySQL为例)
  • 《区间dp》
  • Excalidraw:一款颠覆传统思维的免费开源绘图工具
  • DHS及HTTPS工作过程
  • JSON/AJAX/XHR/FetchAPI知识点学习整理
  • 代码随想录算法训练营第三十二天|动态规划理论基础、LeetCode 509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
  • std::sort的核心设计思想
  • 代码随想录算法训练营第十七天
  • MongoDB数据基本介绍