re:Invent 2023 | Amazon CodeWhisperer 的最佳实践

关键字: [Amazon Web Services re:Invent 2023, CodeWhisper, Code Whisper, Code Suggestions, Prompt Engineering, Security Scanning, Custom Models]

本文字数: 1100, 阅读完需: 6 分钟

视频

如视频不能正常播放,请前往bilibili观看本视频。>> https://www.bilibili.com/video/BV1vc411S7SJ

导读

创作新内容和想法,包括对话、故事、图像、视频和音乐学习如何有效和熟练地与生成式 AI 互动是一项值得开发的技能。参加本次讲座,了解与 Amazon CodeWhisperer 合作的最佳实践。 Amazon CodeWhisperer 使用底层基础模型,可通过实时生成代码建议,从根本上提高开发人员的效率。

演讲精华

以下是小编为您整理的本次演讲的精华,共800字,阅读时间大约是4分钟。如果您想进一步了解演讲内容或者观看演讲全文,请观看演讲完整视频或者下面的演讲原文。

会议在Rory充满热情的自我介绍中拉开帷幕,她热情欢迎了超过500名兴奋的与会者。她表示,演讲内容将涉及关于使用Amazon CodeWhisperer的最佳实践,这是一个由生成性人工智能驱动的开发者生产力工具。

首先,Doug对CodeWhisperer进行了简要介绍。用户可以通过亚马逊云科技的VS Code或JetBrains IDE扩展中的Toolkit插件进行安装。在完成身份验证后,该工具可以在用户输入代码时根据代码上下文提供相关的代码建议。在内部,当用户编写代码时,CodeWhisperer将其作为输入发送到一个专门用于软件开发的大型语言模型。这个具有万亿个连接的深度学习方法会在不到1秒的时间内生成显示在用户的IDE中的代码建议。

为了展示这一功能,Doug在VS Code中打开了一个JavaScript文件,并开始键入一个执行拓扑排序的函数。在只编写初始函数声明后,CodeWhisperer以灰色文本显示了代码建议,从这几个标记中推断出他正在尝试实现拓扑排序。Doug按Tab接受建议,插入了可能需要几分钟甚至几小时手动编写的多行代码。

Rory强调了今年人工智能如何通过允许对万亿个令牌的大数据集进行负担得起的查询来实现的新功能。她提供了一个例子,说明如何使用AI帮助她的儿子完成作业,从而提高了他的写作水平。类似地,CodeWhisperer可以通过处理重复的繁重工作来释放开发者的创造力。

Doug解释了基础模型大小从几年前数百万参数到现在的数十亿和万亿的增长如何使得像CodeWhisperer这样的进步成为可能。通过专门在超过100亿行的软件开发代码上进行训练,它可以为代码建议提供专门的优化。

Rory对比了他们的想法,即更大的数据总是更好的,但他们发现专门针对内部代码训练的定制模型可以通过学习组织特定的模式(这些模式不在10亿行公共代码中)来提高结果。她建议CodeWhisperer支持像SQL这样的附加语言,使其在各种应用层中更加通用。

道格展示了CodeWhisperer如何实现对代码和自然语言的双重理解,从而提高代码生成的质量。通过运用自然语言,他可以预先设定具体的需求,进而产生更加详尽且附带注释的代码。他强调,该模型会尝试匹配输入语境中的模式,例如,从一个带有注释的输入开始,就会产生带有注释的代码。

罗里讲述了一个关于一位开发者最初难以使用CodeWhisperer的故事。原因在于他没有明确地表达自己的需求。他指出,提示技能的掌握需要实践,因为我们需要明确地阐述我们的意图。道格表示,学会如何向AI进行有效的提示是一种技能,也需要不断锻炼。

道格展示了CodeWhisperer如何通过分析打开的文件而非仅关注活动文件来实现跨文件上下文的理解。他在一个文件中定义了一个函数,然后在另一个文件中引用它。如果只打开第二个文件,CodeWhisperer可能无法理解这个函数。然而,在打开两个文件的情况下,它能利用跨两个文件的上下文正确地填充参数。

罗里认为,英语正逐渐成为一种新型的编程语言,使我们能够通过自然语言表达代码注释。道格建议在必要时,可以通过热键手动触发代码建议。这样,使用者有高达2到3倍的机率能接受所生成的结果。

