halo 的技术博客

返回

上个月,我把一个维护了半年的项目从Cursor迁移到了Claude Code。迁移完那天晚上,我意识到一件事:我之前根本不会编程

不是说我写不出代码——我写了三年Go,天天用Cursor,效率拉满。但那种效率是假的。我只是在不断”确认”AI的输出,像个高级质检员,而不是程序员。


那个让我醒悟的Bug#

事情从一个莫名其妙的Bug开始。

我的服务有个偶发的内存泄漏,用Cursor调试了一周。每次我问”帮我看看哪里有问题”,它都给出一堆建议——加锁、调参数、改GC策略。我照做,问题没解决,但我感觉自己很忙,很有成就感。

直到有一天,我实在受不了了,把整个项目扔给了Claude Code。

没有花哨的界面,没有一键补全。我在终端里敲了几行命令,Claude Code读完整个代码库,安静了三分钟——然后说了一句让我汗毛竖起的话:

“你的连接池在第三方库的fallback逻辑里没有正确关闭。问题在第472行,每次超时重试都会泄漏一个连接。”

那一刻我明白了:Cursor给我的都是”合理的答案”,而Claude Code给我的是真相

Claude Code终端界面


Cursor:舒服的陷阱#

我用了Cursor一年多,当初是被它的”AI原生”概念吸引的。VSCode魔改,Tab键一键补全,聊天窗口随时提问——太顺手了。

但顺手是有代价的。

Cursor最大的问题是:它太知道你想要什么了 。你问一个模糊的问题,它给你一个模糊但看着顺眼的答案。你点一下Tab,代码就出来了,你只需要检查语法对不对。

三个月后,我发现自己连项目架构都说不清楚了。我只知道”Cursor说这里应该加个缓存”,“Cursor建议用这个库”。我在依赖它,而不是在用它。

Cursor IDE界面


Claude Code:笨重但诚实的伙伴#

Claude Code一点都不顺手。

它在终端里跑,没有图形界面,没有一键补全。你想问问题,得敲命令。你想改代码,得等它读完整个上下文——有时候要几分钟。

但这种”笨重”反而逼着我思考。

因为它读完了整个代码库,所以当我问”这里为什么要这样写”时,它能告诉我:“因为三周前你在另一个文件里改了接口,如果不这样写会崩溃。”

它记住了我忘记的事。

我意识到,Claude Code不是一个”帮你写代码的工具”,它是一个”理解你项目的同事”。它的价值不是快,而是


Windsurf:新玩家的野心#

Windsurf我试了两周。它有个挺有意思的功能:可以直接分析你的Git历史,帮你理解代码演化的逻辑。

但说实话,它现在的生态还是太新了。插件少,社区讨论少,遇到问题基本只能自己琢磨。有些功能看着惊艳(比如它的”代码影响分析”),但实际用起来,准确率也就七八成。

我觉得它有潜力,但现在让我拿它做主力工具——不敢。


我的选择#

如果你问我现在怎么选:

  • 你是独立开发者,做一个长期维护的项目 → 用Claude Code。它会逼你理解自己的代码,三个月后你会感谢这个决定。
  • 你是大厂螺丝钉,每天写大量样板代码 → 用Cursor。快速完成任务,别想太多,反正架构不是你定的。
  • 你是技术负责人,需要做技术决策 → 试着让Claude Code读一遍代码,它能看到人眼容易忽略的东西。
  • 你是新手,想学编程 → 三个都别用,先手写一万行代码再说。现在依赖AI,你永远学不会。

工具应该是梯子,不是轮椅。

你最近用什么写代码?有没有哪个瞬间让你觉得”这工具在替我思考,而不是帮我思考”?

别被Cursor的"好用"骗了:我为什么转投Claude Code
https://blog.halo26812.eu.org/blog/ai-coding-assistant-compare
Author halo
Published at 2026年5月6日
版权声明 CC BY-NC-SA 4.0
Comment seems to stuck. Try to refresh?✨