首页 > 其他分享 >Amazon CodeWhisperer 审查:最新的 AI 代码伴侣

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

时间:2023-12-12 13:55:55浏览次数:43  
标签:建议 服务 开发人员 AI 代码 CodeWhisperer 示例 Amazon

图片

最近,亚马逊云科技宣布了一项机器学习支持的服务,该服务通过根据开发人员在自然语言中的评论和他们在集成开发环境中的代码生成代码建议来帮助提高开发人员的工作效率。这项名为 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 代码伴侣),以下操作可能有助于实现预期目标:

  • 简明评论:输入任务越清晰明确,获得优质结果的概率就越高。
  • 统一项目:人工智能引擎从整个文档中收集信息。因此,它不断丰富上下文。因此,将它用于以某种方式具有连接的任务会更有益。
  • 避免高级自定义问题:问题越不受欢迎,它不会返回任何有用答案的可能性就越高。
    图片

文章来源:
https://dev.amazoncloud.cn/column/article/64f42ccbd75d3d261ab838c7?sc_medium=regulartraffic&sc_campaign=crossplatform&sc_channel=bokey

标签:建议,服务,开发人员,AI,代码,CodeWhisperer,示例,Amazon
From: https://www.cnblogs.com/AmazonwebService/p/17896603.html

相关文章

  • 探索AI在CRM中的潜力:智能化客户关系的构建
    AI人工智能在CRM系统中的应用有:赋能内容生产、客户服务支持、赋能品牌推广、自动化业务流程、数据分析、辅助科学决策、给出最佳客户联系时间。合理运用CRM系统中AI人工智能助手可以让团队工作事半功倍。1.内容生产市场营销活动离不开内容生产,持续的产出高质量的内容又给营销团......
  • Completions - "wait for completion" barrier APIs 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/scheduler/completion.htmlCompletions-"waitforcompletion"barrierAPIs介绍:如果您有一个或多个线程必须等待某些内核活动达到某个点或特定状态,完成(completions)可以为这个问题提供无竞争的解决方案。从语义上讲,它们有点像pthread......
  • _pickle.PicklingError: Can't pickle <class '__main__.aaa'>: attribute lookup aa
    注:其中aaa是我的类名。这个问题是我想保存一个自定义的类对象时,采用如下代码pickle模块保存时出现的报错信息。withopen(f'saved_agent_{seed}.pkl','wb')asfile:pickle.dump(agent,file)出错原因该错误通常出现在试图使用pickle模块保存自定义类对象,而这个类定义......
  • AIOHTTP用法
    $pipinstallaiohttp为了加快客户端API的DNS解析速度,您也可以安装 aiodns。强烈建议使用此选项:$pipinstallaiodns客户端示例importaiohttpimportasyncioasyncdefmain():asyncwithaiohttp.ClientSession()assession:asyncwithsessi......
  • 场场爆满的昇腾 AI 开发者创享日:照见产业数智化的涓涓动力
    厦门、南宁、广州,不到一个月的时间里,昇腾AI开发者创享日连续转战三座城市,而且每一站都受到当地的开发者热烈欢迎。经历了互联网+、数字化、智能化等概念的洗礼,创新中心、产业中心、生态中心等服务开发者的新业态早已遍地开花,围绕开发者举办的相关活动,也逐渐成为国内一二线城市的常......
  • idea代码提示插件codota和aixcoder
    idea代码提示插件codota和aixcoder两个插件用了10分钟,毫不犹豫用了aixcoder,aixcoder会在本地安装程序学习我们的代码喜欢进行提示;codota在使用的时候,基本没大有感觉,不知道是不是用的时间太短,基本没有提示,偶尔的一点点提示idea都提示了,而且同样的代码我编写2次也没;aixc......
  • CF1764H Doremy's Paint 2 题解
    题目链接先断环成链,由于对于多组询问不好一起处理,我们先考虑单组询问的处理方式。一个很暴力的想法是每次模拟题目要求的操作并且最后数颜色,我们这是在通过下标进行操作最后再数颜色,而很多对于下标的操作都是不必要的,考虑直接枚举颜色进行判定。对于每种颜色,它对于最后答案有贡......
  • 【HarmonyOS】Failure[MSG_ERR_INSTALL_GRANT_REQUEST_PERMISSIONS_FAILED]报错权限自
    ​【关键词】REQUEST_PERMISSIONS_FAILED、应用权限、ACL 【问题背景】在调用ArkTSAPI的过程中,往往会受到一些权限的限制,但是明明我们已经在module.json5文件的requestPermissions配置了该权限,真机运行的的时候却报错,一直运行不起来,这是为何?​​ 【问题分析及解决方案......
  • Amazon CodeWhisperer 免费的 AI 代码生成助手!最新体验反馈~
    文章作者:段小草自这一波生成式AI浪潮以来,大家尝鲜之余最关心的问题还是如何提高生产力。我们在测试大语言模型能力的时候,往往会将代码能力作为一项重要的评价指标,也说明程序员还是希望能在AI的加持下更快捷安全地编写代码。亚马逊云科技开发者社区为开发者们提供全球的开发......
  • [ABC304Ex] Constrained Topological Sort 题解
    题意给定一张有向图\(G\),有\(n\)个点和\(m\)条边,问是否存在一种拓扑序的排列\(P\)使得\(l_{i}\lep_{i}\ler_{i}\)。思路首先对于一条边\(u\tov\),如果限制满足\(r_{v}\ler_{u}\)或者\(l_{v}\gel_{u}\)的话,那么这个限制其实是不完全正确的。因为最终的序列......