tva
← 洞察

多款 AI 编码工具,数百次会话:一次诚实的对比

AI 编码助手市场不断分化,使坦诚比较变得十分困难。营销材料普遍乐观,基准测试分数的设计倾向于突出各工具的优势,而大多数比较评测的作者只用了每款产品几小时,并没有经历足以揭示重要模式的数月实际工作。我们在生产代码库而非演示项目中,使用 Claude Code、Cursor、Gemini CLI、OpenCode 和 Qwen Code 进行了数百次会话,逐渐看到了更真实的情况。这些观察基于我们截至 2025 年 11 月使用的工具版本;功能、限制和价格变化很快,因此在依据任何具体说法作出判断前,请查阅供应商的最新文档。

关键发现并不是某款工具全面胜出。各工具的优化目标不同,只有持续使用才会显现。理解每款工具实际针对什么需求而设计,有助于解释它的优势和失败模式。


Claude Code:以终端为核心的主力工具

Claude Code 的定位很独特:它是具备深入智能体能力的 CLI 工具,而不是在现有工作流中加入聊天功能的编辑器扩展。这种设计选择的影响,会随着使用时间增加而更加明显。

它的优势是自主完成多步骤任务。给定范围明确的规格,Claude Code 会读取相关文件、理解既有模式、编写实现、运行测试并修复失败,无需开发者逐步指挥。在我们测试过的工具中,它的上下文窗口管理表现最好:能从容处理大型代码库,也能在长会话中维持连贯状态,而其他工具往往难以做到。

但实际使用中,这种自主性有利也有弊。同样的能力,让 Claude Code 擅长结构化实现工作,却也会在任务描述不够明确时做得过多。在大型代码库中给它一条模糊指令,它就会自行作出决策,其中一些未必符合您的意愿。长期使用的经验是,严格、清晰的规格能改善 Claude Code 的表现:输出质量与提示词质量直接相关。投入结构化规划,写明规格、验收标准和约束的开发者,比主要靠对话推进工作的开发者获得的结果明显更好。

以终端为核心的设计,也意味着 IDE 集成居于次要位置。希望获得内联建议、实时 Tab 补全和停靠在编辑器中的聊天面板的开发者,会觉得它的工作流不如 Cursor 自然。Claude Code 更适合按任务而非逐行代码组织工作的开发者。


Cursor:IDE 内 AI 辅助的标杆

Cursor 仍是内联 AI 辅助的标杆。它的 Tab 补全确实出色,不只是偶尔提出有用建议,而是能以足够高的准确率,预测符合当前文件风格和约定的多行补全,足以改变输入节奏。使用足够久后,失去这种能力会让人感觉效率退步。

Composer 和智能体模式已有明显进步。对于上下文清晰的单文件或少量文件改动,Cursor 能生成整洁、范围明确的编辑。接受前可以直接看到具体变化的内联差异审阅流程,在本次比较的工具中操作体验最好。

失败模式主要出现在大型、涉及多个模块的修改中。Cursor 的上下文检索不错,但并不突出:它有时会遗漏正在实现的模式其实已存在于代码库其他位置,也会提出与未纳入上下文的文件中既有约定相冲突的方案。对中小型任务,这尚可管理;对涉及许多文件的架构修改,相比 Claude Code 更充分的前期分析,它需要更多引导。

商业模式也值得关注。Cursor 的定价层级给团队带来使用上的摩擦,某些模型的请求限制还可能在不合适的时候打断工作。对独立开发者,这只是小困扰;对团队,则是不断累积的协调开销。


Gemini CLI:Google 的基础设施布局

Gemini CLI 依托 Google 的基础设施推出,上下文窗口足够大,很少因代码库规模而遇到困难。从单次提示词中能分析多少代码这一容量指标看,它领先于大多数替代工具。对于使用大型 monorepo 的开发者,这很重要。

但实际上,上下文窗口大小并不是多数编码会话的限制因素。更重要的是工具如何使用上下文,而 Gemini CLI 在我们的各次会话中表现并不一致。回复常常过于冗长,先长篇解释打算做什么,而不是直接执行。代码虽然通常正确,但有时更偏好教科书式模式,而非真实代码库中的实用约定。

它与 Google 生态的集成如预期一样出色。对于已采用 Google Cloud,例如 Cloud Run、BigQuery 和 Firebase 的团队,Gemini CLI 具备其他工具缺少的原生理解。它理解 IAM 配置,能推荐正确的客户端库,生成可以实际运行而不需要大幅修正的部署配置。离开 Google 生态后,这一优势便不复存在。

它对 MCP 服务器的支持也值得关注。Gemini CLI 在 Model Context Protocol 生态上投入了精力,能够连接外部数据源和工具,使用途超出单纯的代码生成。对于以 MCP 为基础构建基础设施的团队,它比那些未将工具调用作为核心设计的产品更契合。


OpenCode:可配置性的价值

OpenCode 将自己定位为灵活、不绑定特定模型的终端工具:自带 API 密钥、配置偏好的模型,使用本地或远程推理。对希望掌控整个技术栈的开发者,这确实有价值。

实际体验则有好有坏。吸引高级用户的可配置性,也意味着更多设置、更多边界情况处理,以及在其他工具通过大量用户测试完善的工作流中,较低的成熟度。这个工具能用,不绑定特定模型的架构在技术上也合理,但相比预设了明确默认方案的工具,它需要更多主动管理。

OpenCode 真正适用的是离线或隔离网络环境,以及因数据驻留要求而不能把代码发送到第三方 API 的组织。通过 Ollama 或类似推理服务器运行本地模型,对这些场景确实有用。对其他用户而言,相比那些在默认体验上投入更多工程精力的工具,使用上的摩擦成本通常超过可配置性带来的收益。


Qwen Code:开源竞争者

Qwen Code 是一个改编自 Gemini CLI 的开源终端智能体,与 Qwen 的开源模型家族深度集成,处于能力与成本曲线上的另一个位置。它能使用可自托管的模型,大规模使用时具有商业 API 难以匹敌的成本优势。对需要大量生成内容,包括文档、测试和样板代码的团队,成本结构有实质差异。

能力上限确实存在。在复杂架构推理、细微缺陷检测和多文件重构方面,Qwen Code 落后于商业工具。差距随着每代模型缩小,但对于错误修改代价高的生产工作,质量差异仍足以影响工具选择。

Qwen Code 已展现实际价值的场景,是大量、风险较低的生成任务,尤其是多语言场景。模型的中文能力较强,对同时处理英文和中文代码库或文档的团队很重要。


真正重要的使用规律

数百次会话后,最关键的观察并不是哪款工具最好,而是各工具在什么条件下能成功。面对陌生代码库中的模糊指令,它们都会以可预见的方式失败。当任务清楚、上下文相关,而且操作者足够理解工具的工作方式、能够有效引导时,它们都能表现良好。

从 AI 编码工具中获得最大收益的开发者,并不是找到了最好工具的人,而是学会了按这些工具的工作方式与其协作的人:重视规格质量、提供明确约束、认真审阅输出,并将 AI 视为能力强但上下文有限的合作者,而非可以自主替代工程判断的角色。

工具重要,使用纪律更重要。


相关洞察

延伸阅读