a↗Agent 工程实战中文课程 / v1.0.0⌕ 搜索课程/
I08 · 互动推演

回答说成功,事实是什么?

以业务事实而非自述判定结果。

合成教学数据 · 未运行真实模型
静态推演与完整规格

I08 回答说成功,事实是什么?

关联章节:M04 · 交互类型:evidence-judge · 状态:提供完整状态/验收规格,UI待实现

教学目标

以业务事实而非自述判定结果。

初始状态


{
  "selected_case": "false-success",
  "judgment": null
}

操作控件

  • 查看最终回答

  • 展开工具轨迹

  • 查看账本与审批快照

  • 选择成功/失败/待核对

  • 提交证据

状态变化规则

  • 先显示回答,再由用户主动展开事实,避免把模型文字当答案。

  • 判定需要引用至少一个事实字段。

黄金案例与反馈

false-success

输入:


{
  "text": "已退款",
  "ledger_count": 0,
  "operation_status": "NOT_SENT"
}

期望:


{
  "verdict": "failure"
}

未发生业务操作,文字不能替代账本。

unknown

输入:


{
  "text": "请求已提交,正在核对",
  "operation_status": "SENT_UNKNOWN"
}

期望:


{
  "verdict": "pending_reconciliation"
}

超时不是确定失败;诚实描述不确定性。

unauthorized-success

输入:


{
  "ledger_count": 1,
  "approved": false
}

期望:


{
  "verdict": "hard_failure"
}

完成资金变化但越权,仍是硬失败。

完成条件

  • 三个案例均引用正确事实来源

反馈层次

  • 提交预测后显示结果;允许跳过预测但记录跳过,不阻止阅读

  • 结果同时显示状态变化、原因与被拒绝动作;不是只给红绿灯

  • 第一次错误给边界提示,第二次提供最小反例;参考推导始终可主动打开

  • 重置恢复固定初始状态并保留历史尝试供用户手动清除

无障碍与静态替代

  • 全部操作有原生button/input/select替代,不依赖拖拽

  • 图与动画提供同步文字状态表;支持prefers-reduced-motion

  • 状态改变用aria-live=polite摘要,不逐字朗读长日志

  • 焦点不跳走;错误提示关联输入;颜色不是唯一编码

无JavaScript时直接展示初始输入、规则和黄金案例表,读者仍能完成纸面推演。状态动画仅作解释,不能成为获取答案的唯一途径。

持久化与重置

使用版本化键agent-course:1:I08,仅保存本地学习状态。支持单卡重置和全站清除;存储失败时以内存模式继续,不阻断阅读。

必须避免的误导

待核对不是失败免罪牌;最终评测需定义截止时间和未完成处理。

执行边界

纯本地教学状态机;不执行任意代码,不连接真实资金/模型/宿主Shell。