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 生成了完成该行的建议。用户可以使用箭头键循环查看建议。
白银段位–代码安全监测、错误检测等
在这个使用 Python 和 JetBrains 的示例中,用户编写了将未加密的 AWS 凭据写入日志的代码,CodeWhisperer 能够发现问题并警报。
黄金段位–编程预测
如果前面的辅助,都还停留在辅助层面,那么这之后的就有一点的科幻了。
在这里,开发人员输入注释,描述他们打算在下一行中编写的代码。CodeWhisperer 正确地预测将要调用的方法。开发人员可以接受使用 tab 键的建议。也就是说,以后你在编程时,需要反复确认的调用哪个库、怎么调用都可以直接Tab一下填入,准确度大幅度提高,效率也大幅度提高。
星耀段位–定义常量
在这里,开发人员准备定义常量。
CodeWhisperer 正确地预测到第一个常量将是 RegiION,它的值将是 us-east-1,这是默认值。
王者段位–自动补完
在这里,开发人员准备编写代码,以打开用户与 AmazonS3和 DynamoDB 之间的会话。
熟悉 AWS API 和 SDK 的 CodeWhisperer 建议使用正确的格式。
开发人员只是编写了将创建 bucket 的函数的名称。但是基于这一点(以及上下文) ,CodeWhisperer 提供了一个完整的函数,包括 try/other 子句。
注意 TEST _ BUCKET _ NAME 的使用,它是同一文件前面声明的常量。
开发人员刚刚开始键入将创建 DynamoDB 表的函数的名称。但是密码耳语者可以告诉我们接下来会发生什么。
注意,该建议说明了前面创建的 DynamoDB 会话,甚至在注释中提到了它。
最强王者100星–预测与测试
如果你以为到这里就结束了,那可是大错特错了。
很多时候,我们其实在写下一段代码时不能确定,他不是不跑的通,是不是有漏洞,往往是写下时信心满满,等测试时才恍然大悟。
但是, CodeWhisperer 提供了预测功能,开发人员刚刚开始键入将创建 DynamoDB 表的函数的名称,CodeWhisperer就能告诉他接下来将会发生什么,如图该建议说明了前面创建的 DynamoDB 会话,甚至在注释中提到了它。
完全不给防御性注释留活路啊,家人们。
至此,你会发现,生成式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
-
在 AWS“ VS 代码的 AWS 工具箱”窗格中的“ CodeWhisperer”下,选择“登录”开始。将打开 AWS Toolkit: AddConnectiontoAWS 选项卡。
-
选择 Amazon + CodeWhisperer 身份验证面板。
-
选择适当的ID身份验证方法并登录。
后面的我就不赘述了,常用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的支持。
还在等什么,这么好的免费编程助手,还不去试试