CtrlK
BlogDocsLog inGet started
Tessl Logo

eval-design

Use when: 要判断 Agent 是否专业、省心或真正改善,需设计判断依据、指标、校准,或修改/审计 eval。Not for: 单次交付(quality-gate)、外部claim(source-audit)、摩擦诊断(code-as-harness)。Output: 测量与校准草案或指标出生证(纵向eval含触发契约),或病名+处置。

SKILL.md
Quality
Evals
Security

Eval Design — E0 资格门 · 出生证契约 · 运行拓扑 · 设计自检 · 五病体检 · 干预证

版本定位(2026-08-23 v2.2 修正轮):v0.3 = v0.2 + E5 自评回灌禁区 + runway 记账成本 + 纵向 Eval 运行拓扑 + 裁决角色分权。上位宪法: docs/architecture/eval-philosophy.md(七公理 E0–E6;v2.2 已 ratified)。 机制选择与落地边界以 ADR-031 v3.4 为准:按问题选机制, 不按层补齐。

Why This Is a Skill(价值门禁)

模型的训练先验里有"怎么算 accuracy",没有猫咖的 eval 宪法。本 skill 是 2026-07 Eval 宪法(七公理 E0–E6)+ Alden 三日思辨的操作化——未来任何猫给任何 harness 域 配 eval 时,用同一套流程,防止家里的 eval 资产继续长成划水/污染/归因停滞/ 干预失证/摸鱼五病混合物。 来源:docs/architecture/eval-philosophy.md(宪法 v2.2,七公理)+ feature-discussions/2026-07-17-eval-charter-draft.md(v1 历史草案,已演进归档)+ 2026-07-16-alden-dialogue-distillation.md(思辨蒸馏)。

与能力进化项目的往返

capability-evolution 负责一句话入口、对象/owner 绑定与已有 Program 的持续推进;本 skill 负责测量、校准、归因诊断与干预设计。需要跨对象承接时用它的方法导航,不复制旧案例的目标、阈值或授权。

  • 从项目进入:带上当前 Program/对象/claim、已有版本与来源、权限和真实缺口,按问题选择本 skill 的相关部分;不强制每个项目从头填写全部表格。
  • 设计完成后返回:交付本次相关的测量/角色/校准/触发或干预约定,明确哪些仍是草稿、哪些已由 owner 发布,以及证据仍允许或不允许什么结论。回到原 Program 的当前阶段,不重复 start。
  • 正式写入分界:F311 只持 owner refs。出生证、proof、角色与 outcome 不能从本 skill 的回答中直接合成;Approval 和采用仍走原 owner/正式动作。证据不足不阻塞既有授权内的公开准备。
  • 没有 Program 上下文:沿原指标设计/体检流程继续;使用 eval-design 本身不要求创建 Evolution Program。

业务方只说“专业、省心、效果更好”也可能需要本 skill;先判断当前是否在设计可靠量尺,别把普通用法问答或单次交付都升级成 eval。信息很少时,仍交付本次能确定的 claim/观察单位/判断与取证草案,逐项说明 GT 域、来源与采集方式、裁判及付薪方,并把校准者、阈值、成本或数据缺口保持为未知。下方 E0 与出生证约束正式资格;草案不能自称已过 E0,也不能拿几条业务形容词代替实际应用方法。

核心定义:一个 eval 指标到底是什么

一个 eval 指标 = 一个赌注:"这个数字的变动方向,与我们真实在乎的东西的变动 方向一致。" 它不是测量值本身,是"测量值 → 真实效用"的映射假设。假设会失效 (分布漂移)、会被破坏(优化压力)、需要验证(校准)——所以指标有生命周期。

〇、E0 资格门(建前先过——三问任一答不出即不发牌照,宪法 E0)

  1. claim 落在哪个 GT 域——同一产物的不同 claim 落在不同域(测试判得了 "符合规约",判不了"是人要的产品"),禁止拿产物整体贴单一域标签;
  2. 判定所需的新鲜 bit 在哪——已在系统可观察边界内(verifier 射程:边际 判分成本≈0、可自动重复)/ 在冻结先验里(judge 射程:便宜但有额度)/ 只在 价值主人脑中与真实后果里(必须外采)。裁判类型由 claim 的域决定,不由 预算决定;
  3. 裁判的工资谁在付——verifier=测试维护投入;judge=冻结先验额度 + calibration runway 的记账/人锚抽样成本(见出生证);价值主人=真实关系与打扰 预算。答不出付薪方=环转不久。若连 runway 都付不起,结论是缩小或不建 judge 环, 不是省掉测量后继续宣称它可持续。

