ITPub博客

首页 > 云计算 > 公有云实践 > 使用Amazon Q加速软件开发生命周期

使用Amazon Q加速软件开发生命周期

公有云实践 作者:出海新观点 时间:2025-07-08 02:09:41 0 删除 编辑


导读

虽然现有的AI助手主要专注于在人类密切指导下生成代码,但Amazon Q Developer拥有一种独特的称为代理的功能,它可以利用推理和规划能力,在最少人工干预的情况下执行超越代码生成的多步骤任务。其软件开发代理能够解决复杂的任务,不仅仅局限于代码建议,还包括构建完整的应用程序功能、重构代码或生成文档。参加本次会议,探索新的代理功能,帮助开发人员更快地从规划阶段到将新功能呈现给客户。

演讲精华

以下是小编为您整理的本次演讲的精华。

这场演示以Doug Clausen为开场,他是亚马逊 Q 的一位产品经理,介绍了亚马逊 Q 开发者,这是一款由生成式人工智能驱动的助手,旨在帮助开发人员更高效地构建、运营和维护整个软件开发生命周期中的应用程序。他强调,亚马逊 Q 开发者已经发布了能够协助完成多步骤任务的专门代理。

来自存托信托和清算公司(DTCC)的John O’Powle随后分享了他们采用亚马逊 Q 开发者的经历。DTCC 是一家中央证券存托机构,负责处理大量的证券交易,仅去年在固定收益证券领域的交易价值就超过 3 万亿美元。鉴于其运营规模之大,DTCC 非常重视安全性、可扩展性、性能和弹性。2022 年初,他们将开发人员生产力确定为一个高影响力的使用案例,并决定试用亚马逊 Q 开发者。

DTCC 进行了全面的工具评估,最终选择了亚马逊 Q 开发者,因为它满足了他们在安全性、隐私性、支持的编程语言、存储库兼容性和定制能力方面的严格要求。他们设计了一个为期 17 周的试点项目,涉及 30 多名来自不同团队、编程语言和集成开发环境的开发人员。

试点项目取得了非常成功的结果,每位参与者的吞吐量平均增加了 40%。值得注意的是,代码质量指标保持稳定,代码缺陷减少了 30%。DTCC 非常谨慎地衡量了这些结果,确保了统计学意义,并计算出了可观的投资回报率。因此,他们获得了在整个组织范围内更广泛部署亚马逊 Q 开发者的批准。

Doug Clausen随后分享了亚马逊在软件开发中使用人工智能代理的愿景。他将人工智能代理定义为一种能够感知环境、做出决策、采取行动以实现特定目标并不断从行动中学习的系统。为了说明这些代理是如何运作的,他提供了一个酒店预订代理的类比。

Doug解释说,亚马逊 Q 开发者代理将能够感知并与整个软件开发环境进行交互,包括代码存储库、项目管理工具、CI/CD 管道、外部数据源以及正在运行的应用程序本身。然后,这些代理将以实现特定目标为导向采取行动,观察行动的效果,并不断学习以改进决策过程。

他强调了专门代理之间协作的潜力,其中一些代理专注于需求收集、编码、测试和运营。这些代理可以以半自主模式运行,像配对程序员一样与开发人员合作,也可以完全自主运行,独立实现目标。

Doug展示了亚马逊发布的首两个正式版代理:一个代码转换代理,旨在将 Java 应用程序从 8 或 11 版本升级到 17 版本;以及一个构建代理,能够根据自然语言输入实现多文件功能和错误修复。

然后,他演示了构建代理的实际操作,展示了它如何根据用户提供的自然语言提示为一个餐馆投票应用程序创建新路由、实现密码保护以及生成投票表格。

Manny Sreenivasson是亚马逊 Q 的一位高级产品经理,他介绍了在 2024 年 re:Invent 大会上宣布的三个新代理:

1.           单元测试生成代理:该代理可根据用户提供的自然语言提示自动创建单元测试。其目的是减少开发人员编写单元测试的工作量,提高整体代码可靠性。

2.           文档代理:该代理能够根据项目的上下文和代码库生成或更新 README 文件,包括描述、存储库结构、使用说明、API 文档和数据流程图。

3.           代码审查代理:该代理旨在在代码提交之前检测并建议修复安全漏洞、代码质量问题和不佳代码等问题。其目标是通过主动识别和解决潜在问题来简化代码审查过程。

Manny演示了每个代理的操作,说明了它们如何自动化通常由开发人员手动执行的任务,从而节省大量时间和精力。

此外,亚马逊还宣布了与 GitHub 集成亚马逊 Q 开发者代理的预览版,允许开发人员直接从他们的 DevOps 平台调用这些代理,用于代码生成、测试、文档和代码审查等任务。

Manny强调,虽然这些代理旨在自动化工作流程,但它们并非旨在取代开发人员,而是协助他们的工作。他提供了采用亚马逊 Q 开发者代理的最佳实践,例如从特定用例入手、将其纳入日常工作流程、彻底测试生成的代码,以及衡量通过使用这些代理实现的影响和投资回报率。