关于负责任的人工智能方面,道格介绍了CodeWhisperer的引用追踪功能。当建议中包含开源代码时,它会标明许可证和来源。他展示了一个例子,即生成一个与某个存储库匹配的代码片段,以便他能查看详细信息。用户可以选择是否查看包含代码参考的建议。

罗里宣布,CodeWhisperer现已不仅仅能检测漏洞并执行安全扫描,还能快速解决许多常见的安全问题。修复方案将以每批次最多4个的方式进行应用,每月最多可免费扫描500次。这将把安全性纳入开发周期的早期阶段。

道格展示了在内部分享的训练数据可以优化建议的准确性,因为它们使CodeWhisperer更好地了解特定组织的框架和API。他演示了一个定制模型如何正确地为一个内部函数提供参数,而默认模型在没有那个组织背景的情况下猜测错误。

在即将结束的时候,Rory表示,在未来六到十二个月里,随着他们在人工智能技术的推广过程中不断发掘新的可能性,将会有更多的领域涌现出来。Doug指出,在这个迅速发展的领域中,技能提示和最佳实践仍然在不断演进。值得一提的是,CodeWhisperer的出现消除了重复劳动,使得开发者能够更高效、更专注于创新。

下面是一些演讲现场的精彩瞬间:

罗里·理查森请观众们举手表示自己正在使用的编程语言,展示出亚马逊云科技所支持的丰富多样的编程语言。

代码私语通过解读开发者的意图并提供相应的代码建议,帮助开发者更高效地编写代码。

业界领导对代码私语能够生成无懈可击的代码,从而激发开发者创造力的能力表示赞赏。

演讲者在演示中展示了如何在需要时使用代码私语。

领导者们展示了在与Copilot协作的过程中,开发者可以随时进行安全扫描,以确保其代码中没有漏洞。

领导者们强调,亚马逊云科技将继续优化GPT功能,并为用户提供最佳实践指南。

总结

视频探讨了亚马逊的CodeWhisperer,这是一款由生成性人工智能驱动的开发者生产力工具,能够在用户输入时提供代码建议。该工具允许程序员通过减少重复编码任务来更高效地编写代码。

视频中分享了使用CodeWhisperer的一些建议。首先,CodeWhisperer在处理明确且简洁的提示时表现最佳,这些提示能清晰地表达程序员的编程目标。其次,打开相关代码文件,以便CodeWhisperer能够扫描它们以获取上下文。第三,在需要时手动触发代码建议功能。第四,向提示添加注释以生成更具描述性的代码。第五,提供详细的需求以生成复杂的代码。

此外,CodeWhisperer还具备诸如参考追踪(用于识别复制代码的来源)、安全扫描(以检测潜在漏洞)以及其他针对您的代码库定制的模型等功能。其核心理念是CodeWhisperer致力于与开发者协作,处理繁琐的重复任务,让程序员能够专注于复杂任务并提高工作效率。正确使用方法及提供上下文是充分发挥CodeWhisperer潜力的关键。

演讲原文

https://blog.csdn.net/just2gooo/article/details/134787248

想了解更多精彩完整内容吗?立即访问re:Invent 官网中文网站!

2023亚马逊云科技re:Invent全球大会 – 官方网站

点击此处,一键获取亚马逊云科技全球最新产品/服务资讯!

点击此处,一键获取亚马逊云科技中国区最新产品/服务资讯!

即刻注册亚马逊云科技账户,开启云端之旅!

【免费】亚马逊云科技“100 余种核心云服务产品免费试用”

【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用”

亚马逊云科技是谁?

亚马逊云科技(Amazon Web Services)是全球云计算的开创者和引领者,自 2006 年以来一直以不断创新、技术领先、服务丰富、应用广泛而享誉业界。亚马逊云科技可以支持几乎云上任意工作负载。亚马逊云科技目前提供超过 200 项全功能的服务,涵盖计算、存储、网络、数据库、数据分析、机器人、机器学习与人工智能、物联网、移动、安全、混合云、虚拟现实与增强现实、媒体,以及应用开发、部署与管理等方面;基础设施遍及 31 个地理区域的 99 个可用区,并计划新建 4 个区域和 12 个可用区。全球数百万客户,从初创公司、中小企业,到大型企业和政府机构都信赖亚马逊云科技,通过亚马逊云科技的服务强化其基础设施,提高敏捷性,降低成本,加快创新,提升竞争力,实现业务成长和成功。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
心中带点小风骚的头像心中带点小风骚普通用户
上一篇 2023年12月8日
下一篇 2023年12月8日

相关推荐