亚马逊云科技Amazon Q Developer:借助生成式AI重塑软件开发与运营
扫描二维码
随时随地手机看文章
北京——2024年12月9日 亚马逊云科技在2024 re:Invent全球大会上,宣布推出Amazon Q Developer一系列创新增强功能,包括能够实现自动执行单元测试、文档生成和代码审查流程的智能体,可大幅提升开发人员在整个软件开发流程中的效率;以及能够在极短时间内帮助用户解决运营难题的能力。Amazon Q Developer是一款针对软件开发功能强大的生成式人工智能(AI)助手,开发人员几乎可以在所有需要的地方使用它,包括Amazon Management Console,此次与GitLab的全新集成,以及各类集成开发环境(IDE)等等。
• Amazon Q Developer能够自主识别并生成单元测试,通过全面的测试覆盖,以更少时间帮助开发人员及早发现问题并显著提升代码的可靠性。
• 开发人员现在可以使用 Amazon Q Developer 生成和维护其所有项目文档,确保他们始终掌握项目的最新信息;同时让他们能够快速上手新代码,为团队成员抓取关键的项目细节,并提升旧文档的可读性。
• Amazon Q Developer具备自动检查代码质量、查重和识别安全漏洞的能力,从而简化代码审查流程。它能够迅速向开发人员提供反馈,让开发人员在当前工作流程下,加速部署高质量的代码。
• 基于亚马逊云科技丰富的运营经验及对企业和组织的云资源关系的深入理解,Amazon Q Developer现在可以帮助不同经验水平的用户,以更短的时间调查并解决其在亚马逊云科技环境中的运营问题,确保企业应用程序的正常运行。
• 埃森哲、亚马逊Kindle、亚马逊Prime Video、Amazon Music、Boomi、BT Group、Cedar Gate Technologies、德勤、FINRA、Genesys、Netsmart、培生、SmugMug以及Tata Consultancy Services等众多企业,都正在使用Amazon Q Developer来提升开发人员的工作效率,并快速解决运营挑战。
亚马逊云科技下一代开发者体验副总裁Deepak Singh表示:“Amazon Q Developer正在从根本上改变开发人员的工作方式,它将各类软件开发任务的速度提升高达80%。Amazon Q Developer的代码接受率在所有多行代码编码助手中位居首位,其代码安全扫描的性能也超越了领先的公开基准工具。Amazon Q Developer的自主代理功能更是凭借其卓越的准确性,在SWE-bench Verified的排行榜上居于首位。正是基于这些优势,我们的客户正广泛通过Amazon Q Developer在软件开发生命周期各阶段提升开发人员的生产力。通过此次的发布,我们正将应用程序构建与运行过程中最为繁琐和耗时的任务实现自动化处理,消除了软件开发中的无差异工作,从而最大限度地发挥每位开发人员的影响力。”
短时间获得更好的测试覆盖率
编写单元测试对于保障代码按预期运行并及早发现潜在问题至关重要。然而,开发人员在全面实施代码测试时往往面临繁琐且耗时的挑战。这种状况常常导致开发人员为追求速度而牺牲了全面的测试覆盖率,这不仅增加了代码部署后昂贵的回滚风险,还可能影响客户体验。尽管生成式AI助手能够辅助这一过程,但依旧需要开发人员投入时间进行逐步指导。为了进一步减轻开发人员的负担,Amazon Q Developer现已推出自动识别并生成单元测试代码的功能,帮助开发人员大幅减少工作量的同时实现完整的测试覆盖率,这不仅确保了代码的可靠性,也加速了功能的交付进程。
生成测试代码如今变得更为简便。在集成开发环境(IDE)中,开发人员仅需在Amazon Q Developer的聊天窗口输入“/test”命令,或是选中相关代码块后右键选择“test”选项即可。Amazon Q Developer将基于对整个项目的深入理解,自动识别并生成相应的测试用例,并将这些测试无缝集成到项目中,从而帮助开发人员快速验证代码是否达到了预期效果。在GitLab环境下,开发人员可通过“/q test”快捷操作使用 Amazon Q Developer,通过这一合并请求自动化生成代码测试,这一功能不仅大幅节省了时间,还提升了整个团队的测试覆盖率。通过消除编写单元测试代码所需的大部分工作,Amazon Q让开发人员能够将更多时间投入到编码本身,同时提供给开发人员所需的覆盖范围,以确保代码的高质量。
各种规模的企业开发人员正使用Amazon Q Developer快速获得更好的测试覆盖率。Boomi是一家基于云的集成和自动化平台,他们的开发人员通过使用Amazon Q Developer,预计减少25%的手动测试时间,实现完整项目测试覆盖的速度可提升20%,并在开发周期的早期阶段就能发现并修复更多漏洞,这将加速人工主导的最终审查流程。利用Amazon Q Developer,Boomi提升了开发效率和代码质量,并通过流程优化成功节约了15%的开发成本。Tata Consultancy Services正使用Amazon Q Developer全面加速他们软件开发生命周期,使开发人员能够更快地(速度提升高达30%)生成更为全面、精准的上下文感知的单元测试,确保了代码的鲁棒性、韧性和可靠性。德勤通过采用 Amazon Q Developer自动识别和生成单元测试,比手动显著缩短了测试时间,使得开发团队能够更快完成测试覆盖,交付更高质量的代码,从而可以更快为其客户推出新的解决方案。总体来看,德勤的开发人员在坚守严格安全标准的前提下,开发速度提升了30%。
生成和维护文档,确保文档的准确性和时效性
开发人员在代码编写和测试阶段之后,通常需要编写文档来阐述代码的功能与运行机制。但随着项目规模的扩大,文档的实时更新往往成为一大难题且容易被忽略,这导致新的开发人员不得不花大量时间自行理解代码的运行机制。为减轻这一负担,Amazon Q Developer现已推出自动生成和实时更新文档的功能,让开发人员能够轻松维护准确、详尽的项目文档信息。如今,开发人员无须从编写代码的过程中中断,事无巨细地记录代码的工作原理,从而将更多时间投入到项目工作中。同时,整个开发团队的效率也会得到提升,因为团队成员无需再花费大量时间研究一段代码的功能。现在他们可以更加专注地投入到项目中,为项目带来更有意义的创新。
开发人员如今能够在集成开发环境(IDE)中,或是通过GitLab集成产品轻松创建文档。开发人员要使用该功能非常简单,只需在 IDE 的聊天窗口输入 “/doc”,即可自动开始生成和更新他们版本库中的README文件。为了加快对代码的理解,开发人员可以直接向Amazon Q提问,了解代码的具体运作方式,或利用它来优化现有文档的可读性,从而帮助团队成员更轻松地掌握代码逻辑。Amazon Q Developer还会提供文档修改建议,确保开发人员能够准确无误地更新文档,并与他们的想法保持一致。
Genesys是一家全球化AI驱动的体验编排服务提供商,将使用Amazon Q Developer来提升其现有文档的精确度和可读性。他们希望能将新加入公司的开发人员掌握陌生代码的速度提升四倍,提升公司内部更高效的协作。同时,通过与Amazon Q Developer的其他智能体功能相结合,如自动单元测试、功能开发和代码审查,Genesys有望将开发人员的生产力提升超过30%。电子健康记录和解决方案提供商 Netsmart通过使用Amazon Q Developer自动文档功能,其工程师能够以更少的工作量维护项目详细的准确性,并且能够将项目上手时间缩短最多一周。在采用Amazon Q Developer优化开发流程的多个环节后,Netsmart已实现了35%的代码建议接受率,并预计效率还将持续提升。
通过自动化代码审查部署更高质量的代码
代码部署前的一个关键环节往往要求另一位开发人员对代码进行细致检查,确保其符合企业要求的质量、风格与安全标准。这一过程可能要开发人员花费数天时间等待反馈并反复修改,且由于通常只有一位审查员参与,有时难免遗漏潜在的重大问题。为提升效率并尽早识别更多潜在漏洞,Amazon Q Developer推出了自动代码审查功能,帮助开发人员能够及时获得反馈,并基于工程最佳实践维护代码质量。
通过充当第一审查者,Amazon Q 可帮助开发人员尽早发现并解决代码质量问题,从而大幅减少后续审核所需的时间。开发人员要启动审查流程,仅需在IDE的聊天界面输入“/review”,Amazon Q便能迅速标记可疑的代码模式,识别开源软件包的风险,并评估更改上线后可能带来的影响。此外,Amazon Q能够智能地利用合并请求中的上下文信息调整其建议,确保建议与开发人员的编码风格和偏好相匹配。在开发人员审查合并请求时,可通过GitLab Duo配合Amazon Q调用“/q review ”,轻松获取反馈并进一步简化代码审查流程。
Amazon Prime Video的开发团队遵循严格的代码审查流程,以确保每一行代码都符合客户所期望的高质量和可用性标准。Amazon Q Developer的自动代码审查功能能够帮助开发人员审核每一行代码并合并需求,这让开发人员能够在同行评审之前产出更高质量的代码,显著降低了代码回滚与修订需求,从而加速了工作周期。作为Amazon Q Developer的早期使用者,Prime Video的开发团队每周已经节省了数个小时,其中部分开发人员采纳了超过50%的代码建议。通信服务商BT Group的开发人员现在能够全天候使用Amazon Q Developer获取即时代码反馈,使得他们能够以更快的速度迭代并交付更加稳定和安全的代码。在早期使用阶段,BT Group的开发人员就发现代码审查代理极具价值,它不仅能够识别出潜在的质量与安全风险,还能提供问题解析及修复建议,以确保代码按预期运行。总体而言,自从使用Amazon Q Developer以来,BT Group的代码接受率达到 37%,并在使用Amazon Q Developer的前四个月内将约12%的繁琐、耗时的工作实现了自动化。
迅速应对运营挑战
当应用程序编写完毕并投入生产环境后,运营团队便肩负起监控其运行状况、迭代优化及解决问题的重任,以确保应用性能达到预期标准。一旦遇到问题,运营团队需迅速采取行动以恢复应用程序的正常运行,减少对客户的影响。然而,这是一个反复试验的过程,可能需要数小时来手动筛选大量数据,以识别并修复问题。凭借亚马逊云科技超过17年运营全球广泛且可靠云计算基础设施的丰富经验,Amazon Q Developer能够协助不同经验水平的运营和开发人员,在极短时间内对他们在亚马逊云科技环境中的运营问题进行深入调查并解决。
当Amazon CloudWatch发出警报的那一刻起,Amazon Q Developer便会自动启动调查流程。凭借其对企业使用亚马逊云科技资源的深入了解,包括Amazon CloudWatch、Amazon CloudTrail、Amazon Health和Amazon X-Ray等,它能快速筛选数十万个数据点,发现服务之间的关系,并通过了解它们如何协同工作来识别相关信号中的异常。经过分析后,Amazon Q向用户提供问题根本原因的潜在假设,并指导用户如何解决——这些功能组合是其他主要云服务提供商所无法比拟的。在可行的情况下,Amazon Q Developer还能展示操作手册,并在获得用户批准后自动执行。由于Amazon Q Developer承担了繁重的调查工作,用户可以更快地解决问题,从而节省大量时间,专注于更具战略意义的工作上。
用户在检测到系统信号异常时,例如遇到延迟激增或日志中显示用户运行错误,可以立即启动调查。用户可以通过在Amazon Management Console选择“调查”选项,或使用Amazon Q 聊天工具询问其亚马逊云科技资源,如“My Amazon Lambda function is running slow. What is wrong with it?(我的Amazon Lambda 函数似乎运行缓慢,哪里出了问题?)”。在整个调查过程中,Amazon Q将在Amazon CloudWatch中汇总所有发现、执行的操作以及后续建议,便于团队协作与共享,从而有效预防未来潜在的问题。
凭借亚马逊云科技丰富的运营经验和庞大规模,Amazon Q Developer为客户提供基于这些专业知识的深入调查见解和解决指导,帮助客户更高效的运营。照片管理平台SmugMug运用Amazon Q Developer自动分析系统指标、日志和运营事件,使得他们能够在20分钟内诊断出大多数问题,诊断速度提升了50%。SmugMug通过减少手动日志搜索从而提升了运营效率,让团队成员能够将更多的时间和资源投入到平台构建中,帮助摄影师发展他们的数字商店。在亚马逊,Kindle的技术支持工程师采用Amazon Q Developer的运营调查功能后,问题解决速度提升了65-80%,这使他们能够更快地响应客户需求,确保提供卓越的用户体验。Amazon Music的开发人员将Amazon Q视为全天候的得力助手,它能够自动调查并识别各种潜在问题,极大提升了他们的响应速度。初期的使用数据显示,Amazon Music的问题解决速度提高了一倍,确保了听众能够不间断地享受他们喜爱的音乐。医疗健康技术提供商Cedar Gate Technologies通过使用Amazon Q Developer将运营问题的根本原因分析时间从原先的两个小时大幅缩短至大约30分钟,加快了调查和解决问题的速度,确保其医疗健康客户能够不间断地为患者提供高质量的护理服务。
目前,所有这些全新的代理功能都可以在集成开发环境IDE中使用,也可通过与GitLab集成的新产品进行预览使用。同时,新的运营功能目前处于预览阶段。