亚马逊云科技一年一度的全球科技盛会,2023 年度 re:Invent 大会已经结束半个月了,但大会一系列新品的发布给人带来的惊喜依旧令人记忆犹新。每一年的 re:Invent 大会都会专注于当下最有前景的[技术](https://so.csdn.net/so/search?q=%E6%8A%80%E6%9C%AF&spm=1001.2101.3001.7020?trk=cndc-detail)创新,为下一年的 IT 行业指引方向。2023 年的大会上,生成式 AI 技术是绝对的主角,包括 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 、[Amazon Bedrock](https://aws.amazon.com/cn/bedrock/?trk=cndc-detail) 等新品与更新的亮相让开发者目不暇接。
但我想谈的并不是亚马逊云科技的生成式 [AI](https://so.csdn.net/so/search?q=AI&spm=1001.2101.3001.7020?trk=cndc-detail) 创新为专业开发者带来的效率提升,或者如何帮助他们开拓更多创新可能——的确,亚马逊云科技的云端服务几乎完全是围绕专业开发者构建的,他们能够在亚马逊云科技的服务矩阵中找到自己需要的所有技术,或者至少绝大部分技术。不过这一次,我想要从一位初学者,或者门外汉的角度来看待亚马逊云科技,看待 re:Invent 大会给我带来了哪些感动。
#### 亚马逊云科技,为非技术背景人员开启了一扇大门
编程很难,这是大多数从未了解过[编程技术](https://so.csdn.net/so/search?q=%E7%BC%96%E7%A8%8B%E6%8A%80%E6%9C%AF&spm=1001.2101.3001.7020?trk=cndc-detail)的非专业人员的固有认知。事实上,仅仅是黑底白字的命令行界面就足以让大多数人望而却步。多年前,我在学校学习 Basic 语言时,对编程留下的印象就是令人生畏的 UI、复杂的语法、大段英文和数字组合,以及很难看到成果反馈。虽然行业在过去数十年来采取了一系列措施来简化编程工作的复杂性,但这些努力大都是面向已经入行的程序员。即便是近年来兴起的低代码、无代码编程概念,也更多是面向企业内部,有 IT 人员辅助的其他部门人员。对于初学者来说,似乎并没有什么突破式的创新,能让他们迅速感受到编程的乐趣,并且循序渐进地,几乎没有障碍地走入这个充满无限精彩的世界。
但不知不觉中,亚马逊云科技已经接近了这个转折点。事实上,当我初次尝试在亚马逊云科技的网站中构建自己的第一个云端服务器时,我就意识到了巨大的不同。仅仅依靠一个在智能设备上随处可见的浏览器,不需要安装任何专业软件(我的平板电脑本身就没有什么编程软件可以安装),我就能够使用 Web 界面来完成全部操作,启动了一个 Amazon [EC2](https://aws.amazon.com/cn/ec2/?trk=cndc-detail) 实例。我为它做好了安全配置,甚至启动了一个图形界面:
![image.png](https://dev-media.amazoncloud.cn/205d47708c564ccca1aefd100e3387fc_image.png "image.png")
用微软远程桌面应用连接我的 [EC2](https://aws.amazon.com/cn/ec2/?trk=cndc-detail) 实例
而整个过程中,我没有咨询什么老师,没有提前报什么学习班,没有翻开某部厚厚的大部头来挑灯夜读(许多年前,当我第一次使用 Windows 95 操作系统时,就买了一本厚厚的教材来一点点学习)。我所做的只是在亚马逊云科技的官方社区,以及互联网上琳琅满目的经验、心得中获取资源,并一步步探索完成了目标,甚至发现了一些专业开发者没有重点强调的小技巧。
我突然意识到,亚马逊云科技已经将编程学习的门槛降低到了非常平易近人的水平。如果说过去的编程门槛是一座高山,今天的亚马逊云科技让非专业人员感觉更像是公园里的小土坡,虽然攀登起来还是费劲,但每个人都可以在游玩中爬上坡顶一览美景。
时至今日,2023 re:Invent 大会的一系列创新,让我意识到现在这个土坡已经继续被改造为有些坡度的大道。在生成式 AI 技术的强大能力支持下,编程给人带来的恐惧已经被好奇心和乐趣取代,一个人人都能编程,人人都可以热爱编程的时代可能就此开启。
#### 生成式 AI ,让编程成为门外汉的乐趣
最大的改变来自 PartyRock,它几乎是我梦想的编程工具的早期面貌。就像亚马逊云科技副总裁 Jeff Barr 在他的文章中所介绍的那样,PartyRock 不需要用户掌握什么代码知识。用户只需要提出一些需求,将服务生成的组件按照自己想要的逻辑组合成应用,就完工了。
![image.png](https://dev-media.amazoncloud.cn/c0cb4e34a17b4d6dae56c554d0b664a4_image.png "image.png")
Jeff Barr 的演示截图
是的,用户全程只需要使用自然语言与服务交互即可。甚至连起步的门槛都下降了,不需要专门注册亚马逊云科技账户,使用苹果或谷歌账户即可登录。从某种意义上讲,Amazon PartyRock 对于外行来说就是一个有趣的网页游戏,只不过这一次,他们可以在游戏中创造能够与现实世界交互的成果。
我不想赘述 Amazon PartyRock 背后的一系列生成式 AI 技术的原理和先进性,而且这些对门外汉来说如同天书。让我特别感动的是,亚马逊云科技真心在考虑外行的需求和感受,用尽了一切手段简化登录过程、用户界面、操作方式、应用部署方式,并给出了非常短的反馈链条。用户很快就能获得反馈,看到他们创作的成果,这是最令人惊喜的部分。事实上,绝大多数曾经尝试编程而又却步的潜在开发者都是倒在这一步。诚然,Hello World 是很容易编写的输出,但人们想要的反馈不是 Hello World,而是更有趣的,更加个性化的结果,Amazon PartyRock 向这个方向迈出了重要一步。
Amazon PartyRock 还揭示了一种令人期待的未来,那就是开发者通过搭积木的方式构建应用,而无需关心每个组件内部有哪些代码。我们不需要在乎代码格式,不需要研究算法,只需要思考应用的逻辑,AI 助手就可以为我们解决一切。这种方法的确不能包办一切,但外行使用这种工具足可以完成很多工作,创造很多美好的事物,并在这个过程中不知不觉地爱上编程的魅力。接下来,即便他们需要开始接触代码编写,抵触情绪也早就烟消云散了。
如果一位初学者通过 Amazon PartyRock 的路径走入了编程世界的大门,开始尝试更加复杂的命令行传统编程方法,亚马逊云科技也做好了准备。[Amazon Bedrock](https://aws.amazon.com/cn/bedrock/?trk=cndc-detail) 是非常合适的下一站,在这里,初学者可以使用云端的 Stable Diffusion 工具快速生成图像。文生图功能在过去的一年中之所以广泛流行,是因为它可以激发普通人的创作激情。但本地的文生图工具不仅界面复杂,更大的问题是需要强大的本地设备才能以不错的效率输出图像。 [Amazon Bedrock](https://aws.amazon.com/cn/bedrock/?trk=cndc-detail) 的网页端 Stable Diffusion 模型解决了这两个问题,虽然目前它看起来还是比较简陋,但随着服务成熟,初学者就可以完全依靠网页端操作来探索 Stable Diffusion 的强大潜力,同时不需要再购买一部安装了最新 4090 GPU 的昂贵 PC。
![image.png](https://dev-media.amazoncloud.cn/a0b758907f9348e9a5cb66e94ebc3239_image.png "image.png")
[Amazon Bedrock](https://aws.amazon.com/cn/bedrock/?trk=cndc-detail) 提供了 SDXL 模型供选择,未来还会有更新的版本和更多功能
在 [Amazon Bedrock](https://aws.amazon.com/cn/bedrock/?trk=cndc-detail) 中体验了 SD 模型的魔力后,或许初学者已经开始跃跃欲试,想要探索人工智能的更广阔天地了。这时候全新发布的 [Amazon SageMaker](https://aws.amazon.com/cn/sagemaker/?trk=cndc-detail) Studio 就可以为他们提供一个轻松很多的入口。要知道,经过 Amazon PartyRock 和 [Amazon Bedrock](https://aws.amazon.com/cn/bedrock/?trk=cndc-detail) SDXL 模型的学习应用,我们亲爱的初学者现在甚至还没有安装任何本地编程工具! [Amazon SageMaker](https://aws.amazon.com/cn/sagemaker/?trk=cndc-detail) Studio 是网页端的开发工具,用户甚至只需点击一个按钮就能完成初始环境配置,然后就可以开始云端编程了!
![image.png](https://dev-media.amazoncloud.cn/12733393e3494e00ba5e22088d703d4b_image.png "image.png")
点击一个按钮,[Amazon SageMaker](https://aws.amazon.com/cn/sagemaker/?trk=cndc-detail) Studio 就完成了用户配置文件初始化
同样地,亚马逊云科技提供了简洁易懂的文档和实践,引导新手开始编程旅程。接下来,社区内还有大量教程,足够让一位昨天还不懂代码的菜鸟,用几天时间开发出自己的第一个正儿八经的[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)应用。
#### 看起来很粗糙,但这是激动人心的转折点
当然,无论是 Amazon PartyRock 还是 [Amazon Bedrock](https://aws.amazon.com/cn/bedrock/?trk=cndc-detail) 中的 Stable Diffusion 模型,亦或是 [Amazon SageMaker](https://aws.amazon.com/cn/sagemaker/?trk=cndc-detail) Studio ,对于初学者来说还是有很多不足,例如,Amazon PartyRock 对多语言的支持还需时日, [Amazon Bedrock](https://aws.amazon.com/cn/bedrock/?trk=cndc-detail) 的 Stable Diffusion 模型过于简陋,而 [Amazon SageMaker](https://aws.amazon.com/cn/sagemaker/?trk=cndc-detail) Studio 上手的门槛还是比较高。但这些并不是大问题,随着时间沉淀,和亚马逊云科技的持续迭代(他们在这方面有着非常令人信服的历史成绩),我们很快就可以看到这类工具变得更加易用,对新手更加友好。
重点在于,全球领先的云服务之一,原本完全面向专业程序员的编程世界,今天为外行和新手铺就了一条充满趣味、令人遐想的道路。或许现在道路上还有很多坑洼不平和丛生荆棘,但这毕竟是非技术人员的第一条通向编程世界的捷径。人人都是开发者,人人都能感受编程创新的魅力,从今年的 re:Invent 大会开始不再是一句口号。这是激动人心的转折点,一个编程平民化的时代即将到来,而亚马逊云科技让我们看到了曙光。