E0 划的是自治上限:外部新 bit 缺位,不得宣称开放价值 claim 已全自动闭环 改善——但不否决候选生成、分诊、shadow、灰度等局部自动化。建前定资格,运行中 随 runway 持续重验。judge 联网算不算破圈 → 宪法 E0 联网三分判:查事实=真升级 / 查人群资料=换仓库的老本 / 接该用户本人历史=真破圈(破圈靠接上真值,不靠搜索动作)。

一、指标出生证契约(适用字段缺一不发牌照)

任何新指标上线前填齐基础字段;使用 judge 或其他会折旧、存在额度的裁判时, 再填额度字段;只有累计证据、持续运行的纵向 Eval 才填运行拓扑字段:

metric_birth_certificate:
  utility_claim:      # 这个数字上升,代表什么真实的东西变好?(答不出 = 拒发)
  estimator:          # 分子/分母/排除项/采样方式/judge 及其版本
  validity_bounds:    # 预注册失效条件:什么分布漂移/优化压力/judge 变化会让它失真
  roles:              # 四角色分别写明;允许兼任,但须在 role_overlap_justification 解释
    observer:         # 谁读 canonical evidence、生成测量
    domain_owner:     # 谁拥有该域规约与真相
    consumer:         # 谁据此做 keep/tune/sunset(无 consumer = 摸鱼指标,拒发)
    calibrator:       # 谁独立检查量尺/观察面可靠性
  role_overlap_justification:  # 同一主体兼任时,凭什么仍有独立性;开放价值 claim 从严
  calibration_plan:   # 多久和人工裁决/外生 ground truth 对一次表;相关性掉线阈值
  repeatability_contract:  # (v0.1 增,Sol 刀③)本指标属发现/归因/验收哪一环节;
                           # episode/环境/judge/版本如何冻结;跑几次;均值与 CI 波动
                           # 容差;哪些随机源允许变化。校准管"测得准",本件管"重测稳"。
  # 以下两项仅对使用 judge / 其他有额度裁判的环适用;纯 verifier 环不填。
  calibration_runway:      # (v0.2 增,宪法 E0)适用时必填:额度不可读成单一电量,
                           # 按向量三账估——校准账(人-judge 决策级分歧率,晋升/回滚
                           # 被翻转才算)/ 暴露账(judge/题库被用于自适应选型的轮数)
                           # / 覆盖账(分布外流量占比)。抽样两腿:随机盲抽 + 风险
                           # 定向抽;复用用户自然行为,不逼打分。仪表 consumer=守门猫。
  exhaustion_action:       # (v0.2 增,宪法 E0)与 runway 同条件必填:额度告急的
                           # 预注册动作:自动晋升降
                           # shadow / 转人工复核 / 回退简单基线。分级停止判据:决策
                           # 分歧率越过预注册阈值=单独硬停(锚级);输出多样性坍缩=
                           # gaming 调查(统计级);打不赢最低充分替代物=经济退场。
  # 以下块只对累计证据、持续运行的纵向 Eval 适用;单次交付检查不填。
  longitudinal_trigger_contract:
    trigger_policy:        # event_plus_time | time_only;不把长期 Eval 配成无兜底 event_only
    evidence_ingestion:    # canonical episode 如何进入;入库成功不等于已经运行 Eval
    early_trigger:         # 可靠事件源下,什么阈值跨越/关键事件会提前唤醒
    time_fallback:         # 最长沉默多久必须复评;time_only 必须声明最大检测延迟
    dedupe_key:            # event 与 time 同时命中时如何归并成一次窗口
    overlap_policy:        # 上一轮仍运行时,第二次触发如何 queue/coalesce/reject
    maturity_predicate:    # 什么条件说明证据窗口已成熟,可计算有效测量
    actionability_gate:    # validity、权限、校准满足什么条件,verdict 才能驱动动作

纵向 Eval 有四个时刻,禁止压成一个布尔值:证据进入只是有了原料;唤醒只是 开始运行;成熟才允许形成有效测量;可行动才允许 verdict 驱动 keep/tune/sunset。 有可靠事件源时,优先“事件早触发 + 时间防沉默”;没有可靠事件源可以诚实选择 time_only,同时写明最大检测延迟。单次交付型检查不挂这套长期机制。

二、设计自检(七公理速查——每条能一票否决)

