ChatGPT 蹿红以来,人们一直在讨论和关心一个问题,即AIGC 究竟会颠覆什么、改变什么、取代什么。

悲观主义者认为,AIGC以及后面的AGI最终会取代人类,完成人类这一物种的最终进化;而乐观主义者则认为,AIGC 对于人类的影响无非是386到奔腾的提升,还在工具的既定范围内发展。

一、生成式AI最容易颠覆的领域是什么

我倒是有一个观点,既然是生成式AI,主要还是要理解生成的能力变得强大且廉价时,会带来哪些影响,因此我认为:

1、大量、重复又必要的工作:如每个公司都需要符合价值观的文案、一个电商团队同类型不同SKU的配置项、一套不同尺寸的设计稿等。

2、重要、低频与个人绑定风险极高的工作:如每个公司都需要前端、同类型的公司其交互和用户路径都是相似的、每个公司的数据库百分之80的字段都是类似的。

对于第一点,是绝大多数人都能直观感受到的业务,但对于第二点,由于具有一定的专业门槛,就导致大家不是很了解现在的生成式AI究竟在编程的生产力领域已经发展到什么阶段了,很多人认为,AI 生成一个简单的Demo、帮我写写注释、推荐一个函数就很不错,能帮我直接写一个完成的产品出来吗?

先留个悬念,让我们一点点看下来!

二、完蛋!我被AI辅助编程包围了

今天我以亚马逊云就推出基于机器学习的代码生成工具——CodeWhisperer为例,为大家好好解释一下代码领域AI能怎么帮到您:

简单介绍一下:

Amazon CodeWhisperer 是一个通用的、机器学习驱动的代码生成器,可以实时为您提供代码推荐。

在编写代码时,CodeWhisperer 会根据现有代码和注释自动生成建议。您的个性化推荐可以在大小和范围上有所不同,从单行注释到完整的函数。当您开始键入单行代码或注释时,CodeWhisperer 会根据您当前和以前的输入提出建议。

在这里,我得替官方再多说一句,你一定想不到与其他AIGC高级编程功能收费不同,这款服务是免费的,对于很多想要尝试AI编程的人来说,非常友好。

青铜段位--基于注释生成建议或函数

在下图中,用户已经开始键入一行代码。基于输入,CodeWhisperer 生成了完成该行的建议。用户可以使用箭头键循环查看建议。

完蛋!我被AI辅助编程包围了插图

白银段位--代码安全监测、错误检测等

在这个使用 Python 和 JetBrains 的示例中,用户编写了将未加密的 AWS 凭据写入日志的代码,CodeWhisperer 能够发现问题并警报。

完蛋!我被AI辅助编程包围了插图1

黄金段位--编程预测

如果前面的辅助,都还停留在辅助层面,那么这之后的就有一点的科幻了。

在这里,开发人员输入注释,描述他们打算在下一行中编写的代码。CodeWhisperer 正确地预测将要调用的方法。开发人员可以接受使用 tab 键的建议。也就是说,以后你在编程时,需要反复确认的调用哪个库、怎么调用都可以直接Tab一下填入,准确度大幅度提高,效率也大幅度提高。

完蛋!我被AI辅助编程包围了插图2

星耀段位--定义常量

在这里,开发人员准备定义常量。

CodeWhisperer 正确地预测到第一个常量将是 RegiION,它的值将是 us-east-1,这是默认值。

完蛋!我被AI辅助编程包围了插图3

王者段位--自动补完

在这里,开发人员准备编写代码,以打开用户与 AmazonS3和 DynamoDB 之间的会话。

熟悉 AWS API 和 SDK 的 CodeWhisperer 建议使用正确的格式。

完蛋!我被AI辅助编程包围了插图4

开发人员只是编写了将创建 bucket 的函数的名称。但是基于这一点(以及上下文) ,CodeWhisperer 提供了一个完整的函数,包括 try/other 子句。

注意 TEST _ BUCKET _ NAME 的使用,它是同一文件前面声明的常量。

完蛋!我被AI辅助编程包围了插图5

开发人员刚刚开始键入将创建 DynamoDB 表的函数的名称。但是密码耳语者可以告诉我们接下来会发生什么。

注意,该建议说明了前面创建的 DynamoDB 会话,甚至在注释中提到了它。

完蛋!我被AI辅助编程包围了插图6

最强王者100星--预测与测试

如果你以为到这里就结束了,那可是大错特错了。

很多时候,我们其实在写下一段代码时不能确定,他不是不跑的通,是不是有漏洞,往往是写下时信心满满,等测试时才恍然大悟。

但是, CodeWhisperer 提供了预测功能,开发人员刚刚开始键入将创建 DynamoDB 表的函数的名称,CodeWhisperer就能告诉他接下来将会发生什么,如图该建议说明了前面创建的 DynamoDB 会话,甚至在注释中提到了它。

完蛋!我被AI辅助编程包围了插图7

完全不给防御性注释留活路啊,家人们。

至此,你会发现,生成式AI几乎能够帮你完整一整个产品的生产,甚至还包括测试。

三、如何才能用上CodeWhisperer

笔者使用的macOS,常用vscode,这里就以macOS和vscode为例简单介绍一下,其他环境大家可以到官方文档里查看哈,比我写的详细多了:

(一)命令行

1、点此下载用于命令行的 CodeWhisperer (仅用于 macOS)

2、使用 CodeWhisperer 个人用户的 Builder ID 进行身份验证,或者使用帐户管理员提供的起始 URL 为 CodeWhisperer Professional 用户提供 IAM 身份中心。

3、使用 CodeWhisperer 个人用户的 Builder ID 进行身份验证,或者使用帐户管理员提供的起始 URL 为 CodeWhisperer Professional 用户提供 IAM 身份中心。

(二)vscode

  1. 在 AWS“ VS 代码的 AWS 工具箱”窗格中的“ CodeWhisperer”下,选择“登录”开始。将打开 AWS Toolkit: AddConnectiontoAWS 选项卡。

  2. 选择 Amazon + CodeWhisperer 身份验证面板。

  3. 选择适当的ID身份验证方法并登录。

完蛋!我被AI辅助编程包围了插图8

后面的我就不赘述了,常用vs的大佬们这些都是基操,实在不明白的可以看文档(传送门)。

三、CodeWhisperer支持哪些语言

最后,也是很多小伙伴最关心的,那就是自己常用的语言,是否得到了很好的支持,那么,CodeWhisperer支持哪些语言呢?

支持相对较好的是:

  • Java

  • Python

  • JavaScript

  • TypeScript

  • C#

  • Go

  • PHP

  • Rust

  • Kotlin

  • SQL

  • JSON (AWS CloudFormation)

  • YAML (AWS CloudFormation)

  • HCL (Terraform)

  • CDK (Typescript, Python)

还支持以下语言:

  • Ruby

  • C++

  • C

  • Shell

  • Scala

可以说,最主流的编程语言都得到了Amazon CodeWhisperer的支持。

还在等什么,这么好的免费编程助手,还不去试试

声明:部分内容来自互联网,如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。