<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>科技新知 on 张欣耕的个人博客</title><description>Recent content in 科技新知 on 张欣耕的个人博客</description><link>https://shanechang.com/zh-cn/categories/%E7%A7%91%E6%8A%80%E6%96%B0%E7%9F%A5/</link><language>zh-cn</language><lastBuildDate>Fri, 19 Dec 2025 00:00:00 GMT</lastBuildDate><atom:link href="https://shanechang.com/zh-cn/categories/%E7%A7%91%E6%8A%80%E6%96%B0%E7%9F%A5/index.xml" rel="self" type="application/rss+xml"/><item><title>Cursor 真厉害——但我为什么还是用得抓狂</title><link>https://shanechang.com/zh-cn/p/cursor-windsurf-comparison-review/</link><guid isPermaLink="true">https://shanechang.com/zh-cn/p/cursor-windsurf-comparison-review/</guid><description>&lt;img src=&quot;https://shanechang.com/_astro/cover.DGRCuqQK_Z19ffmq.webp&quot; alt=&quot;Featured image of post Cursor 真厉害——但我为什么还是用得抓狂&quot; /&gt;&lt;p&gt;先给大家讲个$600的”爆肝”故事。&lt;/p&gt;
&lt;p&gt;这个月刚过三分之二, 我的 Cursor 配额就烧光了——不是因为我浪费, 而是认真八小时写功能, 查代码, 调结构, 做着资深工程师该做的事: 追求类型安全, 模块化, 可维护。&lt;/p&gt;
&lt;p&gt;盯着”升级为按量付费”的弹窗时, 我的心情有点复杂——累, 还有点小委屈。Cursor 真香, 检索系统就像魔法师, 能把分散在各处的依赖都揪出来。上下文理解力, 甩开一大票竞品。出错?几乎没有。&lt;/p&gt;
&lt;p&gt;可偏偏, 这几周我一直在和它较劲。&lt;/p&gt;
&lt;p&gt;本文不是常规测评, 不打算给你推荐”买谁”。我是全栈工程师, 搞 AI 创业, ML 硕士, 对代码质量有点洁癖。我需要的是能尊重我判断力的工具, 而不是替我下决定的 AI。用了几个月 Cursor, Windsurf 还有 Claude Code, 我发现了比”哪个更好”更有意思的东西——两种截然不同的 AI 编程哲学。&lt;/p&gt;
&lt;h2 id=&quot;那些没人提的真问题-认知可预期性&quot;&gt;那些没人提的真问题: 认知可预期性&lt;/h2&gt;
&lt;p&gt;市面上测评都喜欢谈”价格透明”, Cursor 就很自豪地实时展示 token 消耗, 看着挺明了是吧?可我根本看不懂这数字到底意味着啥——重构一块代码要多少 token?加个功能要烧多少?大改架构是不是得卖肾?数字虽然在那, 实际没什么参考价值。&lt;/p&gt;
&lt;p&gt;于是, 我总在犹豫: 要不要让它帮我试个新思路, 会不会一下子额度见底?这种踟蹰, 其实才是最大成本。真正消耗的不是钱, 而是你脑子里不停算”这操作值不值”的额外负担。&lt;/p&gt;
&lt;p&gt;再试试 Windsurf, 定价直接让人犯困 (褒义) 。每种模型给你明码标价, Opus 就是 3 倍信用点, 百万 token 的 Sonnet 10 倍。用前就心里有底: 每天开发大概十美元。自动充值一开, 心无旁骛。&lt;/p&gt;
&lt;p&gt;心理差异巨大。不是 Windsurf 便宜多少, 而是——你能”预判”自己的消耗, 脑子终于能专心搞事, 背景焦虑感直接消失。Cursor 这种”雾里看花”的价格, 不只是掏空钱包, 更是榨干注意力。&lt;/p&gt;
&lt;h2 id=&quot;当聪明工具遇上老练工程师&quot;&gt;当聪明工具遇上老练工程师&lt;/h2&gt;
&lt;p&gt;必须说句公道话: Cursor 很少犯低级错误, 代码靠谱, 建议也聪明。可问题不在技术失误, 而是更细腻的体验。&lt;/p&gt;
&lt;p&gt;来举个栗子:&lt;/p&gt;
&lt;p&gt;我的代码库, 所有函数, 类的 docstring 都是一行简洁描述——类型提示只写在签名里, 绝不往 docstring 塞 type。Pydantic 模型全家桶风格也统一, 整个项目都在”明示”这些约定。&lt;/p&gt;
&lt;p&gt;Windsurf 识趣, 一切照旧。你用 Pydantic, 它就用;docstring 一行到底, 它也跟着写;风格完全贴合现有代码。&lt;/p&gt;
&lt;p&gt;Cursor 则爱走自己的路。&lt;/p&gt;
&lt;p&gt;除非我每次都在 prompt 里手动强调”docstring 只写一行”, 否则它总爱写多行说明。就算前后左右所有函数都单行, 它也要自作主张。它想写测试, 想补文档, 想按自己喜好的格式来, 完全不管你项目的规矩。&lt;/p&gt;
&lt;p&gt;你可以用 prompt 跟它”battle”, 每次都得加一句”按现有风格, 单行 docstring, 用 Pydantic, 类型提示写签名”, 仿佛有个超强但总忘记你是谁的同事, 你得不断提醒他”哥们儿, 这不是你家实验室”。&lt;/p&gt;
&lt;p&gt;于是, 沟通变成死循环。你反复精心措辞, Cursor 却自顾自改代码, 套默认风格。你不得不打断它, 重申明明写在代码里的规范, 工程师和 AI 的”心理内耗”飙升。&lt;/p&gt;
&lt;p&gt;讽刺的是, 这些行为对新手其实很友好——有”意见”的工具能帮你养成好习惯。问题是, Cursor 优化的是”平均开发者”, 需要”护栏”的那批人。可对资深工程师来说, 这些护栏反而成了”手铐”。&lt;/p&gt;
&lt;p&gt;我不想工具替我定风格, 我只想它学会我的。&lt;/p&gt;
&lt;h2 id=&quot;cursor-的一技之长&quot;&gt;Cursor 的一技之长&lt;/h2&gt;
&lt;p&gt;说句良心话, Cursor 的检索 (RAG) 系统真的厉害。&lt;/p&gt;
&lt;p&gt;你问 Cursor 代码问题时, 它会显示”searching…”的动画, 真不是摆样子, 而是用强大的上下文检索系统帮你搜最相关的内容。直观, 透明, 频繁出现, 你几乎能目睹它”思考”的过程。&lt;/p&gt;
&lt;p&gt;这让 Cursor 在全局规划时如虎添翼。你要实现涉及多服务的功能?Cursor 能把分散的依赖都扒出来, 理清前后关系, 给出整套方案。像有个把你代码库倒背如流的搭档。&lt;/p&gt;
&lt;p&gt;Windsurf 虽然也有”Quick Context”, 但基本得你自己手动触发, 且更像关键词检索而非语义级 RAG。快归快, 检索深度差点意思, 有时还只是遍历文件。&lt;/p&gt;
&lt;p&gt;可惜, Cursor 的强项也是软肋。它自动检索, 思路很主观, 你也很难判断它的依据。有几次 Cursor 直接删了重要代码, 只因为没搜到相关功能 (其实明明存在) 。我得手动提醒它”读完整个文件”, 它有时还会无视指令。&lt;/p&gt;
&lt;p&gt;这就是 Cursor 的哲学: 既聪明又坚持己见。探索, 架构阶段超好用, 关键代码实现时就有点危险。&lt;/p&gt;
&lt;h2 id=&quot;你没发现的脑内负担&quot;&gt;你没发现的”脑内负担”&lt;/h2&gt;
&lt;p&gt;有种”细水长流”的烦躁, 很难具体描述, 不是愤怒, 就是像有点小电流一直嗡嗡作响。&lt;/p&gt;
&lt;p&gt;用 Cursor, 总是意识到自己在”用 Cursor”——这条 prompt 会不会很贵?它会不会乱改风格?会不会又自动加测试?我是不是得即时叫停它?&lt;/p&gt;
&lt;p&gt;用 Windsurf, 脑子只想着代码。&lt;/p&gt;
&lt;p&gt;仅此而已, 这就是区别。&lt;/p&gt;
&lt;p&gt;Windsurf 偶尔会工具调用卡死——并发命令时前几个命令永远停不下来, 纯粹是执行引擎的 bug。但说实话, 这种失败我反而不那么恼火。&lt;/p&gt;
&lt;p&gt;因为 Windsurf 的 bug, 至少是”按我说的做时”崩的;而 Cursor 的问题, 是”它自作主张时”还一副得意洋洋。&lt;/p&gt;
&lt;p&gt;结论很简单: 技术可靠但不尊重你, 不如偶尔犯错但始终把你当主角的工具。给我选, 完美但处处掣肘的 IDE 和偶尔磕磕绊绊但高度理解我的 IDE, 我选后者。&lt;/p&gt;
&lt;h2 id=&quot;真正决定代码质量的-其实是模型不是壳&quot;&gt;真正决定代码质量的, 其实是”模型”不是”壳”&lt;/h2&gt;
&lt;p&gt;这点我反应了好几个月才明白: 代码质量, 取决于 LLM 模型本身, 而不是 IDE 包了几层皮。&lt;/p&gt;
&lt;p&gt;Claude Opus 生成代码清晰, 结构合理, 类型严谨, 边界情况考虑周全。只要 prompt 明确, 最多两轮迭代就能搞定需求 (顺便说一句, 再高级的 LLM 也救不了糟糕的 prompt) 。&lt;/p&gt;
&lt;p&gt;Claude Sonnet 虽然快, 但遇到复杂类型系统就有点”掉链子”, 比如 Python 泛型经常出错, 语法也更容易写错。做方案和规划还行, 真要写严谨的工程代码就力不从心。&lt;/p&gt;
&lt;p&gt;所以, IDE 最好的做法其实很简单: 别挡着模型发挥。Opus 就让它自由发挥, Sonnet 也一样。IDE 只需喂好上下文, 搞定工具链, 然后闪开。&lt;/p&gt;
&lt;p&gt;Cursor 偏不, 非得包一堆 prompt orchestration, 上来先按自己”家法”整风格, 补文档, 写测试。新手可能高兴, 老司机只会觉得”原本更高级的模型被 IDE 拖了后腿”。&lt;/p&gt;
&lt;p&gt;所以, 认真做生产代码时我总回到 Windsurf。不是 Windsurf 更聪明, 而是它懂得”放权”——让 LLM 自己发挥, 你能拿到最接近 Opus 上限的输出, 不被 IDE 风格”驯化”。&lt;/p&gt;
&lt;h2 id=&quot;为什么我两个都用-你也可能一样&quot;&gt;为什么我两个都用 (你也可能一样)&lt;/h2&gt;
&lt;p&gt;折腾了几个月, 实验, 吐槽, 复盘, 得出一个很现实的结论:&lt;/p&gt;
&lt;p&gt;探索需求, 理清全局, 搞清各服务关系时, 我用 Cursor——RAG 系统几乎无敌, 哪怕多点心理负担也值, 能快速画清”地图”。&lt;/p&gt;
&lt;p&gt;等到真正动手实现, 注重类型, 风格, 结构一致性时, 我切回 Windsurf——它尊重我项目的规律, 生成代码无缝融入现有体系。&lt;/p&gt;
&lt;p&gt;两家额度都烧光?那就用 Claude Code, 虽然不能增量改, 但遇到架构决策, 复杂推理, 还是很顶用。&lt;/p&gt;
&lt;p&gt;这不是摇摆不定, 而是实用主义。不同阶段, 不同工具。&lt;/p&gt;
&lt;p&gt;不管 Cursor 还是 Windsurf, 都没有绝对”优劣”。它们分别代表两种 AI 编程哲学: Cursor 偏产品化智能, 重 orchestration, 强调全局一致, 强意见;Windsurf 偏模型原教旨, 轻量抽象, 以代码库为准, 少设限。&lt;/p&gt;
&lt;p&gt;你是新手或常做陌生领域, Cursor 的”意见”会帮你。你是资深工程师, 有一套自己惯例和审美, 那些”意见”就成了障碍。&lt;/p&gt;
&lt;h2 id=&quot;理想中的五年后-ide-长啥样&quot;&gt;理想中的五年后 IDE 长啥样?&lt;/h2&gt;
&lt;p&gt;现在正是 AI 编程工具的”热炒期”, 大家都在鼓吹”AI agent”, 把 prompt 当商业机密。Cursor 把 orchestration 全封死, Windsurf 虽然通透点, 但也没完全开源。厂商都希望你把这些黑盒当成”魔法”盲信。&lt;/p&gt;
&lt;p&gt;但热度总会过去。等开发者们更关心效率而非新奇时, 格局必然变。&lt;/p&gt;
&lt;p&gt;最后赢的 IDE, 不会是最聪明的, 而是最”坦诚”的。&lt;/p&gt;
&lt;p&gt;我想要的 IDE 能完全暴露 agent 的 prompt, 不是让你 hack, 而是 UI 里一目了然。你能看到”我传了啥给模型”, “注入了什么上下文”, “加了什么风格指令”, 所有 orchestration 都能自定义。&lt;/p&gt;
&lt;p&gt;项目级偏好, 用户级风格, 甚至 AI 辅助 prompt 调优——我可以直接和 IDE 说”像 Windsurf 一点”, 它就调整 orchestration。&lt;/p&gt;
&lt;p&gt;这不是什么激进想法, 而是对开发者最基本的尊重。我们不是小白, 我们懂 prompt, 我们能驾驭复杂性。别把我们当需要被”扶上马送一程”的用户, 得把我们当工程师, 给我们掌控权。&lt;/p&gt;
&lt;p&gt;最好的 AI IDE, 不会有自己的”意见”, 只会学你的。&lt;/p&gt;
&lt;h2 id=&quot;你该怎么选&quot;&gt;你该怎么选?&lt;/h2&gt;
&lt;p&gt;如果你正在评估这些工具, 最该看的是:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;选 Cursor 的理由:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;正在学习或频繁进新领域&lt;/li&gt;
&lt;li&gt;需要强大, 全局的代码检索和规划&lt;/li&gt;
&lt;li&gt;可以接受”带意见”的默认风格&lt;/li&gt;
&lt;li&gt;用量可控, 无需极限爆肝&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;选 Windsurf 的理由:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;资深工程师, 风格有执念&lt;/li&gt;
&lt;li&gt;注重代码质量和全局一致&lt;/li&gt;
&lt;li&gt;喜欢明码标价, 可预期消费&lt;/li&gt;
&lt;li&gt;愿意自己手动补充上下文&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;两者都用的理由:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;工作内容复杂, 分阶段&lt;/li&gt;
&lt;li&gt;能接受切换带来的”脑内切换成本”&lt;/li&gt;
&lt;li&gt;重视探索 (Cursor) 和落地实现 (Windsurf) 的差异&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;但最重要的洞见是: AI IDE 不该像选语言或框架那样选, 而是像选”合伙人”——它尊重你的专业吗?是减轻还是增加你的认知负担?是放大你的思维还是和你作对?&lt;/p&gt;
&lt;p&gt;因为我们选的不仅仅是工具, 更是”共事伙伴”。最好的搭档, 不一定最聪明, 而是懂得什么时候该带头, 什么时候该随队。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;我还在用 Cursor, 还在为它抓狂, 也还在按时交钱。&lt;/p&gt;
&lt;p&gt;但我现在知道自己买的是什么: 智能很强, 但要时刻”讨价还价”的体验。有时候, 这值得;有时候, 我只想要个安安静静, 老老实实帮我把事办好的工具。&lt;/p&gt;
&lt;p&gt;AI 辅助开发的未来, 不在于造更聪明的 agent, 而在于造更坦诚的伙伴。愿这些工具能暴露假设, 尊重偏好, 让”可控”成为信任的基石。&lt;/p&gt;
&lt;p&gt;在那之前, 我两个 IDE 都开着, 继续为自己想要的代码和 AI 斗智斗勇。&lt;/p&gt;
&lt;p&gt;&lt;em&gt;(人类原创, 有 AI 友情润色)&lt;/em&gt;&lt;/p&gt;</description><pubDate>Fri, 19 Dec 2025 00:00:00 GMT</pubDate></item></channel></rss>