专栏名称: 待字闺中
深度分析大数据、深度学习、人工智能等技术,切中实际应用场景,为大家授业解惑。间或,也会介绍国内外相关领域有趣的面试题。
51好读  ›  专栏  ›  待字闺中

当AI想夺权:工程师沦为Windsurf的副驾驶?

待字闺中  · 公众号  · 程序员  · 2024-11-22 09:00

正文

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 做得不好:

  1. next.js 的版本是 14

  2. 额外生成了大量冗余的组件,来自 shadcn 

这一个小细节,反映了 bolt.new 的问题,它内置了很多模版,但是超过这些模版的内容效果并不好。而且模版是固定的,无论用户是否需要。

这是 next.js 的版本,似乎是默认的好看:

这里我感受到了 bolt.new 的产品设计的挣扎,不如 cursor纯粹简单。cursor 就面向工程师。而 bolt.new 希望可以面向普通用户,做了大量的模版,但这些模版却一定程度成为工程师的障碍。

这种挣扎在 windsurf 上也能看到,在 windsurf 上还有一点困惑,最后总结。

细节调整

在进一步开发之前,我使用 windsurf 把上面的提示词给了Cascade(类似 cursor 的 chat),就是这里:

我试了三次,三次 windsurf 都失败了。不如 v0.chat,不如bolt.new,也不如 cursor 的 composer,还有待进步。

细节上,我做了两个小点:

  1. 实现 next.js api,通过 openai 的 sdk 调用 OpenRouter 的 API

  2. 增加了 markdown 渲染代码,拷贝代码

整体感受不如 cursor 。

对比起来,cursor 是以人为中心,而 windsurf 试图以 AI 为中心。这是一个巨大的差异。

对 cursor 的对比:

  1. windsurf 的上下文感知是自动的,这个比 cursor 先进一些,代价是废 token 。但这个对工程师而言,必要性不大。

  2. tab提示都挺强,也都挺快。

  3. 在debug 上,cursor 体验更好,效果更好。

  4. 因为 cascade 的核心是 agent,不管做啥都有一个 workflow,这个有点过犹不及,并不是每次都需要,而且,这样真的很慢。

  5. windsurf 可以直接执行命令,这个很方便,会有更多的玩儿法。不过也有一定的风险,今天就提示了一个 rm -rf,让人一惊。所以,最好是每个项目单独一个虚拟环境。

整体上,windsurf也能完成AI 的辅助,效率没有 cursor 那么高,一方面我也不熟悉,另一方面,设计和体验,确实也需要提升。

如果让我现在推荐,仍然是 cursor.

下面说几个 windsurf 的细节:

  1. 最初我打算使用 vercel 的 ai sdk,但是模型出现了幻觉,windsurf 也无法像 cursor 一样对文档进行索引,放弃了。cascade 好像可以访问链接,但是对解决问题帮助不大。

  2. 如果想根据修改,生成 git commit message 并且执行提交——就可以和 Cascade 直接这样说,如果没有 git add,Cascade 会自己反思,这个体验是不错的。

比如,这就是 ai 生成的 git log:

这样,耗时 1.5 小时,我做完了这个 demo 。如果让我从头开发一个这样的 web demo。先不说时间问题,我大概率是不知道怎么下手。web 前端的技术太丰富了。

通过最近的实践,我有以下的感觉:

  1. 编程 copilot 已经很确定——cursor 就非常好,推荐工程师都尝试,非工程师我觉得门槛高了。

  2. 编程 Agent 还有很远的路,windsurf 想做一种权衡,但这个可能一定程度会影响工程师的体验,同时普通用户上手也难。结果就是,两个都要,都没有做好。bolt.new 也是。

  3. 如果想复刻cursor 的成就,去赌模型能力的提升,不如就做纯粹的 Agent,类似 v0.chat。没有任何工程师的入口。


做 AI 编程类的产品,要考虑这两个核心的矛盾:

  1. 以人为中心 vs 以AI 为中心的矛盾

  2. 面向普通用户 vs 面向工程师的矛盾

cursor 是面向工程师的,以人为中心的产品,纯粹、极致。

windsurf / bolt.new 是以 AI 为中心的,面向工程师+普通用户的产品,有点拧巴。