# FDE W4D6 评测题 · 作品二核心版打磨

> 配套手册：`FDE-W4D6-作品二核心版打磨-学习手册.html`
> 候选人背景：36 岁，Java + 大数据 + 医疗保险。作品二主题：「特药理赔 Agent」。
> 题量：13 题（L1 基础 ×4 / L2 进阶 ×4 / L3 深度 ×3 / L4 场景 ×2）
> 用法：先口头/书面作答，再展开 `<details>` 对照参考答案，按评分维度自评。

---

## L1 基础（概念识别）

### Q1. 你的作品二（特药理赔 Agent）解决什么业务问题？覆盖哪些 FDE 考点？
- **考察点**：作品定位与考点映射。
- **评分维度**：① 业务痛点（高风险、需合规、需人审）；② 覆盖 RAG/Agent/HITL/Trace/评测；③ 与自身背景（Java+大数据+医疗）的结合。
- **达标关联**：达标线① 前置。

<details>
<summary>参考答案</summary>

特药理赔 Agent 解决"大额、高风险、需合规、需人审"的理赔自动化问题。它覆盖 FDE 全栈考点：RAG（用药合规知识库）、Agent（编排）、HITL（人工审批）、Trace（可观测）、评测（六指标）。结合我 Java 工程能力、大数据（Trace 聚合）和医疗保险 domain，体现复合优势。

</details>

### Q2. 作品二要交付哪些"验收物"？
- **考察点**：作品完整性认知。
- **评分维度**：① 流程图；② 状态归属图；③ 30 个测试 Cases；④ 6 类评测指标；⑤ README；⑥ 3 分钟演示。缺一项即不完整。

<details>
<summary>参考答案</summary>

六类验收物：Agent 流程图（端到端+失败分支）、状态归属图（状态存哪/丢了怎么办）、30 个结构化测试 Cases（六类分布）、6 类评测指标（成功率/完成率/审批准确率/漏判/成本/恢复）、README（10 分钟可跑）、3 分钟演示脚本。

</details>

### Q3. 30 个测试 Case 分哪几类？各多少？
- **考察点**：测试集设计。
- **评分维度**：① 六类（正常8/拒答5/高风险审批5/边界4/工具失败4/失败恢复4）；② 强调"失败恢复类"的重要性；③ Case 带标签与难度。

<details>
<summary>参考答案</summary>

六类：正常通过 8、应拒答/拒赔 5、高风险审批 5、边界值 4、工具/检索失败 4、失败恢复 4。每个 Case 带 id、输入、期望、标签、难度（P0 必过）。重点是"失败恢复类"——覆盖 happy path 谁都会，覆盖中断恢复和幂等才显生产思维。

</details>

### Q4. 什么是"状态归属图"？为什么需要它？
- **考察点**：状态与可靠性认知。
- **评分维度**：① 说明每类状态存哪（Checkpointer/外部/内存）；② 丢了怎么办；③ 它回答"系统挂了会怎样"。

<details>
<summary>参考答案</summary>

状态归属图说明每个状态存在哪、由谁修改、丢失后果与恢复手段。如对话状态在 Checkpointer（可恢复）、外部结果在第三方（需对账+幂等）、审批结果在审批系统。它体现可靠性设计：挂了但 Checkpointer 在就能恢复，挂了且外部已放款但状态没记才是真事故。

</details>

---

## L2 进阶（指标理解）

### Q5. 请列出作品二的 6 个评测指标并各给一句定义。
- **考察点**：指标记忆。
- **评分维度**：① 工具调用成功率；② 任务完成率；③ 审批触发准确率；④ 高风险漏判率；⑤ 单任务成本；⑥ 错误恢复通过率。定义基本正确。

<details>
<summary>参考答案</summary>

① 工具调用成功率=选对∩参数对∩返回可用/总调用；② 任务完成率=达成目标 case/总 case（含正确转人工）；③ 审批触发准确率=召回(该审审了)+精度(拦的对)；④ 高风险漏判率=高风险却放行/高风险总数；⑤ 单任务成本=(模型+工具+人工)/任务数；⑥ 错误恢复通过率=故障注入后正确恢复/故障 case。

</details>

