Vercel-Eval-Driven-Development


核心观点

传统确定性测试失效于 LLM 的概率性输出。Eval-Driven Development (EDD) 用「评测」替代「测试」,构建 AI-Native Flywheel:Evals → Data → Models/Strategies → Feedback → Evals,让 AI 系统在非确定性中持续进化。Vercel v0 即以此实现日级 prompt 迭代、零安全回归。


1. 为什么需要 Evals?

维度传统代码 (确定性)LLM (概率性)
输入→输出固定映射黑盒、不可预测
测试方法单测/集成测试Evals (端到端质量评估)
核心挑战覆盖率变异性、主观质量、回归检测

类比:搜索引擎工程 20 年前已面对同样问题——海量查询、不可穷尽测试,只能靠 Eval 中心流程。


2. 三类 Eval 手段

类型适用场景优点缺点
Code-based客观标准(关键词、正则、AST、key prop、Tailwind vs inline)极快、零成本、可全自动无法覆盖主观/语义质量
Human创意、连贯性、清晰度、整体效果细腻、权威慢、贵、难规模化
LLM-based复杂判断、大规模对比可扩展、比人工便宜成本 1.5-2× code-based、可靠性稍弱

最佳实践:三者组合,产出明确分数,便于趋势追踪(进步/退化)。


3. 实战案例:React 组件生成

预期 (Opinionated)实际输出偏差
Arrow function + Tailwind (list-none p-0, font-bold)function + inline style风格不符
key={index}无 key隐患(React 警告)
结构化 JSX扁平 JSX可读性差

自动化检测点

  • Regex 扫描 inline style / Tailwind class
  • AST 检查 key prop 存在性
  • 导入语句、多文件、注释密度(防偷懒)

4. AI-Native Flywheel(正向飞轮)

graph LR
  E[Evals 基石] --> D[Data 高质量数据]
  D --> M[Models & Strategies 模型/策略选型]
  M --> F[Feedback 用户反馈]
  F --> E
飞轮组件关键作用Vercel 实践
Evals替代直觉→数据决策,指引迭代方向Braintrust 自动化(LLM 评委 + 启发式 + 对比分析),PR 必跑全量 eval
DataGarbage in, garbage out;Golden data 反哺微调Eval 暴露数据盲区 → 定向采集
Models/Strategies新模型/新技术层出不穷,Eval 快速对比选优AI SDK 统一抽层,一键切模型对比
Feedback显式+隐式+报错,闭环真实分布显式:点赞/踩;隐式:重写/放弃;报错:异常捕获

5. Vercel v0 实战数据

指标现状
Prompt 迭代频次几乎每日
安全/拒答 Eval 通过率100% (零容忍)
功能/美观/效率 Eval部分未通过 → 作为失败用例加入集合持续优化
新特性 (Vue/Python) 上线必带配套 Eval 保质
内部 Dogfooding核心反馈源,发现盲区

自动化流水线

  1. 脚本跑全量 eval suite
  2. 产出 pass/fail、回归、提升报告
  3. Braintrust 留存日志供人工复核
  4. 每个影响输出管线的 PR 必附 eval 结果

6. 给工程团队的清单

  • 建立 Eval Suite:覆盖功能、风格、安全、拒答、边缘案例
  • 三元评分体系:Code-based (主) + LLM-based (辅) + Human (终裁)
  • Golden Data 维护:Eval 失败 → 数据盲区 → 定向清洗/增强
  • 模型/策略对比基准:新模型发布即跑 Eval,选性价比最优
  • 用户反馈入 Eval:显式/隐式/报错三通道 → 持续扩充测试集
  • CI/CD 集成:PR 阻断式跑 Eval,回归即拦截
  • 工具链选型:Braintrust / LangSmith / 自建,核心是可追溯、可复现、可对比

核心心法
  • Eval ≠ Test:测试验证「代码逻辑正确」;Eval 度量「输出质量达标」
  • 主观也要量化:用 LLM 评委 + 明确 rubric,把”好不好看”变成 1-5 分
  • 飞轮不转则亡:无 Eval 无数据飞轮,无数据飞轮无持续进化
持续挑战
  • Eval 维护成本随系统演进线性增长,需工具化降本
  • LLM 评委自身有偏好/偏差,需人工校准
  • 生产分布漂移需持续采样真实流量补入 Eval 集