探索 Amazon Q Developer 那些有趣的功能

news2024/9/24 12:26:37

我在 McKinsey 2024 年 5 月 30 日提供的一项名为“The state of AI in early 2024-Gen AI adoption spikes and starts to generate value”的调研中读到这么一句话:人工智能在组织中最常见的两个使用职能是:“市场营销和销售”以及“产品和服务开发”,这两个职能是之前的研究确定采用人工智能可以产生最大价值的职能。调研的相关分析数据参考如下:

image.png

调查报告的结论在我最近参加的开源社区 Meetup 中得到印证。这个 Meetup 设置的 4 个演讲主题中,有三个是与 AI 代码开发工具有关。来自于三家互联网大厂的产品经理分别分享了他们的大语言模型辅助开发工具,每一个工具都致力于提高开发效率和代码质量。除了 AI 开发工具都有常规功能,如代码补全、单元测试、安全扫描等以外,在场的开发者还关注一些生产中的实际功能。这篇博客我想以 Amazon Q Developer 为例展开聊聊那些被开发者关注且用于生产的实用功能。

亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、活动与竞赛等。帮助中国开发者对接世界最前沿技术,观点,和项目,并将中国优秀开发者或技术推荐给全球云社区。如果你还没有关注/收藏,看到这里请一定不要匆匆划过,点这里让它成为你的技术宝库!

代码注释和文档生成

对于大多数开发者而言,编写项目文件比如 readme 和代码注释是一项繁琐且耗时的任务。然而,这些文档对于项目的可读性和维护性至关重要。Amazon Q Developer 能够帮助开发者自动生成详细且清晰的 README 文件和代码注释。这个功能很实用,不仅节省了开发者的时间,还确保了文档的一致性和准确性。

对于大语言模型来说实现这个功能并不难,区别在于生成内容的可读性和准确性。这就需要大语言模型对整个项目的分析全面,对代码的理解准确,以及对于文档阅读者逻辑的合理把握。为了提供给开发者更好的开发体验,Amazon Q Developer 使用不同的大语言模型来分别完成项目理解和文档生成,以及处理代码理解。这样做的理由,我认为是出于不同的 LLM 对特定的使用场景各有擅长。就像开发者可以在 Amazon Bedrock 上选择不同的大语言模型来应对他们不同的生产场景一样。

我在一些使用场景中体验过 Amazon Q Developer 代码注释生成以及文档生成的功能,基本可以做到 90% 的生成可用率。相关的 demo 视频展示,很快就可以在亚马逊云科技的视频频道里看到。

使用自然语言完成新功能的开发

Amazon Q 的另一个强大功能是通过自然语言开发新功能。开发者只需用自然语言描述他们的需求,Amazon Q 就能生成相应的代码。这种方式不仅降低了开发的门槛,使得非专业人士也能参与到开发过程中,还大大提高了开发效率。

举个例子:增加猜字游戏的复杂度。

  1. 基于 Amazon Q 对整个游戏源代码理解的基础上,我在集成在 IDE 中的 Amazon Q chart 中输入“As a user, I'd like to be able to select the difficulty of the word I'm guessing before starting a game. The difficulty changes the length of the word being guessed. The 3 levels of the game should be: Beginner with a 5 character word length, Intermediate with a 6 character word length and Advanced with  a 7 character word length”(需要注意的是目前 Amazon Q Developer 还不支持中文)。

image.png

  1. Amazon Q 根据 prompt 生成了新功能实现计划,如下:

image.png

  1. 不仅仅如此,如果对生成的计划满意,还可以让 Amazon Q 继续生成代码。这一切只需一个按钮。

image.png

Amazon Q 生成的代码是这样的:

image.png

点击文件名,打开其中一个被修改的文件。我们可以看到之前的代码与建议的代码之间的差异,同时支持在此进行其他修改。

image.png

生成的代码可能不是 100% 准确或完整。如果对生成的代码不满意,可以通过 chat prompt 继续修改并重新生成代码,直到满意为止。

即将到来的更多新体验

