AIDLC Evaluation Framework
阅读时间: 约 12 分钟
AIDLC (AI Development Life Cycle) 与传统 SDLC 不同,处理 概率性 (stochastic) 产物。对同一输入,LLM/Agent 响应会变化,一次单元测试通过并不保证 "永远正确"。本文整理截至 2026-04 的实战基准、工具、架构,说明如何在 AIDLC 三重循环 (Inner/Middle/Outer) 中嵌入评估 (Evaluation)。
1. 为什么采用 Evaluation-driven Loop
1.1 SDLC TDD vs AIDLC Evaluation-driven
| 项 | 传统 SDLC (TDD) | AIDLC (Evaluation-driven) |
|---|---|---|
| 产物性质 | Deterministic (相同输入 → 相同输出) | Stochastic (相同输入 → 分布) |
| 正确性定义 | 单一 expected value | 容忍区间 + 质量指标分布 |
| 失败信号 | Assertion 失败 = bug | 指标下降 = drift · regression · 质量可疑 |
| 可复现性 | 100% 可复现 | 固定 seed/temperature 则近似可复现 |
| 门禁条件 | 全部测试 green | 评估指标达阈值 (如 Faithfulness ≥ 0.90) |
| 循环周期 | 按提交 | 提交 + 数据集替换 + 生产采样 |
若说 TDD 是 "写失败测试 → 实现 → 重构" 的循环,AIDLC 的 Evaluation-driven Loop 则是 "评估数据集 → 代理/提示/模型变更 → 指标对比 → 门禁通过"。单次功能追加可能在 10 个指标中降低 2 个,因此默认需要 多维指标看板,而非简单 pass/fail。
1.2 从学习到部署流程的 CI 角色
在传统 SDLC,CI 指的是 "构建 + 单元测试"。AIDLC 中 CI 的任务扩展:
- 当 提示 / 代理 / 模型有提交时,与评估数据集基线对比
- 确认核心指标 (faithfulness、task success rate、tool-use accuracy 等) 在允许范围
- 成本指标 (token · latency) 亦检查是否回归
- 判断相对生产样本是否存在 drift
- 通过门禁后才进入部署流水线
也就是说,CI 从 "代码能否编译" 变成 "代理是否仍保持质量"。
1.3 与 Inner / Middle / Outer Loop 的关系
AIDLC 将评估分为三层,以组合成本 · 速度 · 准确度。
- Inner Loop (数秒 ~ 数分钟): 开发者修改单个提示 / 函数时,用 10-20 样本即时检测局部回归。promptfoo、基于 pytest 的工具适用
- Middle Loop (数分钟 ~ 几十分钟): 以 PR 为单位 CI。用数百数据集运行 Ragas/DeepEval,检查与基线的容差。由 GitHub Actions/CodeBuild 执行
- Outer Loop (持续): 对生产 trace 采样做异步评估。监控 drift · regression · safety violation,并定期更新评估数据集
2. 公共基准 (截至 2026-04)
AIDLC 仅靠各团队数据集难以横向比较全貌。公开基准 起到外部参考作用。
2.1 编码 Agent 专项基准
| 基准 | 规模 | 重点 | 2026-04 SOTA | URL |
|---|---|---|---|---|
| SWE-bench Verified | 500 个 human-verified GitHub issue | 真实 PR 风格 bug 修复 | 70%+ pass@1 (头部 Agent) | swebench.com |
| SWE-bench Multimodal | 含截图的 Web UI bug 修复 | 视觉 + 代码结合 | 初期 | swebench.com/multimodal |
| TerminalBench | 真实 shell/CLI 任务 | 终端操作 · 文件系统 | ~50% 成功率 | tbench.ai |
| AgentBench | 8 个环境 (OS、DB、KG、Web 等) | Multi-turn tool use | 各模型差异大 | github.com/THUDM/AgentBench |
| MLE-bench | 75 个 Kaggle 风格 ML 任务 | 端到端 ML 工程 | 以获牌率为指标 | github.com/openai/mle-bench |
- SWE-bench Verified 是 Princeton + OpenAI 于 2024 年人工复核的 500 个 issue,截至 2026-04 是事实上比较 Agent 能力的标准基准
- MLE-bench 是 OpenAI 公开的 ML 工程能力评估, 衡量模型在 Kaggle 风格任务中获得奖牌的程度
SWE-bench Verified 结构
原始 SWE-bench (2,294 个) 难度 · 可复现性偏差大,Verified 500 个以下列标准筛选:
- 规格清晰度: issue 描述 · 复现步骤人类可读
- 测试可靠性: 评估测试能精确捕获 bug (剔除 flaky)
- 环境可复现: 容器镜像确定性可复现
- 范围适度: 排除过宽或不可完成的用例
从 AIDLC 视角看,它是单一公开基准,能评估 Agent 在 "规格 → 设计 → 实现 → 验证" 周期上能否以 真实 PR 单元 完成。
使用基准时注意事项
- 训练污染 (Training Contamination): 公开基准可能已包含在预训练数据 → 搭配 LiveCodeBench 这类定期新增题目的基准使用
- 样本量与显著性: 500 issues 下 A 68%、B 70% 的差别可能不显著 → 用 bootstrap CI 判断
- 成本与区分度: 顶级模型一次评估可达数千美元规模 — 不适合每次 PR 运行。可以周 / 发布级别执行