2.3 KiB
2.3 KiB
Candidate Comparison(V9)
候选比较是服务器计算产物,Agent 只负责解释与引导,不负责产生候选、分数或范围。
1. 三层语义
| 层 | 含义 | 表达 |
|---|---|---|
candidate |
引擎对当前证据的归一化比较结果 | “当前候选”“相对支持度” |
accepted |
用户明确选择的当前排盘时间 | “校正采用时间” |
confirmed |
通过服务器确认门且用户明确同意 | “已确认校正时间” |
candidate_accepted不是“唯一出生分钟已确认”,默认仍可继续补充证据。- accepted 后用户仍可在同一批有效候选中改选(幂等 RPC 支持)。
- confirmed 只能由服务器确认门 + 用户明确同意触发,同时写
completed_at。
2. 何时提供候选
- 只有
rectification-offer-candidates返回selection_allowed=true时才展示候选。 - 继续收集证据时不得边追问边提供采用。
- 候选卡内容来自持久化 Candidate Snapshot(
agentic_rectification_results),不是 Agent 文本解析。 - 候选卡拥有时间、排名、相对支持度、采用动作与选中状态;Agent 正文不得重复表格、编号菜单或选择提示。
3. 表达边界
- 相对支持度是候选间归一化比较,不是概率、统计置信度或确定性。
- 不暴露原始分数、内部权重、贡献矩阵、技术层名称、隐藏分钟证据或第二候选簇。
- 候选范围必须说明“待核对边界”,不得表述为已确认出生分钟。
- 外部验证状态按服务器字面读取:
not_evaluated表示未调用(入口门未就绪),不是“调用了但失败”。
4. 证据变化与重算
- 只有 evidence 发生有效变化才重新评分;相同 evidence 指纹 + 引擎版本复用缓存。
- 普通澄清轮不运行分钟扫描;相同范围即使再次计算也不重复播报。
- 出生资料基线变化 →
needs_rebaseline,旧候选失效;不得静默继续用旧结果。 needs_rebaseline下不引用旧候选、不提供采用。
5. 保存边界
- accepted 写入
active_birth_time,保留reported_birth_time原填报,不写兼容birth_time。 - confirmed 同样保留原填报;不自动写入,需要用户明确同意。
- 失败、空流、Skill 未加载或未完成必要工具链时不保存、不扣费。