在同一个真实代码库上测试了三个 coding agent,最大的意外是你的环境配置有多大程度会跟着你在它们之间迁移

Reddit r/AI_Agents 新闻

摘要

一次对 Cursor、Codex 和 Claude Code 跑在同一份真实 SaaS 代码库上的实测对比。结果显示,共享的 home 目录配置(插件、skills、MCP 服务器)会悄悄跟着 agent 在不同工具之间迁移;而三者之间的差异,更多来自职责范围的不同,而非模型能力的高低。

把同一份功能需求分别交给 Cursor、Codex 和 Claude Code,在我自己正在运营的 SaaS 上跑。同一个分支、各自最便宜的付费套餐、默认设置,还有一份 16 条的验收清单在第一次运行之前就写好了。原以为我在测这些 agent,结果发现有一半内容测的是它们外面那层环境。Cursor 在没有询问的情况下就导入了我的 Claude Code 插件。有个开关控制这件事,而且默认开启。我能发现这一点纯属偶然——那个 agent 去调用了一个我从未在 Cursor 里装过的插件。也就是说,我第一次运行其实是在一个新窗口里测量我旧的那套环境。于是我专门注册了一个全新的 Claude 账号,想拿到一次干净的运行。没用。插件、skills,还有一个指向完全不相关仓库的 MCP 服务器,全都照样加载了,因为它们存在 home 目录里,而不是跟着账号走。唯一一次干净的会话,是我把 CLAUDE_CONFIG_DIR 指向一个空目录之后才得到的。如果你以后想做任何测量,或者你好奇自己还没敲一个字之前上下文是怎么走的,这个值得知道。另一件让三个 agent 里中招两个的问题:你的项目里会记着一些并不在你的指令文件里的东西。在我的例子里,生成的文档清单被硬编码在四个地方,其中一处写着不要引用它之外的任何东西。有两个 agent 添加了一份必需的文档,却始终没有把它接进去,结果文件躺在仓库里,从来没有任何东西会打开它。生成过程报了成功,done-when 检查也通过了。我是手动打开生成出来的 CLAUDE.md 才发现的。真正把它们区分开的,是职责范围,而不是模型能力。运行期间我本地的数据库挂了。Cursor 写下什么都验证不了,然后就停了。Codex 自己请求启动 Docker,应用了数据库迁移,写了 Playwright 测试,还在自己写的代码里发现了一个序列化 bug。Claude Code 做了同样的事,另外还为它刚刚自创的几个设计预设写了一个对比度测试,并修复了其中两个未达 WCAG AA 标准的。数据:Claude Code 38 分钟,消耗了周度额度的 6%;Cursor 52 分钟,用了月度配额的 3%;Codex 在功能做到一半时撞上 5 小时上限,需要等待 3.5 小时。注意,每个工具只跑了一次。有人指出我应该先用同一个工具跑两次来测出噪声底线,这个意见很中肯,下次我会这么做。带完整需求文档、截图和三个可访问 demo 应用的完整文章见评论区。
查看原文

相似文章