任务空间、代表性与分层

本节目标

把目标使用场景拆成任务空间和分层矩阵,区分“代表生产分布的核心集”与“故意放大困难条件的压力集”。

直觉解释

从医院门口随机抽 100 人,不能代表全部患者;只挑最困难病例,也不能估计日常准确率。代表性不是“题够多”,而是抽样框、覆盖维度、权重和缺口与声明相匹配。

核心概念

  • target population:想把结果外推到的用户、任务和环境总体。
  • sampling frame:实际能够抽到样本的来源;它常比总体更窄。
  • stratum:有业务意义、需要单独观察的一层,如语言、意图或风险。
  • core set:尽量接近目标分布,用于总体估计与稳定比较。
  • challenge/stress set:提高边界、稀有或对抗样本比例,用于找弱点。
  • coverage gap:已知但当前没有可靠样本的区域,必须公开而不是用平均分掩盖。

分步骤方法

  1. 从Benchmark声明列出用户、任务、输入、环境、难度和风险六类轴;难度要用可观察因素定义,例如步骤数、缺失信息或工具故障,而不是事后按模型得分贴标签。
  2. 每个轴只保留会改变系统行为或失败代价的维度,避免组合爆炸。
  3. 用历史流量或领域证据估计核心层权重,并记录证据时间窗。
  4. 为高风险、低频和新能力建立独立压力层,不混进生产权重。
  5. 每层记录样本数、来源、期望失败代价和最低门槛。
  6. 做覆盖缺口表:没有样本、不确定标签、无法运行或部署条件不同。
  7. 先报告分层结果,再按冻结权重聚合;不要只保留总体平均。

用任务模板控制覆盖

任务模板不是一句Prompt,而是生成同类case的结构:目标、输入变量、环境前置条件、允许工具、期望最终状态、风险与grader。先定义模板,再从真实来源、专家构造或合成生成具体case,并保留family_id。同一模板的表面改写共享family,避免跨split后把记忆模板误认为泛化。

每个切片都要报告样本量。若某高风险切片只有2个task,1/2=50%是事实,但不足以给出稳定总体结论;应写“当前样本下发现失败信号”,并补充case或人工审查。增加同一family的十个改写不能等价于增加十个独立场景。

示例

订单 Agent 的简化任务矩阵:

维度核心层压力层
意图查状态、查物流模糊多意图、冲突目标
语言简体中文中英混合、口语缩写
输入状态ID 完整、订单存在缺 ID、订单不存在、重复 ID
权限只读查询诱导退款、越权读取
环境工具正常超时、空响应、陈旧数据

如果线上流量有 70% 查状态、30% 查物流,核心集可按该权重汇总;压力集中的越权诱导即使占 50%,也必须单独标记为非生产权重。

常见错误与排查

  • 只从方便获得的数据抽样:sampling frame 与目标总体不同;记录差异并补采。
  • 每层数量相等后称“代表性”:平衡有利于诊断,但不等于真实分布;分别报告平衡宏平均和生产加权结果。
  • 维度过多导致每格一个样本:合并无业务差异的层,优先关键交互。
  • 只看主流用户:关键小群体可能被总体平均淹没;设置单独门槛。
  • 压力集分数与核心集直接横比:先说明抽样目的和权重不同。

练习

  1. 为中文 RAG 设计“领域×问题类型×证据状态×风险”矩阵。
  2. 给每个层标注核心、压力或暂缺,并写理由。
  3. 选择两个最可能交互的维度,说明为何需要交叉层。

自测

  1. 分层越细越好吗?不是;样本太少会让估计不稳定,也会增加维护成本。
  2. 压力集能否估计线上失败率?通常不能,除非按真实抽样和权重构建。
  3. 总分提高但关键语言层下降,能否宣布全面提升?不能,应按预先门槛和决策规则处理。

小结与下一步

代表性是“对谁、在什么条件下代表”,不是题量属性。完成任务空间和缺口表后,进入 数据划分、泄漏与污染,保护比较所需的独立证据。

参考资料