### Q6. 为什么评测指标要"成对"看？举一个单看会被刷高的例子。
- **考察点**：指标权衡意识。
- **评分维度**：① 指出只看完成率会被"拿不准就转人工"刷高；② 必须同看漏判率、审批准确率、成本；③ 防止单指标作弊。

<details>
<summary>参考答案</summary>

只看任务完成率会被"凡是拿不准就全转人工"刷到很高，但这样失去 Agent 价值且成本爆炸。所以要成对看：完成率配漏判率（安全）、配成本（商业）、配审批准确率（HITL 健康）。任何单一指标都可能被策略性作弊抬高，需指标组合互相约束。

</details>

### Q7. 任务完成率里"正确转人工"为什么算完成？
- **考察点**：HITL 哲学理解。
- **评分维度**：① Agent 职责是"对的办好、不对的交人"；② 正确转人工是正确决策；③ 反例：把转人工全当失败会误导去掉必要 HITL。

<details>
<summary>参考答案</summary>

Agent 的职责是"把对的案子处理好、把不对的转给人"，正确转人工本身就是正确决策，应算完成。把转人工全当失败，既低估系统，也会误导你去去掉必要的 HITL，反而增加风险。完成率要分难度/类别看，避免总体虚高掩盖难 case 差。

</details>

### Q8. 审批触发准确率为什么要分"召回"和"精度"两个视角？
- **考察点**：HITL 闸门健康度。
- **评分维度**：① 召回=该审的审了（防漏拦）；② 精度=拦的真该拦（防滥拦）；③ 医疗场景漏拦代价>>滥拦，召回优先；④ 单报"准确率"会掩盖全转人工问题。

<details>
<summary>参考答案</summary>

召回=该审的审了（防漏拦安全事故），精度=拦的真该拦（防滥拦致疲劳/成本）。医疗场景漏拦代价远大于滥拦，召回优先；但也不能无限滥拦。只报一个"准确率"会掩盖"全转人工=召回100%但精度崩"的问题，必须双指标。

</details>

---

## L3 深度（指标设计与恢复）

### Q9. 如何统计"高风险漏判率"？发现漏判后怎么改进？
- **考察点**：安全红线指标。
- **评分维度**：① 从测试集筛高风险标签 case；② 算漏判数/总数，目标<1%；③ 分原因复盘（RAG漏召回/规则漏/置信虚高/触发过宽）；④ 漏判样本进回归集。

<details>
<summary>参考答案</summary>

从测试集筛"高风险"标签 case（用药冲突、超额、黑名单），统计其中被自动放行/错误赔付的数量=漏判数，漏判率=漏判数/高风险总数，目标<1%。分原因复盘：RAG 未召回→补知识/调召回；规则漏→补规则；置信虚高→降阈值；触发过宽→收紧规则。每个漏判样本进回归集防复发。

</details>

### Q10. 单任务成本怎么算？为什么"人工审批"也要计入？
- **考察点**：成本指标。
- **评分维度**：① 公式(模型+工具+人工)/任务数；② 人工=触发率×等待×人力单价，常被忽略；③ 分位数(p50/p95)；④ 与完成率绑定看。

<details>
<summary>参考答案</summary>

单任务成本=(Σ token 成本+工具调用费+human.approval 等待×人力单价)/任务数。人工审批常被忽略：高触发率×长等待×人力单价可能占大头。成本要看 p50/p95 分位数（平均掩盖少数超贵任务），且必须和完成率绑定，降成本不能牺牲质量。

</details>

### Q11. 错误恢复测试怎么做？请设计一个故障注入矩阵。
- **考察点**：可靠性测试设计。
- **评分维度**：① 主动注入故障而非 mock 成功；② 矩阵覆盖：进程重启(Checkpointer)、网络重试(幂等)、LLM超时(退避)、工具失败(降级)、审批超时(升级)；③ 验证恢复终态与无故障一致。

<details>
<summary>参考答案</summary>

主动注入故障（真杀进程/真重试，非 mock 成功）：① 审批中进程重启→Checkpointer 恢复；② 恢复网络重试→幂等键防二次放款；③ LLM 超时→退避≤3 次后降级；④ 工具失败→重试+降级转人工；⑤ 审批超时→自动驳回/升级。每个验证"恢复后终态与无故障一致"，否则恢复也算失败。构成完整恢复测试矩阵。

