有人把 Claude Code 测了 2430 次,发现它选工具的逻辑跟你想象的不一样


你有没有想过这个问题:当你让 AI 帮你写代码的时候,它脑子里是怎么选工具的?
你说"帮我加个登录功能",它选什么认证方案?你说"部署到云上",它选哪个云平台?你说"加个状态管理",它用 Redux 还是 Zustand?
说实话,我之前一直觉得 AI 选工具大概是随机撞大运,或者根据它训练数据里什么东西多就选什么。直到我看到 Amplifying.ai 做的这个实验,才发现事情比我猜的有意思多了。
他们干了这么一件事:拿了三个 Claude 模型(Sonnet 4.5、Opus 4.5、Opus 4.6),扔到四种不同的项目仓库里,每个跑三遍,总共 2430 次测试。关键是不告诉它该用什么工具,就问开放性问题,看它自己怎么选。
结果呢?有些选择跟我猜的差不多,有些就完全没想到。
发现一:Claude Code 能自己写代码,就不推荐第三方工具
说实话这个发现挺意外的。
在 20 个工具类别里,有 12 个类别 Claude Code 的首选不是用现成工具,而是自己写一个。
你让它加 feature flag,它不会推荐你用 LaunchDarkly,而是帮你写一套配置系统,用环境变量加上百分比灰度发布。你让它加登录认证,它不会推荐 Auth0,直接给你写 JWT 加 bcrypt 的方案。
统计下来,“Custom/DIY”(自己动手)这个标签出现了 252 次,比任何单个工具都多。
我琢磨了一下,这事儿其实挺合理。想想看,你让一个会写代码的东西帮你解决问题,它本能反应就是写代码解决,而不是去找第三方。就像你问一个木匠"我想装个书架",他第一反应是拿木头做一个,而不是打开淘宝搜"书架"。
但这个倾向也不是绝对的。有些领域它就特别认死理,认准了一个工具就死磕到底。
发现二:选工具时果断得吓人,GitHub Actions 占 94%
当 Claude Code 决定用现成工具而不是自己写的时候,它的选择集中度非常高:
- CI/CD:GitHub Actions 占 94%(152/162)
- 支付:Stripe 占 91%(64/70)
- UI 组件:shadcn/ui 占 90%(64/71)
- 前端部署:Vercel 占 100%(86/86,所有 JS 项目)
- 状态管理:Zustand 占 65%(57/88)
- 错误监控:Sentry 占 63%(101/160)
在 Claude Code 的"世界观"里,某些工具已经是默认选项了。你让它做 CI/CD,它几乎不会考虑 Jenkins、GitLab CI 或者 CircleCI,直接就 GitHub Actions 了。
这种果断让我想到一个类比:就像北京人吃涮羊肉认准铜锅,重庆人吃火锅认准牛油底料。不是其他的不行,但这些已经是默认选项了,没有特别理由不会换。
发现三:新模型偏爱新工具,Drizzle ORM 取代 Prisma
研究者把三个模型的选择做了对比,发现了一个明显的"新鲜度梯度":越新的模型,越倾向于选择更新的工具。
最典型的例子是 ORM。
在 JavaScript 项目里,Sonnet 4.5 选 Prisma 的比例是 79%,选 Drizzle 是 0%。但到了 Opus 4.6,情况完全反转:Drizzle 100%,Prisma 0%。
这就像你问你爸和你弟同一个问题"买什么手机",你爸说华为,你弟说小米。两代人对"什么是好东西"的判断标准不一样。
Python 的任务队列也有类似情况。Sonnet 4.5 选 Celery 是 100%,但 Opus 4.6 选 FastAPI BackgroundTasks 的比例上升到了 44%,剩下大部分是自己写 asyncio 任务,Celery 直接被抛弃了。
缓存这块更明显。Sonnet 4.5 选 Redis 的比例是 93%,但 Opus 4.6 选 Redis 的比例掉到了 29%,一半的情况选择自己写一个内存缓存。
AI 模型的"技术品味"在随着训练数据更新。Opus 4.6 的训练数据更新,它接触到的更多是"轻量化"、“简单够用"这种技术趋势,所以它的选择也更往这个方向靠。
发现四:部署平台选择完全看技术栈,Vercel 还是 Railway
部署这个类别的选择特别有意思,因为它完全被技术栈决定了:
JavaScript 前端项目(Next.js / React SPA):Vercel,100%。没有任何其他选项被选为首选。
Python 后端项目(FastAPI):Railway,82%。
最让我震惊的是这个数据:AWS、GCP、Azure 这三大云服务商,在 112 次部署相关的回答中,被选为首选的次数是——零。
这就像你问一群北京人去哪吃烤鸭,没人说去全聚德。不是全聚德不好,而是大家都有了新的默认选项。
Vercel 被选中的原因研究者也给了解释:它是 Next.js 的创造者做的,零配置部署,自动预览环境,边缘函数支持。你让它部署一个 Next.js 项目,它给你的答案通常是这样的:
Vercel(推荐)—— 由 Next.js 的创造者开发,零配置部署,自动预览环境,边缘函数。运行 vercel deploy 即可。
Netlify —— 不错的替代品,免费额度友好。
AWS Amplify —— 如果你已经在 AWS 生态里可以用。
注意到了吗?Vercel 有安装命令和详细理由,AWS Amplify 就一句话打发过去了。这待遇差距也太大了。
发现五:有些工具被"礼貌性提及"但从不推荐
看到这块数据的时候我笑出声了。
有些工具,Claude Code 知道它们的存在,会在回答里提一嘴,但从来不推荐作为首选。
比如前端部署领域:
- Netlify 被提及 67 次,但都是作为"备选”
- Cloudflare Pages 30 次,同样是备选
- GitHub Pages 26 次,还是备选
还有一类更惨,被提及但连备选都不是:
- AWS Amplify 被提及 24 次,0 次备选推荐
- Firebase Hosting 被提及 7 次,0 次备选推荐
这就像你问朋友推荐餐厅,他说"你可以去那家新开的日料店,或者隔壁的火锅店也行,哦对了旁边还有家麦当劳"。麦当劳被提了,但你懂的,那不是推荐。
最惨的是那些"完全透明"的工具:AWS EC2/ECS、Google Cloud、Azure、Heroku。这些在回答里几乎都不会被提及,就像不存在一样。
这研究告诉我们什么
看完这些数据,我有几点感受:
第一,AI 编程助手的"技术品味"正在形成。它不是随机选工具,而是有一套自己的判断逻辑。这套逻辑可能来自训练数据里最新的技术趋势,也可能来自对"简单好用"的某种理解。
第二,如果你想知道"现在流行用什么",看 AI 的选择可能比看各种年度调查报告更有参考价值。因为 AI 的训练数据就是最近的代码,它反映的是当下开发者真实在用的东西。
第三,传统云服务商可能要紧张了。当 AI 编程助手开始影响技术选型,而它几乎不推荐 AWS、GCP、Azure 的时候,这些公司的获客成本可能会越来越高。
最后,这个研究也提醒我们:AI 选的工具不一定是最适合你的。它的选择基于它的"世界观",而你的项目可能有不同的约束条件。它推荐 Vercel 是因为它觉得简单好用,但如果你的公司有合规要求必须用私有云,那你还是得老老实实选别的。
工具好不好,最终还是得看场景。AI 可以给建议,但拍板的还是你。
常见问题
Q:这个研究的数据来源是什么?
A:Amplifying.ai 使用了三个 Claude 模型(Sonnet 4.5、Opus 4.5、Opus 4.6),在四种不同的项目仓库中进行测试,每个模型跑三遍,总共收集了 2430 次响应。85.3% 的回答能够提取出明确的工具选择。
Q:为什么 Claude Code 倾向于自己写而不是用现成工具?
A:研究者认为这是因为 AI 本质上是一个"会写代码的助手",它的本能反应是用代码解决问题。对于 feature flag、简单认证这类需求,自己写的成本可能比集成第三方还低,所以它选择自己动手。
Q:Vercel 真的有那么好吗?
A:对于 Next.js 项目来说,Vercel 确实提供了最好的开发体验,因为它就是 Next.js 团队做的。零配置、自动预览环境、边缘函数支持,这些特性让部署变得非常简单。但如果你的项目有特殊需求(比如必须部署在私有云),那它就不一定是最佳选择了。