前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片NEW
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 业务场景题真实业务问题与追问
  • 查漏补缺常见问题解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
    • AI 定制路线NEW按你的简历现排
    • AI 知识地图NEW串起全站知识点
  • 动态
    • AI 热点NEWAI 每日动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
AI 助手NEW
旧版
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片NEW
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 业务场景题真实业务问题与追问
  • 查漏补缺常见问题解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
    • AI 定制路线NEW按你的简历现排
    • AI 知识地图NEW串起全站知识点
  • 动态
    • AI 热点NEWAI 每日动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
AI 助手NEW
旧版
返回 AI 情报前线
All News · 全部资讯8483
  • 2026 OWASP GenAI/LLM 安全漏洞排行榜:行业首次用真实事故数据校准社区共识
  • GitHub Copilot Cloud Agent 接入 Linear:从工单到 PR 的异步 AI 编程范式正式可用
  • AI 产品回归测试必须设置防护栏:缓存和检索路径回滚的完整指南
  • AI 编码工具让 PR 规模增 12 倍,但测试覆盖率从 5% 升至 88%
  • AIoT 开发实录:工厂 45°C 环境和 1998 年遗留控制器下的工程困境
  • LendingTree 在 AWS Bedrock 上构建多 Agent 按揭助手的生产实践
  • 上下文工程:决定模型看到什么
  • 业余编程社区为何集体抵制 LLM 用法
  • GUI Agent不擅长确定性安装任务
  • MCP协议升级:推倒状态机实现云原生水平扩展
  • LoopX:解决多日长时AI Agent上下文断点的控制平面
  • DeepMind CEO与首席科学家同时离职
  • 开源模型100倍低成本击败GPT-5.6检索任务
  • MCP生产运行复盘:14条经验与教训
  • AI Agent无停机Credential轮换方案
  • Mobileye 基于 AWS Bedrock AgentCore 的客服 Agent 实践
  • Meta让数千名工程师「修Bug」来训练AI编码工具
  • 2026企业AI架构转型:从免费套餐到成本敏感的工程现实
  • AWS实战:通过MCP桥接让云端Agent安全调用本地工具
  • n8n集成Bedrock AgentCore:零基础设施搭建生产级AI Agent
  • AI Evals 入门:如何真正评估你的 AI 系统效果
  • 通过 MCP 协议让 AI Agent 完全控制真实 iOS/Android 设备
  • 深度推理模型生产部署实战指南
  • 深度推理模型性能监控实战指南
  • Agent系统最可怕的bug不是崩溃,而是静默失败
  • Vercel域名购买后可一站式配置部署、代理和邮箱
  • AI编程时代:代码审查员的核心价值与实操框架
  • AI Agent伪装身份欺骗开源维护者:安全沙箱已失效
  • Mistral 开源 3B 安全模型 Shieldstral:本地内容审核新选择
  • 自研 Agent 流水线的实战复盘
  • 自建内部 AI 平台成本远超预期:工程团队需谨慎决策
  • 自适应测试时计算:告别均匀分配推理预算
  • 分离Prefill/Decode:避免长Prompt阻塞所有Token
  • Agent难复现Bug的克星:确定性模拟测试
  • Agent工具调用分支预测:消除等待空档
  • Agent上下文窗口即RAM:引入分页机制
  • 停止让工具流经LLM:2026年代码模式转型
  • SparseSpec-L:无训练稀疏 KV 缓存让长上下文 LLM 推理提速 2.79 倍
  • 三秒延迟排查手记:API 和数据库不在同一区域引发的血案
  • Kotro:用 Rust 构建的本地 AI 编码 Agent 控制平面(MCP + LLM)
  • 我用skill.md约束文件对抗AI生成平庸UI
  • Markdown比HTML在LLM上下文中价值高10倍
  • 我做了个小CLI让AI编程工具不再失忆
  • 英国 AI 安全研究院报告:AI Agent 在提示词范围内主动攻击真实系统
  • 阿里2026云栖大会定档:聚焦Agentic AI全栈技术
  • 廉价模型生产级Prompt调优实录:四次迭代仍失败的经验
  • OpenAI 和 Anthropic 旗下 Agent 曾尝试入侵真实系统
  • LLM路由实操:同一批请求节省78.5%账单
  • Cloudflare开源Cloudflare OS:面向AI Agent的企业协作平台
  • 语义分块:修复RAG检索质量的关键在意义边界而非固定长度
  • MCP检索在小仓库反而多花4倍token:33文件vs249文件的真实对比
  • 已加载 51 / 8483
