W4D6 学习手册 1.作品定位2.流程图3.状态图4.测试Cases 5.指标总览6.工具成功率7.完成率8.审批准确率 9.漏判统计10.成本11.错误恢复12.README 达标①达标②自测速记

FDE W4D6 学习手册 · 作品二核心版打磨

W4 Day6 · A 级(必须掌握,面试核心)· 5h · 把"特药理赔 Agent"从能跑变成"可验收、可讲清、可演示"的面试作品

本日定位:作品二是你面试的"硬通货"。今天不写新功能,而是把它打磨成可量化、可复现、可演示的成品:流程图 + 状态归属图 + 30 个测试 Cases + 6 类评测指标 + README + 3 分钟演示。
学完能回答:① 作品二(特药理赔 Agent)的评测指标怎么设计;② 一个 Agent 失败 / 错误恢复的测试例子怎么写。
使用方法:通读 → 重点背「面试话术」「易错点」→ 做自测清单 → 配合《FDE-W4D6-评测题.md》。选中不熟的词可标注(左下★重要 / 右下📌待查)。
候选人视角:36 岁,Java + 大数据 + 医疗保险。作品二要体现你"工程落地 + 数据化思维 + 业务理解"的复合优势,而不是炫技。

一、作品二定位与验收标准

作品二的主题是「特药理赔 Agent」:用户提交特药(抗癌药等)理赔申请,Agent 完成材料抽取、用药合规校验、赔付规则计算,并在高风险节点交人工审批,最终放款并生成通知书。

1.1 为什么它是好作品

1.2 验收清单(面试前必须齐)

交付物要求
Agent 流程图端到端、标注每个节点的输入/输出/风险
状态归属图哪些状态在模型、哪些在 Checkpointer、哪些在外部系统
30 个测试 Cases覆盖正常/边界/应拒答/高风险/失败恢复
6 类评测指标工具成功率/完成率/审批准确率/漏判/成本/恢复
README能让人 10 分钟跑起来
3 分钟演示可现场讲清价值与指标
作品二的目标不是"功能最多",而是"最能体现你工程素养的那一个"。验收标准要可量化:不要说"效果好",要说"任务完成率 92%、高风险漏判率 < 1%、单任务成本 ¥0.3"。量化是区分"做过"和"做透"的关键。
作品二=特药理赔 Agent,覆盖 RAG+Agent+HITL+Trace+评测全栈,正好发挥我 Java+大数据+医疗的背景。验收要可量化:不说"效果好",说"完成率 92%、漏判率<1%、单任务 0.3 元"。
① 别把作品做成"功能堆砌",面试官看的是取舍与量化,不是功能数量。② README 没写=作品不完整,很多人栽在"代码能跑但别人跑不起来"。③ 30 个 Case 不是凑数,要覆盖失败恢复这类"难而显功力"的场景。

二、Agent 流程图(端到端)

流程图要让人一眼看懂"数据怎么流、人在哪介入、失败去哪"。

用户提交申请
   │
   ▼
[材料抽取 LLM] ──► 结构化字段(保单/药品/金额)
   │
   ▼
[RAG 合规校验] ──► 用药是否在医保目录/特药清单 (knowledge_version)
   │
   ▼
[规则引擎] ──► 金额计算 + 黑名单/超额判断
   │
   ├── 低风险 + 高置信 ──► 自动通过
   │
   └── 高风险 ──► [human.approval 中断] ──► 人通过/驳回/改额
                                   │
                                   ▼
                            [执行放款(幂等键)]
                                   │
                                   ▼
                            [生成通知书 + 答复]
   │
   ▼ (任何一步失败)
[错误恢复 / 降级 / 转人工坐席]
画图要点:① 每个节点标注"输入→输出";② 明确标出 human.approval 中断点;③ 画出失败/降级分支;④ 标注用到的版本与工具名(呼应 Trace 字段)。建议用 draw.io / Mermaid 画,导出 PNG 放进 README。
流程图的价值是"沟通"——让非技术面试官也能看懂你的系统边界。工程上它还是故障排查的地图:出问题照着图逐节点看 Trace,效率远高于盲查。
流程图要标清每节点输入输出、human.approval 中断点、失败降级分支、版本与工具名。它既是给面试官看的"地图",也是自己排错的参照。用 Mermaid/draw.io 画,PNG 进 README。
① 图里别漏"失败分支",只画 happy path 显得考虑不周。② human.approval 的位置画错(画在放款之后)是严重逻辑错误。③ 节点命名要和代码/评测一致,否则图与实现两张皮。

