通过 Amazon Q Developer 内联聊天引入下一代 AI 驱动的工作流程 |亚马逊网络服务

2024-10-29 13:16:39 英文原文

今天早些时候,亚马逊 Q 开发者宣布支持内联聊天。内联聊天结合了 IDE 内聊天的优点和直接更新代码的能力,允许开发人员直接在代码编辑器中描述问题或想法,并接收 AI 生成的响应,这些响应无缝集成到他们的代码库中。在这篇文章中,我将介绍新的内联聊天,并讨论何时使用此新功能以从 Amazon Q Developer 获得最大价值。

背景

当 Q Developer(以前称为 Amazon CodeWhisperer)于 2022 年 6 月首次推出时,我就开始使用它。此初始版本包括对内联建议的支持,该建议会根据现有代码和注释自动生成代码补全。内联建议显着提高了生产力。

同年晚些时候,OpenAI 发布了 ChatGPT,人工智能驱动的生成式聊天成为热门话题。就我个人而言,当我不确定如何完成任务时,我发现聊天体验更有帮助。聊天界面不仅生成代码,还提供解释性上下文。当我知道自己在做什么时,我更喜欢使用内嵌建议,当我学习新东西时,我更喜欢聊天。因此,当 Amazon Q Developer 在 2023 年向 IDE 添加聊天功能时,我感到非常兴奋,因为我可以使用它来解释编码概念、生成代码和测试以及改进现有代码。在 IDE 中聊天可以帮助我专注于任务并保持专注和流畅的状态。

在过去的一年里,我一直在使用内联建议和聊天。虽然我喜欢这两种选择,但我仍然觉得还有改进的空间。例如,当修复错误时,内联建议擅长生成新代码,但不容易让我更新现有代码。聊天允许我更新现有代码,但响应是在聊天窗口中提供的,而不是直接集成到我的代码中。这就是内联聊天旨在改进工作流程的地方。

引入内嵌聊天

今天,我们很高兴地宣布推出 Visual Studio Code (VS Code) 和 JetBrains 的内联聊天功能。内联聊天允许我直接在代码编辑器中提供额外的上下文,例如我试图修复的错误的描述。然后,人工智能生成的响应将无缝合并到我现有的代码中,而不需要我从单独的聊天窗口复制和粘贴。我可以轻松查看建议的更改并以最小的努力接受或拒绝它们。这项新功能非常适合编辑现有文件以修复问题、优化代码、重构代码、添加注释。而且,它包含在 Amazon Q Developer 的扩展免费套餐中。

内联聊天非常强大,可以帮助我快速准确地完成更复杂的事情。构建助手需要做很多工作,但一个重要的组成部分是底层模型,内联聊天是第一个由最新版本 Anthropic 的 Claude 3.5 Sonnet 提供支持的 Amazon Q 开发人员功能,该功能于 10 月 22 日推出。这个新模型 –显示了行业基准的广泛改进,尤其是在代理编码方面取得了显着的进步。– 在我撰写本文时,升级后的 Claude 3.5 Sonnet 是市面上表现最好的型号SWE-长凳,解决了由 500 个真实 GitHub 问题组成的已验证数据集的 49%。这展示了最新 Anthropic 模型令人印象深刻的功能。

Amazon Q Developer 基于 Amazon Bedrock 构建,这是一项用于构建生成 AI 应用程序的完全托管服务,提供来自 Amazon 和领先 AI 公司的高性能基础模型 (FM) 选择。Amazon Q 使用多个 FM,包括来自 Amazon 的 FM,并将任务路由到最适合该作业的 FM。Amazon Q 不断变得更好,我们定期更改或完善底层模型以提高性能并利用最新技术,因为我们一周前推出了 Anthropic 的 Claude 3.5 Sonnet 的最新版本。

通过利用这一尖端的 Anthropic 模型支持新的内联聊天功能,Amazon Q Developer 提供了一款 AI 助手,可以帮助您节省时间,同时以无与伦比的功能应对最复杂的编码挑战。通过在幕后处理无缝模型更新,您可以确信您的体验只会随着时间的推移而不断改善。让我们花点时间看看内嵌聊天是如何工作的。

重构代码