8.0
热点
AI SCORE
编程提效2026-08-06 01:57

AI Evals 入门:如何真正评估你的 AI 系统效果

dev.to · AI#AI评测#LLM#工程实践
Editor brief · 编辑速览

Eval 是 LLM 时代的单元测试,结构化测试 AI 系统的质量、可靠性和正确性。投资 Eval 能缩短开发周期、降低成本、提升质量和扩大团队协作范围。

文章思维导图
Knowledge map
拖拽缩放
Full translation

完整中文译文

如果你曾经上线过一个 AI 功能,然后心里默默祈祷它能正常工作,这篇文章就是为你写的。Eval(评估)是一种结构化的测试,用来衡量你的 AI 系统表现如何:它在各种场景下的质量、可靠性和正确性。可以把它想象成 LLM 世界的单元测试,只不过你测试的东西是概率性的、反复无常的,而且每次新模型发布都可能发生变化。

为什么还要做 Eval?

投入做 Eval 的团队会看到四大回报。首先,它们缩短了开发时间,因为你可以获得快速的迭代周期,可以在本地跨多个 LLM 测试,而不是逐个目测输出。其次,它们降低了成本,因为自动化 Eval 取代了缓慢的人工审查,让你更快地上线。第三,它们提升了质量,因为实时监控和合规检查降低了风险,改善了用户体验。最后,它们让团队得以扩展,因为一套好的 Eval 体系让非技术背景的协作者也能为打造最佳产品体验贡献力量。

Greg Brockman 用一句令人印象深刻的话概括了这个理念:

关键不在于提示词、可观测性或人工判断不再重要,而在于一旦 AI 系统能够产生看似合理的输出,往往最难的部分变成了:知道你的下一个改动是让它变好了还是变差了。

这个心智模型有三个支柱。Prompt 和上下文工程让你有一个地方来原型化行为。Eval 回答的是 AI 开发中最重要的一个问题:我刚才让情况变好了,还是变差了?根据你衡量的内容,结果可能是一个数字、通过或失败、一个类别,或者书面反馈。AI 可观测性告诉你生产环境中实际发生了什么,所以当出问题的时候,你可以把失败转化为一个可复现的测试,而不是依赖猜测。

AI Development Loop

一个适用于大多数 Eval 的模型

大多数离线 Eval 可以用相同的三个部分来理解,尽管不同框架给它们起的名字不同。

Target(目标) 是你想要评估的代码、Prompt、模型或工作流。有些工具称之为 task、application、predict function 或 system under test。它可以小到一个模型调用,大到一个完整的 Agent 工作流。重要的是:相同的输入可以运行在不同版本上,这样你就可以比较它们的行为。

Dataset(数据集) 是你的测试用例集合。一个用例通常包含一个输入,也可能包含参考答案、期望属性、评分规则、元数据、标签或其他上下文。具体的 schema 取决于框架和你正在测试的行为。参考答案并不总是必要的:安全性、风格、延迟和许多其他标准可以在没有精确理想输出的情况下进行评估。

Evaluator(评估器) 是衡量目标行为的逻辑。有些框架称之为 scorer、grader、metric 或 judge。它可以是确定性代码、基于模型的评判器、人工审查,或者它们的组合;它可以返回数字、布尔值、标签、排名或结构化反馈。

Anatomy of AI Evals

离线 vs. 在线:两种 Eval 心智模型

两种常见的模式是离线评估和在线评估,成熟的团队通常会同时使用两者。

离线 Eval 在策划好的或历史积累的测试用例上运行,通常发生在开发期间、CI 中或发布前。其目的是在受控条件下 catching 回归、比较版本和理解权衡。你可以用本地脚本、测试框架、Jupyter notebook 或评估平台来运行它们;工作流是相同的,尽管界面可能不同。