三、状态归属图:谁拥有什么状态

状态归属图说明每个状态存在哪、由谁修改、丢失了怎么办,是可靠性设计的"说明书"。

状态归属丢失后果恢复手段
对话/任务状态LangGraph Checkpointer (PostgreSQL)可从中断恢复thread_id 读快照
模型生成的中间结论内存/Checkpoint重算重跑节点
外部系统结果(医保/放款)外部服务/DB需对账查询 + 幂等重放
人工审批结果审批系统 + Checkpoint需人重审审批记录回写
评测/Trace 数据Langfuse / 数仓仅观测丢失不影响主流程
状态归属 = 易失(内存) + 持久(Checkpointer/DB) + 外部(第三方) ;关键原则:副作用状态必须持久且幂等
状态归属图体现代码素养:能分清"哪些丢了能重算、哪些丢了要出事"。它直接回答面试官"你的系统挂了会怎样"——挂了但 Checkpointer 在,就能从中断恢复;挂了且外部已放款但状态没记,才是真事故(靠幂等+对账兜底)。
状态归属图讲清"每个状态存哪、谁改、丢了咋办"。对话状态在 Checkpointer(可恢复),外部结果在第三方(需对账+幂等),审批结果在审批系统。它回答"系统挂了会怎样"——Checkpointer 在就能恢复。
① 把"外部系统结果"当成"自己内存里的状态"是常见 bug,会导致重复调用第三方。② 状态归属不清时,恢复逻辑最容易写出竞态。③ 评测/Trace 数据丢失不影响主流程,但不要因此不备份——它是你复盘的唯一证据。

四、30 个 Agent 测试 Cases 设计

测试集要结构化、分类覆盖、带标签,才能既当评测集又当回归集。

类别数量示例关注指标
正常通过8材料齐全、用药合规、金额合规完成率、工具成功率
应拒答/拒赔5药品不在目录、材料缺失无法判断拒答准确率
高风险审批5超大额、用药冲突审批触发准确率
边界值4金额=阈值、知识库临界匹配完成率
工具/检索失败4医保接口超时、检索 0 命中错误恢复
失败恢复4中断恢复、幂等防二次放款恢复测试
Case 结构建议{id, 输入, 期望输出/动作, 标签, 难度, 参考Trace}。标签让指标可下钻(如只统计"高风险"类的审批准确率)。难度分 P0/P1/P2,P0 必须 100% 过。
30 个 Case 的设计哲学是"覆盖失败比覆盖成功更重要"。面试官见过太多"只测 happy path"的玩具。你特意列出"工具失败/失败恢复"类,恰恰证明你有生产系统思维——这是 Java/大数据背景的自然体现。
30 个 Case 分六类:正常8/拒答5/高风险审批5/边界4/工具失败4/失败恢复4。每个带 id、输入、期望、标签、难度。重点是"失败恢复"类——覆盖 happy path 谁都会,覆盖中断恢复和幂等才显功力。
① Case 不要全是高置信正常样本,那指标虚高没意义。② 期望输出要可判定(结构化字段比对),别写"模型答得合理"这种不可自动化评判的。③ 失败恢复类 Case 必须能真实触发中断+恢复,不能只 mock 成功。

五、评测指标体系(6 类)

工具调用成功率 · 任务完成率 · 人工审批触发准确率 · 高风险漏判率 · 单任务成本 · 错误恢复通过率
指标定义目标方向
工具调用成功率工具被正确调用且返回可用 / 总调用越高越好
任务完成率端到端达成目标的 case / 总 case越高越好
人工审批触发准确率该审的审了 / 该审的越高越好(误触发也计错)
高风险漏判率高风险却未拦截 / 高风险总数越低越好(安全红线)
单任务成本平均每次任务花费(模型+人工)越低越好(保质量下)
错误恢复通过率注入故障后能正确恢复 / 故障 case越高越好
指标设计要"成对":有"完成率"就要有"漏判率",有"成本"就要保"质量"。只看完成率会被"凡是拿不准就转人工"刷高——所以必须同时看审批触发准确率与漏判率,防止"宁可错杀"或"宁可漏放"。
六大指标:工具成功率、任务完成率、审批触发准确率、高风险漏判率、单任务成本、错误恢复通过率。关键是成对看——完成率高但漏判率也高就是"凡是拿不准就转人工"刷分,必须同看。