</details>

---

## L4 场景（作品讲述）

### Q12. 请完整讲述作品二的评测指标设计（结合特药理赔举例）。
- **考察点**：达标线① 综合讲述。
- **评分维度**：① 六指标完整；② 每指标结合理赔例子（如漏判=把用药冲突的案子放了）；③ 成对看、分场景、设红线；④ 体现量化思维（给示例数字）。

<details>
<summary>参考答案</summary>

六指标：工具成功率（医保接口调对）、任务完成率（正确通过/拒赔/转人工都算）、审批触发准确率（召回+精度，用药冲突必拦）、高风险漏判率（把用药冲突案错放=红线，目标<1%）、单任务成本（含人工审批）、错误恢复通过率。举例：某版漏判率 3%→排查是 RAG 漏召回关键条款→补知识后降到 0.5%。成对看：完成率 92% 但漏判率 3% 不可接受，必须同压。

</details>

### Q13. 请讲述一个 Agent 失败/错误恢复的测试例子（Case R-03）。
- **考察点**：达标线② 必讲例子。
- **评分维度**：① 选 R-03"中断后二次恢复导致二次放款"；② 注入：审批后放款前杀进程+重复恢复；③ 期望：同 thread_id 恢复→Checkpointer 读快照→幂等键未消费才放款→重复恢复返回已处理，绝不二次放款；④ 验证点：状态不丢+副作用一次+终态一致；⑤ 可拓展到完整矩阵。

<details>
<summary>参考答案</summary>

Case R-03：在 human.approval 通过后、放款前杀掉进程，并模拟网络抖动触发重复恢复调用。期望：同一 thread_id 恢复，Checkpointer 读快照从断点续跑；执行节点校验幂等键 claim_id:approval_id 未消费→放款并标记消费；重复恢复→键已消费→返回"已处理"，绝不二次放款。验证三件事：状态不丢（Checkpointer）、副作用只一次（幂等键）、恢复终态与无故障一致。这把"会用 LangGraph"升级成"能交付生产级 Agent"。

</details>

---

## 评分汇总表

| 层级 | 题号 | 主题 | 满分(自评分) | 关键失分点 |
|------|------|------|------|------|
| L1 基础 | Q1 | 作品定位 | /5 | 未联背景 |
| L1 基础 | Q2 | 验收物 | /5 | 缺 README/演示 |
| L1 基础 | Q3 | Case 分类 | /5 | 漏失败恢复类 |
| L1 基础 | Q4 | 状态归属图 | /5 | 未答"挂了咋办" |
| L2 进阶 | Q5 | 六指标 | /10 | 定义错 |
| L2 进阶 | Q6 | 成对看 | /10 | 未举刷高例 |
| L2 进阶 | Q7 | 转人工算完成 | /10 | 误当失败 |
| L2 进阶 | Q8 | 召回/精度 | /10 | 未提召回优先 |
| L3 深度 | Q9 | 漏判统计 | /10 | 未分原因 |
| L3 深度 | Q10 | 单任务成本 | /10 | 漏人工成本 |
| L3 深度 | Q11 | 恢复测试矩阵 | /10 | 只 mock 成功 |
| L4 场景 | Q12 | 指标设计讲述 | /15 | 无例子/无数字 |
| L4 场景 | Q13 | R-03 恢复例子 | /15 | 未提幂等/终态 |

**总分**：/130

### 达标线
- **达标线①（40 分）**：Q1~Q5 + Q12 能完整讲清作品二的 6 类评测指标设计，且每个指标能结合特药理赔举例、体现"成对看/分场景/设红线"的量化思维。
- **达标线②（40 分）**：Q11 + Q13 能讲清错误恢复测试的故障注入法，并完整讲述 Case R-03（中断+二次恢复不二次放款），说清验证了 Checkpointer+幂等键双保险与终态一致性。
- **总分 ≥ 90 / 130** 视为本日达标；L4 两题任一并达到 12/15 视为具备"作品讲述"能力。
