Amazon Q Developer 是 AWS 推出的软件开发 AI 助手,可在代码编辑器、命令行和 AWS 控制台中使用;新手可以试用它的免费层级,获取代码建议或询问 AWS 相关问题。
主要特点: Amazon Q in the AWS Management Console, Java upgrade transformation, Diagnose with Amazon Q
编程
先让编程工具解释代码,每次只做一处小改动,并且一切都自己测试。
适合的工具类型:编程
实例:一个遇到空列表就崩溃的 Python 函数
例如
这个函数所在的文件里还有一个 API 密钥。只复制函数,绝不复制密钥。
例如
你输入的内容
这个 Python 函数应该返回一组数字的平均值: def average(numbers): return sum(numbers) / len(numbers) average([2, 4, 6]) 能正常运行,但 average([]) 会停止并报错:ZeroDivisionError: division by zero对于空列表,它应该返回 None。
例如
你输入的内容
请先解释函数的每一部分做了什么,以及为什么空列表会出错。先不要修改代码。示例回答,由我们撰写。你的工具给出的回答会有所不同。
sum(numbers) 把数字加起来,len(numbers) 统计数字的个数。对于空列表,两者都是 0,而 Python 不能除以零,所以会抛出 ZeroDivisionError。例如
你输入的内容
现在建议一个最小改动,让它对空列表返回 None。示例回答,由我们撰写。你的工具给出的回答会有所不同。
def average(numbers): if not numbers: return None return sum(numbers) / len(numbers)
例如
两种情况都自己运行一遍:average([2, 4, 6]) 应该得到 4.0,average([]) 应该得到 None。读一读新增的两行:它们只处理空列表,没有改动其他任何东西。
这是一段 [编程语言] 代码:
[代码]
它应该 [预期行为],但实际上 [实际行为或报错信息]。
请先一步一步解释这段代码做了什么。
然后建议能修复问题的最小改动,并解释原因。
告诉我怎样测试这个修复。让 AI 标出不确定的地方,并不能让它的回答变得正确。重要的部分仍要自己核对。
按名称列出,不是排名。只有同类工具才能并排对比。
Amazon Q Developer 是 AWS 推出的软件开发 AI 助手,可在代码编辑器、命令行和 AWS 控制台中使用;新手可以试用它的免费层级,获取代码建议或询问 AWS 相关问题。
主要特点: Amazon Q in the AWS Management Console, Java upgrade transformation, Diagnose with Amazon Q
Cursor 是 Anysphere 推出的 AI 代码编辑器和编程智能体,以桌面应用、命令行工具和云端智能体的形式运行;新手可以用它在输入时获取代码建议,或者让智能体解释和修改项目。
主要特点: Tab, Cloud Agents, Bugbot
GitHub Copilot 是 GitHub 推出的 AI 编程助手,可在代码编辑器、命令行、GitHub.com、GitHub Mobile 和桌面应用中使用;新手可以用它在输入时获取代码建议,或者询问关于某个代码库的问题。
主要特点: Copilot cloud agent, Copilot code review, Third-party coding agents (Claude and Codex)
JetBrains AI Assistant 是一个插件,可为 JetBrains IDE 添加 AI 聊天、代码补全和编程智能体;新手可以在 IntelliJ IDEA 或 PyCharm 中用它获取代码建议,或者询问关于项目的问题。
主要特点: JetBrains Air in IDEs, Junie, Claude Agent and Codex in AI Chat
Tabnine 是一款用于代码编辑器和终端的 AI 编程助手,现归 Tricentis 所有,当前文档介绍的是企业方案;如果你的组织提供访问权限,新手可以用它进行代码补全,并就代码库进行对话。
主要特点: Private installation (on-premises or VPC), Context Engine, Provenance and Attribution