comet eval 是 Comet 的通用 Skill 评估入口。它先回答一个问题:你手里的 Skill,作为一个产品能力,能不能通过真实任务评估?
这篇概览分两块:
- 先看自己的 Skill 怎么被评估:入口、任务、评分、报告和失败归因。
- 再看
/comet-any如何把 eval 结果接入发布 readiness。
从这里开始
它解决什么问题
日常使用不需要理解 pytest、task registry、profile、treatment 或 Docker 细节。comet eval 封装了本地 eval harness 的启动路径、任务发现、profile 选择和报告生成,让你从项目根目录就能跑评估,而不是手工切到 eval/ 目录拼命令行参数。
两套评估系统,不要混淆
Comet 有两套评估系统,名字相近但完全不同:comet eval 回答”这个 Skill 作为产品能力能不能通过评估”,通过共享 eval harness 执行真实模型任务。comet skill check 回答”这次 Skill 运行是否缺文件或状态”,只检查运行期检查项,不跑模型。详见 Runtime check。

comet eval 产出发布前证据,comet skill check 只检查某次 Skill
运行是否完整,两者不要混用
第一块:自己的 Skill 怎么被评估
从用户视角,comet eval 做四件事:
- 找到你的 Skill。
- 找到应该跑哪些评估任务。
- 在隔离环境里让模型执行任务,并用校验器检查结果。
- 生成报告,告诉你通过、失败原因和下一步。
入口怎么选
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。
为什么先 collect
collect 是用户最便宜的排错入口。它只做发现和预检查,不执行模型或 Docker 任务,适合快速发现路径、manifest、任务缓存和配置问题。
comet/eval.yaml路径是否正确- eval harness 是否能读到这个 manifest
- manifest 里的推荐任务是否能被发现
- 当前仓库的 eval 依赖路径是否可用
comet/eval.yaml 清单格式
comet/eval.yaml 是发布前完整评估的清单。它告诉 eval harness:Skill 在哪里、用哪个 profile、推荐跑哪些任务、期望哪些 evidence 和 artifacts。它的格式(由 harness 的 manifests.py 解析):
/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 次全部成功)。基于多次重复运行(
--count N)算。信息性。 - 任务校验器通过/失败:这次实现到底对不对(
target_artifacts+test_scripts)。这才是硬判定的 pass/fail。
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
/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。用户需要知道的只有两点:
comet eval产出的结果会成为Publish readiness:的证据来源。- 当前 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 会通过后端记录结构化证据。
用户最少需要记什么
comet eval的核心问题是:这个 Skill 作为产品能力能不能通过真实任务评估。- 任意本地 Skill 目录都能用
comet eval ./your-skill跑通 Docker 评估;要发布时再评估/comet-any生成的完整包(带comet/eval.yaml)。 - 先
collect,再run --html。 /comet-any生成物会把 eval 结果接入发布 readiness,但 eval 本身不是发布动作。comet eval(创建期)和comet skill check(运行期)是两套系统,不要混用。
下一步
- 评分指标与双 Agent 评测 — rubric 维度细则、pass@k/pass^k、双 Agent 交互循环
- Eval harness — 理解 collect 和 run 的内部机制、环境变量和报告生成
- 读取评估报告 — 学会看懂报告信号和失败归因
- Runtime check — 区分
comet eval和comet skill check - comet eval 命令 — 完整选项和子命令参考

