掀翻牌桌:定义面向未来的开发新范式

科技   2024-12-13 16:38   辽宁  

连很多 AWS 内部的员工都没有料到,总裁 Andy Jassy 这次会出现在 re:Invent 2024 年的舞台上。

这位纽约尼克斯的著名球迷,穿着件球队文化衫和程序员的经典格子衬衫录制了一段视频,在今年 re:Invent 开始之前宣布自己将会在未来多天的议程中频繁现身。这位从 2003 年 AWS 成立以来,一直领导着 AWS 的旗帜性人物,上一次出现在 re:Invent 还是 2020 年。

2020 年,云计算全球市场规模第一次突破 2000 亿美元,一场关于云的转型变革开始在全球范围内形成共识。《财富》杂志在千禧年之初评出的的 500 强企业有一半已经掉出榜单,但与此同时,AI 跃迁式的进步,以及一批面向未来的公司即将成长起来,也已经有迹可循。

四年之后,云与 AI 的关系也在几年内迅速拉近,今年 Andy Jassy 再次现身 re:Invent 的主舞台——当然,换了一套更正式的蓝衬衫和灰西装——然后并不意外的把这次演讲中最大的篇幅,给了当下这个 AI 时代所有的开发者。

从 GitHub Copilot 的代码补全,到 Cursor 的 AI 驱动 IDE,再到 AWS 为开发者拿出来的生产力工具 Amazon Q ,AI 与开发者的关系在近两年迅速走深。开发范式的变革从这场生成式 AI 浪潮最初的潮涌时就已开始,直到现在仍然在剧烈的进行着。

“We invent so you can reinvent.”Andy Jassy如此总结道。


而 AWS 是如何理解开发这件事的,又会如何来定义 AI 时代的开发范式,这些都在这一次 Amazon Q 新的迭代中愈发显现出来。

Amazon Q 正在重新定义
AI 时代的开发范式

去年的 re:Invent 上,AWS 首次官宣了生成式 AI 助手 Amazon Q。到今年 4 月末,以服务技术研发的 Amazon Q  Developer 和服务企业内部的 Amazon Q  Business 两个版本正式推出。

现在 Q Developer 的能力向着对开发全生命周期的辐射,更进一步。

刚推出时,我们旨在通过 Q Developer 为大家提供一个出色的编码助手”,AWS CEO Matt Garman 表示。

“但我们与开发者交流后了解到,多数开发者平均每天花在编码上的时间也就一个小时左右,其余时间都用在其他端到端的开发任务上。因此,我们就想从整个开发周期去看看,是否在其他地方也能提供帮助。”

整个开发流程中,开发者工作量最繁重的是代码开发和测试环节,Amazon Q Developer 此次放出了针对开发和测试环节的全新的三项能力,关于文档、代码审查以及单元测试的自动化。

首先来看看写文档这件事。

如果做一个关于“开发者最讨厌什么事”的调查,编写和维护代码文档肯定排在前三。但与文档打交道又是开发者每天的日常。

现在利用 Amazon Q Developer,开发者可以在首选 IDE 中生成代码库的全面文档,包括自述文件和数据流图。开发者只需要几步点击,系统就会扫描源文件、创建知识图谱、总结源文件内容并生成文档。

通过让 Amazon Q Developer 负责繁琐的文档工作,开发者可以专注于代码的设计和编写。

代码审查是此次 Amazon Q Developer 新增的另一项核心能力。

代码本身的质量,关乎代码的可读性、可维护性、可靠性和安全性。糟糕的代码质量会导致技术债务累积,最终拖慢开发速度,增加维护成本,甚至引发安全风险。

全新的代码审查功能,意味着开发者有了一个极度理性、刀法精确的代码诊断医生。

其自动化代码审查流程可以代替开发者识别和解决各类代码质量问题,包括代码异味、反模式、命名规范违例、潜在缺陷、逻辑错误、重复代码、文档不足和安全漏洞,以及在 IDE 或 GitLab 仓库中违反 AWS 最佳实践的情况。

当然,到了最后一步开发者也可以选择不接受 Amazon Q Developer 的建议,再聪明的 AI 也无法完全代替开发者的大脑和判断能力——但这真的已经足够成为一份能检查出代码大部分问题的体检报告。

Amazon Q Developer 的第三个新增能力面向的是令人头疼的单元测试。

