“有时候,跑完一个大模型的评测,我更像是在帮它做心理测试——看看它究竟聪不聪明,还是只是会背题。”
——一位深夜盯着 MMLU 成绩曲线的测试工程师


一、为什么我们要“测AI的智商”

如果你是测试出身,大概率经历过这样的转型:从测试网页、API、APP,到如今测试大模型。
过去,我们关心的是功能是否正确、接口是否稳定、性能是否达标;
现在,我们要问的是:

  • 模型真的懂题吗?
  • 它为什么会这样回答?
  • 下一次能不能保持一致?

在传统系统测试中,我们追求“可重复的正确性”;
在大模型评测中,我们面对的是概率意义上的正确性
同一个问题,不同次回答可能不同,它可能“自信地答错”,甚至胡扯。

这也是为什么业界强调 基准测试(Benchmarking)
通过标准化任务集,对不同模型进行量化比较——可以理解为 AI 的期末考试,但没有绝对标准答案,只有分布统计。

测试大模型,和测普通系统完全不同。它不是“对错题”,而是“聪明的概率”,你必须接受模型偶尔会自信犯错的现实。


二、AI测评的前世今生:从单科到全科考试

早期 AI 测试很单纯:图像识别跑 ImageNet,翻译跑 BLEU。
模型就像学生,只考一门课。

但大模型是全能选手,要同时处理阅读理解、推理、编程、对话、规划决策等多任务。
于是评测体系从“单科考试”演化成“综合能力测评”。

任务类型代表基准主要考察能力
通识理解MMLU多领域知识与跨学科理解
常识推理HellaSwag日常逻辑与常识判断
数学推理GSM8K多步逻辑与算术能力
编程能力HumanEval代码生成与语义正确性
对话指令MT-Bench多轮对话自然性与指令遵循
中文语境C-Eval / SuperCLUE中文理解与文化适应性

案例1:MMLU——AI的“高考卷”

MMLU 涵盖 57 个学科,从哲学到医学全覆盖。
它测的不仅是知识,还考迁移能力。
例如,一道法律题可能需要逻辑推理;一道生物题可能考语言理解。

GPT-4 在“人文学科”上的表现往往比逻辑推理好——说明它懂语境,但未必能严谨推理。

我曾看到模型在哲学题上答得比律师还理直气壮,但在概率题上直接把 30% 写成 70%——测评工程师瞬间尴尬。


案例2:HumanEval——让AI写一段能跑的代码

HumanEval 给模型函数描述,让它生成完整实现。评测指标 Pass@k 表示生成 k 次代码中,有多少能通过单元测试。

示例:

def add(a, b):
    """Return the sum of two numbers."""

模型输出:

return a + b

✅ 正确
但有时它写出:

return str(a) + str(b)

❌ 错误——测试直接炸。
Pass@1、Pass@10、Pass@100 的差距,可以直观体现模型对编程任务的稳态与可靠性。

在 HumanEval 上刷榜,有些团队会生成 1000+ 次候选,挑出能跑的,实在是“作弊式测评”。但真实场景中,我们只有一次机会。


案例3:GSM8K——小学数学题也能难倒大模型

例如:

一位老师有 24 个苹果,要分给 6 个学生,每人几颗?

模型输出 4
但稍复杂的数字或条件,就可能出错。
这暴露了模型的 推理连贯性(Chain-of-Thought) 问题,我们常加提示语 Let's think step by step 来观察改进。


三、我们到底在“测什么”

评测不仅是跑 benchmark 得分,更要建立指标体系,覆盖多维能力。

维度示例指标意义
准确性Accuracy, F1输出正确程度
鲁棒性Noise-Tolerance, Adversarial Score对干扰与异常输入稳定性
泛化性Zero-shot / Few-shot Score跨任务推理能力
多任务Multi-Task Success Rate多指令处理能力
效率Throughput, Latency性能与推理耗时
对齐性Alignment Score输出是否遵循目标与规则
公平性Bias Index群体或语义偏见检测
可解释性Explainability Ratio输出是否可溯源、可理解

重点是:分数只是表象,指标体系才是“体检报告”。


⚙️ 系统测评 + 人工测评 + 人工审核

在实际工作中,我把评测分三层:

  1. 系统测评

    • 自动化评测脚本运行 benchmark,计算 Accuracy、F1、Pass@k 等指标
    • 保证批量评测的速度和统一性
  2. 人工测评

    • 人工打分、语义匹配判断、复杂推理链的正确性
    • 针对中文、文化语境或跨模态任务,系统自动化难以判断
  3. 人工审核

    • 对系统测评和人工测评结果做二次复核
    • 记录边界错误、异常样本、生成内容的合理性
    • 保证评测报告可信度

我常调侃,系统测评是“机械评分”,人工测评是“老师阅卷”,人工审核是“教务主任复查”。


指标计算示例

基础指标:

