Windsurf 是codeium的产品,有点像 cursor + bolt.new 的结合。按照他们官网自己的解释,就是 flow=agent+copilot 。
我结合 bolt.new 和 windsurf 做了一个尝试,开发了一个 Lisp 风格的 Prompt 生成器。以下是大概的过程。通过这样的过程,我想搞清楚,这些产品面向什么用户、未来会怎么发展,是不是可以 Agent 主导?
Lisp 风格 Prompt 生成
在即刻上挺流行的Prompt写法,但需要懂一点 Lisp 。对于普通用户来说,略麻烦,于是我就做了一个简单的工具,用户输入想要的 prompt,例如:吐槽大会、营销文案,自动产生最终的 Lisp 风格的 Prompt 。
UI 见后面的图
Prompt结果类似:
背景补充,我并不懂 Web 前端开发,前两周,借助 cursor 算是了解了一些 next.js 全栈。
尝试 bolt.new
我给 blot.new 输入的需求是:创建一个AI 工具:帮助用户生成 Prompt。主要操作:用户输入需求,点击生成,在 prompt 区域展示结果,通过 markdown 渲染。注意界面设计的美观。
这里有一个普通用户可能不理解的 markdown,但这个不重要。bolt.new 在默认的模版驱动之下,工作的很好,大概一分钟后。
默认使用的技术栈我并不熟悉,于是我进一步提出了要求,比如使用 next.js,version 15 来开发这个 demo 。这时,bolt.new 做得不好:
next.js 的版本是 14
额外生成了大量冗余的组件,来自 shadcn
这一个小细节,反映了 bolt.new 的问题,它内置了很多模版,但是超过这些模版的内容效果并不好。而且模版是固定的,无论用户是否需要。
这是 next.js 的版本,似乎是默认的好看:
这里我感受到了 bolt.new 的产品设计的挣扎,不如 cursor纯粹简单。cursor 就面向工程师。而 bolt.new 希望可以面向普通用户,做了大量的模版,但这些模版却一定程度成为工程师的障碍。
这种挣扎在 windsurf 上也能看到,在 windsurf 上还有一点困惑,最后总结。
细节调整
在进一步开发之前,我使用 windsurf 把上面的提示词给了Cascade(类似 cursor 的 chat),就是这里:
我试了三次,三次 windsurf 都失败了。不如 v0.chat,不如bolt.new,也不如 cursor 的 composer,还有待进步。
细节上,我做了两个小点:
实现 next.js api,通过 openai 的 sdk 调用 OpenRouter 的 API
增加了 markdown 渲染代码,拷贝代码
整体感受不如 cursor 。
对比起来,cursor 是以人为中心,而 windsurf 试图以 AI 为中心。这是一个巨大的差异。
对 cursor 的对比:
windsurf 的上下文感知是自动的,这个比 cursor 先进一些,代价是废 token 。但这个对工程师而言,必要性不大。
tab提示都挺强,也都挺快。
在debug 上,cursor 体验更好,效果更好。
因为 cascade 的核心是 agent,不管做啥都有一个 workflow,这个有点过犹不及,并不是每次都需要,而且,这样真的很慢。
windsurf 可以直接执行命令,这个很方便,会有更多的玩儿法。不过也有一定的风险,今天就提示了一个 rm -rf,让人一惊。所以,最好是每个项目单独一个虚拟环境。
整体上,windsurf也能完成AI 的辅助,效率没有 cursor 那么高,一方面我也不熟悉,另一方面,设计和体验,确实也需要提升。
如果让我现在推荐,仍然是 cursor.
下面说几个 windsurf 的细节:
最初我打算使用 vercel 的 ai sdk,但是模型出现了幻觉,windsurf 也无法像 cursor 一样对文档进行索引,放弃了。cascade 好像可以访问链接,但是对解决问题帮助不大。
如果想根据修改,生成 git commit message 并且执行提交——就可以和 Cascade 直接这样说,如果没有 git add,Cascade 会自己反思,这个体验是不错的。
比如,这就是 ai 生成的 git log:
这样,耗时 1.5 小时,我做完了这个 demo 。如果让我从头开发一个这样的 web demo。先不说时间问题,我大概率是不知道怎么下手。web 前端的技术太丰富了。
通过最近的实践,我有以下的感觉:
编程 copilot 已经很确定——cursor 就非常好,推荐工程师都尝试,非工程师我觉得门槛高了。
编程 Agent 还有很远的路,windsurf 想做一种权衡,但这个可能一定程度会影响工程师的体验,同时普通用户上手也难。结果就是,两个都要,都没有做好。bolt.new 也是。
如果想复刻cursor 的成就,去赌模型能力的提升,不如就做纯粹的 Agent,类似 v0.chat。没有任何工程师的入口。
做 AI 编程类的产品,要考虑这两个核心的矛盾:
以人为中心 vs 以AI 为中心的矛盾
面向普通用户 vs 面向工程师的矛盾
cursor 是面向工程师的,以人为中心的产品,纯粹、极致。
windsurf / bolt.new 是以 AI 为中心的,面向工程师+普通用户的产品,有点拧巴。