亮网络解锁器,解锁网络数据的无限可能 了解详情
写点什么

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

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

    阅读完需:约 6 分钟

大小:882.92K时长:05:01
Amazon CodeWhisperer 审查:最新的 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 代码伴侣),以下操作可能有助于实现预期目标:


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

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

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



公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2023-12-13 10:367785

评论

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

openGauss数据库源码解析系列文章——存储引擎源码解析(五)

openGauss

只需5步!在轻量应用服务器部署Hexo博客

阿里云弹性计算

Hexo 轻量征文 用户投稿

2021年12月券商App行情刷新及交易体验评测报告

博睿数据

工业生产中的“主动刹车”,是怎么实现的?

脑极体

VuePress 博客优化之开启 Gzip 压缩

冴羽

nginx 前端 后端 博客 vuepress

代码审计思路之PHP代码审计

网络安全学海

网络安全 信息安全 渗透测试 安全漏洞 代码审计

Mysql索引

zdd

MySQL

透析阿里云视频云「低代码音视频工厂」之能量引擎——vPaaS视频原生应用开发平台

阿里云视频云

云计算 阿里云 音视频 低代买

圆桌对话:云时代下,企业运维面临的挑战与机遇

阿里云弹性计算

运维峰会 圆桌对话

专注于最有价值的事情!——亚马逊云科技首席科学家工作心得分享

亚马逊云科技 (Amazon Web Services)

Date

数云运维总监陈延宗:基于阿里云计算巢,数云CRM一键云上交付

阿里云弹性计算

弹性计算 年度峰会 计算巢

呼叫医生云! Amazon HealthLake 现已正式上线

亚马逊云科技 (Amazon Web Services)

AI ML

Mycat 作为代理服务端的小知识点

CRMEB

如何使团队的git log更优雅

阿呆

#GitLab

Linux之df命令

入门小站

Linux

阿里云手机正式公测,定义手机全新接入方式

阿里云弹性计算

阿里云 弹性云手机

低代码实现探索(十六)业务勾连复杂验证器

零道云-混合式低代码平台

物联网场景中灵活实施对设备的控制管理

亚马逊云科技 (Amazon Web Services)

Flink 实践教程-进阶(6):CEP 复杂事件处理

腾讯云大数据

流计算 Oceanus

模块9作业

Asha

失去了SDK,云计算将会怎样?

亚马逊云科技 (Amazon Web Services)

计算

使用Amazon Redshift Simple Replay实用程序简化Amazon Redshift RA3迁移评估

亚马逊云科技 (Amazon Web Services)

mad

恒源云(GPUSHARE)_语音识别与语义处理领域之低资源机器翻译综述

恒源云

机器翻译 语音识别

在线常用crontab表达式大全验证解析

入门小站

工具

吐槽一下网站

你?

腾讯云原生实时数仓建设实践

腾讯云大数据

flink window 流计算 Oceanus

首届LoongArch生态创新大会成功召开,筑巢引凤共建信息产业命运共同体

OpenAnolis小助手

开源 芯片 白皮书

边缘网络 eBPF 超能力:eBPF map 原理与性能解析

火山引擎边缘云

转换匹配患者记录,看Amazon Lake Formation FindMatches显神通!

亚马逊云科技 (Amazon Web Services)

analytics

腾讯云 AI 视觉产品基于流计算 Oceanus(Flink)的计费数据去重尝试

腾讯云大数据

AI flink window

百度APP浏览内核资源加载优化实践 -- ResourceScheduler 调优机制

百度开发者中心

百度app

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