写点什么

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:368475

评论

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

架构实战营模块三作业

竹林七贤

Nginx 常用配置清单

Java小咖秀

nginx Web 反向代理 HTTP

私域流量这件事,古代就有了……

白洞计划

看了小姐姐的Spring SPI 总结,双非渣硕的我差点跳起来,被征服了

牛哄哄的java大师

Java

数据架构:数据冷热分离实践思考

程序员架构进阶

数据架构 架构设计 28天写作 5月日更 冷热分离

技术探索系列 - 轻松带你掌握JMM(2)

码界西柚

JVM JMM 5月日更

辞旧迎新岁岁新

Thomas

matlab

惊呆了!阿里自爆2021年度九大Java技术合集,Github上已获赞98.3K

Java架构师迁哥

架构实战营 -- 模块三

永佳

架构实战营

AI英雄出少年!奔赴星辰,他们正在创造黄金时代

百度大脑

AI

基于OpenPAI细化部署 Hadoop 集群

Damon

hadoop 5月日更

太好用了!斩获3个大厂Offer后,才发现学霸给的JVM笔记有多强大

飞飞JAva

Java

PHP文件包含小总结

Thrash

安全

如何做好用户画像?

石云升

创业 用户模型 5月日更

网络攻防学习笔记 Day7

穿过生命散发芬芳

5月日更 网络攻防

存储优化补充篇:Explain索引优化实操

Coder的技术之路

高并发 高并发系统设计 项目实战 数据库调优 索引优化

华仔架构训练营作业(模块三)

不听不听王八念晶

新书见面 | 《云原生时代的微服务架构实践》

Damon

微服务 云原生 5月日更

想提升查询性能?openLooKeng新下推框架助您一臂之力

LooK

求求你别再用 MySQL offset 和 limit 分页了

xcbeyond

MySQL 5月日更

消息队列架构设计文档

方堃

模块1作业

圆心角

内卷

Jxin

程序员应如何打破平庸,杜绝淘汰,避免内卷!【强烈建议收藏!】

程序员 ios开发

分解的三要素,从经典中感悟

顿晓

5月日更 分解

架构实战营 - 模块三作业

Sun

基于 MySQL 的消息队列系统架构设计文档

小遵

中国式美好假期:用AI地图,抢先体验未来出行

脑极体

Nginx-代理服务器

进击的梦清

nginx Docker Linux Docker-compose 代理

「技术人生」专题第1篇:什么是技术一号位?

阿里巴巴中间件

技术 程序人生 方法论 思维

【得物技术】软件工程与PlantUML实战

得物技术

软件工程 UML PlantUML 实战 得物技术

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