Skip to main content
这是进阶内容。如果你只想快速跑通一次评估,先看快速上手:评估一个 Skill。
日常评估只需要已安装的 comet eval 和用户级 .env,不需要 clone Comet 源码。只有修改评测框架本身或复现历史实验时,才需要拉取源码。
comet eval 是 Comet 的通用 Skill 评估入口。 它先回答一个核心问题:你当前的 Skill 能否在真实任务中稳定通过评估,并成为可发布的产品能力。 本页分两部分:
  1. 先看自己的 Skill 怎么被评估:入口、任务、评分、报告和失败归因。
  2. 再看 /comet-any 如何把 eval 结果接入发布 readiness。

从这里开始

评估输出

日常使用只要关注任务和结果。 comet eval 已经封装了 pytest、任务发现、profile、实验条件(treatment,用于定义本轮注入哪些 Skill 做对照)、Docker 以及本地评测框架启动细节。 你可以直接在项目根目录运行评估。

两套评估系统,不要混淆

Comet 有两套评估系统,名字相近但完全不同: comet eval 回答的是“这个 Skill 作为产品能力能否通过评估”,它会通过共享 eval harness 执行真实模型任务。 comet skill check 回答的是“这次 Skill 运行是否缺文件或状态”,只检查运行期检查项,不跑模型。 详见 Runtime check。

小鱼把 comet eval 的发布证据桌面和 comet skill check 的 Run 完成度桌面分开,并举牌提醒不要混用

comet eval 产出发布前证据,comet skill check 只检查某次 Skill 运行是否完整,两者不要混用

第一部分:自己的 Skill 怎么被评估

从用户视角,comet eval 做四件事:
  1. 找到你的 Skill。
  2. 找到应该跑哪些评估任务。
  3. 在隔离环境里让模型执行任务,并用校验器检查结果。
  4. 生成报告,告诉你通过、失败原因和下一步。

入口怎么选

comet eval [target] 会根据 target 自动判断入口。 传目录或 SKILL.md 走 skill-path。 传 comet/eval.yaml 走 manifest。 也可以用 --skill-path 或 --manifest 显式指定,但二者互斥。 传目录时会自动发现 manifest。 若没有 manifest,普通运行会从 Skill 快照生成并缓存 2–4 个受限任务。 --quick 才会固定成 generic-skill-smoke 冒烟任务。 --skill-name 默认从目录名推断。 这条路径不要求 comet/eval.yaml,也不要求 clone Comet 仓库,因为 npm 包自带 eval harness。
直接评估本地 Skill 不等于发布评估。--quick 只验证”Skill 能被注入、被调用、产出文件”。普通运行会生成与 Skill 内容相关的受限任务。发布 readiness 需要评估 /comet-any 生成的完整包(带 comet/eval.yaml)。

先运行 collect

collect 是成本最低的排错入口。 它只做发现和预检查,不执行模型或 Docker 任务。 这一步最适合先排查路径、manifest、任务缓存和配置问题。
它主要回答:
  • comet/eval.yaml 路径是否正确
  • eval harness 是否能读到这个 manifest
  • manifest 里的推荐任务是否能被发现
  • 当前仓库的 eval 依赖路径是否可用
collect 不启动模型评估。失败时先修复 manifest、路径或任务发现问题。

comet/eval.yaml 清单格式

comet/eval.yaml 是发布前完整评估的清单。它告诉 eval harness:Skill 在哪里、用哪个 profile、推荐跑哪些任务、期望哪些 evidence 和 artifacts。它的格式由评测框架解析:
apiVersion 和 kind 是强校验:不等于 comet.eval/v1alpha1 / comet.eval/SkillEvalManifest 会直接报错。日常使用大多不需要手写这个文件,/comet-any 会生成。
/comet-any 生成的 eval.yaml 默认使用 authoring-skill profile。 普通 workflow-kernel 一般推荐 generic-skill-smoke、authoring-skill-smoke 和 workflow-route-conformance。 基于 /comet 的 overlay 会额外推荐 workflow-overlay-contract 与经典 Comet workflow 任务,用于检查 Output Schema、预期 evidence 和 overlay 路由。

Profile