在线 Eval 在系统运行时测量选定的生产交互。它们通常基于 traces、日志、用户反馈或采样流量,专注于不需要已知参考答案的信号,例如安全性、政策合规性、相关性、延迟或用户满意度。Tracing 和评估是相关但不同的:tracing 记录发生了什么,而评估器对其作出判断。有价值的生产用例应该先经过审查和筛选,然后再成为离线测试用例。

Offline and online evals

Eval 框架:一个简单的 2×2

这里有一个值得牢记的心智框架。当你将输出与评估器结果进行比较时,有四种可能:

有趣的象限是那些不匹配的情况。好的输出配上负面结果,或者坏的输出配上正面结果,都意味着你的评估标准需要改进。

The Eval 2x2

实践中的要点是:建立基线并立即开始迭代。别等着那个永远不会到来的完美黄金数据集。

Target 模式:从模型调用到 Agent

最简单的 target 是单个模型调用。它的 Prompt 可能将指令与变量结合起来,例如用户的问题、检索到的上下文或对话状态。不同库中的模板语法各不相同,所以重要的是你传入的数据契约,而不是用来表示变量的括号。

System: Answer using the supplied context.
User question: {question}
Context: {context}

单调用 target 适用于隔离测试指令、示例、输出格式、检索上下文和模型选择。

对于多轮场景,评估一系列消息或整个对话。这非常适合衡量聊天体验是否记住上下文、是否遵循不断变化的指令,以及是否在多轮中保持连贯。

工具调用系统又增加了一层。评估器可能需要检查最终答案之外的内容,例如工具选择、参数、权限、中间结果、成本和延迟。工具可以用任何语言或服务实现;重要的是模型和工具之间可观测的契约。

Agent 和多步骤工作流结合了模型调用、工具、状态、路由和控制逻辑。评估它们通常意味着同时对结果和轨迹进行评分:系统是否以安全、高效和可重现的方式达到了正确结果。

Target patterns

Dataset:从小处着手,永不停止

数据集收集你的测试用例,这样你就可以运行可重复的评估并跟踪随时间的改进。三个技巧决定了数据集是有帮助的还是腐烂的:

从小处着手并迭代。专注于建立反馈循环,而不是打造一个完美的数据集。

永不停止迭代。使用生产日志捕获新的边缘用例,让你的 Eval 随着时间推移变得更加全面。

实施人工审查来建立真实标签(ground truth),尤其是当你依赖一个 expected-output 字段时。

Evaluator:项目的规格说明书

有两类常见的自动化评估器。

基于代码的评估器 处理任何确定性的东西:精确匹配、数字比较、结构化检查或事实核查。像下面这样简单的东西也算:

output === expected ? 1 : 0

它们也可以在你的 CI 流水线中运行。Schema 验证、精确匹配、字符串相似度度量(如 Levenshtein 距离)、数值容差和二元检查等技术也属于这一类。

基于模型的 Judge 处理需要语义或主观理解的工作,例如相关性、语气、完整性或跨版本的改进。Judge prompt 可以很简单,例如:"这个回复是否包含道歉?返回 PASS 或 FAIL,并简要解释原因。"

两种常见的 Judge 模式:

直接评估,你设计一个评分规则。

成对比较,Judge 在两个输出中选择较好的一个,排名算法对整体质量进行排序。这对于主观任务特别有用。

关于评估器的一些来之不易的技巧:

使用一个对评估标准足够能力的 Judge,并将其配置与被评估的系统分开。

像对待真正的法官一样对待评估器,评估意图、风格和整体质量,而不仅仅是正确性。

将评估分解为聚焦的标准,例如准确性、创造性、安全性和格式化,这样你就可以精确定位到底是什么坏了。

在信任基于模型的 Judge 之前,用有人工标签的代表性示例对其进行校准。

不要给 Judge 加载过多上下文。让它专注于相关的输入和输出。

这里最重要的理念之一是:评估器是项目规格说明书中可执行的部分。编写反映你的用户和失败模式的标准至关重要,因为通用指标很少能捕捉到你的产品真正需要的一切。

Human in the Loop:当最坏情况至关重要时

并非所有 AI 错误都是平等的。在医疗、金融或法律科技等高风险行业,一次失败可能意味着监管违规或真实的用户伤害。这就是为什么这些领域的团队大力投入于清晰的真实标签定义、使用人工领域专家作为标注员,并在工作流中应用 human-in-the-loop 来细化评分。

