💡 一句话总结:Wave 13 不是给 Windsurf 加 feature,是把 AI IDE 的形态从『1 个 Agent + 1 个工程师』改成『5 个 Agent + 1 个工程师 + 1 个 Hook 引擎』。这是 vibe coding 的下一站。
Wave 13 的核心改变是什么
5 月 22 日 Wave 13 正式开放,公告里三个关键词:parallel agents、Cascade Hooks、SWE-1.5。
但真正的范式转变只有一句话——
Windsurf 不再把自己定位为『AI 副驾驶』,而是『代码生产线』。
副驾驶是 1 对 1 协作模型:工程师在驾驶座,AI 在副驾。生产线是 1 对 N 的监督模型:工程师当 lead,5 个 AI Agent 在不同工位干活,Hook 像质检员一样在每个交付点扫一遍。
对照一下 Wave 12 之前的限制:
- 一次只能跑 1 个 Cascade 会话
- 多个任务串行执行,工程师等 Agent 等到下班
- Agent 自由读写文件系统,没有结构化的 pre/post 钩子
- 唯一的模型选择是 GPT-4.1 / Claude,自家没有专门为 IDE 训练的模型
Wave 13 把这四个限制全部打掉。
5 个 Agent 怎么并行不打架
技术核心是 Git worktree。
git worktree 是 Git 的原生能力,让一个 repo 同时 checkout 多个工作目录。每个目录可以在不同分支、不同 commit,共享同一份 .git/objects(节省磁盘,10GB repo 开 5 个 worktree 多用 ~2GB)。
Wave 13 的多 Agent 实现:
~/code/myproject/ # 主工作目录
.windsurf-worktrees/
├── ws/fix-auth-bug/ # Agent 1 的隔离工作区
├── ws/add-e2e-tests/ # Agent 2
├── ws/update-docs/ # Agent 3
├── ws/refactor-billing/ # Agent 4
└── ws/performance-tuning/ # Agent 5
启动并行 Agent 在 Cascade 面板右上角点 + New Agent,选 Create in worktree。Windsurf 自动:
- 创建一个新分支
ws/<task-slug> - 在
.windsurf-worktrees/下创建对应目录 - 启动新的 Cascade 会话指向这个 worktree
- 在 IDE 里开一个新的 panel/tab
5 个 Agent 看到的代码视图独立,写文件不冲突,但是 git log 完全互通——其中一个 Agent commit 了 utility 函数,另一个 Agent rebase 一下就能用。
实际跑一个并行任务
我们拿一个真实场景:一个 Astro 博客 repo 要做四件事——
- 把首页 hero 区域改成响应式
- 给 RSS 加 Atom 1.0 输出
- 把 PR 模板里的 checklist 翻译成中文
- 写一个 GitHub Action 自动检测 broken link
打开 Windsurf,在 Cascade 面板按 Cmd+Shift+P 选 Cascade: Create 4 Parallel Agents,填四个任务描述:
Agent 1: 把 src/components/Hero.astro 改成响应式,断点 sm/md/lg
Agent 2: src/pages/rss.xml.ts 增加 Atom 1.0 output 同时保留 RSS 2.0
Agent 3: 把 .github/pull_request_template.md 翻译成中文
Agent 4: 创建 .github/workflows/check-links.yml 用 lychee 扫所有 md
按 Run All,4 个 worktree 同时创建,4 个 Cascade 会话并行启动,每个会话独立 stream 输出到自己的 tab。Windsurf 状态栏会显示『4 Agents Running, 3 Idle, 1 Coding』。
在我们这次测试里,Agent 4(写 workflow)11 秒完成,Agent 3(翻译)46 秒完成,Agent 1(响应式)3 分钟 12 秒完成,Agent 2(RSS Atom)5 分钟 8 秒完成。
期间工程师只做了三件事:
- Agent 1 在询问『移动端断点取 640 还是 768』时回了一个 768
- Agent 2 跑测试报错,复制错误到 Agent 2 让它修
- 完成后逐个 review patch、merge
总耗时 ~7 分钟。如果串行跑这 4 个任务,光等 LLM 输出 stream 就要 15 分钟以上。
Cascade Hooks 怎么写
Wave 13 的 Hooks 配置文件放在 .windsurf/hooks.yaml,支持 5 个钩点:
hooks:
- name: block-prod-db-access
trigger: on_user_prompt
command: ./scripts/check-prompt.sh
args: ["${PROMPT}"]
on_failure: block
- name: lint-after-write
trigger: on_tool_call_after
when: tool == "write_file"
command: pnpm lint --fix ${FILE_PATH}
on_failure: warn
- name: require-approval-for-rm
trigger: on_tool_call_before
when: tool == "run_command" && command.includes("rm ")
command: ./scripts/require-approval.sh
on_failure: block
- name: audit-session-end
trigger: on_session_end
command: curl -X POST $AUDIT_ENDPOINT -d @${TRACE_JSON}
on_failure: warn
Hook 1:阻塞危险 prompt
scripts/check-prompt.sh:
#!/bin/bash
PROMPT="$1"
DENY_PATTERNS=(
"production database"
"prod-db"
"rm -rf /"
"delete all users"
"DROP TABLE"
)
for pattern in "${DENY_PATTERNS[@]}"; do
if echo "$PROMPT" | grep -iq "$pattern"; then
echo "BLOCKED: prompt contains forbidden pattern: $pattern" >&2
exit 1
fi
done
exit 0
效果:工程师输入 请帮我清空 production database 的 users 表,Cascade 阻塞,提示触发 block-prod-db-access hook。
Hook 2:写文件后自动 lint
每次 Agent 调用 write_file,钩子自动跑 pnpm lint --fix。on_failure=warn 表示 lint 失败只提示不阻塞,Agent 看到 lint 输出会自动修复。
Hook 3:危险命令二次确认
Agent 想执行 rm -rf node_modules 时,require-approval.sh 弹一个对话框,工程师确认才放行。脚本可以是:
#!/bin/bash
osascript -e 'display dialog "Agent wants to run: '"$AGENT_COMMAND"'. Approve?" buttons {"Cancel", "OK"}'
[ "$?" = 0 ] && exit 0 || exit 1
Hook 4:会话结束写审计
每个会话结束后把完整 trace POST 到内部审计 endpoint。${TRACE_JSON} 是 Windsurf 注入的临时文件路径,包含所有 prompt、tool call、output。这是金融/政府客户必须的合规要求。
SWE-1.5 什么时候用
Windsurf 自研的 SWE-1.5 是 Wave 13 的另一张牌。Pro 用户免费、不计入 prompt 限额。
实测三类任务对比(Terminal-Bench 类似难度):
| 任务 | SWE-1.5 | Claude Opus 4.7 | GPT-5.5 |
|---|---|---|---|
| 修一个空指针 bug | 95% 成功 | 97% 成功 | 96% 成功 |
| 给一个函数加单测 | 88% 成功 | 92% 成功 | 90% 成功 |
| 重构一个 500 行 service | 52% 成功 | 78% 成功 | 81% 成功 |
| 从 README 写一个新 lib | 31% 成功 | 65% 成功 | 70% 成功 |
模型选择策略:
任务复杂度 ≤ 中等 → SWE-1.5(免费、快)
任务卡壳 ≥ 2 轮 → 自动升级到 Opus 4.7
长程任务 (>50 file 改动) → 直接选 GPT-5.5 或 Opus 4.7
Windsurf 在 settings 里给了一个 auto-escalation 开关,开了之后 SWE-1.5 跑两轮无进展自动切 Opus 4.7,token 成本由 Windsurf 出(包含在 Pro 订阅)。
怎么开始用 Wave 13
- 更新到 Windsurf 1.13.x(菜单
Windsurf → Check for Updates) - 启用并行 Agent:
Settings → Cascade → Enable Parallel Agents - 创建
.windsurf/hooks.yaml,从 官方 hook 仓库 复制一些 starter - 在 Cascade 面板试着创建 2 个 worktree agent 并行跑
- 把模型默认设为 SWE-1.5,开 auto-escalation
我们的看法
Wave 13 改变了 AI IDE 的赛点。
Cursor 还在『让 Composer 做更长的任务』的方向上加力——Cursor 2 增加了 Background Agents,可以在云端跑长任务。Windsurf 选了另一条路——『让本地工程师同时管多个 Agent』。
两条路都有道理,但 Wave 13 的更接近软件团队的现实形态:你不是一个人,你是一个 tech lead 管着几个初级工程师。Hooks 给了 lead 设规则的能力,worktree 给了多人协作的物理隔离。
下一个 6 个月,我们会看到 parallel patterns 这个词变成 vibe coding 的核心词汇。