Kiro vs. Amazon Q Developer IDE 插件 #
Amazon Q Developer 包含 Amazon Q Developer IDE 插件 (Visual Studio Code, JetBrains, Eclipse, Visual Studio。以下主要对比 Kiro 和 Amazon Q Developer VS Code 插件的功能对比。
总结 #
Kiro 和 Amazon Q Developer 都是 AWS 出品的 AI Coding 工具,从整体用户体验而言,Kiro 更好, Amazon Q Developer 插件则支持不同的 IDE,用户无需更换原有 IDE。以下是主要区别:
Kiro 的独特优势:
- Spec Mode:结构化处理复杂开发任务的方法,将软件开发过程正式化 - 这是 Kiro 独有的功能
- Agent Hooks:当 IDE 中发生特定事件时执行预定义代理操作的自动触发器
- 灵活的自主性:既有 Autopilot mode(自主修改)也有 Supervised mode(应用更改前审查)
- 丰富的上下文引用:支持 #Docs、#Git、#Rules、#Terminals、#Web 等多种上下文引用方式
Amazon Q Developer 的独特优势:
- GUI 配置:提供图形界面配置 MCP 服务器,相比 Kiro 的 JSON 文件配置更直观
- 固定上下文项:可以指定在聊天会话中添加到所有消息的上下文项
- Prompt Library:内置提示库功能,可存储和重用常用提示
- Named Agent:提供专门的 Java 升级(/transform)代理
核心差异:
- 开发方法:Kiro 强调结构化的 Spec 驱动开发,而 Q Developer 更注重传统的 Agent 编程方式
- 自主性控制:Kiro 提供 Supervised 和 Autopilot 两种模式。
- 上下文管理:Kiro 的 Steering 系统提供更灵活的包含模式(始终/条件/手动),Q Developer 的 Project Rules 仅支持始终包含
功能对比 #
最后对比日期:2025 年 7 月 27 日
类别 | 功能 | 描述 | Kiro | Q Developer VS Code 插件 | 备注 |
---|---|---|---|---|---|
聊天 | 问答聊天 | 来回对话 | ✅ | ✅ | |
内联编辑 | 直接在编辑器中编辑代码或提问 | ✅ 支持额外上下文,多轮对话 | ✅ 无额外上下文,单轮对话 | ||
代理 | Vibe | 自主编程任务、终端命令和代码编辑 | ✅ | ✅ 代理编程 | |
Spec | 结构化处理复杂开发任务的方法,将软件开发过程正式化 | ✅ | ❌ | ||
Supervised mode | Kiro 展示每个建议的操作并等待您的批准后再继续。您将看到 Kiro 想要进行的确切更改,并可以接受、拒绝或修改它们。 | ✅ | ❌ | Kiro 会要求您审查和接受代码更改。VS Code 插件直接更改文件并提供撤销编辑的方法。 | |
Autopilot mode | 自主完成端到端任务。它可以创建文件、在多个位置修改代码、运行命令,并在每个步骤都不需要批准的情况下做出架构决策。 | ✅ | ❌ | Kiro 可以读取终端输出,并可以配置可信命令。 | |
差异和审查 | 审查和管理 AI 代理生成的代码更改 | ✅ | ✅ | ||
Hooks | 当IDE中发生特定事件时执行预定义代理操作的自动触发器 | ✅ | ❌ | ||
内联补全 | 自动补全 | 在您输入时提供建议并补全代码 | ✅ | ✅ | |
上下文 | 代码库索引 | 通过计算每个文件的嵌入来索引您的代码库。改善AI对您代码的回答。 | ✅ 通过 #codebase | ✅ 通过 @workspace | |
规则 | 对模型的系统级指令 | ✅ Steering | ✅ Project Rules | Kiro 的 Steering 提供始终/条件/手动包含模式,而 Q IDE 插件仅提供始终包含模式。 | |
添加图片 | 将图片添加到上下文中 | ✅ | ✅ | ||
固定上下文项 | 上下文固定让您指定在聊天会话中添加到所有消息的上下文项。当您固定上下文项时,它会自动包含在当前对话的每条消息中。 | ❌ | ✅ | ||
Prompt Library | 在库中存储提示,将它们插入聊天中而无需每次重新输入提示 | ❌ | ✅ | 在 Kiro 中,您可以将提示放在手动 Steering 中,并使用 #steering 命令包含提示。 | |
@ 符号 | @Files | 引用项目中的特定文件 | ✅ | ✅ | |
@Folders | 引用整个文件夹以获得更广泛的上下文 | ✅ | ✅ | ||
@Code | 引用代码库中的特定代码片段或符号 | ✅ | ✅ | ||
@Docs | 访问文档和指南 | ✅ | ❌ | ||
@Git | 引用 git 历史和更改 | ✅ | ❌ | ||
@Rules | 使用规则 | ✅ 引用 Steering 文件 | ❌ | ||
@Terminals | 引用终端内容 | ✅ | ❌ | ||
@Web | 引用外部网络资源和文档 | ✅ | ❌ | ||
# Problems | 引用当前文件中的问题 | ✅ | ❌ | ||
@Lint Errors | 引用代码检查错误(仅聊天) | ✅ | ❌ | ||
@Prompts | Prompt Library。将保存的提示添加到上下文中。 | ❌ | ✅ | 在 Kiro 中,您可以将提示放在手动 Steering 中,并使用 #steering 命令包含提示。 | |
MCP | 配置 | 如何配置 MCP 服务器 | ✅ JSON 文件 | ✅ GUI | |
工作区级别 MCP | 适用于当前工作区 | ✅ | ✅ | ||
用户级别 MCP | 适用于所有项目 | ✅ | ✅ | ||
stdio 传输 | 本地桌面上的 MCP 服务器 | ✅ | ✅ | ||
自动批准可信工具 | 避免对可信工具重复批准提示 | ✅ | ✅ | ||
用户体验 | 并行会话 | 允许打开多个标签页,并行运行代理/聊天 | ✅ | ✅ | |
任务列表 | 显示当前任务和队列中的任务 | ✅ | ❌ | ||
历史记录 | 查看和管理聊天对话 | ✅ | ✅ | ||
上下文摘要 | 自动摘要和管理上下文以保持聊天高效 | ✅ | ❌ | ||
自定义布局 | 快速自定义IDE布局 | ✅ | ✅ | ||
Named Agent | 安全审查 | 用于识别安全和代码质量问题的专门代理 | ❌ | ✅ 使用 /review 命令 | |
Java 升级 | 升级 Java | ❌ | ✅ 使用 /transform 命令 | 需要额外收费。 |