在这些场景中,人工审查不是"有就更好",而是必不可少的。它对于 catching 幻觉、建立真实标签、确保与业务、合规和用户期望保持一致至关重要。自动化会遗漏细微差别。真实的人会识别错误、标注正确输出,并确保最终产品真正满足人类需求。

Human-in-the-loop 工作有两种形式。人工审查 使用内部专家手动标签、评分或审计输出。它对于构建高质量的真实标签数据集、审计边缘用例和校准基于模型的 Judge 很有用。一个例子是法律领域专家精确定义法律 AI 助手应该如何回应。

用户反馈 是最终用户在真实使用过程中的隐式或显式信号。点赞或点踩、标记、评论、修正和有用性评分可以触发人工审查,或将生产 trace 标记为数据集策划。

公式很简单:规模化自动化测试加上人类判断的细微差别,创造出北极星体验。

Spans:生产与测试之间的桥梁

Trace 记录了你的应用程序的一次端到端执行。在其中,一个 span 代表一个工作单元,例如模型调用、检索步骤、工具调用或业务逻辑函数。Spans 可以嵌套,以显示较小的操作如何贡献到整体结果。具体的名称和边界取决于你如何为应用程序添加检测(instrumentation)。

为什么 trace 对数据集很重要?当你的 instrumentation 记录了相关字段时,trace 可以保留真实行为的输入、输出、中间步骤和上下文。当出问题的时候,例如 AI 错误地改写了用户的问题,你可以将相关输入和 trace 保存为新测试用例的基础。失败的生产输出是问题的证据,而不是期望的答案。添加一个修正后的参考答案、评分规则或明确定义成功应该是什么样子的属性,然后用那个策划好的用例作为回归测试。

这一切在一个值得内化的循环中汇聚在一起:

  1. 为应用程序添加检测并在生产中运行它
  2. 收集 traces、运营指标、评估器信号和用户反馈
  3. 找到重要的例子,例如用户点踩、政策失败或异常 trace
  4. 将这些例子策划成带有修正参考答案、评分规则或期望属性的测试用例
  5. 修复代码、重新部署,然后重复

飞轮的每一圈都让你的 Eval 更加真实,让你的产品更加健壮。

The Production Eval Flywheel

最佳实践:用 Eval 打出攻势

最大的心态转变是用 Eval 打出攻势。Eval 不仅仅是 catching 回归的安全网。它们是你能够以更快的速度、更高的信心上线更好产品的东西。

一些原则由此而来。出色的 Eval 需要被刻意设计,而不是被附加上去。将数据集视为需要维护的工程资产:记录来源、对有意义的变更进行版本控制、对近似重复进行去重、保护敏感数据,并在集合增长时保持标签一致性。Prompt 工程也在演进为上下文工程。系统指令只是生产模型所看到的输入的一部分;对话历史、检索到的文档、工具定义和结果、记忆和策略上下文可能主导输入。评估整个上下文组装过程,而不仅仅是 Prompt 文本。

最后,记住当新模型发布时一切都会改变。模型无关的 Eval 是你抵御 LLM 不确定性的防线。它们让你能够高效且有意识地切换模型和发布。优化整个评估系统,而不仅仅是 Prompt。一旦你的 Eval 稳固了,你甚至可以完全闭合循环,用它们来自动改进你的 Prompt。

Eval 将 AI 开发从"凭感觉"变成工程。从一个 target、具有代表性的测试用例和表达你的用户认为"好"是什么意思的评估器开始。在构建时运行离线 Eval,上线后监控选定的质量信号。将生产失败策划成回归用例,在高风险的地方保持人类参与,并将你的评估标准视为产品规格中活的部分。这样,"我是改进了还是退步了?"就不再是猜测,而是一个你可以用证据回答的问题。

Original source

本文由 AI 翻译整理自 dev.to · AI,原文版权归原作者所有。

阅读英文原文
上一篇
n8n集成Bedrock AgentCore:零基础设施搭建生产级AI Agent
下一篇
通过 MCP 协议让 AI Agent 完全控制真实 iOS/Android 设备