Windsurf 的设计理念和核心技术,从今天起编程会变得像捏黏土一样
注:本文 2500 字,阅读 5 分钟。
11月 13 日,Codeium 团队推出了新的 AI 辅助编辑器 Windsurf Editor 以下简称 Windsurf。Codeium 一直是一家备受关注的 AI 辅助编程的创业公司,并在 2024 年 8 月完成了由 General Catalyst 领头的 1.5 亿美元的 C 轮融资,估值也达到了 12.5 亿美元,正式进入到独角兽行列。
Windsurf 是一种全新的人机协作模式。仅推出了半个月的时间,其热度已经有赶超 Cursor 的趋势。而 Cursor 可能是最能代表当前 AI 辅助编程能力的标杆性产品。
Windsurf 之所以有如此强的能力,是因为其背后的 Codeium 团队。Codeium 是第一轮在 ChatGPT 爆发后就参与开发 AI 编程辅助工具的团队,主要集中在 VSCode 等编辑器的插件生态,并有超过 70 万的活跃用户。Codeium 团队积累了大量的 AI 辅助编程的经验和思考以及技术,并且跟 Cursor 一样,都认为插件生态受限于权限等问题,无法完全施展出 LLM 的全部能力,为此两个产品都选择 Fork VSCode 的开源代码,在此基础上打造各自的 AI 辅助编程产品。
而 Windsurf 在产品思考和产品理念上绝对称得上更胜一筹。
Flows
With all of the talk of flows, magic, and power, the name "Windsurf" spoke to us. Windsurfing perfectly captures the combination of human, machine, and nature in an activity that looks effortless, but takes an intense amount of power.
Codeium 团队
之所以选择用 Windsurf(帆板运动)作为产品名称,是因为他们认为这项运动完美地体现了人类、机器和自然力量地结合,这项运动看起来毫不费力,但实际上却需要强大的力量支撑。其中的隐喻不言而喻,Codeium 希望打造一款像是帆板一样的工具,帮助人类用看上去流畅、轻松自如的方式来完成 AI 编程,但这背后是强大的技术力量的支撑。
具体而言,Windsurf 重新创造了新的 AI 编程体验,而这种流畅体验背后是创造了一种新的人机协作模式。
2022 年,也就是 ChatGPT 发布之前,人类编程的通常工作流程是这样的:
完全手工操作
ps: 因为需要把示例的 mp4 格式视频转换成 gif 图像,简单试了两个互联网上排名前 2 的工具后感觉都不好用,要么要花钱要么质量不好(都能理解,并且也不想花时间继续尝试了),于是在 Windsurf 的帮助下,十分钟上线了一个新的 mp4 转 gif 的 API 来服务本篇文章的格式转换问题。回头我也可以放在 erlich.fun 下来给大家免费用。
有了 ChatGPT 之后的 Copilot 工作模式:
在 Copilot 模式下,LLM 只参与两个环节,这也是核心的限制所在,人类依然要处理很多的工作,并且在人类处理这些工作时,LLM 并不知道人类做了什么,结果怎么样,这会进一步导致接下来 Copilot 编辑可能会出错或者不全面。
更进一步, Agent 工作模式(2024 年早些时候):
在 Agent 模式下,LLM 确实做了更多的工作,但是仍然只是做了其中的一部分,非常重要的 Navigate 和增减文件的工作仍然没有被覆盖。
Windsurf 创造的 Flows 模式:
在 Flows 模式下,LLM 会全程参与。这样可以确保 LLM 能完全理解整个项目。这种模式实现了 LLM 与开发者的实时思维融合。在传统的 Copilot 模式下,LLM 只能对开发者的输入做出被动响应;在 Agent 模式下,LLM 虽然可以自主完成任务但缺乏互动性。而 Flows 模式则实现了两者的完美结合 - LLM 能够实时理解开发者的工作上下文,在保持高度自主性的同时又能与开发者无缝协作。
从我的实际使用效果看,Windsurf 不但使用起来更丝滑,人工需要参与的更少,并且错误率也非常低,远低于 Cursor。即便是在一些没有明显引用或说明的情况下,Windsurf 仍然能以非常高的准确率找到这些代码之间的相关性,并进行理解和修改。
实现了这一步,Windsurf 真的可以让几乎没有编程基础的用户,像从零开始捏黏土一样实现自己想要的效果的编程了。
Cascade
这是 Windsurf 的第二个大概念和能力的升级,Cascade 既可以理解成瀑布,也可以理解成级联(多层之间的关联),因为实际开发正是如此,代码和文件总是一层一层的被组织起来,逐渐形成一条或者几条工作流程。
Windsurf 把 Cascade 定义为进化版本的 Chat 功能。过往的 AI 辅助编程工具的 Chat 几乎总是针对代码的某个小片段进行直接的对话,没有更多的上下文,也没有多文件的修改。而 Windsurf 则带来了 4 个全面的升级:
1.完整的上下文感知(不仅限于当前的文件)
**2.建议和执行命令(支持命令行部分的执行)
**
3.支持从上次结束的地方继续对话
4.多文件编辑
这些能力的加入,可以让你更大胆地改动某一段的代码,而不用担心这一段代码的修改会导致整个项目或者流程崩溃,因为 Windsurf 可以感知整个项目代码之间的关联性以及级联修改多个部分的代码。这也正是 Cascade 的本意。
Windsurf 认为开发者需要的不是一个"副驾驶",而是一个更先进的"驾驶舱"。通过 Cascade 模式,LLM 可以同时具备协作性和独立性,既能主动完成复杂任务,又能保持与开发者的紧密互动。
**Windsurf 的核心技术 - Cortex & Riptide
**
Riptide 是 Windsurf 开发的一个基于 LLM 的高性能搜索工具。它可以在几秒内分析数百万行代码,并且准确性比基于 Embedding 的系统高 3 倍(Cursor 所采用的正是基于 Embedding 的系统)。
因为有 Riptide 的强大性能,才得以支撑 Cascade 模式的流畅体验。核心是用于在 Cascade 模式下进行快速检索和理解代码库中的相关信息。
而 Cortex 则是一个更底层的推理系统,是 Riptide 背后的核心技术突破。它的工作原理基于三个关键步骤:
1.检索(Retrieve):
- 收集任务相关的所有代码片段
- 从代码库中提取可能有用的信息
2.规划(Plan):
- 语义层面规划解决问题需要的步骤
- 确定执行顺序和依赖关系
3.执行(Execute):
- 按照计划逐步执行每个任务
- 保持对整体进度的把控
Windsurf 的 Cortex 技术可以实现在超 1 亿 token 的代码量上进行推理而不降低质量,并且有着极低的延迟。
未来 Windsurf 表示他们还会继续研发更先进的技术,可以更进一步从开发者的行为当中获取更多的价值。
We also plan on giving Cascade even more powerful tools. What if we used developer behavior to understand semantically what files are related to each other, even if syntactically there are no code paths or signals that they would be connected?
Windsurf 团队
他们表示可以通过分析开发者修改行为来理解代码之间的关联,即使在代码层面没有直接的调用关系,也能发现它们之间的隐含联系。
比如发现某些前端代码总是和特定后端代码一起修改;比如识别出代码改动与配置文件(如 yaml)的对应关系;甚至未来还可以理解代码改动与部署流程的关联。
这些功能最终组合之后的结果,我想在面向消费者一端已经无需多言,我们可以期待 Windsurf 会继续推出抽象程度更高的AI 辅助编程工具或者叫AI 功能编辑器,并且面向产业链更上游的部署和维护也一定会有一些支持。
而面向企业端,目前 Windsurf 已经有大量的企业客户。进入企业本身已经是一个非常明显的能力被认可的信号,因为企业的要求往往更高。Windsurf 对于企业来说,除了可以加速开发新的产品外,对于维护年久失修,投入不足的老项目也会有非常大的价值。
结尾
最后,希望你也可以尝试体验一次 Windsurf,不必担心自己完全不了解代码。你可以关注 Windsurf 的 X 账号,里面有一些完全零基础的用户使用案例,希望你也可以像捏泥土一样拥有一些完全属于你的软件,提高你的工作效率或者满足你的生活需求。
相信我,这一次,Windsurf 已经可以做到了。
如果你喜欢这篇内容,欢迎转发给你的朋友。
作者 :Erlich Liu
微信号:geekthings