在刚刚结束的 Global Hero Summit 期间,Amazon Q 展示了一些令人兴奋的新功能:

  • 定制化 AI 模型-允许开发者从私有库和库中创建定制化的 AI 模型。这意味着开发者可以根据自己的需求和项目特点,训练出更为贴合的 AI 模型,从而提高开发效率和代码质量。

  • 代码库问答-通过聊天界面,开发者可以向 Amazon Q 提问关于代码库的问题。无论是代码结构、函数用途还是调试信息,Amazon Q 都能快速提供准确的答案,帮助开发者更好地理解和管理代码。

  • .Net 代码转换-Amazon Q 具备强大的代码转换功能,尤其是在 .Net 平台上。它可以自动将代码从一种语言转换为另一种语言,帮助开发者轻松实现跨平台开发。

  • 集成 SageMaker Studio 和 Eclipse IDE-Amazon Q 与 SageMaker Studio、Eclipse IDE 等开发环境无缝集成,使得开发者可以在熟悉的环境中使用 AI 工具,提高工作效率。

  • 使用自然语言更新 Amazon Web Services 账户资源-Amazon Q 允许开发者使用自然语言更新 Amazon Web Services 账户中的资源。这种方式不仅简化了资源管理流程,还降低了出错的风险。

  • 高级故障排除-Amazon Q 提供了高级故障排除功能,可以自动检测和修复系统中的复杂问题,确保系统的稳定性和可靠性。

目前这些功能大多都还在 preview 阶段,但很快就可以用于生产。

Amazon Q 的独特之处

其实每个 AI 开发工具都有它的特点和适合的应用场景,就像 Amazon Bedrock 提供的十几种大语言模型一样。与其他 AI 开发工具相比,Amazon Q 与 Amazon Web Services 提供的其它服务深度集成,对云资源也有更深度的理解。就像 iOS 的 Siri,Amazon Q 不仅仅是一个辅助工具,更像是一个智能助手,随时随地为开发者提供帮助。无论是代码编写、调试,还是项目管理,Amazon Q 都能提供全面的支持。

云上开发的未来

随着云计算技术的不断发展,云上开发正成为一种趋势。Amazon Q 的出现,进一步推动了这一趋势。通过将开发环境和 AI 工具整合到云端,开发者可以随时随地进行开发工作,提升工作灵活性和效率。此外,云上开发还提供了更强的计算能力,数据安全性以及弹性,确保开发过程的顺利进行。

我个人认为,云上开发的未来已来。你怎么看?

文章来源:探索 Amazon Q Developer 那些有趣的功能

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1989512.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue3-ts:husky + prettier / 代码格式化工具

一、Prettier简介 Prettier是一个流行的代码格式化工具,它的主要作用是帮助开发者自动规范化代码的格式,提高代码的可读性和一致性。Prettier通过解析代码并使用自己的规则重新打印它,以确保代码风格的一致性和符合预设的格式化标准。 二、…

计网学习(四)——网络层

一、网际协议IP 互联网采用的设计思路:网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务”,即IP数据报在网络中传输时是不可靠的服务,可能会出现数据丢失等情况TCP/IP体系中网络层常常被称为网际层或IP层与IP协议一起使用…

35分钟教你从0到1,水出SCI(精品),学术裁缝必修课_来自B站水论文的程序猿