eval harness 内置三个 profile,每个决定 rubric 维度、默认交互模式和评分器: Profile 解析优先级:--profile 覆盖 > manifest 的 skill.profile > task 的 evaluation.profile > generic。
maxTurns 不是 Agent 内部消息数或工具调用数。它只在 auto_user 模式下生效,限制”被测 Agent 跑到决策点 -> 用户模拟器回复 -> 被测 Agent 用 —resume 继续”这种外层往返最多发生多少次。
comet-* 开头的任务或 metadata.category=comet 的任务会自动推断为 comet-workflow profile,并自动把交互模式切到 auto_user(两个 Agent 自动交互:一个跑被测 Skill,另一个模拟用户在决策点回复)。

评分指标:rubric + pass@k/pass^k

eval 是指标驱动的评测,不只给通过/失败:
  • rubric 多维评分:把 Skill 质量拆成多个维度(例如五阶段的 main_flow/gate_guard、通用 Skill 的 safety_boundary),每维度 0.0–1.0,最后加权汇总为 weighted_score。它只用于诊断,不作为门禁。
  • pass@k / pass^k:分别表示能力上限(k 次里至少成功一次)和可靠性下限(k 次全部成功)。它们基于重复运行统计,同样用于诊断。
  • 任务校验器通过/失败:判断这次实现到底对不对(target_artifacts + test_scripts)。这才是决定 pass/fail 的硬结果。
完整的维度细则、权重、公式、双 Agent 交互循环见评分指标与双 Agent 评测。

Task

eval harness 内置一组任务,每个任务是一个目录(含 instruction.md、task.toml、environment/、validation/)。常见任务: recommended 是 CLI 的默认解析路径。 使用 --manifest 时,它读取 manifest 里的 recommendedTasks。 没有 manifest 时,它读取各 task 的 default_treatments。 它不是一个具体任务名。

skill-path 默认入口跑什么

传一个本地 Skill 目录时,普通运行会根据 Skill 快照生成并缓存受限任务。需要固定的 quick smoke 时,显式使用 --quick:
它验证:
  • Skill 目录是否可读取
  • eval harness 是否能把它当作动态 Skill 注入
  • 通用 smoke task 是否能跑起来并产出 result.md
这是评估自有 Skill 的默认入口,轻量但真实。 但它不等于发布前完整证据。 发布 readiness 需要评估 /comet-any 生成的完整包(含 comet/eval.yaml)。

第二部分:/comet-any 如何连接 eval

/comet-any 负责创建或优化 Skill,comet eval 负责验证这个 Skill 是否能被 eval harness 发现、运行并产出报告。两者的连接点是生成物里的 comet/eval.yaml 和评估后的 Eval evidence。 处理顺序:
comet eval 本身不负责发布。 发布动作仍由 creator / publish 命令处理。 创建与恢复状态看 comet creator。 发布与分发看 comet publish。 eval 的职责是提供发布前证据。

推荐路径:评估 /comet-any 生成的 Skill

当 /comet-any 生成了 Skill 后,优先找这个文件:
然后按两步跑:
第一步 collect 只确认”能不能发现任务”,适合刚生成完 Skill 后做低成本预检查。第二步 run --html 才执行真实评估并生成可浏览报告。

Eval 结果如何进入 publish readiness

/comet-any 或 creator / publish 后端记录 Eval 结果后,会把证据并入 publish readiness。 对用户来说,最关键是两点:
  1. comet eval 产出的结果会成为 Publish readiness: 的证据来源。
  2. 当前 hash 缺少 Eval 证据时,User next steps: 必须先指向补齐评估,并暂停发布。
常见顺序是:
comet creator next 只输出当前推荐的一条用户命令。 comet publish review 会展示 Publish readiness:、User next steps:、Readiness:、Blockers:、Warnings: 和 Evidence:。

/comet-any 如何使用 eval 结果

从用户视角,eval 结束后把结果交回 /comet-any 继续推进即可。/comet-any 会把 eval 证据纳入 readiness: 用户不需要手工编辑内部状态,也不应该手工把报告路径写进 JSON。/comet-any 会通过后端记录结构化证据。

常用顺序

  1. 使用 comet eval ./your-skill 评估本地 Skill 目录。
  2. 发布 /comet-any 产物时,评估包含 comet/eval.yaml 的完整包。
  3. 先 collect,再 run --html。
  4. /comet-any 生成物会把 eval 结果接入发布 readiness,但 eval 本身不是发布动作。
  5. comet eval 用于创建期评估。comet skill check 用于运行期检查。

下一步

最后修改于 2026年9月4日