Skip to main content
Coding Agent 可以用命令行完成一次清楚的反馈闭环:阅读安装版本的文档,运行 Experiment,读取最后的 receipt,用 receipt 的 runIds 查看结果,再修改程序或评估用例并重新运行。

先读取安装版本的文档

NiceEval 把中文文档发布在 npm 包的 docs-site/zh/ 目录,并在包根提供供 Coding Agent 使用的 INDEX.md。Coding Agent 应先读取 node_modules/niceeval/INDEX.md,再从索引进入当前任务需要的页面,不依赖训练数据或其它版本的在线示例。这样可以保证 API、CLI 与安装版本一致。 npx niceeval init 会初始化配置,并把一段托管指引写进项目的 AGENTS.md。如果项目只有 CLAUDE.md,则写入 CLAUDE.md。两份文件都不存在时,新建 AGENTS.md。升级 NiceEval 后再运行一次 init,即可刷新托管区块。 托管指引把“编写源码”和“证明某次运行发生了什么”分开:前者当然可以读取 evals/agents/ 等项目源码;后者只使用 niceeval show 及其公开证据切片。不要扫描 .niceeval/ 原始文件,也不要拿当前源码反推历史执行。公开切片缺少必要证据时,应报告 NiceEval 的呈现缺口。 给 AI 的起始任务可以直接写成:
这样 Agent 使用的文档与项目安装的版本一致。

运行并保留 receipt

--json 的每一行都是当前进程反馈。progress 与 diagnostic 只说明这次运行正在发生什么。最后恰好一条 receipt 包含:
Agent 应把最后一条 receipt 当作本次调用的交接信息。它不是持久化的结果协议;业务事实仍要通过 runIds 从已发布的 Record 读取。

用 Run ID 查看结果

运行结束后,先读取 Run 的 Report:
showview 选择 Sample,投影需要的 RecordAttachment,并形成固定的 ReportExecution。Agent 应区分以下状态:

修改后再次运行

让 Agent 每次只处理一个可验证假设:修改程序或评估用例,运行相同范围,再读取新的 receipt 和 Run。需要确认所有 slot 真实执行时使用:
自动采用已有 Attempt 时,--dry 会说明原因。carry 与 accept 的理由位于目标 Run 的 niceeval.membership-provenance/v1 RecordAttachment;详情见重跑与沿用

Record 的边界

Record 只保存已发布的事实,发布后不可修改。Agent 需要不同结果时修改程序或评估用例,运行新的 Invocation,再用新 receipt 的 runIds 查看。 需要把某次结果交给他人时,使用发布静态报告,而不是把当前进程反馈当作分享格式。