通过对代码最小单元的验证,可以让开发者在修复成本还不高的时候尽早发现 bug,并且调整代码。但当一个开发项目的代码量可观,单元测试所需要的时间投入也会变大。

于是 Amazon Q Developer 提供了全新的单元测试自动化能力,操作起来会是这样:

这意味着从识别测试用例到为项目文件编写单元测试,整个过程的自动化。在单元测试中,开发者可以生成基本的测试用例,例如边界条件、空值、差一错误(off-by-1)的情况,以及检查多种输入类型。

同时,开发全生命周期不仅仅是一个关于从 0 到 1 的新应用开发概念,大量现有应用程序的管理和向云与 AI 的“现代化”转化,或许是此前一直处于编程 AI 助手的能力盲区。

“就拿遗留应用程序升级来说,往往需要耗费好几个月的时间,很多时候又复杂又漫长。”Matt Garman 的观察是,很多开发者把大量的时间都用在了维护、更新以及修补现有应用程序上。

实际上 AWS 很早就关注到了这一点。今年更早的时候,Amazon Q Developer 已经将成千上万的生产应用迁移到 Java 17 上,而在本次 re:Invent 上,这种应用的“现代化”进程被推动到了新的地步——比如从 VMware 虚拟机环境迁移到云原生架构。

此次迭代后:

  • Amazon Q Developer 提供了可以自动识别应用依赖关系、生成迁移计划并重构网络配置的能力,帮助客户从 VMware 转向云原生

  • 同时,开发者基于.NET 的较老应用程序现在也可以从 Windows 平台迁移到 Linux

  • 除此之外,AWS 还推出了一款用于现代化 COBOL 大型机应用程序的 Agent。通过对代码的自动分析和规划重构,极大简化了大型机现代化复杂流程中的噪声。

成为一种观念

Amazon Q 的功能在不断丰富,对于 AI 的一种更大的共识也正在开发者群体中形成。

在进入 12 月,Github 的页面上 Copilot 悄然成为了一级入口。在此之前,投资机构乐观的对 Cursor 在今年 11 月的年经常性收入(ARR)估到了 6500 万美元的规模。

开发者对 AI 能力的需求已经有超越代码补全,开始全面渗入处理软件生命周期中更广泛的日常任务的趋势。

身处这场浪潮中的 AWS 则走在了更前面。Matt Garman 表示,现在 AWS 产品和服务的开发,遵循一种“building blocks”(构建单元)的理念。

这是一种从提供搭好的模型,到提供积木的思路变化。

在这个过程中,Amazon Q 除了自我的继续迭代之外,也展现出进一步在 AWS 内部和外部,各种产品和服务中自由流动的趋势。

Amazon Q Developer 现已集成到 GitLab 和 Amazon SageMaker 平台,GitLab 用户可通过 Duo 的聊天功能访问 Amazon Q 的服务,形成统一开发体验。Amazon SageMaker 的下一代版本也将会整合 Amazon Q 在文档、代码审查和单元测试方面的新功能,提升数据探索和 AI 交互的直观性。除此之外,Amazon Q 的能力也会进入 Amazon Connect 和 Amazon Supplychain 等服务,进一步提升开发效率和资源利用度。

AWS 上的开发者和公司以更高的自由度来搭建最贴合自己业务的云服务,与此同时 Amazon Q 则让更先进的 AI 能力开始成为每一块积木中的底色,来为整个开发过程提供新的想象力。

换句话说,Amazon Q 现在已经不止是一个狭义的编程助手,而开始成为一种更广泛而无形的开发观念。

与此同时,以 Amazon Q 的变化为牵引,其背后 AWS 整个大模型技术和产品生态在今年的 re:Invent 上展示出了巨大变化。一个全新的大模型系列,一块 3 nm 的 AI 芯片,以及大量工程学上的努力,这是今天 AWS 在谈论 “building blocks” 时,所拿出来的更具体的东西。

模型和芯片层的厚重实力,让 AWS 能够在对开发观念的实现上做的更多。而在 Amazon Q 的此次更新后,其之前在开发环节中的脆弱处得到补全,眼下它所定义的——或许是未来全球开发者生态中最通用的AI开发范式——开始真正变得具象化。

  开发范式的新定义,
只能 AWS 来下

