Vercel 通过 200+ 次 agent 运行迭代设计出 design.md 提示文件,将 AI 指令纳入版本控制,构建了一套反馈驱动的 agent 指令优化工作流。
Vercel 在构建 design.md 的过程中执行了超过 200 次 agent 运行。design.md 是一个新的公开 prompt 文件,旨在帮助 agents 创建看起来和感觉上都像 Vercel 的网页,即使它们无法访问公司的内部代码库。
在周一发布的一篇文章中,Vercel 分享了构建和评估该文件幕后的完整过程,以确定其中编码的纠正措施是否能有效防止失败——答案是有效的,但并不完美。
这篇文章提供了一个更广泛的启示:将人类判断编码为可复用的 agent 指导有助于减少重复性失败,但这并非银弹。
在三个桌面场景中,当 Codex 配合 GPT-5.5 生成页面时,分别在加载和不加载 design.md 的条件下各生成一次,Vercel 的确定性检查记录到:使用 design.md 时有 39 个已知失败模式,而不使用时为 91 个——在这个六页测试中实现了 57% 的降幅。

Vercel 承认,六页中每一页(诚然样本量较小)都存在足够阻止发布的失败,但实验结果表明,明确命名并编码的失败不太可能重复发生。
今年六月,Vercel 分享了 product design 的思路——这是一种教 coding agents 在其代码库中以品牌外观和风格设计页面的技能。Vercel 表示这已被证明有价值——但仅限于在代码库内工作的 agents。一旦需要让存在于其他地方的工具生成相同的品牌内容,它们就无法获得相同的设计上下文。
因此公司决定构建一个公开文件,任何 agent 或工具——即使在 Vercel 开发环境之外——都可以加载它来访问相关设计知识并生成品牌一致的页面。
首先,Vercel 尝试简单地将 product design 移植到公开 prompt,但被证明行不通。因为该 prompt 包含了主观性的设计语言,每个模型对它的理解各不相同。此外,prompt 只讲了一半的故事——关于设计和实现的重要信息存在于代码库中,这适用于 product design,但不适用于公开 prompt。
Vercel 意识到,要让设计知识真正可被访问,需要一个全新的文件,从头开始构建。
在构建该文件时,Vercel 针对一组可重复的七个评估 prompt 测试了每个迭代版本,这些 prompt 旨在揭示指导的变化如何最终影响生成的输出。每一轮迭代中,这些 prompt 使 Vercel 能够衡量两件事:1)该文件引起了什么变化;2)不同的 agent 如何理解它。
随着 design.md 经历不同的测试和迭代,总共覆盖超过 200 次 agent 运行,Vercel 最终确定了一个三部分系统,使指导既可复用又可测试。
首先,prompt 文件本身为 agents 提供了如何做设计决策的指导,包括文案撰写、层级构成、字体排版和色彩,以及发布。同时重要的是,它还明确列出了不允许使用的设计模式,以便 agents 避开它们。
其次,一个公开样式表定义了可复用的实现细节,使 agents 不会在间距和布局等方面失控。
最后,评估循环将人类反馈转化为更新的指导和对机械性失败的确定性检查。
Vercel 然后构建了一个本地应用,作为评估工具来审查每轮生成的页面,并存储 prompt、输入、模型配置、文件版本、截图和审查者反馈。纠正措施被路由到相应的层级:判断变更被直接编码为文件中的文字;样式表捕获可复用的机制;机械性失败成为代码中的确定性检查。
每一轮反馈后,Vercel 都会审查结果,将被接受的纠正编码进去,然后重新运行相同的评估 prompt,以确保没有任何更改意外破坏其他功能。
为了保持已发布文件的时效性,Vercel 随后构建了 design-agent。只需在 Slack 线程中提一句,agent 就会加载当前的 design.md,使用已发布的样式表构建请求的网页,然后在 Slack 中发回完整的截图和 URL,为 Vercel 提供了一条紧凑的记录,将请求、输出和后续反馈联系起来。
每周结束时,所有这些反馈都会与 GitHub 评审和 Figma 的评论合并,每条重复投诉自动成为供人工审查和批准的变更提案。
随着时间推移,Vercel 追踪每条投诉的出现频率。理想情况下,一旦实施了修复,该计数应该开始下降;如果没有下降,则说明修复需要进一步完善。
Vercel 的实验提供了一个范例,展示团队如何将人类判断转化为可复用的 agent 指导——更多证据表明,agent 指令应该像软件一样管理,拥有完整的开发生命周期。
但重要的是要记住,更好的指导仍然不能保证 agent 的可靠性。Vercel 的测试表明,即使在超过 200 次运行中完善了该系统,六个被测试的页面中仍然没有一个可以在无需纠正的情况下发布。不过,重复性失败的下降表明,命名和编码失败确实可以产生影响。