六、工具调用成功率

Agent 的"手"是工具。工具调用成功率衡量模型有没有选对工具、参数对不对、工具返回是否可用

6.1 拆解

工具调用成功率 = (选择对 ∩ 参数对 ∩ 返回可用) 的调用数 / 总工具调用数
工具成功率是 Agent 可用性的地基。它低通常是两个原因:① prompt/工具描述写不清导致模型选错;② 参数校验缺失导致调用失败。工程上要把"工具 schema 描述"当 API 文档写,并用低 T 保证参数稳定。
工具成功率=选对工具∩参数对∩返回可用。低通常是工具描述不清(模型选错)或参数校验缺失。要把工具 schema 当 API 文档写,低 T 保参数稳定。
① 只算"调用没报错"会虚高——返回 200 但结果是空/错的也算失败。② 参数合法性要在调用前校验,别等工具报 500。③ 不同工具难度不同,总体成功率要能按 tool_name 下钻。

七、任务完成率

任务完成率是最直观的"端到端有效性"指标:case 是否达成了用户目标(正确赔付/正确拒赔/正确转人工)。

结果算完成吗说明
正确自动通过低风险且结论对
正确拒赔应拒答且拒了(也是"完成")
正确转人工高风险且转了(交给人也是完成)
错误赔付/错误放过漏判,严重
卡死/超时未达成
注意"正确转人工"也算完成——Agent 的职责是"把对的案子处理好、把不对的交给人",不是"什么都自己扛"。这正好呼应 HITL 设计哲学。完成率要和漏判率、成本一起看。
任务完成率看"是否达成目标":正确通过、正确拒赔、正确转人工都算完成。Agent 不必什么都自己扛,把不对的转人工也是完成。完成率要配合漏判率与成本一起看。
① 把"转人工"全当失败会低估系统,也会误导你去掉必要 HITL。② 完成率要可分难度/类别看,总体 90% 可能难 case 只有 50%。③ 避免用"模型自己说完成了"当判定,要客观比对期望结果。

八、人工审批触发准确率

衡量 HITL 闸门是否"该拦才拦":既不要漏拦高风险,也不要滥拦低风险。

审批触发准确率 = 触发审批且确实该审的 / 所有确实该审的(召回视角) 误触发率 = 触发审批但不该审的 / 所有触发审批的(精度视角)
这是 HITL 的健康度指标。医疗场景里"漏拦的代价 >> 滥拦的代价",所以召回优先于精度,但也不能无限滥拦(成本和疲劳)。面试时要说清这个权衡,并显示你设了双指标而非单指标。
审批触发准确率看"该审的是否审了"(召回)和"拦的是否真该拦"(精度)。医疗里漏拦代价远大于滥拦,所以召回优先,但也不能无限滥拦(成本+疲劳)。要双指标一起看。
① 只报"准确率"不区分召回/精度,会掩盖"全转人工=100%召回但精度崩"的问题。② 漏拦是安全红线,要在报告中单列并设上限。③ 触发条件变更后要重新跑高风险类 Case 验证召回不降。

九、高风险漏判样本统计

高风险漏判 = 本应拦下/拒赔的高风险案,却被错误放行。这是安全红线指标,要专门统计与复盘。

9.1 统计方法

9.2 漏判样本复盘

漏判原因改进
RAG 未召回关键条款补知识、调召回/重排
规则引擎漏判补规则、加单测
模型置信度虚高降阈值/加校验
审批触发条件过宽收紧触发规则
漏判统计把"安全"变成可管理数字。它和审批触发准确率互补:准确率是"闸门整体健康",漏判率是"最坏情况发生频次"。面试时如果能展示"漏判率从 3% 降到 0.5% 的具体改法",非常有说服力。
高风险漏判=本该拦却放了,是安全红线。从测试集筛高风险 case 算漏判率(目标<1%),并对每个漏判样本复盘根因(RAG 漏召回/规则漏/置信度虚高/触发过宽)再改。能展示"漏判从3%降到0.5%"最加分。
① 漏判率不能只算总数,要分原因统计,否则改不动。② 漏判样本要进回归集,防止修复后复发。③ 别为降漏判无脑全转人工——那违反 HITL 初衷且成本爆炸。

