当Claude Code开始替我写代码,我还要纠结选Vue还是React吗?
一个前端工程师的真实困惑:顶尖AI对不同框架的理解,居然差这么多
去年Anthropic推出的Claude Code在开发者圈子里讨论度很高,然后我发现了一个值得聊一聊的现象:
同一个Claude Code,写React的时候像熟练工,写Vue的时候像实习生。
这不是在吐槽Vue不好。我本人非常喜欢Vue的优雅。这是在深度使用Claude Code两个月后,一个让我不得不面对的事实。
今天这篇文章,我想和你诚实地聊聊这件事。不站队,不引战,就是分享一些真实的使用体验和思考。
一、Claude Code让我看到了什么
先说Claude Code的特点。和Copilot那种"边写边补全"的模式不同,Claude Code更像一个真正的结对编程伙伴------你给它一个任务,它会自己读代码、分析上下文、制定方案,然后输出完整的代码。
这种能力很强,但对不同框架的"理解深度"差别也更容易暴露出来。
用Claude Code写React时:
给我感受最深的是它的上下文理解能力。我只需要说"把这个表单改成受控组件",它会自动找到相关的state定义、修改onChange处理、调整提交逻辑。整个过程几乎不需要我干预。
用Claude Code写Vue 3时:
同样级别的任务,结果就不太稳定。有时候它会把ref和reactive搞混,有时候watch的写法不对,有时候模板里的事件绑定格式有问题。
最典型的场景:让它在一个已有Vue项目里增加一个新功能,它有时会忘记项目用的是Composition API,生成一段Options API的代码。虽然能跑,但风格不一致,我得手动改。
这不是不能用,但确实多了一道"检查+修正"的工序。
我统计了一下过去一个月两个项目的Claude Code使用数据:
| 项目 | 框架 | 一次生成可接受的对话比例 | 需要手动修正的比例 |
|---|---|---|---|
| 项目A | React 18 | 82% | 18% |
| 项目B | Vue 3.4 | 67% | 33% |
同样的Claude Code,同样的任务复杂度,React项目的生成质量明显更高。
二、为什么会有这种差异?我分析了三个原因
原因1:训练数据的"先天优势"
这是最根本的原因。
Claude的训练数据主要来自互联网公开代码。GitHub上React仓库的数量是Vue的10倍以上,Stack Overflow上React的问答量也远超Vue。
AI学什么,取决于它看了什么。看React代码多了,自然更懂React。
这不是框架好坏的问题,是纯粹的统计学问题。
原因2:范式匹配度的差异
Claude Code的强项是"理解意图,生成代码"。这种能力在函数式范式下发挥得更好。
React组件是"状态 → UI"的纯函数,变量作用域清晰,依赖关系简单,Claude很容易理解"输入是什么,输出是什么"。
Vue的模板语法虽然对人类友好,但对AI来说多了一层"编译转换"。Claude需要先理解模板语法,再理解背后的响应式逻辑,中间多了一道工序,出错的概率自然更大。
原因3:典型案例的密度
React生态里有大量高质量的典型代码案例------Vercel的脚手架、Next.js的官方示例、各种开源组件库的最佳实践。这些案例被反复用于AI的训练和测试,形成了一个正向循环。
Vue生态同样优秀,但在"被AI吃掉"的典型案例数量上,确实存在差距。
三、Vue用户真的"吃亏"了吗?换个角度看
上面说了这么多,可能会让人觉得"那Vue是不是不配在AI时代生存"。
我不这么看。
角度1:Claude Code对Vue的支持在快速进步
Anthropic的模型迭代很快。我从2月开始用Claude Code,到4月,明显感觉到它对Vue 3的Composition API理解好了很多。
如果你现在开始用,体验可能已经比我好。
角度2:Vue的模板语法反而限制了AI的"发挥"
这是个有意思的发现。
JSX很灵活,但Claude有时会生成一些"灵活到离谱"的代码------嵌套过深、逻辑混乱、勉强能跑但没法维护。
Vue的模板语法约束更强,Claude在约束更强的环境里"犯错空间"更小。虽然生成速度慢一点,但生成的结构通常更规整。
角度3:提示工程可以弥补差距
Claude Code支持自定义指令。你可以给每个项目配置一个.claude/instructions.md文件。
我专门为Vue项目写了一份指令文件,告诉Claude:用Composition API、用<script setup>语法、ref和reactive的使用规则、项目里用的组件库是什么。
加上指令后,Vue项目的生成质量有明显提升,接受率从67%提升到了75%左右。
四、这一个月我是怎么用的
分享几个实际的配置和使用习惯,也许对你有用。
Claude Code的项目配置(Vue):
在项目根目录创建 .claude/instructions.md:
markdown
## 技术栈
- Vue 3.5+,使用 Composition API
- 统一使用 <script setup> 语法
- 响应式:基本类型用 ref,对象用 reactive
- UI组件:Element Plus
## 代码规范
- 模板中直接使用 ref 变量,不需要 .value
- 事件处理使用 @ 前缀
- 组件命名使用 PascalCase
日常使用习惯:
- 给Claude足够的上下文 :
"在这个Vue组件里加一个表单,参考同目录下xxx.vue的写法",而不是"写个表单" - 接受Claude会犯错:Vue项目里AI生成的代码,我会多看两眼。这不是麻烦,这是在帮Claude理解我的项目
- 善用Claude的追问能力:生成结果不满意,直接说"用Composition API重写",它会自己调整
五、最后的想法
回到标题的问题:当Claude Code开始替我写代码,我还要纠结选Vue还是React吗?
我的答案是:纠结的方式变了。
以前我们纠结"哪个框架让我写代码更舒服"。以后我们要纠结的是"哪个框架能让AI更好地理解并帮我们写代码"。
这不是框架的优劣问题,这是人机协作方式的变化。Claude Code是一个越来越强的队友,我们作为"老队员",有权选择它最能配合好的那套体系。
但是------这不等于所有人都要去学React。
如果你现在用Vue用得顺手,项目也稳定,大概率不必因为一个AI工具而换框架。官方的AI规则文件在完善,国产AI工具也在补位,差距在缩小。
如果你正要起一个新项目,或者你发现自己大部分时间都在让Claude帮你写代码,那你可以把"Claude理解这个框架的程度"作为一个加分项,放进技术选型的考量里。
💬 想听听你的声音
技术选型从来不是非黑即白。
如果你也在用Claude Code(或者Cursor、Copilot),欢迎在评论区分享:
- 你主要用哪个框架?Claude Code的表现怎么样?
- 你有没有遇到过AI"偏爱"某个框架的情况?
- 你觉得AI工具会影响你未来的技术选型吗?