用 O*NET 职业分类给 AI「考试」:为何这道题把 GPT-5 的满分级卡死在 1%?

  • 关联论文:2606.05405

你有没有这种感觉——

每隔几周就有新闻说"AI 干掉了 X 岗位""AI 又能写代码又能审合同",可真把这些系统放到你公司的实际工作流里跑,要么撞墙、要么糊弄?SWE-bench、GAIA、HumanEval 的排行榜数字漂亮得很,但跟现实岗位之间的距离像是两个平行宇宙

最近 arXiv 上的 2606.05405(由 250+ 行业专家共建),就把这件事撕开来看。它做了一道题:如果让 AI 在真实经济活动里"做满一天工作",它能完成多少

这道题叫 Agents' Last Exam(ALE)。结论一句话摆出来:

在最难题层「全任务通过率」平均不到 1%。 也就是说,主流大模型 × 主流 Agent 框架,在最难的那批活儿面前,100 次里能完整交付的不到 1 次

听起来吓人,但这其实是好事——因为 1% 这个数字被诚实地标出来了,而不是被 leaderboard 包装成 80%。

现有评测为什么"虚"

过去几年 Agent 评测一直有个隐隐的悖论:

  • 模型在 SWE-bench、GAIA、HumanEval 这种基准上一路刷到 90%+;
  • 但你让同款模型去写一份合规审计报告、跑一轮信用风险建模、整理一份跨部门的政策周报,它要么半路抛异常,要么交付的产物不可用

原因不在模型智商,在评测跟现实脱节。ALE 把脱节的三处讲得很直白:

  1. 基准任务跟现实经济价值没关系。SWE-bench 是改一个 isolated bug、HumanEval 是解一道 LeetCode、GAIA 是查一次 Wikipedia——它们都不是"花几小时、几百步、跨多个工具"的工作流。现实的岗位是"调研 → 设计 → 跑实验 → 验证 → 修正 → 交付"这串动作一口气做完,目前没有任何基准完整覆盖这条链路。
  2. 任务池一次性发牌就过饱和。新基准上线,SOTA 模型跑两三个月就把分数刷到接近天花板,剩下的研究只能靠"刷分微优化"或者污染训练集。这种排行榜对工程没有任何指导价值。
  3. 行业语义不锚定。各家基准里"科研 / 软件 / 法务 / 金融"的口径不一样,分数不能直接比,也无法和真实的 GDP 行业分布对应

ALE 是怎么回答这三个痛点的

ALE 的设计直接对着这三处补刀:

1. 任务来源锚定美国劳工统计局的 O*NET / SOC 2018 职业分类体系

什么叫锚定?任务不是研究员坐在屋里拍脑袋写的,而是由 250+ 行业专家按真实工作流设计。任务体系是一棵三层树:

  • 行业簇(13 个):按 ONET 高层产业口径聚合,只覆盖非物理作业*(明确排除依赖真实机器人/硬件的任务)。
  • 子领域(55 个):每个行业簇下细分,例如"金融服务"下可分"信用分析 / 风险建模 / 合规审计"。
  • 任务(1000+):每条任务附机器可判的最终状态——不是 LLM 评分,是脚本、断言、API 状态、文件 diff、单元测试这些硬指标。

2. 评分是二元可验证终态

每条任务的验收条件是专家预定义的 predicate(谓词),Agent 在沙箱里执行到自然终止或超时,然后机器按预定义谓词判定通过 / 部分 / 未通过。这绕开了"用 LLM 评 LLM"那种主观漂移

伪代码逻辑大致是:

def score(trace, task):
    basic = task.predicate_basic.evaluate(trace)   # 核心交付是否完成
    bonus = task.predicate_bonus.evaluate(trace)   # 是否到专家级质量
    if not basic: return 0.0
    if bonus:     return 1.0
    return 0.5  # 部分通过

3. 活基准(Living Benchmark)机制

任务池不是一次性发牌,而是会持续生长——每个时间点的 ALE 同时是三张图:

  • 一张难度分布图(哪些行业最薄弱)
  • 一张GDP 价值图(哪些领域可自动化潜力最先被填满)
  • 一张模型能力演化图(升级后哪些任务最先被解决)

论文特别声明这种活基准机制借鉴了 HLE,但额外加了"行业映射"维度——让 Agent 评测和现实经济活动第一次能直接对应