让我们看看实际的内联聊天。想象一下,我有一个在网页上显示消息的类。一开始很简单,但随着时间的推移,我添加了一些变体来更改颜色、显示警告消息和显示错误消息。我不想继续添加越来越多的变体,因此我将要求 Amazon Q Developer 重构它们。我选择全部四种方法,然后在 Mac 上按 â + I,在 Windows 上按 Ctrl + I。然后,我提示 Q Developer“将它们重构为具有颜色和消息类型可选参数的单个方法。”

Animated gif showing four similar methods in VSCode. Inline chat refactors the methods into one with optional parameters. This is displayed as a diff and then merged.

正如您在上一个视频中看到的,Amazon Q Developer 将我的代码重构为单个方法。请注意,Q 以绿色显示它将添加哪些行,以红色显示它将删除哪些行。我对这个推荐很满意,所以我会点击返回来接受它。然后,Q Developer 将更改合并到我的代码中。

虽然我可以在聊天窗格中完成此操作,但我必须复制响应,并将其手动合并到我的代码中。内联聊天返回一个差异,这样我就可以准确地看到将添加和删除哪些部分。或者,我可以使用内联建议来生成新方法。但是,我将不得不手动清理旧方法。新的内联聊天功能擅长就地更新代码。

添加文档

我将演示内嵌聊天的另一种实际用途。最近,我正在研究我前段时间写的一个复杂的数据处理算法。虽然代码运行正常,但缺乏适当的文档。认识到这可能会妨碍团队未来的维护和理解,我决定添加全面的文档。

Animated gif showing a python function in VSCode. Inline chat is used to ask Q to add comments. This is displayed as a diff and then merged.

我选择了整个功能,并在 Mac 上使用 Ë + I(或在 Windows 上使用 Ctrl + I)激活内联聊天。在聊天界面中,我输入了提示“添加文档,包括整个代码中的描述性注释”。Q Developer 迅速分析了代码并生成了适当的文档。这些建议以绿色突出显示的新文本显示,表示添加内容。

Amazon Q Developer 在脚本开头创建了详细的注释块,包括参数说明和返回值信息。它还在全文中添加了内联注释,解释复杂的逻辑和计算。在彻底审查了建议的文档后,我通过按回车键或单击“接受”接受了更改。然后,Q Developer 将新文档无缝集成到现有代码中。

事实证明,在处理遗留代码或准备新团队成员加入项目时,此功能特别有用。它有助于保持整个代码库中文档风格的一致性,并与手动文档相比显着减少所需的时间。生成的记录良好的代码是不言自明的,可以简化开发过程。内联聊天可以更有效地保持代码库的良好记录和可维护性。

结论

随着内联聊天功能的推出,Amazon Q Developer 在 AI 驱动的开发领域迈出了新的一步,将两全其美的优点结合在一起 — 将 IDE 内聊天的优势与直接更新代码的能力相结合。这项新功能由 Anthropic 最新的 Claude 3.5 Sonnet 提供支持,使开发人员能够有效应对复杂的编码挑战。无论是生成新功能、重构现有代码还是添加全面的文档,内联聊天都简化了工作流程,无需在单独的聊天窗口和编辑器窗口之间切换。通过不断集成 AI 语言模型的最新进展,Amazon Q Developer 可确保开发人员始终能够使用最先进、功能最强大的生成式 AI 助手,处理无差别的繁重工作并让他们专注于自己最擅长的事情 –编写高质量、创新的代码。

您今天可以通过更新或安装来尝试一下Amazon Q 开发人员扩展在 VS Code 或 JetBrains 上。此更新将帮助您在 IDE 中充分发挥生产力。

关于《通过 Amazon Q Developer 内联聊天引入下一代 AI 驱动的工作流程 |亚马逊网络服务》的评论


暂无评论

发表评论

摘要

Amazon Q Developer 推出了针对 Visual Studio Code 和 JetBrains 的内联聊天支持,使开发人员能够直接在代码编辑器中描述问题或想法,并接收 AI 生成的响应,这些响应无缝集成到其代码库中。新功能由 Anthropic 的 Claude 3.5 Sonnet 模型提供支持,显着改进了代理编码。内联聊天可以轻松重构现有代码并以最少的努力添加全面的文档,从而提高生产力和可维护性。开发人员现在可以在单独的聊天窗口和编辑器窗口之间无缝切换,从而使复杂的编码任务更加高效。此更新可通过 Amazon Q Developer 的免费套餐获得。