写点什么

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

评论

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

TLS协议分析 (八) 实现与开源项目

OpenIM

Django 框架的神奇之处,几行代码就能自动入库,微型博客第 3 篇

梦想橡皮擦

9月日更

顶会CIKM'21论文解读:基于图神经网络的人类行为轨迹恢复模型

华为云开发者联盟

图神经网络 华为云数据库 轨迹分析 CIKM PeriodicMove

IntelliJ IDEA 快速插入 for 循环

HoneyMoose

Java 8 及其后续版本的新遍历 forEach

HoneyMoose

原来搭建淘客项目如此简单,app、web、小程序轻松搞定

Silently9527

Java uniapp 淘宝客开源

如何修改 Discourse 的域名

HoneyMoose

基于 Apache APISIX,爱奇艺 API 网关的更新与落地实践

API7.ai 技术团队

Apache APISIX Meetup 爱奇艺 企业案例

手撸二叉树之二叉树的所有路径

HelloWorld杰少

9月日更

测试金字塔,你在哪一层?

华为云开发者联盟

软件测试 测试 软件质量 单元测试 华为云DevCloud

【LeetCode】路径总和Java题解

Albert

算法 LeetCode 9月日更

国家发改委:利用区块链等新技术开展绿色电力交易试点

CECBC

架构学习模块二

George

13. AlphaGO带给人类的启示到底是什么

Databri_AI

人工智能

贯穿全产业链做数字孪生产品,给你更好的选择

一只数据鲸鱼

数据可视化 工业4.0 制造业 数字孪生

架构实战营模块七作业

maybe

使用 Jackson – 将字符串转换为 JsonNode 对象

HoneyMoose

OkHttp源码解读HTTP

Changing Lin

9月日更

模块七作业:王者荣耀商城异地多活架构设计

Felix

Redis集群docker部署

非晓为骁

redis Docker redis集群

我在 InfoQ 创作的思路规划

baiyutang

写作技巧 9月日更

去中心化身份务实

CECBC

多环境

程序员鱼皮

Java c++ Python 大前端 后端

在 Discourse 中如何使用输入对话框

HoneyMoose

Vue进阶(幺零幺):npm install -g 和 npm install --save-dev 的关系

No Silver Bullet

Vue 9月日更

架构实战营模块七-王者荣耀商城异地多活架构设计

hello

架构训练营

架构实战营 1 期模块 7 作业——业务异地多活架构

tt

架构实战营

如何使用 GeoTrellis 和 React 构建地理处理应用程序

gisbook

GitHub spark Web GIS React

【Flutter 专题】53 图解 BackdropFilter 高斯模糊

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

在智能运维中如何进行指标异常检测与分类?

云智慧AIOps社区

算法 场景应用落地 异常检测 智能运维 指标

华为云发布【云巢】智慧康养物联网加速器,加入立享多项扶持

华为云开发者联盟

物联网 华为云 应用开发 云巢 智慧康养

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