十、单任务成本

单任务成本 = 平均每次用户任务的总花费,含模型 + 检索 + 工具 + 人工审批人力。

单任务成本 = (Σ token 成本 + 工具调用费 + human.approval 等待×人力单价) / 任务数
成本指标让作品"有商业感"。面试官(尤其 FDE 这种偏落地/咨询的角色)很看重你能把技术翻译成"老板算得清的账"。单任务成本要和完成率绑定看——降成本不能牺牲质量。
单任务成本=(模型token+工具+人工审批人力)/任务数。人工这块常被忽略:审批触发率×等待×人力单价。优化靠降检索片段、换小模型、降审批触发率。成本和完成率要绑定,不能牺牲质量换便宜。
① 不算人工审批成本会严重低估,尤其高触发率场景。② 成本要分位数(p50/p95),平均会掩盖少数超贵任务。③ 优化成本时务必同看质量指标,避免"省了钱、错了案"。

十一、错误恢复测试

错误恢复测试是主动注入故障,验证系统在中断、重试、幂等下仍正确。

故障注入验证点期望
审批中进程重启Checkpointer 恢复从中断点续跑,不重跑已完成
恢复时网络重试幂等键只放款一次
LLM 超时退避重试≤3 次后降级
工具调用失败重试+降级转人工/备用,不卡死
审批超时最大执行时间自动驳回/升级
一个失败恢复测试例子(面试必讲):Case R-03"中断后二次恢复导致二次放款"。注入:在 human.approval 通过后、放款前杀掉进程。期望:重启后用同 thread_id 恢复,执行节点校验幂等键 claim_id:approval_id 未消费→放款→标记消费;再次模拟网络重试恢复→键已消费→返回"已处理",绝不二次放款。该 Case 验证 Checkpointer+幂等键双保险。
错误恢复测试是作品"工程含金量"的分水岭。多数候选人只测功能正确,你测"故障下仍正确",直接对应 W4D4 的可靠性四件套。这把"我会用 LangGraph"升级成"我能交付生产级 Agent"。
错误恢复测试主动注入故障:进程重启看 Checkpointer 恢复、网络重试看幂等防二次放款、LLM 超时看退避、工具失败看降级、审批超时看升级。必讲 Case R-03:中断后二次恢复不能二次放款,验证 Checkpointer+幂等键双保险。
① 恢复测试不能只 mock 成功路径,要真杀进程/真重试。② 幂等键测试要验证"重复调用返回已处理"而非"重复执行"。③ 恢复后状态必须和"无故障"时一致,否则恢复也算失败。

十二、README 与 3 分钟演示

12.1 README 结构

# 特药理赔 Agent
## 1. 背景与价值(一段话)
## 2. 快速开始(环境/依赖/一条命令跑起来)
## 3. 架构图(流程图 + 状态归属图)
## 4. 评测指标与结果(六指标 + 表格)
## 5. 测试 Cases 说明(30 个,分类)
## 6. 错误恢复测试(含 R-03 例子)
## 7. 已知限制与后续

12.2 3 分钟演示脚本

  1. 0:00-0:30 背景:特药理赔的痛点(高风险、需合规、需人审)。
  2. 0:30-1:30 跑一个正常 case:材料→合规→规则→自动通过,展示 Trace。
  3. 1:30-2:15 跑一个高风险 case:触发 human.approval,人改额后通过。
  4. 2:15-2:45 展示评测面板:六指标数字 + 漏判率红线。
  5. 2:45-3:00 收尾:差异化优势=Java工程+大数据可观测+医疗domain。
README 和演示是"作品的可访问性"。再好的系统,别人跑不起来、你讲不清楚,面试价值减半。演示要"先讲价值、再秀能力、最后亮数字",让非技术面试官也能 get 到。
README 要让人 10 分钟跑起来,含背景/快速开始/架构图/六指标/Case 说明/恢复测试/限制。3 分钟演示:背景→正常case→高风险审批→评测数字→差异化优势。先价值、再能力、最后数字。
① README 缺"快速开始"=作品不完整,面试官可能直接弃看。② 演示别从头讲技术细节,先讲"解决什么问题、省了多少钱/降了多少风险"。③ 演示要能现场跑,别只放录屏——录屏像背稿,现场跑显真功。

