Skip to main content
comet eval 是独立的 Skill 评估入口。你可以直接评估已有的本地 Skill,不需要先运行 /comet-any,也不需要预先创建 comet/eval.yaml

最短路径

target 可以是 Skill 目录、直接的 SKILL.md,或 comet/eval.yaml。传入目录时,Comet 会自动发现其中的 manifest;没有 manifest 时,普通运行会在受限快照上自动生成 2–4 个任务,不会改写 Skill 源文件。
  • --collect 只做静态发现和配置检查,不启动 Agent、Docker、插件、凭据或网络请求。
  • --quick 使用固定的 generic-skill-smoke 任务,适合早期冒烟。
  • --html 同时生成 Markdown 和 HTML 报告。
  • 报告和运行状态默认写入 Skill 或 --project 指定项目下的 .comet/eval/runs/
如果 Skill 位于另一个项目中,可以显式指定包含 eval harness 的项目根目录:

用户级 .env 配置

已发布的 Comet CLI 不需要用户拉取源码。把配置文件放在现有用户级 Eval 自定义目录旁:
主任务(Bench)和 LLM-as-judge 使用独立的模型、地址和凭据:
当前进程环境变量优先于 .env;CLI 选项和 manifest 又优先于环境变量。Claude Code、Codex、CodeBuddy 会把通用配置映射到各自的原生配置;Codex 使用隔离的运行时 config.toml;Qoder 只使用其官方支持的认证和服务地址配置。显式的 Agent 原生变量优先于通用 fallback。 安全边界:Eval 不会把 API key 写入发布包、manifest、报告或 Skill 工作区。Docker 运行 Agent 时,Codex、Qoder、CodeBuddy 使用容器内独立的临时配置根;Codex 的 config.toml 只引用环境变量,CodeBuddy 的 settings.json 只使用 apiKeyHelper,实际密钥只存在于本次容器进程环境中,运行结束后销毁。

任务选择

任务按以下优先级选择:显式 --task--quick、manifest 中的 evaluation.tasksrecommendedTasks,最后才是自动生成的任务。自动生成的任务会按 Skill 快照、Agent 和评估配置缓存,后续运行可以复用。 需要稳定验收条件时,可以在 comet/eval.yaml 中写 inline task:
也可以用 source 引用 Skill 包内带有 task.tomlinstruction.md 的任务包。inline task 支持文件、文本、JSON 和命令检查;任务的工作区和期望产物必须留在允许的 Skill 包或评估工作区内。

选择评估 Agent

默认 Agent 是 claude-code,也可以选择 codexqodercodebuddy
主 Agent 和 LLM-as-Judge 可以分别设置:
CLI 选项优先于 manifest。启用 Judge 时,需要为 Judge 提供独立模型和凭据;它不会继承主 Agent 的凭据。 自定义 Agent 必须先注册适配器,不会因为可执行文件位于 PATH 就自动发现。适配器目录为:
注册后,通过同一个选项选择它:

选择评估套件

local 是默认套件,适合本地开发和 HTML 报告。需要团队追踪时,可以选择已有的 LangSmith 套件:
需要把任务轨迹、评分和实验摘要同步到 Langfuse 时,使用 beta18 新增的 Langfuse 套件:
Langfuse 套件会继续生成本地报告。--collect --suite langfuse 不初始化 SDK、不联网,也不会下载插件。

常用选项

如何看结果

运行前,CLI 会打印 target、suite、任务、Experiment 和报告路径。报告会区分 harnessworkflowtaskmodel 归因:
  • harness:依赖、Docker、路径或环境问题;
  • workflow:Skill 流程没有达到预期;
  • task:任务定义或验收条件有问题;
  • model:模型行为或调用不稳定。
comet eval 评估 Skill 的产品能力;comet skill check 只检查某次 Skill Run 是否满足 runtime checks,两者用途不同。

下一步

最后修改于 2026年8月13日