[
\text{Accuracy} = \frac{\text{正确样本数}}{\text{总样本数}},\quad
\text{Precision} = \frac{TP}{TP+FP},\quad
\text{Recall} = \frac{TP}{TP+FN},\quad
F1 = 2 \times \frac{Precision \cdot Recall}{Precision + Recall}
]

大模型场景下,语义匹配同样重要,可用 Sentence-BERT 余弦相似度辅助判断。


伪代码:统一评测框架

def evaluate_model(model, task_list):
    results = {}
    for task in task_list:
        data = load_dataset(task)
        metrics = []
        for sample in data:
            output = model.infer(sample["input"])
            if requires_human_check(task):
                score = human_score(output, sample["label"])
            else:
                score = compute_metric(output, sample["label"], task)
            metrics.append(score)
        results[task] = {
            "mean": np.mean(metrics),
            "std": np.std(metrics)
        }
    return results

重点是统一输入输出格式、指标可扩展化,同时保留人工审核入口。


四、测 Agent 比测模型更难

Agent 评测是“打仗”,不仅看输出,还要看任务完成度与鲁棒性

假设金融问答 Agent 问:

“请查苹果公司最新季度净利润,并计算同比增长率。”

合格 Agent 必须:

  1. 正确解析任务
  2. 调用外部检索 API
  3. 抽取净利润字段
  4. 调用计算器
  5. 输出结构化结果

任何一步出错,整体失败。

Agent 常用指标:

维度指标含义
任务完成率Task Success Rate是否完成目标
执行路径鲁棒性Step Robustness是否稳定,无死循环
工具调用效率Tool Call Latency调用耗时与资源利用

我曾测过一个 Agent,因为调用 API 时忘记加 timeout,直接死循环了 20 分钟。那一刻,我深刻理解了“AI 测评不是刷分,是盯坑”。


五、那些让人崩溃的“坑”

  1. 数据污染:模型可能提前见过基准题,测出来的高分其实是背题
  2. 过度优化:调参刷榜,但真实任务中翻车
  3. 评测一致性问题:同一 prompt,不同时间、不同种子波动大
  4. 语言文化偏差:中文任务集表现常低于英文
  5. 指标不完备:忽略可解释性、安全性

高分 ≠ 可靠,我曾在 TruthfulQA 上拿到 90 分,但实际应用场景仍误判假新闻。


六、未来 AGI 评估新趋势

  1. 跨模态与通用性

    • 评估文字、图像、音频、视频、传感器数据联合推理能力
    • 使用“任务簇”或能力向量衡量跨模态迁移与协同
  2. 长期推理与情境适应性

    • 引入时间维度任务链、分步推理、持续性评估
    • 测自我纠错与外部纠错能力
  3. 安全性、对齐与伦理性常态化

    • 嵌入价值观一致性、滥用防护、隐私保护、偏见公平性
    • 使用独立评估者、可复现评测脚本与数据集
  4. 可持续性与资源效率

    • 报告单位推理或任务能耗、延迟、内存占用
    • 对比不同架构、训练策略的资源利用率
  5. 开放性、可重复性与基线多样性

    • 公开数据集、评测脚本、日志
    • 使用多元基线集合与统计显著性分析
  6. 动态、持续更新的评估生态

    • 版本化评测集,定期更新任务
    • 社区共创评测挑战,提升适配性
  7. 人机协作与用户体验导向

    • 关注可用性、信任度、协作效率
    • 评估过程透明度、操作可控性
  8. 数据安全与隐私保护

    • 使用合成或去标识化数据
    • 定期检测模型记忆泄露与数据隐私风险

七、实践建议(落地可操作)

  • 设计多维评估框架:整合模态、时序、资源、对齐、安全、用户体验
  • 建立可复现评测流水线:数据集、脚本、基线、指标、报告模板
  • 关注可扩展性与透明性:开源工具与数据,便于同行复现
  • 定期审视与更新评测集:防止过拟合、数据漂移
  • 设立伦理与合规审查:隐私、数据安全、公平性

简单来说,我们不仅在测分数,更在测模型能否被信任、在真实场景中可靠工作。


八、实战案例:一次真实测评经历

背景:一个金融大模型,要求预测股票价格趋势,并给出理由。

测评发现:

  1. 模型在新闻摘要上表现极佳,但在历史数据趋势预测上全程“胡扯”
  2. Chain-of-Thought 提示词改善准确率约 20%
  3. 自动化指标显示 F1=0.78,但人工审核发现逻辑漏洞高达 40%
  4. Agent 版本调用外部 API 时,超时未处理导致 3 次任务失败

经验总结

  • 自动化评测不能完全依赖
  • 人工复核必须纳入流程
  • 提示词设计与多轮 Chain-of-Thought 对结果影响巨大

九、写在最后

有人问我:“做大模型测试有什么意义,厂商都会自吹分数。”

我回答:

“评测不是为了证明谁强,而是让我们知道——模型的‘聪明’,到底能不能被信任。”

每一份 benchmark、每一行日志、每一条异常,都是理解 AI 极限的脚印。
测试工程师不仅在验收智能,更在守护智能的可信度

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