写点什么

Amazon Q 审查:最新的 AI 代码伴侣

  • 2023-12-13
    北京
  • 本文字数:1746 字

    阅读完需:约 6 分钟

大小:882.92K时长:05:01
Amazon Q 审查:最新的 AI 代码伴侣

亚马逊云科技推出了一项机器学习支持的服务,该服务通过根据开发人员在自然语言中的评论和他们在集成开发环境中的代码生成代码建议来帮助提高开发人员的工作效率。这项名为 Amazon CodeWhisprer 可以免费使用。类似于微软去年推出的 GitHub copilot 。


在过去的几个月里,我有机会在几个用例中试验了这项服务。作为一名机器学习 (ML) 开发人员,我拥有利用 ML 帮助开发 ML 解决方案的优势。因此,我在访问此服务后写了一些观察。此外,我正在就如何使其更智能和更易于访问提供具体建议。

服务在行动


该服务根据代码编辑器中的注释和同一文档中的先前代码提供实时代码建议。该服务可以建议行完成或完整的代码块(例如,方法)。


在 Visual Studio 上,有一些方便的快捷方式使服务的使用更加方便。启用扩展后,该服务提供类似于许多 IDE 支持的自动完成功能的在线推理。但是,用户可以点击 (Alt+C) 来查看推荐,而无需等待响应。

下面是编写著名的二分查找方法的示例



有趣的是,该服务可能会建议多个代码片段,这些代码片段可以轻松导航(使用左/右箭头)以选择最合适的推荐。



Amazon CodeWhisprer 就像是试图用正确的代码在您耳边耳语的伴侣。因此,它是一个非常花哨和超级描述性的名字。在命名服务方面做得很好。

深入探讨,如何充分利用服务?


AI 代码伴侣是一个强大的工具,可以提高开发人员的工作效率。尽管有人认为这样的工具将来可能会取代开发人员,但现在下结论还为时过早,因为该服务与任何其他服务一样:Garbage in Garbage out。也就是说,它在很大程度上取决于返回良好结果所需的输入。以下是输入质量如何完全影响输出质量的示例。


在这里,提供的描述很模糊,没有明确的要求,所以在等待比较长的时间后,输出是混乱的导入。



随着输入描述变得更加清晰,输出变得更好,如下所示,这是一个类似但更清晰的问题。



此外,随着用户添加更多上下文,即开发人员编写更多代码,推荐的质量显着提高。例如,与在同一文档上的孤立任务或在项目早期上下文仍然不够的情况下相比,在处理一个项目时预计会获得更快和更个性化的结果。


尽管如此,该服务预计不会为臭名昭著的自定义任务返回有用的答案。下面是一个同样的二分查找问题的例子,但对输入格式做了些许修改。



显然,引擎无法理解对问题的轻微修改(即,允许重复的元素)并且仍然产生与前面建议的相同的代码。

服务能不能更好?


由于该服务仍处于预览阶段,预计会遇到许多不足。以下是可以使服务变得更好的精选操作列表。

推理速度:


正如在上面的示例中可能指出的那样,该服务需要花费大量时间来提出建议。我相信这方面还有很大的改进空间。

一致性和实时性:


该服务有望在开发人员编写代码时提供实时建议。但是,实时建议可能不会在特定时刻给出任何输出。令人惊讶的是,按下 (Alt+C) 快捷键会返回可行的解决方案,而无需更改任何内容(即同时即时)。

最终用户定制:


引擎盖下的推荐引擎使用了一个巨大的代码库,这些代码库来自许多为不同目的而编写的源代码。为某些项目接受的源启用更多自定义是合理的。


此外,根据项目主题预测代码可能是有益的。例如,机器学习开发与开发移动应用程序完全不同。


作为另一个示例,用户可能想要处理需要设计和聚合的多个代码块的项目。在其他项目中,可能需要优先考虑线路完成而不是阻止建议。


自定义示例列表非常庞大,需要仔细设计。

解决方案排名:


建议多种解决方案是一个很棒的功能。然而,在实践中,这些解决方案的排名并不是最优的,用户需要浏览所有解决方案才能找到正确的建议。这可能很乏味,并且会降低整体生产力。

问题定制:


该引擎有效地理解了训练语料库中发现的常见问题。然而,它更难适应同一问题的新挑战。

结论


总而言之,Amazon CodeWhisprer(以及一般的 AI 代码伴侣)毕竟不是可以解决所有问题的魔法。但是,它是一个很好的工具,可以通过专注于正确的问题而不是繁琐的重复性任务来提高开发人员的工作效率。


为了充分利用 Amazon CodeWhisprer(以及一般的 AI 代码伴侣),以下操作可能有助于实现预期目标:


  • 简明评论:输入任务越清晰明确,获得优质结果的概率就越高。

  • 统一项目:人工智能引擎从整个文档中收集信息。因此,它不断丰富上下文。因此,将它用于以某种方式具有连接的任务会更有益。

  • 避免高级自定义问题:问题越不受欢迎,它不会返回任何有用答案的可能性就越高。



2023-12-13 10:368424

评论

发布
暂无评论
发现更多内容

架构师训练营高可用学习总结

qihuajun

我能讲明白哪些技术?

escray

学习 面试 沟通

都2020了,你的APP还不能运行小程序?

FinClip

小程序生态 私有小程序技术

JavaScript基础语法

Java

Golang领域模型-六边形架构

奔奔奔跑

微服务 领域驱动设计 架构设计 Go 语言

我在项目中不可或缺么?

escray

学习 面试

乘风破浪,Spring Boot入门

Simon郎

Spring Boot

MySQL备份与恢复场景示例

Simon

MySQL

Java 约束注解

HeGuang

第11周作业

小胖子

架构师训练营高可用作业

qihuajun

MySQL系列(二):MySQL是怎么处理并发操作的?

z小赵

MySQL 数据库 事务

透过兴趣爱好看本质

escray

学习 面试

国产数据库的经济民族

郭华

数据库 商业

牛逼操作,ThreadLocal还能当缓存用

简爱W

Java

oeasy 教您玩转linux010101查看内核uname

o

一款高仿 Eyepetizer | 开眼短视频的 MVVM 开源项目

vipyinzhiwei

android kotlin 短视频 eyepetizer 开眼

如何提升系统可用性

码猿外

可用性 持续交付 工程能力 团队文化

Flink中的数据传输-5

小知识点

scala 大数据 flink

面试28k职位,老乡面试官从HashCode到HashMap给我讲了一下午!「回家赶忙整理出1.6万字的面试材料」

小傅哥

数据结构 面试 hashmap 红黑树

深入浅出Vert.x架构

dinstone

我,一个当代普通大学生的自述

有梦的咸鱼

个人成长 大学生日常 个人感悟 讨论写作

刘华:弹性便是一切

刘华Kenneth

架构 DevOps 敏捷 弹性

LeetCode题解:25. K 个一组翻转链表,迭代,JavaScript,详细注释

Lee Chen

大前端 LeetCode

阿里内部流传的Mybatis笔记终于流传出来了,赶紧收藏

简爱W

这么理解业务架构就对了!

周金根

BIZBOK 业务架构

【数据结构与算法】力扣实战之移动零、盛最多的水、爬楼梯

三钻

算法 大前端 LeetCode 数据结构与算法

学会反射后,我被录取了(干货)

苹果看辽宁体育

Java 后端 反射

我的缺点就是做事太认真

escray

学习 面试

oeasy教您玩转linux010102查看发行版

o

再谈引入YAPI接口平台的好处

Man

DevOps YAPI API接口管理

Amazon Q 审查:最新的 AI 代码伴侣_亚马逊云科技_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章