十三、面试达标线①:作品二的评测指标设计

指标定义为何重要
工具调用成功率选对∩参数对∩返回可用 / 总调用Agent 可用性地基
任务完成率达成目标 case / 总 case(含正确转人工)端到端有效性
审批触发准确率召回(该审审了)+精度(拦的对)HITL 健康度
高风险漏判率高风险却放行 / 高风险总数安全红线 <1%
单任务成本(模型+工具+人工)/任务数商业可算账
错误恢复通过率故障注入后正确恢复 / 故障 case生产级可靠性
指标设计六件套:工具成功率(地基)、完成率(端到端)、审批触发准确率(闸门健康,双指标)、高风险漏判率(安全红线)、单任务成本(商业感)、错误恢复通过率(生产级)。关键是成对看、分场景下钻、设红线。

十四、面试达标线②:一个 Agent 失败 / 错误恢复的测试例子

  1. 选例子:推荐讲 Case R-03"中断后二次恢复导致二次放款"(覆盖最全)。
  2. 注入故障:human.approval 通过后、放款前杀进程;随后因网络抖动触发重复恢复调用。
  3. 期望行为:同一 thread_id 恢复→Checkpointer 读快照从断点续跑→执行节点校验幂等键未消费→放款并标记消费;重复恢复→键已消费→返回"已处理",绝不二次放款。
  4. 验证点:① 状态不丢(Checkpointer);② 副作用只一次(幂等键);③ 恢复后终态与无故障一致。
  5. 可拓展:再加 LLM 超时退避、工具失败降级、审批超时升级,构成完整恢复测试矩阵。
必讲 Case R-03:审批通过后放款前杀进程+重复恢复。验证 Checkpointer 恢复状态 + 幂等键防二次放款。恢复后终态须与无故障一致。这把"会用 LangGraph"升级成"能交付生产级 Agent"。

十五、W4D6 自测清单

十六、高频面试题速记卡

Q:作品二为什么选特药理赔 Agent?
它天然需要 RAG+Agent+HITL+Trace+评测,覆盖 FDE 全栈,且能发挥我 Java+大数据+医疗的复合背景。
Q:评测指标为什么要"成对"看?
只看完成率会被"拿不准就转人工"刷高;必须同看漏判率、审批准确率、成本,防止单指标作弊。
Q:任务完成率里转人工算完成吗?
算。Agent 职责是"对的办好、不对的交人",正确转人工也是完成,不算失败。
Q:审批触发准确率怎么算?
双指标:召回=该审的审了;精度=拦的真该拦。医疗里漏拦代价远大于滥拦,召回优先。
Q:高风险漏判率目标多少?
安全红线,目标<1%(尽量 0)。要分原因统计并让漏判样本进回归集。
Q:单任务成本为啥要算人工?
审批触发率×等待×人力单价常被忽略;成本和完成率要绑定看。
Q:错误恢复测试怎么测?
主动注入故障(重启/重试/超时/工具失败),验证 Checkpointer 恢复+幂等+降级。
Q:必讲的恢复 Case 是哪个?
R-03:审批后放款前杀进程+重复恢复,验证幂等键防二次放款,恢复终态须一致。
Q:README 最不能缺什么?
"快速开始"——让人 10 分钟跑起来,否则作品不可访问、面试价值减半。
Q:3 分钟演示结构?
背景价值→正常case→高风险审批→评测数字→差异化优势。先价值、再能力、最后数字。
FDE W4D6 学习手册 · 作品二核心版打磨(面试级)· 配合《FDE-W4D6-评测题.md》自测
延伸学习资源(中文 / 非 OpenAI):
① RAGAS(Agent / LLM 评测):docs.ragas.io——提供 answer_correctness、faithfulness、context_precision 等自动化评测指标,可接入你的 30 个 Case 做批量打分。
② Langfuse(Trace 可视化与评测):langfuse.com——把六类评测指标做成在线看板,错误恢复测试的 Trace 也能直接回放复盘。
📌 待查★ 重要