返回文章列表
代码智能体

1.7万次实测揭示:Claude、Codex与Cursor如何选择第三方工具

阅读约 3 分钟

导语

当编码代理被要求为项目接入支付、邮件、数据库或部署服务时,它们真的会做出相同选择吗?Armature 对 Claude Code、Codex 和 Cursor 进行了大规模对比,累计运行 16,893 次实验,试图观察这些代理如何理解需求、搜索信息并最终修改代码。

实验如何进行

研究团队先分析大量公开 GitHub 项目,再按语言、框架、第三方服务、部署平台、团队规模和代码库年龄等维度构建样本,最终形成覆盖 10 种编程语言的 75 个仿真代码库。项目使用虚构公司、提交历史和密钥,但依赖锁文件会与真实包管理仓库校验。

实验任务由不同经验水平的“用户”提出,从只描述症状的 Vibe-coder,到提出合规、采购和技术约束的大型企业工程师。每次运行都在临时沙箱中完成,并加入一个模拟人类环节:代理先分析并提出方案,再由模拟用户选择排名第一的方案或要求其直接实现。这样可以减少代理因无法请求授权而倾向于自研的偏差。

在 16,893 次运行中,研究者暂时筛选出 5,292 个有效会话,覆盖 51 个代码库和 18 个领域。另有大量过程数据仍待分析。

核心发现

  • 信息来源差异明显。 Cursor 在约三分之二的会话中参考网络;Codex 的网络搜索比例达到 94%,且大多使用 site: 等限定条件;Claude Code 约三成会话搜索网络,但一旦搜索,浏览页面数约为 Codex 的三倍。在沙箱等较新的领域,Claude Code 的搜索比例升至约八成。
  • 代理之间经常意见不一。 三者在所有实验单元中仅有 42% 选择了同一工具。例如语音代理场景中,Claude Code、Codex 和 Cursor 分别偏向 Twilio、OpenAI Realtime API 和 Vapi。Claude Code 自建方案的比例约为 19%,接近另外两者的两倍。
  • 代码库上下文会改变答案。 同样是邮件服务需求,TypeScript 项目更常得到 Resend,Python 项目偏向 SendGrid,Go 项目偏向 Postmark,Java 项目则更多选择 Azure ACS。部署平台也呈现类似差异:Vercel 在 TypeScript、尤其是 Next.js 项目中占优,但在 Python 项目中几乎没有被推荐,Render 更常胜出。
  • 被提及不等于被采用。 PayPal 被提到 139 次却没有获选,Adyen 被提到 175 次仅获选 3 次;LangChain、Netlify 和 Supabase也频繁出现在讨论中,却常被其他方案击败。这说明品牌曝光只能进入候选集,未必能转化为安装或落地。
  • 供应商页面的细节可能左右结果。 代理会受到免费套餐、数据保留期限、管理开销和功能捆绑等表述影响。Supabase 在“只需要数据库”的任务中,可能因额外的认证、存储和实时功能而失分;邮件服务商的免费计划说明也会改变排序。

意义与影响

这项研究提醒开发者,编码代理不是脱离环境的产品排行榜。它们会把语言生态、已有依赖、项目结构和检索到的网页内容共同纳入判断,因此同一需求在不同仓库中可能产生完全不同的推荐。对供应商而言,文档的可检索性、定价信息的清晰度和功能边界,可能与产品本身一样影响代理决策。

对使用者来说,不能把代理的首选直接当成客观最优解。更稳妥的做法是要求代理列出约束、比较候选方案,并人工复核合规、成本、迁移和长期运维风险。此次公开的实验轨迹也为后续研究提供了基础:真正值得追问的,不只是“谁赢了”,还包括代理为何在特定上下文中改变选择。

来源:Hacker News

评论

正在确认登录状态……

正在加载评论……

相关文章

CCTest · Blog
PaperCompiler:把论文转代码变成可追溯的仓库级规范
代码智能体
cctest.ai
代码智能体

PaperCompiler:把论文转代码变成可追溯的仓库级规范

PaperCompiler 针对论文到代码过程中常见的算法简化、隐含假设丢失和跨文件不一致问题,引入了面向整个代码仓库的规范编译流程。该方法通过记录证据来源、约束文件职责与依赖关系,提升生成实现对原论文的忠实度。

阅读全文