公理自检问题否决示例
E0 资格claim 的新鲜判别 bit 在系统可观察边界内吗?裁判射程与付薪方答得出吗?外部新 bit 缺位仍称全自动闭环;verifier 射程内用 judge 糊;无 runway/exhaustion_action 或无人承担记账成本的 judge 环
E1 单位度量的是 episode(机会×行为×后果)吗?沉默入分母了吗?per-猫总分;无沉默采样的主动性指标
E2 形状非对称代价显式了吗?多维保留向量/约束了吗?单一 accuracy;跨量纲加权总分
E3 对抗observer/domain owner/consumer/calibrator 分权了吗?有外生锚吗?观测面体检过了吗?机制作者兼 observer 后又独自校准开放价值 claim;带毒管线上装仪表
E4 代谢有孵化-退役机制吗?纵向 Eval 的进入/唤醒/成熟/可行动分开了吗?多久不能不醒?把 maturity 当 scheduler trigger;只有事件触发、沉默时永久不复评
E5 回灌未验证自评会以事实身份进被测者上下文吗?叙事反馈的案例抽样冻结了吗?把 expected outcome 写成 outcome 回灌;报告人自选案例
E6 环节发现/归因/验收/改进的性质分开了吗?同批 fixture 既挑改动又验收;归因直接当梯度

E5 禁止的是事实化回灌:明确保留为 hypothesis/expectation,且下游始终按 待验证命题读取的字段可以保留;一旦改名、渲染或汇总成既成事实,仍触发否决。

三、存量体检尺(五病——按举证链定位,资产病 / 流程病分治)

对每个现存 eval 资产(telemetry、verdict 管线、守护测试、bench、fixture)按 举证链(规约→测量→归因→干预→外推)定位病灶。资产病=存量资产的慢性病, 体检尺周期查;流程病=单轮举证链的急性病,当轮牌照拦、不等慢性化(宪法附 E):

病名类型 / 链位判据检法处置
划水资产病 / 规约无 validity:与病灶正交(含代谢死亡导致的滞后正交——考卷停更,病灶已迁移)全绿期间同域生产翻车照发?最近一次抓到真问题是何时?零代谢?换题对准病灶;重启孵化-退役
污染资产病 / 测量输出错误且自信:观测面带毒/judge 共振/被磨熟抽样人工复核;proxy 与人工裁决相关性;判"分数涨效用不涨"散度先修观测面再谈其他(E3)
归因停滞流程病 / 归因竞争解释未被区分,下一轮没有新增证据当轮审。"≥3 轮同型 finding"只是报警器——须先排除干预未落地 / 环境重复触发 / 风险已显式接受三种替代解释,方可确诊停点修,回归因补关键区分实验
干预失证流程病 / 干预无因果理由 / 预期 Δ / 证伪条件 / 独立验收当轮拦:干预证牌照检查,一轮即拒补齐干预证再动手
摸鱼资产病 / 外推无 consumer:输出不驱动任何决策查最近 N 期输出 → 驱动过什么改动?零 = 摸鱼sunset(走 F192 verdict)

"能产生 loss 吗"的判据(v0.1 修正——Sol 刀①):原始信号 → metric → loss → verdict 是四级台阶,utility_claim + estimator 只走到 metric(候选指标)。升级为 可信 loss 还需五件:不确定性与重复运行容差、风险预算/决策阈值、多维代价的约束 关系、越界后消费者的具体动作、与外部裁决锚的校准结果。"漏用率 100%"若缺这五件, 只是醒目的数字,不是可优化的 loss。摸鱼 eval 大多连 metric 级都不到——utility_claim 都答不出的是仪表盘装饰。

四、干预证(v0.1 增——Sol 刀②:从"报病名"到"可信治疗")

体检报病名后、动手改之前,完整链条是:

可重放评估 → 可信 loss → 失败归因 → 关键科学问题定义 → 预注册干预假设
→ 定向改动 → 同批复测(待测机制为选材时按下文适用对照)+ 独立 holdout → verdict

归因只产出候选原因(且归因自身要审:置信度凭什么、竞争解释排除了吗——狗粮 实测过 snapshot 自报 medium 而归因文件写 0.95、证据是同一 pattern 粘贴三次的案例)。 候选原因要变成改动,必须先填干预证:

intervention_card:
  observed_loss:            # 观测到的 loss(带不确定性)
  competing_attributions:   # 竞争解释清单(不止一个才叫归因过)
  key_scientific_question:  # 哪个实验能区分竞争解释
  intervention_lever:       # 改哪个可控面/成套候选;贡献归因需要时再拆分
  causal_rationale:         # 为什么认为它是因
  expected_delta:           # 预期变化多少
  intervention_falsifier:   # 什么结果证明干预假设错了
  rubric_reopen_trigger:    # 什么结果证明尺子本身错了——外推三岔的第三岔,触发
                            # 即回规约改评分标准(宪法 E6:链是环)。诊断指纹:
                            # 系统故障带噪声,量具故障带着几何学的整洁
  replay_cohort:            # 在哪批冻结数据上重放(待测机制为选材时,冻结的是起点/来源可达范围/预算,见下文)
  holdout:                  # 独立验收集
  cost_and_rollback:        # 成本与回滚路径

