<!--StartFragment-->
作为亚马逊云科技最大的年度活动, re:Invent 总是能为我们带来各种惊喜。在 re:Invent 2023 上发布的 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail)(预览版)更是吸引了开发者的眼球。
我对这个全新的 AI 产品也非常感兴趣,所以抽出时间了解了 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 的功能及应用场景。它真是解决开发者工作效率问题的利器!
> **[Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 是开发者的技术专家,是组织的业务专家,同时它还是亚马逊云科技的云专家。**
### **Amazon Q 是个技术专家**
[Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 是一个基于自然语言交互的 AI 智能助手。对于开发者来说,最关键的特点是可以覆盖开发、业务分析以及云应用建设的全流程。
[Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 可以解读代码逻辑,还可以帮助开发人员完成日常的软件开发任务。只需点击几下,就能从问题中的一个想法转变为经过完整测试、准备合并、运行的应用代码,并且可以使用自然语言输入。
##### **要求 Amazon Q 描述源代码文件**
[Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 可以在支持的集成开发环境中使用。通过与 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 聊天或在聊天框中键入 / 来调用操作,在集成开发环境中提出问题并获得帮助。
![1.png](https://dev-media.amazoncloud.cn/981f88cb9b814a81a06d5637fff535ac_1.png "1.png")
##### **通过 Amazon Q 加快功能开发**
通过 [Amazon CodeCatalyst](https://aws.amazon.com/cn/codecatalyst/?trk=cndc-detail) 中集成 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail)(预览版) ,帮助开发者加快软件开发任务的实施,如添加注释和 README、完善问题描述、生成小类和单元测试以及更新 CodeCatalyst 工作流等占用开发人员时间的乏味且无差异的任务。
开发人员只需点击几下鼠标,就能从问题中的一个想法变成经过全面测试、可合并运行的代码。人工智能可以完成以下繁重的工作:将人工提示转换为可执行的计划,汇总源代码库,生成代码、单元测试和工作流程,并在拉取请求中汇总任何变更,然后将其分配给开发人员。
开发者还可以直接就已发布的拉取请求向 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 提供反馈,并要求它生成新的修订版。如果代码更改未达到预期,还可以直接从拉动请求中创建一个开发环境,手动进行任何必要的调整,发布一个新的修订版,并在获得批准后进行合并。
一个具体的例子:在现有应用程序中更改 API。
* 在导航窗格中选择 **Issues**, 然后选择 **Create Issue**, 将 issue 命名为 “*Change the get_all_mysfits() API to return mysfits sorted by the Age attribute*”(更改 get_all_mysfits() API 以返回按年龄属性排序的 mysfits)
* 将此 issue 分配给 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail),并选择 **Create Issue**。
![2.png](https://dev-media.amazoncloud.cn/720505c9481d4578b8d21e2a25c9200b_2.png "2.png")
* [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 会自动将问题转入 in progress 中状态,同时分析问题标题和描述,并制定解决方法。如果开发者已经对 issue 进行了相应的处理,则应在描述中进行总结,以帮助 Q 了解需要做什么。[Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 在工作过程中,会跟进每个阶段并对 issue 发表评论,报告进展情况。它将根据自己对版本库中已有代码的理解和解决方法尝试创建解决方案。
* 当 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 生成一个解决方案,它就会创建一个 branch,并将代码提交到该 branch。然后,[Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 会创建一个拉取请求,一旦获得批准,就会将更改合并到默认分支中。
* 拉取请求发布后,[Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 会将问题状态更改为 in review 中,以便开发团队知道代码已准备好供审核。
![3.png](https://dev-media.amazoncloud.cn/40cef4f66daf4ace81f532a79faa3158_3.png "3.png")
##### **记录变更**
拉取请求的开发者可以要求 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 记录所有发布的供审核的变更,来节省时间。我们常见的方式,拉取请求的开发者必须自己手动编写描述,或者嫌麻烦不编写描述。如果不提供说明,审核人员就很难了解正在进行哪些更改以及更改的原因,从而延误审核流程,减慢软件交付速度。
拉取请求的作者和审核者还可以请 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 对拉取请求的评论进行记录和总结,从而节省时间。摘要对代码拥有者很有用,因为他们可以很容易地看到共同的反馈主题。对审阅者来说,这也很有用,因为他们可以快速了解对话内容以及来自自己和其他团队成员的反馈。这样做的总体好处是简化了协作、加快了审核流程并加快了软件交付。
开发人员可以将 CodeCatalyst 问题分配给 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail),由 Q 执行将人工提示转换为可操作计划的具体的工作,然后完成代码更改,分配给请求者的拉取请求。然后,[Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 将监控所有关联的工作流程,并尝试纠正任何问题。用户可以预览代码更改,并合并拉取请求。开发团队无需进入 IDE 即可在 [Amazon CodeCatalyst](https://aws.amazon.com/cn/codecatalyst/?trk=cndc-detail) 中利用这一新的功能,获得端到端的简化体验。
> CodeCatalyst 中的 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 功能默认关闭,用户可在空间设置中启用。[Amazon CodeCatalyst](https://aws.amazon.com/cn/codecatalyst/?trk=cndc-detail) 中的 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 目前适用于 Amazon Region US West(Oregon)。
### **Amazon Q 是个业务专家**
很多组织都面临着这样的痛点:虽然组织掌握着分布在多个文档、系统和应用程序中的大量信息,但是从财务、人力资源,到营销和销售,每个组织的员工在日常工作中都会都耗费大量时间搜索内部信息源、拼凑分析结果、写报告、做 PPT,还得针对不同受众调整内容。而目前市面上的通用解决方案,并未与内部资源相连,也不了解使用者的身份、角色和权限,无法确定员工在工作中应该访问哪些资源。公开的解决方案,可能会使用数据输入和输出进行训练,存在安全和隐私风险。即使有一些生成式 AI 方案,但它们只能在特定工具内工作,不能扩展到企业的所有系统和应用中,限制了员工充分利用 AI 的潜力。
而 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 可以把它与公司的业务数据、信息、系统连接起来,综合所有信息,提供量身定做的解决方案。它内置了 40 多个常用的数据源连接器,包括 [Amazon S3](https://aws.amazon.com/cn/s3/?trk=cndc-detail)、Dropbox、Confluence、Google Drive、Microsoft 365、Salesforce、ServiceNow 和 Zendesk,还能为内部 Intranets、wiki、run books 等建立自定义连接器。当 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 综合了所有信息,我们就可以部署自己的智能助手了。它会生成一个 Web 应用,让员工使用身份验证系统来访问程序。
一个例子,一名市场营销经理,希望 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 帮他为公司最近的博客文章创建社交媒体帖子。输入以下提示:“总结 Antje 最近发布的亚马逊云科技每周综述文章中的关键见解,并撰写一篇引人注目的社交媒体文章,不仅要突出最重要的观点,还要鼓励参与。考虑我们的目标受众,并力求语气符合我们的品牌形象。社交媒体帖子应简明扼要、内容翔实、引人入胜,以鼓励读者点击阅读文章全文。请确保内容具有可分享性,并包含相关标签,以获得最大的可见度。”[Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 的回复不仅是所有符合描述的相关内容,同时还标注了出处。
![4.png](https://dev-media.amazoncloud.cn/51b811317987440886d7e41451c47ccc_4.png "4.png")
### **Amazon Q 是亚马逊云科技的云专家**
亚马逊云科技的构建者们通过和 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 用自然语言交谈,可以探索新的亚马逊云科技功能、学习不熟悉的技术并构建解决方案。还可以通过 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 排除亚马逊云科技上的技术故障、构建新功能和升级语言。
举个例子:一个云上应用构建的初学者,对亚马逊云科技提供的服务并不熟悉,通过与 Q 协作,很快通过亚马逊云科技提供的多种服务,将 YouTube 上的演讲视频下载到本地,并通过语音转录的云服务将主题演讲的内容变成文字并总结成可以用中文演讲的素材。对于云上构建应用的初学者来说,拥有 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 如同获得超能力。
![5.png](https://dev-media.amazoncloud.cn/445637bf69a94bc9ba7c9dda79ef3f5b_5.png "5.png")
在生成式 AI 技术迅速更新迭代的今天,我很看好 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail)。它的目的不是“取代”,而是协助获得。在 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 的加持下,开发者可以涉足更多的领域,完成引领未来的创新。我们期待在 2024 年,在开发者的使用和反馈中, [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 更广泛的集成,更丰富的功能更新。
更多资源:
* Introducing [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail), a new generative AI-powered assistant (preview)\
https\://aws.amazon.com/blogs/aws/introducing-amazon-q-a-new-generative-ai-powered-assistant-preview?trk=cndc-detail
* [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) brings generative AI-powered assistance to IT pros and developers (preview)\
https\://aws.amazon.com/blogs/aws/amazon-q-brings-generative-ai-powered-assistance-to-it-pros-and-developers-preview?trk=cndc-detail
* Upgrade your Java applications with [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) Code Transformation (preview)\
https\://aws.amazon.com/blogs/aws/upgrade-your-java-applications-with-amazon-q-code-transformation-preview?trk=cndc-detail
* New generative AI features in [Amazon Connect](https://aws.amazon.com/cn/connect/?trk=cndc-detail), including [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail), facilitate improved contact center service\
https\://aws.amazon.com/blogs/aws/new-generative-ai-features-in-amazon-connect-including-amazon-q-facilitate-improved-contact-center-service?trk=cndc-detail
* New [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) in QuickSight uses generative AI assistance for quicker, easier data insights (preview)\
https\://aws.amazon.com/blogs/aws/new-amazon-q-in-quicksight-uses-generative-ai-assistance-for-quicker-easier-data-insights-preview/?trk=cndc-detail
![6.gif](https://dev-media.amazoncloud.cn/325f15e92908409f8dbb8cfe53dc22a2_6.gif "6.gif")
<!--EndFragment-->