系列文章目录 文章目录 系列文章目录一、抽象理解二、具体做法1、什么是Baseline(基础实验)2、怎么和导师说3、怎么做压低baseline 4、怎么写 一、抽象理解 一篇论文A:西红柿炒鸡蛋 一篇论文B:芹菜炒肉 你就可以:西红柿炒肉 二、具体做法 1、什么是Baseline(基础…

视频压缩文件太大了怎么缩小?6个视频压缩技巧,速度收藏起来!

高清视频文件,尤其是那些以 1080p 和 720p 清晰度为特征的视频,通常都拥有相当大的体积,会占据大量计算机存储空间。因此,为了更好地将它们进行分享和存储,您可能需要对它们进行压缩,以减小它们的尺寸。然而…

【秋招笔试】2024-08-07-YT游戏(研发岗)-三语言题解(CPP/Python/Java)

🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 编程一对一辅导 ✨ 本系列打算持续跟新 秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 本次的题目比较典,…

资料分析6-其他类

一、拉动增长、增量贡献率和容斥问题 1. 拉动增长 拉动增长部分增量/整体前期,即x/A 例题1(2018 年陕西):2017 年,我国电信业务收入12620 亿元,比上年增长6.4%,增速同比提高1 个百分点。……2…

递归:计算思维的核心

引言 人类对这个世界的认识是从特例到普遍,从具体到抽象,从简单到复杂的,是一个递推(Iterative)的过程。这种人类固有的认知与思维方式令我们可以轻易的理解具体的事物,但同时却限制了我们的抽象能力和大局…

【电控笔记z6】无感文献综述

高频注入 afabeta注入 lq/ld越大统好 凸极性大反电动势ZVCD pwm电压向量为主 增加动态特性 设计隆博戈估测器 高频注入: lq/ld比较大 运用在低转速 到高速的时候 , 切换到model_base的方法进行反电动势侦测 smo :速度无法很低 有个极限 受杂讯影响大 高速时候用 总结 用spm …

ArrayList集合源码解读(一)

ArrayList集合源码解读(一) 前言 笔者在阅读网上众多的ArrayList源码解读时发现他们都是以1.8版本的来进行讲解,并且很多都是囫囵吞枣,看的人一脸懵逼。 其实现在的很多公司都换成了17版本的jdk。笔者决定自己写一个ArrayList集…

网工内推 | 国企运维工程师,华为认证优先,最高年薪20w

01 上海陆家嘴物业管理有限公司 🔷招聘岗位:IT运维工程师 🔷岗位职责: 1、负责对公司软、硬件系统、周边设备、桌面系统、服务器、网络基础环境运行维护、故障排除。 2、负责对各部门软件操作、网络安全进行检查、指导。 3、负责…

14.Lambda表达式、可变参数

一.Lambda表达式 1.1 函数式接口 1.什么是函数式接口 在Java中,函数式接口是指只包含单个抽象方法的接口,但它也可以有其他方法,例如默认方法和静态方法。函数式接口可以使用Lambda表达式或方法引用来创建该接口的实例。Java 8引入了函数式…

分享一个基于SpringBoot的大学生创新能力培养平台Java(源码、调试、LW、开题、PPT)

💕💕作者:计算机源码社 💕💕个人简介:本人 八年开发经验,擅长Java、Python、PHP、.NET、Node.js、Android、微信小程序、爬虫、大数据、机器学习等,大家有这一块的问题可以一起交流&…

七夕表白代码包

目录 1.像素爱心代码 2.心动爱心代码 3.问答样式代码 1.像素爱心代码 今年的最火的当然是像素风&#xff0c;一个一个小方块拼成的爱心超级可爱。 (1)桌面新建一个文本档.txt (2)输入以下代码,可以直接复制 <!DOCTYPE html><html><head><meta chars…

Vue项目通过宝塔部署之后,页面刷新后浏览器404页面

目录 报错 解决方法 报错 将vue项目在宝塔上部署&#xff0c; 当项目挂载到服务器上去&#xff0c;进行浏览器的访问&#xff0c;是能正常访问的&#xff0c;可是当我们在浏览器上进行刷新之后&#xff0c;浏览器会给我们返回一个404的页面。 解决方法 &#xff08;1&#…

如何利用 LNMP 搭建 WordPress 站点

作者 乐维社区&#xff08;forum.lwops.cn&#xff09; 许远 在这个信息爆炸的时代&#xff0c;拥有一个能够迅速传达信息、展示个性、并能够与世界互动的在线平台&#xff0c;已成为企业和个人的基本需求。WordPress&#xff0c;以其无与伦比的易用性和强大的扩展性&#xff0…

Redis5-缓存

目录 什么是缓存 添加Redis缓存 缓存更新策略 三种策略 数据库和缓存不一致的解决方案 缓存穿透 缓存雪崩 缓存击穿 缓存工具封装 什么是缓存 缓存是数据交换的缓冲区&#xff08;Cache&#xff09;&#xff0c;是存贮数据的临时地方&#xff0c;一般读写性能较高 多…

【机器学习】BP神经网络中的链式法则

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 BP神经网络中的链式法则1. 引言2. 链式法则基础2.1 什么是链式法则&#xff1f;…

springboot mybatis plus 固定查询条件及可选查询条件的组合查询,使用QueryWrapper.and()来解决。

1、我们在写查询SQL的时候&#xff0c;经常会碰到&#xff0c;比如&#xff0c;同一个类别下的某一个编号的物料信息&#xff0c;或者是同一批次的物料库存问题等等。 所属类别fid物料编号bm物料批次pc110.01.0220240807110.01.0320240807 210.02.0120240805 2、那么我…

定点数的运算

目录 1.定点数的移位运算 1.1算数移位 数学含义&#xff1a; 规律总结&#xff1a; 1.2逻辑移位 1.3循环移位 不带进位位 带进位位 2.定点数的加减运算 3.定点数的乘除运算 3.1原码 一位乘法 除法 3.2补码 一位乘法 除法 1.定点数的移位运算 1.1算数移位 数学…

org.gitlab4j使用报错问题

报错如上&#xff0c;刚开始报错Caused by: java.lang.NoClassDefFoundError: javax/ws/rs/core/StreamingOutput。 原因&#xff1a;项目是JDK17引起的版本不兼容 解决&#xff1a;升级高版本即可。