我们认可的不是自动反向传播,而是:稳定测量产生 loss 向量;归因提出方向; 关键科学问题选择实验;配对干预产生局部因果梯度;裁决层决定是否应用。

整套候选是否值得与各项变化贡献多少是不同 claim。保持 owner、版本、权限与比较 条件清楚,按当前问题选比较设计;不把“一个干预”误解为“只能改一个文件”。 在干预说明中标清贡献已解、部分或未解;整套通过不自动证明某一项起效。 若待测机制是自适应选材,固定双方拿到的材料会消掉待测变化;保持起点、数据源/ 环境可达范围与独立验收条件可比,计入生成、判定和学习成本,允许实际选材不同。 比较方法版本时也计入开发与评估方法本身的成本。这不取消固定候选的同批重放, 也不改写已有项目冻结的试验;适用对照与原文入口见选材与方法研究索引。 F311 项目选好试验后回到实际学习循环 执行与接回结果,不停在干预证草稿。

五、选中机制后的落地约束(ADR-031 v3.4 执行细则)

入口(LL-095):先按 ADR-031 v3.4 §机制选择四分类判定该问题落什么机制—— 确定契约→test/guard;运行健康→observability(默认不挂 Eval Hub);不确定效用+ 明确 consumer→eval;教猫→convention/skill。同一改动多类问题按 claim 逐项选。 本节只约束已经选中的机制,不规定全局施工顺序,也不要求为未选机制填写 N/A。

  1. 若选 convention/skill:保持便宜、可逆,允许快速试错;
  2. 若选 test/lint/guard:硬化由风险 × 证据强度共同决定(v0.1 修正——Sol 刀④)。普通流程摩擦默认 门槛 = ≥2 次真实翻车(拿假想需求建门禁 = 误杀工厂);安全/鉴权/数据持久化/ 不可逆操作/外部契约域例外——一次可信事故、甚至静态证明存在缺口,即可硬化;
  3. 若选 eval:先过 E0 资格门,再填出生证契约。guard 只有在效用未知且存在 keep/tune/sunset consumer 时才配观测窗口(残余翻车数/误杀数/兜底触发数 → verdict);确定性 guard 不会因为 “它是 guard”就自动获得 eval;
  4. 跨机制依赖:eval 的传感器先过 validity check——带毒观测面上的 一切度量是精确的幻觉。

Common Mistakes

错误后果修复
无 consumer 就上指标摸鱼指标制造机出生证 consumer 门禁强制
拿"绿灯名字"当"绿灯覆盖"全绿与带病并存划水体检刀:全绿期生产翻车审计
全绿 = 健康可能是正交/磨熟/代谢死亡一级健康指标是代谢率不是通过率
观测面没体检就装仪表精确的幻觉E3:先修有毒观测面
指标失效后继续引用决策建立在死指标上validity_bounds 预注册 + 校准计划
把审计报告写成总分排行榜违反 E2/E5输出病名+处置建议,不输出分数
把成熟条件当唤醒条件(maturity ≠ invocation trigger)Eval 要么永远不醒,要么未成熟就出结论纵向触发契约拆开 ingestion/wake/maturity/actionability
observer 被当成 domain owner / consumer看见信号的人顺手垄断规约与裁决四角色显式登记;兼任写独立性理由,开放价值 claim 配独立 calibrator

和其他 Skill 的区别

Skill分工
quality-gate单次交付的自检;本 skill 管度量体系本身的设计与体检
code-as-harness摩擦→修 harness;本 skill 是它 eval 机制的设计手册
source-audit审外部 claim;本 skill 审自家指标(对内的 source-audit)
self-evolution知识沉淀通道;本 skill 产出的教训经它归档
capability-evolution进化项目的入口与续办;需要本 skill 设计量尺/归因/干预时进入,带着设计结果及真实 owner refs 返回原 Program

下一步

  • 当前工作属于 F311 Program → 返回 capability-evolution 的当前阶段,兑现设计对应的 owner 产物与下一动作;设计完成不等于评估或采用完成
  • 新指标设计完成 → 出生证入 feature doc / spec;纵向 Eval 另把触发契约与四角色写进 AC
  • 存量体检完成 → 体检报告(病名+处置)走 F192 verdict 管线(fix/keep_observe/sunset)
  • 摸出宪法级问题 → 回 docs/architecture/eval-philosophy.md 提修正案(v1 草案 已演进归档,勿再引用)
Repository
zts212653/clowder-ai
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.