攥着上游的算力资源,几乎所有云厂商都在试图定义开发范式在大模型时代的变革方向,而 AWS 每一步怎么走,无疑是最被看重的。原因很简单, AWS 是全球汇聚了最多核心公司的那朵云。

2024 年 7 月的 AWS 纽约峰会上,有两个数字被展示出来:

  • 目前全世界 96% 的 AI 独角兽有业务跑在 AWS 上;

  • 2024 福布斯 AI 50 榜单中,90% 的企业用的是 AWS 的云服务;

在云与 AI 因为算力需求而无限绑定的当下,这几乎意味着一切。企业与技术人员是走在每一次技术革命最前沿的两股力量,用脚投票也早在浪潮起时就开始了。

而在今年的 re:Invent 会场,最惹眼的“来宾“,一位是 Anthropic 的联合创始人兼 CTO Tom Brown,另一位是苹果的 AI 和机器学习高级总监 Benoit Dupin。

巧合的是,上一次 Andy Jassy 出现在 re:Invent 的 2020 年,苹果也是 AWS 会场中的主角之一。

AWS 在 2020 年拿下了苹果这个大客户,然后在年底的 re:Invent 大会上发布了适用于 Amazon Elastic Compute Cloud(Amazon EC2) 的全新 Mac 实例。这是 MacOS 首次出现在云端,也是苹果软硬一体战略的起步。

四年后苹果仍然是这个世界上关于 AI 能力在人类现实生活中如何落地这件事上,最受追捧的定义者。而年轻的 Anthropic 则是现在大模型领域最重要的公司之一。

AWS 正在与 Anthropic 酝酿一个代号为 Rainer 的项目——一个超级 AI 训练平台和一个数十万颗 Trainium2 芯片并行的扩展分布式模型训练计划。建成后,这个训练平台将会为 Anthropic 构建和部署其未来的新模型。

这些在 AI 变革中极重要的公司,他们的选择又反过来重新定义了云厂商的竞争局面。

20220 年,Amazon EC2 的全新 Mac 实例让 Apple 社区的 2800 万开发人员直接受益。。而眼下根据统计机构 gitchart 的数据,2024 年在 GitHub 上的用户总数现在已经达到 1.7 亿。

几乎是站在 AI 时代所有重要公司、甚至所有开发者背后的 AWS ,每一个微小的开发范式变化都会变得非常重要。

就像前面提到的应用程序“现代化”。

几个月前,Andy Jassy 曾发文,在将 Amazon Q 集成到内部系统后,其代码转换功能已经将应用程序升级到 Java 17 的平均时间从开发人员的 50 天左右缩短到了几个小时。

当这种变化进入巨大的开发者群体,问题就变成了:

  • 如果现在的一年可以完成之前 4500 年的开发量,那一个开发者现在能够做到什么事情?

  • 如果这样的开发者有 1.7 亿,未来的应用程序上限会在哪里?

这种用 AI 将开发效率提升推向极限的假设,指向了一种全新的开发范式,而这种开发范式是否可行,或者将会如何倒逼“程序“这个概念的重塑,或许眼下只能由 AWS 来推动。说到底,为 AWS 背书的,是这个世界上最大的开发者群体整体的理性和智慧。

而率先把他们从繁琐的文档、代码屎山中解放出来、将重复劳动的时间最小化,是第一步,或许也是最重要的一步。

一年之后,Amazon Q 越来越像是每个开发者在 AI 时代要的那个答案了。

今日好文推荐

硅谷 1/10 程序员在摸鱼?拿20-30万美元年薪却几乎不干活

我们采访了亚马逊 CTO,但 AI 不是重点

裁掉 1.5 万人后,英特尔传奇 CEO 被逼下台:18 岁入职,风雨 40 载,如今成了“背锅侠”?

GitHub谎报了Copilot的统计数据!两年了,我们还是没办法证明AI编程助手能提高代码质量

InfoQ 老友!请留步!极客邦 1 号客服上线工作啦!

后续我将通过微信视频号,以视频的形式持续更新技术话题、未来发展趋势、创业经验、商业踩坑教训等精彩内容,和大家一同成长,开启知识交流之旅

欢迎扫码关注我的微信视频号~

InfoQ
为一线互联网公司核心技术人员提供优质内容。科技圈的观察者,前沿技术的传播者。
 最新文章