1% 这个数字为什么重要

光说"不到 1%"是没用的,重要的是对它的解读

ALE 把"在最难题层"标得很清楚:

  • 不是全量任务的平均;
  • 当前主流 harness × backbone 组合下,难度最高那一档任务的"一次跑通"通过率。

这意味着 AI 离"独立接管一个完整岗位"还有很远的距离——1% 这个数字告诉监管者、企业 AI 战略负责人、投资人:短期内别被"AI 替代 X 岗位"的营销叙事带偏,真正的端到端可用性仍处早期。

但反过来,中等难度任务的通过率必然是远高于 1%——论文把光谱完整给出,让决策者能按行业簇、按难度分层去做真实的产能估算,而不是被"AI 平均分 85"这种社交媒体摘要误导。

ALE 与现有基准的差异

基准 行业锚定 任务粒度 评分方式 持续性
SWE-bench Verified 软件工程(单一) 短程 isolated bug 单元测试 一次性
GAIA / AgentBench / ToolBench 无统一分类 细粒度工具调用 LLM 评测 一次性
HLE 无(学科知识) 短程问答 评测集
ALE O*NET/SOC 2018(13 簇 × 55 子领域) 长程端到端 机器可判 predicate 活 + 行业扩充

一句话:ALE 把 Agent 评测从"刷题"拉回"产业可用性"。

工程落地:怎么把这套范式搬到自己公司

ALE 最有价值的产出不是评测结果,而是 outcome predicate(验收谓词)这一套设计范式

企业内 Agent 评测模板(直接把 ALE 的 schema 翻译成内部任务):

from dataclasses import dataclass

@dataclass
class OutcomePredicate:
    """单个验收谓词——机器可判,硬指标"""
    name: str                       # 如 "CI_green"
    evaluate: callable              # 输入是 Agent 执行 trace,输出是否通过

@dataclass
class BusinessTask:
    task_id: str
    goal: str                       # 自然语言描述的目标
    predicates: list[OutcomePredicate]

    def score(self, trace):
        basic_results = {p.name: p.evaluate(trace) for p in self.predicates if "basic" in p.name}
        bonus_results = {p.name: p.evaluate(trace) for p in self.predicates if "bonus" in p.name}

        if not all(basic_results.values()):  # basic 必须全过
            return 0.0, {**basic_results, **bonus_results}
        if all(bonus_results.values()):
            return 1.0, {**basic_results, **bonus_results}
        return 0.5, {**basic_results, **bonus_results}

推荐评测节奏

  • 月度精简版:按行业簇选 5 个子领域 × 10 条 = 50 条任务,约 $250–750 / 次
  • 季度完整版:全量(1000+ 任务),$5,000–15,000 / 次
  • 上线前 smoke:3–5 条核心任务快速验证,不超 $50/次

几个常被忽略的工程坑

  • 「< 1%」限定了"最难题层"不能简化为"AI 通过率 1%"——汇报时省略限定词会严重误导非技术决策者
  • harness 质量比模型选择更敏感:沙箱隔离、API 状态判定有 bug 时,分数会虚高。必须用已知答案的 task 先做 harness 功能测试
  • 行业分类 O*NET 不直接适配中国/欧洲语境:金融、零售、制造可以粗粒度对齐,细分类目需要按自家业务重新标,不要硬搬 SOC 2018 的口径。
  • 任务池版本控制必须做:活基准每次更新后新旧任务不能直接比较,建议每次跑评测都记录 task pool version,并定期做快照以便纵向对比
  • 训练集污染要主动监控:若自家 Agent 训练数据已包含 ALE 任务,评测结果会严重虚高——定期在全新任务上重测,盯"已知 vs 新任务"通过率差。
  • 二元判分不够诊断:只看终态,失败原因不透明ALE 只负责"能不能交付",过程卡在哪一步要找 dense-reward 基准(如 LH-Terminal-Bench)配合。

谁该读这篇

  • Agent 平台 / 框架作者:评估 harness 是不是真能承担产业工作流。
  • 企业 AI 战略 / 数字化负责人:判断 Agent 在哪些行业簇已可投产,哪些还有 1–3 年窗口。
  • 评测 / Benchmark 建设者:研究"长期可持续、价值锚定、抗污染"的活基准设计。
  • 政策 / 经济研究者:把 Agent 能力前沿与真实 GDP 行业分布做映射,预测劳动力市场情景。
  • 不那么适合:纯应用层 RAG 开发者、embodied AI / 机器人研究者(ALE 明确排除物理作业)。