总之,这场演示强调了亚马逊在软件开发中使用人工智能代理的愿景,展示了他们现有和新宣布的用于自动化各种软件开发生命周期任务的代理,并提供了 DTCC 成功采用亚马逊 Q 开发者的见解。这些代理旨在加速软件开发、提高代码质量并提高开发人员的生产力,方式是自动化多步骤任务并利用生成式人工智能的力量。

随后,Doug Clausen演示了构建代理的实际操作。他展示了一个简单的投票应用程序,其中包含了 Outback、IHOP 和 Chipotle 等餐馆的 API 端点,访问这些端点会在 DynamoDB 中递增计数器。Doug表示希望为该应用程序添加前端,允许用户为他们喜欢的餐馆投票。

为了实现这一目标,Doug通过在聊天框中输入“dev”并提供自然语言提示来调用 Q 开发者代理。他要求创建一个新路由“/votes”、添加密码保护,以及显示一个表格,其中包含餐馆名称、当前票数和投票方式。

过了一段时间后,代理提供了实时更新,表示它已经审查了 app.py 文件、创建了一个新模板,并对代码库进行了必要的更改。Doug接受了这些更改,其中包括一个新的身份验证函数、一个“get_all_votes”函数、一个带有错误检查的新“/votes”路由,以及一个用于投票页面的 HTML 模板。

Doug随后运行应用程序并导航到“/votes”页面,在那里他被要求登录。输入默认的“admin”凭据后,他看到了所要求的表格,其中显示了餐馆名称、当前票数,并且可以为每家餐馆投票。

Doug承认,如果他对代理的输出不满意,可以通过提供额外的要求或自行进行必要的修改来与代理进行迭代。

Manny Sreenivasson接着介绍了在 2024 年 re:Invent 大会上宣布的三个新代理,首先是单元测试生成代理。他解释说,开发人员面临的一个常见挑战是在实现新功能或增强功能后需要编写单元测试。虽然耗时且乏味,但单元测试对于确保代码可靠性至关重要。

为了解决这一挑战,亚马逊宣布了 Q 开发者代理,用于自动化单元测试生成。通过调用“/test”命令,开发人员可以提供自然语言提示,例如“为 getBooks 函数生成单元测试”,代理将自动合成必要的单元测试。

Manny演示了该代理的实际操作,为餐馆投票应用程序的 app.py 文件中的“getVotes”函数生成单元测试。该代理创建了一个新的测试文件(如果不存在的话),并生成了正面和负面测试用例,涵盖了传递有效和无效餐馆输入等场景。

Manny介绍的第二个代理是文档代理,旨在自动化 README 文件的生成和更新。开发人员通常觉得编写文档是一项乏味的任务,但它对于项目维护和协作至关重要。

通过调用“/doc”命令,开发人员可以创建新的 README 或更新现有的 README。Manny演示了该代理为餐馆投票应用程序创建新的 README,根据项目的上下文和代码库生成描述、存储库结构、使用说明、API 文档和数据流程图。

Manny宣布的第三个代理是代码审查代理,旨在简化代码审查过程。Manny强调了代码审查的耗时性,作者提交代码、审查人员提供反馈、作者解决反馈的过程是一个迭代循环。

代码审查代理在代码提交之前检测并建议修复安全漏洞、代码质量问题和不佳代码等问题。Manny展示了该代理如何识别不当资源暴露、错误处理不足和包漏洞等问题,并生成代码修复以解决这些问题。

Manny还宣布了与 GitHub 集成亚马逊 Q 开发者代理的预览版,允许开发人员直接从他们的 DevOps 平台调用这些代理。他演示了在 GitHub 上创建一个新问题并将其分配给亚马逊 Q 开发者代理,该代理生成了解决该问题所需的代码和工件。

此外,Manny在GitHub合并请求中展示了代码审查代理,识别出硬编码用户名等问题,并建议使用参数化的准备语句。通过调用“QFix”功能,该代理生成了解决所识别问题的代码。

Manny强调,虽然这些代理旨在自动化工作流程,但它们并非旨在取代开发人员,而是为了协助他们。他提供了采用Amazon Q Developer代理的最佳实践,例如从特定用例开始、将它们纳入日常工作流程、彻底测试生成的代码以及衡量实现的影响和投资回报率。

Manny设想这些代理能够无缝协作,一个代理根据需要调用另一个代理以完成任务。例如,开发代理可以生成代码,然后测试代理创建单元测试,Documentation代理生成必要的文档,而无需开发人员手动干预。

总之,该演示突出了亚马逊在软件开发中使用AI代理的愿景,展示了现有和新发布的代理用于自动化各种SDLC任务,并提供了DTCC成功采用亚马逊Q Developer的见解。这些代理旨在加速软件开发、提高代码质量并通过自动化多步骤任务和利用生成式AI的力量来提高开发人员的生产力。

我们正处在 Agentic AI 爆发前夜。 2025 亚马逊云科技中国峰会提出,企业要从 " 成本优化 " 转向 " 创新驱动 " ,通过完善的数据战略和 AI 云服务,把握全球化机遇。亚马逊将投入 1000 亿美元在 AI 算力、云基础设施等领域,通过领先的技术实力和帮助“中国企业出海“和”服务中国客户创新“的丰富经验,助力企业在 AI 时代突破。



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70038688/viewspace-3090346/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2024-05-21

  • 博文量
    679
  • 访问量
    565556