我在 McKinsey 2024 年 5 月 30 日提供的一项名为“The state of AI in early 2024-Gen AI adoption spikes and starts to generate value”的调研中读到这么一句话:人工智能在组织中最常见的两个使用职能是:“市场营销和销售”以及“产品和服务开发”,这两个职能是之前的研究确定采用人工智能可以产生最大价值的职能。调研的相关分析数据参考如下:

 title=

调查报告的结论在我最近参加的开源社区 Meetup 中得到印证。这个 Meetup 设置的 4 个演讲主题中,有三个是与 AI 代码开发工具有关。来自于三家互联网大厂的产品经理分别分享了他们的大语言模型辅助开发工具,每一个工具都致力于提高开发效率和代码质量。除了 AI 开发工具都有常规功能,如代码补全、单元测试、安全扫描等以外,在场的开发者还关注一些生产中的实际功能。这篇博客我想以 Amazon Q Developer 为例展开聊聊那些被开发者关注且用于生产的实用功能。

亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、活动与竞赛等。帮助中国开发者对接世界最前沿技术,观点,和项目,并将中国优秀开发者或技术推荐给全球云社区。如果你还没有关注/收藏,看到这里请一定不要匆匆划过,点这里让它成为你的技术宝库!

代码注释和文档生成

对于大多数开发者而言,编写项目文件比如 readme 和代码注释是一项繁琐且耗时的任务。然而,这些文档对于项目的可读性和维护性至关重要。Amazon Q Developer 能够帮助开发者自动生成详细且清晰的 README 文件和代码注释。这个功能很实用,不仅节省了开发者的时间,还确保了文档的一致性和准确性。

对于大语言模型来说实现这个功能并不难,区别在于生成内容的可读性和准确性。这就需要大语言模型对整个项目的分析全面,对代码的理解准确,以及对于文档阅读者逻辑的合理把握。为了提供给开发者更好的开发体验,Amazon Q Developer 使用不同的大语言模型来分别完成项目理解和文档生成,以及处理代码理解。这样做的理由,我认为是出于不同的 LLM 对特定的使用场景各有擅长。就像开发者可以在 Amazon Bedrock 上选择不同的大语言模型来应对他们不同的生产场景一样。

我在一些使用场景中体验过 Amazon Q Developer 代码注释生成以及文档生成的功能,基本可以做到 90% 的生成可用率。相关的 demo 视频展示,很快就可以在亚马逊云科技的视频频道里看到。

使用自然语言完成新功能的开发

Amazon Q 的另一个强大功能是通过自然语言开发新功能。开发者只需用自然语言描述他们的需求,Amazon Q 就能生成相应的代码。这种方式不仅降低了开发的门槛,使得非专业人士也能参与到开发过程中,还大大提高了开发效率。

举个例子:增加猜字游戏的复杂度。

  1. 基于 Amazon Q 对整个游戏源代码理解的基础上,我在集成在 IDE 中的 Amazon Q chart 中输入“As a user, I'd like to be able to select the difficulty of the word I'm guessing before starting a game. The difficulty changes the length of the word being guessed. The 3 levels of the game should be: Beginner with a 5 character word length, Intermediate with a 6 character word length and Advanced with  a 7 character word length”(需要注意的是目前 Amazon Q Developer 还不支持中文)。

 title=

  1. Amazon Q 根据 prompt 生成了新功能实现计划,如下:

 title=

  1. 不仅仅如此,如果对生成的计划满意,还可以让 Amazon Q 继续生成代码。这一切只需一个按钮。

 title=

Amazon Q 生成的代码是这样的:

 title=

点击文件名,打开其中一个被修改的文件。我们可以看到之前的代码与建议的代码之间的差异,同时支持在此进行其他修改。

 title=

生成的代码可能不是 100% 准确或完整。如果对生成的代码不满意,可以通过 chat prompt 继续修改并重新生成代码,直到满意为止。

即将到来的更多新体验

在刚刚结束的 Global Hero Summit 期间,Amazon Q 展示了一些令人兴奋的新功能:

  • 定制化 AI 模型-允许开发者从私有库和库中创建定制化的 AI 模型。这意味着开发者可以根据自己的需求和项目特点,训练出更为贴合的 AI 模型,从而提高开发效率和代码质量。
  • 代码库问答-通过聊天界面,开发者可以向 Amazon Q 提问关于代码库的问题。无论是代码结构、函数用途还是调试信息,Amazon Q 都能快速提供准确的答案,帮助开发者更好地理解和管理代码。
  •  .Net 代码转换-Amazon Q 具备强大的代码转换功能,尤其是在 .Net 平台上。它可以自动将代码从一种语言转换为另一种语言,帮助开发者轻松实现跨平台开发。
  • 集成 SageMaker Studio 和 Eclipse IDE-Amazon Q 与 SageMaker Studio、Eclipse IDE 等开发环境无缝集成,使得开发者可以在熟悉的环境中使用 AI 工具,提高工作效率。
  • 使用自然语言更新 Amazon Web Services 账户资源-Amazon Q 允许开发者使用自然语言更新 Amazon Web Services 账户中的资源。这种方式不仅简化了资源管理流程,还降低了出错的风险。
  • 高级故障排除-Amazon Q 提供了高级故障排除功能,可以自动检测和修复系统中的复杂问题,确保系统的稳定性和可靠性。

目前这些功能大多都还在 preview 阶段,但很快就可以用于生产。

Amazon Q 的独特之处

其实每个 AI 开发工具都有它的特点和适合的应用场景,就像 Amazon Bedrock 提供的十几种大语言模型一样。与其他 AI 开发工具相比,Amazon Q 与 Amazon Web Services 提供的其它服务深度集成,对云资源也有更深度的理解。就像 iOS 的 Siri,Amazon Q 不仅仅是一个辅助工具,更像是一个智能助手,随时随地为开发者提供帮助。无论是代码编写、调试,还是项目管理,Amazon Q 都能提供全面的支持。

云上开发的未来

随着云计算技术的不断发展,云上开发正成为一种趋势。Amazon Q 的出现,进一步推动了这一趋势。通过将开发环境和 AI 工具整合到云端,开发者可以随时随地进行开发工作,提升工作灵活性和效率。此外,云上开发还提供了更强的计算能力,数据安全性以及弹性,确保开发过程的顺利进行。

我个人认为,云上开发的未来已来。你怎么看?

文章来源:https://dev.amazoncloud.cn/column/article/66b1d2a92993de59889bfa35?sc_medium=regulartraffic&sc_campaign=crossplatform&sc_channel=SF


亚马逊云开发者
2.9k 声望9.6k 粉丝

亚马逊云开发者社区是面向开发者交流与互动的平台。在这里,你可以分享和获取有关云计算、人工智能、IoT、区块链等相关技术和前沿知识,也可以与同行或爱好者们交流探讨,共同成长。