一句话总结

AI 评测长期被"刷题"绑架,ALE 把锚拉回到"产业可用性"——以 O*NET/SOC 2018 为分类基准,用 250+ 行业专家共建 1000+ 长程任务,用机器可判的 outcome predicate 做评分,用活基准机制持续扩充。 当前 SOTA 在最难层的通过率不到 1%,不是 AI 不行,而是这道题终于诚实地出对了。


三个标题变体

  1. 用 O*NET 职业分类给 AI「考试」:为何这道题把 GPT-5 的满分级卡死在 1%?
  2. AI 评测长期被「刷题」绑架,这篇论文把它拉回「产业可用性」——结果最难题层通过率不到 1%
  3. SWE-bench 90 分不代表能干活——250+ 行业专家用 O*NET 给 AI 出了一套「真实岗位」考卷

小红书风格卡片文案(可直接发布)

🤖 AI 在 SWE-bench 上 90 分,到你公司真干活行不行?🤖

最近 arXiv 2606.05405 直接把这件事撕开来看。它由 250+ 行业专家共建,做了一道题:让 AI 在真实经济活动里"做满一天工作"。这道题叫 Agents' Last Exam(ALE)

一句话结论:

在最难题层「全任务通过率」平均不到 1%。 主流大模型 × 主流 Agent 框架,在最难的那批活儿面前,100 次能完整交付的不到 1 次 💀

🔥 为什么现有评测"虚"?

  1. 任务跟现实经济价值没关系——SWE-bench 改 isolated bug、HumanEval 解 LeetCode,现实岗位是"调研→设计→验证→交付"一串动作一口气做完
  2. 任务池一次性发牌就过饱和——SOTA 跑两三个月就能把分数刷到天花板
  3. 行业语义不锚定——各家"科研/软件/法务/金融"口径不一,分数不能直接比,也不能跟 GDP 行业分布对应

💎 ALE 的三处补刀:

  • 锚定 O*NET/SOC 2018 职业分类:13 个行业簇 × 55 个子领域 × 1000+ 任务,任务不是拍脑袋写的,是行业专家按真实工作流设计;
  • 机器可判的 outcome predicate:评分靠脚本、断言、API 状态、文件 diff、单元测试——绕过 LLM 评 LLM 的主观漂移
  • 活基准(Living Benchmark):任务池持续扩充,同时是难度图、GDP 价值图、能力演化图

⚠️ 工程坑(论文自陈 + 落地经验):

  • 「< 1%」必须带限定词——只针对"最难题层",汇报时省略会严重误导非技术决策者
  • harness 质量比模型选择更敏感——沙箱/谓词有 bug 时分数虚高,必须先用已知答案 task 测 harness
  • O*NET 不直接适配中国/欧洲语境——金融/零售/制造可粗粒度对齐,细分要按自家业务重新标
  • 任务池必须版本化新旧任务不能直接比
  • 训练集污染要监控——定期在全新任务上重测,盯"已知 vs 新任务"通过率差;
  • 二元判分不够诊断——ALE 只看能不能交付,过程卡在哪一步要找 dense-reward 基准配合

💡 推荐评测节奏: - 月度精简(50 条 / 5 行业)≈ $250–750 / 次 - 季度完整(1000+ 条)≈ $5k–15k / 次 - 上线前 smoke(3–5 条)不超 $50 / 次

💡 为什么这件事重要: - AI 替代 X 岗位的营销叙事该降温——1% 告诉你离"独立接管一个完整岗位"还很远; - 但中等难度通过率必然远高于 1%——按行业簇 / 难度分层做真实产能估算,比信"AI 平均分 85"靠谱得多

📎 论文 ID:2606.05405 💬 评论区聊聊:你们公司现在的 AI agent 在"真实工作流"里能用吗?是一次跑通还是半路撞墙?

人工智能 #AI科普 #Agent #大模型 #评测基准 #LLM #技术分享 #论文分享 #深度学习 #算法 #程序员 #生产力