13.2 任务级评估:判断这次任务有没有做好
面向经管学生、研究者与从业者的 AI 智能体设计教材

任务级评估是三层里最基础的一层。它的评估对象是单次任务执行的输入输出对:给定明确的任务描述和输入数据,检查输出是否满足预设成功标准。
先定义成功标准,再看输出
任务级评估的第一步,不是设计评分表,而是回到任务说明书,确认成功标准能否判定。
一个可判定的成功标准需要满足三个条件:
| 条件 | 说明 | 正例 | 反例 |
|---|---|---|---|
| 可量化 | 标准能用具体数字或规则衡量 | 报告包含 5 个必需章节 | 报告质量不错 |
| 任务特异 | 不同任务有不同的成功定义 | 情感分类准确率 > 90% | 模型表现良好 |
| 二元可判 | 对任何输出都能判定通过或不通过 | 输出包含风险提示段落 | 输出整体可接受 |
如果任务说明书里的成功标准本身模糊,评估就无从下手。任务级评估失败时,首先要检查的不是模型能力,而是任务定义。
最小评测集
评测集是反复验证任务执行质量的输入输出样本集合。任务级评估不需要一开始就准备上千条数据,可以先从最小评测集开始:
核心样本(60-70%):覆盖任务最常见的输入类型。比如一个文本摘要任务,核心样本应该包含不同长度、不同主题、不同结构的输入文本。
边缘样本(20-30%):处于任务边界的输入。比如极短文本、极长文本、格式混乱的输入、包含表格或代码块的文本。
对抗样本(5-10%):故意设计来测试系统鲁棒性的输入。比如包含误导性信息的文本、要求模型做出不当承诺的输入。
刚开始不必从零构建评测集。先收集 10-20 个真实使用中遇到的典型输入,手动标注预期输出,就足以形成一个可用的最小评测集。后续再把新发现的失败样例逐步补进去。
评分方式
评估输出质量主要有三种方式,各有适用场景:
代码判分:用脚本自动检查输出是否满足格式和结构要求。适合检查输出长度、必需字段是否存在、数值范围是否合理、格式是否合规。优点是速度快、成本低、完全可复现;局限是无法判断语义质量。
def check_report_structure(output: str) -> dict:
"""检查报告结构完整性"""
required_sections = ["概述", "数据分析", "结论", "风险提示"]
results = {}
for section in required_sections:
results[section] = section in output
results["pass"] = all(results.values())
return resultsLLM 判分:用另一个 LLM 根据评分标准对输出打分。适合评估语义质量、逻辑连贯性、分析深度等难以用规则描述的维度。优点是能处理开放式输出;局限是判分结果本身也可能不准确,需要人工校准。
你是一个评估助手。请根据以下评分标准,对给定的分析报告进行评分。
评分标准:
- 事实准确性(1-5 分):数据引用是否正确,计算是否无误
- 分析深度(1-5 分):是否有因果推理,而不仅是数据罗列
- 结论合理性(1-5 分):结论是否有充分的数据支撑
请对每个维度分别打分,并给出扣分理由。
人工判分:由领域专家人工审阅输出。适合新任务的初期评估、高风险场景的最终把关、校准 LLM 判分器的准确性。优点是判断最准确;局限是成本高、速度慢、难以规模化。
三种方式并不互斥,常见组合如下:
| 评估阶段 | 推荐方式 | 理由 |
|---|---|---|
| 每次执行 | 代码判分 | 自动检查硬性要求,成本接近零 |
| 每轮迭代 | 代码 + LLM | 结构检查 + 语义质量评估 |
| 关键节点 | 代码 + LLM + 人工 | 人工校准评分标准,发现系统性偏差 |
评分标准(Rubric)设计
评分标准把质量判断转成可执行的判定规则。设计时要注意两点:
每个档位有明确边界。 不要用”回答质量较好”“基本满足要求”这类模糊描述。用具体条件区分档位。以一个数据分析任务为例:
| 维度 | 通过条件 | 不通过条件 |
|---|---|---|
| 数据来源 | 每个数据点标注了出处 | 有数据但未标注来源 |
| 计算过程 | 计算步骤完整,结果可复验 | 直接给出结论,没有计算过程 |
| 风险提示 | 包含至少一条具体的风险说明 | 无风险提示,或泛泛而谈 |
区分硬性要求和质量维度。 硬性要求用二元判分(通过/不通过),质量维度用等级判分(1-5 分)。合规性检查通常是硬性要求——只要出现违规内容,整体不通过。
任务级失败的归因
当任务级评估发现输出不合格时,优先检查以下四个位点:
- 任务描述是否清楚:输出偏离预期,可能是任务说明本身有歧义
- 边界约束是否完整:输出包含不该有的内容,可能是约束条件没写
- 示例是否充分:输出格式不对,可能是缺少 few-shot 示例
- 验收条件是否可判:无法判断输出好坏,可能是成功标准太模糊
这四个检查点都属于任务说明书。任务级评估失败时,优先回到任务定义层修改,通常比调模型参数或换模型更有效。
Anthropic 官方文档明确建议:先定义成功标准(success criteria),再做 prompt 或智能体优化。连成功标准都没有定清楚,后续优化就没有方向。
本节一句话总结: 任务级评估先看任务定义和验收条件,再看模型表现;它解决的是”这次任务做没做好”。