使用 Amazon CodeWhisperer(现 Amazon Q Developer)加速编码 - AI 代码建议与安全扫描
在 IDE 中实时生成代码建议,并同时提供 OWASP Top 10 安全扫描和开源许可证引用检测。还会介绍有效运用的技巧。CodeWhisperer 已于 2024 年整合到 Amazon Q Developer 中。
CodeWhisperer 概述
CodeWhisperer 是在 IDE 中实时生成代码建议的 AI 编码助手。它可以在 VS Code、JetBrains IDE 和 AWS Cloud9 中使用,根据注释和现有代码的上下文自动生成函数、类和测试代码。CodeWhisperer 已整合到 Amazon Q Developer 中,代码补全可以作为 Amazon Q Developer 的功能使用。
安全扫描与许可证检测
安全扫描会分析代码文件,检测 OWASP Top 10 中包含的漏洞模式。检测结果包含 CWE 编号和修复建议,帮助理解和修复漏洞。许可证引用检测会在生成的代码与开源训练数据相似时进行标记,并提示相应的开源项目和许可证(MIT、Apache 2.0 等)。它帮助按照组织的许可证策略使用代码。
在组织中的引入与管理
在组织使用(现在的 Q Developer Pro 计划)中,与 IAM Identity Center 联动进行整个组织的用户管理。管理员可以在仪表板上查看代码建议的接受率、安全扫描的检测件数和每个用户的使用情况。获取符合组织编码规范的建议时,使用由 CodeWhisperer 学习仓库内代码风格和模式的自定义功能。引用跟踪器会在建议的代码与公开的代码相似时,显示引用来源和许可证的信息。个人使用可以免费开始(整合前的 Individual 版代码建议不限次数,安全扫描每月最多 50 次)。
有效运用的技巧与局限
CodeWhisperer 的建议内容会因提供上下文的方式而变化。如果在函数的文档注释中具体写明输入 / 输出的类型和处理内容,就会生成更准确的代码。反之,如果注释含糊或文件中的上下文不足,可能会建议过于通用的代码或错误的逻辑。对生成的代码进行审查,确认错误处理、边界情况的处理和安全方面的考虑是否恰当。生成代码的准确度因代码的种类而异。有一种用法是让它根据函数的实现建议相应的单元测试。
费用 - 整合到 Q Developer 后的计划
CodeWhisperer 单独的 Individual / Professional 旧计划体系,已随着 2024 年整合到 Amazon Q Developer 而废止。现在分为 Q Developer 的 Free 计划(免费 / 有每月使用上限)和 Pro 计划(每用户每月 19 美元)两种。代码建议和安全扫描作为 Q Developer 的功能提供(截至 2026 年 8 月)。Q Developer 有可以免费开始使用的 Free 计划。
支持的环境与建议的机制
代码建议工具嵌入开发人员使用的集成开发环境(IDE)中使用。它会读取编写代码时的上下文和在注释中写下的意图,当场提示后续代码或整个函数的候选。开发人员确认提示的候选,合适就采用,不合适就忽略并继续编写。它支持多种语言,可以在不中断日常开发流程的情况下自然地获得帮助。可以减少打字的工夫,在保持思路的同时推进实现。
定型处理的效率化与 API 的学习
代码建议的使用场景之一,是反复编写的定型处理。可以快速生成数据整形、文件读写、常见错误处理等样板代码,增加专注于核心逻辑的时间。在使用不熟悉的库或 API 时,会显示调用方式的候选,可以减少查阅文档的工夫。通过减轻简单作业的负担、降低进入新技术的门槛,开发人员能够专注于更具创造性的部分。
代码质量与验证的责任
对于生成的代码,不直接信任,而是确认其内容。建议中可能包含偏离意图的实现,或不符合需求的写法。在采用之前,理解其内容并确认是否符合需求的责任在于开发人员。也为生成的代码编写测试,验证其是否按预期运行。同时确认是否混入了安全问题。将工具定位为提高生产力的工具而不是思考的替代品,质量由开发人员来保证。
总结
Amazon Q Developer(原 CodeWhisperer)是在 IDE 中提供 AI 代码建议和安全扫描的服务。现在可以从 Amazon Q Developer 的 Free 计划开始,用于代码的自动补全、函数的生成和安全漏洞的检测。
参考资料(AWS 官方)
本页的第一手信息来源是 AWS 官方网站及官方文档。最新的规格与价格请以下列官方页面为准。
如本页内容与官方文档不一致,请以官方文档为准。