每一次敲键盘都在训练模型:Zed 2如何用真实编辑数据击败大模型

AI PM 编辑部 · 2026年05月30日 · 12 阅读 · AI/人工智能

正在加载视频...

视频章节

大多数人以为代码补全的未来在更大的模型,但 Zed 团队走了相反的路:用一个小模型,盯住“你下一次会怎么改代码”。更反直觉的是,它的训练数据不是标注出来的,而是你每天真实的编辑行为。Ben Kunkle 用一次演讲,拆开了这个几乎没人公开讲过的生产级训练流程。

每一次敲键盘都在训练模型:Zed 2如何用真实编辑数据击败大模型

大多数人以为代码补全的未来在更大的模型,但 Zed 团队走了相反的路:用一个小模型,盯住“你下一次会怎么改代码”。更反直觉的是,它的训练数据不是标注出来的,而是你每天真实的编辑行为。Ben Kunkle 用一次演讲,拆开了这个几乎没人公开讲过的生产级训练流程。

真正跑在“每一次击键”上的模型,注定不能大

Zed 2 做的不是聊天式代码生成,而是 edit prediction:模型盯着光标附近的一小段代码,预测你“下一次会怎么改”。这意味着一个残酷的约束——它跑在每一次击键上,延迟几乎等于生死。

这也是第一个反直觉点:最适合这个任务的,不是更大的通用模型,而是一个极度专用、被深度微调的小模型。它只关心几件事:最近的编辑历史、光标位置、附近的类型和变量定义、以及诊断错误。没有花哨能力,但要“快、稳、准”。

Ben 直言,这是一个“只能做好这一件事”的模型,而这恰恰是它在真实编辑器里能赢的原因。

用前沿大模型当老师,其实比你想象得难得多

Zed 2 的训练数据来自生产环境,但不是直接用用户结果,而是走了一条更复杂的路:蒸馏(distillation)。

流程很硬核:先把用户真实的编辑上下文快照下来,喂给前沿模型,问它“你会怎么改?”——听起来简单,现实却是灾难性的。Ben 用一句话概括问题:“你问 10 万次,它能给你 10 万零一个答案。”

为了解决这个不稳定性,他们做了三件事:
- 极端提示工程:不断微调 prompt,只为让老师模型输出更一致
- 离线静态评估:用启发式规则筛掉明显错误的预测,比如‘刚打的字被立刻撤销’
- Repair 步骤:失败的预测直接丢给另一个前沿模型,让它“修正答案”

只有通过这些关卡的输出,才配成为学生模型 Zed 2 的训练目标。

最值钱的数据,不是“最终答案”,而是“差一点就对了”

演讲里最精彩的一段,是 Ben 讲他们如何利用所谓的“settled data”。

作为编辑器,Zed 能看到一件外界很难看到的事:用户最终还是会把代码写成自己想要的样子。只要某个编辑区域 10 秒没再动,它就被视为“暂时稳定”。

但问题也随之而来:这份最终状态极其嘈杂——你可能改主意,或者被 agent 全部重写。直接拿来训练,反而会惩罚原本合理的预测。

Zed 的解法非常工程化:
- 生成多次预测(10 次)
- 用 Levenshtein 距离衡量哪些预测“接近最终结果”
- 太远的是噪音,太近的是废话,中间那一段才是黄金训练样本

更妙的是,等 Zed 2 足够强之后,这一步不再需要昂贵的前沿模型,而是用学生模型自己反复采样,成本几乎为零。

离线指标不等于用户体验,所以他们直接把实验扔进生产

即便如此,Ben 仍然明确说了一句大实话:很多离线 eval,和用户真正想要的编辑体验并不强相关

所以 Zed 的最终裁判场不在 benchmark,而在生产环境。他们把不同模型版本按 15%、20% 的比例切流量,实时看接受率、延迟、错误数变化。

模型是否被用户“保留”(kept rate),是否减少了诊断错误,比任何花哨指标都更重要。这也是为什么他们的整个训练流水线都设计成可缓存、可快速重跑的 JSONL 结构——实验速度,本身就是竞争力。

总结

Zed 2 的故事传递了一个很清晰的信号:在 AI 应用阶段,胜负不再只取决于模型大小,而取决于你是否真的理解用户行为。真实、连续、带噪声的生产数据,正在成为最难复制的护城河。

对 AI 从业者来说,这意味着两件事:第一,别再迷信“更大的模型解决一切”,很多场景需要的是极度专用化;第二,认真思考你是否拥有“用户最终会怎么做”的独特视角。如果有,那可能比再多的参数都值钱。

真正的问题是:你的产品,能不能看到这种数据?


关键词: Zed 2, 编辑预测, 模型蒸馏, 生产数据训练, 代码生成

事实核查备注: 需要核查:演讲者姓名 Ben Kunkle;模型名称 Zed 2;训练样本规模约 10k-100k;settled state 的 10 秒启发式规则;使用 Levenshtein 距离与 delta car f 指标;生产切流比例约 15%-20%