跳转到内容
NovelForge 知识库完整参考

NovelForge Evals · 评测系统

NovelForge 严格区分 deterministic invariant 与 semantic quality judgment。

NovelForge 严格区分 deterministic invariantsemantic quality judgment

flowchart LR
C[Eval Case] --> T{Judge Type}
T -- deterministic --> D[Code Assertions]
T -- rubric --> Q[Blind Semantic Queue]
T -- hybrid --> D
D -->|preconditions pass| Q
Q --> W[Independent Reviewer]
W --> B[Fingerprint-bound Result]
B --> R[Eval Runner]

Deterministic runner 永远不能假装 regex/heuristic 等价于文学判断。

  • regression:保护已知 failure mechanism;只有当前 release path 有真实 deterministic/semantic baseline 时才可作为 release blocker。
  • capability:验证 Framework 能识别或实现目标 mechanism。
  • infrastructure:验证 schema、authority、files、routing 与 runtime contract。

只跑代码断言,适合 lifecycle、schema、file、authority、idempotency、exact fixture property。

必须有真正 independent semantic judgment。缺失 judgment = PENDING_MODEL,绝不伪造 PASS。

先跑 deterministic precondition,再跑 semantic rubric。

Semantic case 文件可以保存 hidden expected 用于 eval scoring;build_judge_queue.py 会生成独立 blind queue,把 expected/gold/release label 全部剥掉后才交给 reviewer。

Regression bad example 是 eval fixture,不进入 first-pass Writer context。

Normal CI:

  • 验证 eval manifest/cases;
  • 运行 deterministic release blockers;
  • build blind semantic queue;
  • 验证 hidden expected label 没有泄漏;
  • 需要时可验证明确 versioned、人工/独立 reviewer 已审 baseline。

Reviewed baseline 是证据索引,不是模型输出validate_semantic_acceptance.py 会重新生成当前 blind typed jobs,并要求每个 case 的 current fingerprint 与独立 reviewer 已审 PASS provenance 精确匹配。rubric、fixture 或 output contract 只要造成 fingerprint 变化,旧 baseline 就立即失效,必须重新进行独立评审。Baseline 永远不会给 run_evals.py 注入 judgment。

Normal CI 不会静默调用付费或 login-bound model。

Blind queue 先通过 Harness semantic router 变成 typed semantic jobs,再交给 eligible independent runtime。Result 做 fingerprint binding,最后由 run_evals.py 评分。

Terminal window
python evals/run_evals.py --release
python evals/build_judge_queue.py --output /tmp/semantic-queue.json
python evals/run_evals.py --judgments reviewed-results.json --json
python evals/validate_semantic_acceptance.py validate

v7 初始 suite 覆盖:

  • Surface Fundamentals;
  • Reader Engagement;
  • Character / semantic ownership;
  • Canon / Plan boundary;
  • Corpus rights boundary;
  • Project SDK / Framework hygiene;
  • Semantic runtime integrity。

Suite 会从用户拒绝证据、Corpus research、Framework changes 与新 capability gap 中持续增长。