FDE W3D6 学习手册 · 作品一打磨
W3 Day6 · A 级(必须掌握,作品交付)· 4h · 学完能讲透"企业保险知识库作品一怎么包装成可交付、可面试的工程资产"
本日定位:前面学的是知识点,W3D6 是把作品一(企业保险知识库 RAG)打磨成"能进简历、能讲 30 分钟、能扛深挖"的交付物。重点在 README / 架构图 / 数据流图 / 选型 ADR / NFR 基线 / 评测报告 / 失败案例 / 演示。
学完能回答:① 作品一(企业保险知识库)的架构图和选型 ADR 怎么写;② 一个真实失败案例及修复过程(准备一个可信的例子)。
使用方法:通读 → 重点看「工程含义」「面试话术」「易错点」→ 做自测清单 → 配合《FDE-W3D6-评测题.md》。选中不熟的词可标注(左下★重要 / 右下📌待查)。
参考资源:Dify 文档 docs.dify.ai(对比低代码知识库方案);RAGFlow GitHub(infiniflow/ragflow,选型对比与深度文档解析)。
一、作品一总体定位:企业保险知识库 RAG
作品一是一个面向保险业务的企业级 RAG 问答系统:把保险条款、特药目录、理赔规则等文档建成可检索知识库,结合向量检索 + ES + Rerank + LLM 生成,对外提供"特药理赔/条款咨询"问答,要求可审计、可拒答、防越权。
| 维度 | 作品一设定 |
| 业务域 | 医疗保险 / 特药理赔 / 保险条款咨询 |
| 核心能力 | 准确检索 + 忠实生成 + 引用可溯 + 无答案拒答 + 角色 ACL |
| 技术栈 | ES(BM25) + 向量库 + Rerank + LLM + 自研编排(Java/Python) |
| 交付物 | README / 架构图 / 数据流图 / 选型 ADR / NFR 基线 / 评测报告 / 演示视频 |
作品一 = 一个企业级保险 RAG 问答系统,核心不是"能答",而是"答得准、可追溯、该拒拒、防越权"。交付时要能讲清架构、选型理由、失败修复和量化效果——这是 FDE 作品考察的本质。
作为有 Java + 大数据背景的候选人,作品一最好的卖点是"工程落地能力":你不是调个 prompt,而是搭了一套可观测、可降级、有评测闭环的系统,并能用保险合规语言讲清价值。面试官最吃这套。
二、README 怎么写(第一印象)
README 是面试官打开仓库第一个看的,要让人 3 分钟看懂"这是什么、解决什么、亮点在哪"。结构建议:
- 一句话定位 + 业务背景:企业保险知识库 RAG,解决条款咨询难、理赔误答风险高。
- 核心特性:准确检索、引用溯源、无答案拒答、角色级 ACL、评测闭环。
- 架构图 + 快速开始:本地起服务的最小步骤、环境变量。
- 效果数据:评测指标(Faithfulness、拒答准确率、引用准确率)+ 对比基线。
- 目录说明 + 关键模块:检索、编排、评测各在哪。
- 已知限制 + Roadmap:诚实写不足(如多模态文档解析待优化)。
加分项:在 README 顶部放一张架构缩略图 + 一张"优化前 vs 优化后"的指标对比表。面试官懒得读全文,看图和表就决定要不要深挖。
README 让人 3 分钟看懂:定位一句话 + 核心特性 + 架构图 + 效果数据 + 快速开始 + 目录 + 已知限制。顶部放架构缩略图和指标对比表最抓人。
① README 别写成"流水账教程",要突出业务价值和量化效果,否则和培训班作业没区别。② 别只贴代码截图,要有架构图和设计决策。③ "已知限制"要写,写限制显专业、显诚实,比假装完美更可信。
三、架构图设计(面试必问)
架构图要体现数据流向 + 关键组件 + 可靠性设计,而不是堆名词。建议分层:
文档接入 → 解析/切分 → 双写索引(ES + 向量) → 查询路由 → Query优化 → 混合检索 → Rerank → 生成(含引用/拒答/ACL) → 评测闭环
| 层 | 组件 | 职责 |
| 接入层 | 文档解析(含 RAGFlow 深度解析) | PDF/Word/表格 → 结构化 chunk |
| 索引层 | ES(BM25)+ 向量库(双写) | 关键词 + 语义双索引 |
| 检索层 | 查询路由 + Query 优化 + 混合检索 + Rerank | 召回相关 chunk 并排序 |
| 生成层 | LLM 编排(引用/拒答/ACL 校验) | 生成可审计答案 |
| 评测层 | 数据集 + 指标看板 + Trace | 回归与迭代 |
架构图讲清"数据怎么从文档流到答案、可靠性设计在哪":接入→解析→双写(ES+向量)→Query优化→混合检索→Rerank→生成(引用/拒答/ACL)→评测闭环。分层画比堆名词更显专业。
画图时用不同颜色区分"在线链路"和"离线/评测链路",并标出每个环节的降级点(如 Rerank 挂了降级纯向量、Query 优化挂了降级原 query)。面试官看到降级点会立刻觉得"这人真做过生产"。
① 架构图别只画"成功路径",要体现降级、缓存、评测、监控这些生产要素,否则像 demo。② 别把 RAGFlow/Dify 当黑盒画一个框了事——要说明你用它的哪部分(如 RAGFlow 的文档解析)、自研哪部分。③ 图要和你的实际代码一致,面试官会顺着图问实现。
四、数据流图设计(端到端可追溯)
数据流图聚焦"一次问答里数据如何流动、状态如何记录",强调可追溯:
- 请求:用户问句 + 角色/权限上下文进入网关。
- ACL 前置:校验角色是否有权查该类文档(越权直接拒)。
- Query 优化:Rewrite +(必要时)Multi-Query/Decomposition。
- 检索:ES + 向量混合召回 → Rerank → topK,记录每个 chunk 的 doc_id/chunk_id/分数。
- 生成:LLM 基于 context 生成,输出答案 + citations + should_refuse。
- 后校验:引用校验、拒答校验、敏感词/越权校验。
- 落 Trace:全链路记录(query、各路分数、引用、拒答、耗时、成本)。
在保险场景下"可追溯"是硬要求:每一条答案都能从 Trace 反查"用了哪些 chunk、Rerank 分数多少、为什么拒答",出事能定责。数据流图要把 Trace 落点画出来。
数据流图 = 一次问答中数据如何流动且全程可追溯:请求→ACL前置→Query优化→混合检索(Rerank,记来源)→生成(答案+引用+拒答)→后校验→落Trace。关键要把"来源标记"和"Trace"画进图。
五、选型 ADR(架构决策记录)
ADR(Architecture Decision Record)= 记录"当时为什么这么选、考虑了哪些备选、后果是什么"。面试能讲 ADR 直接证明你有决策思维。每个关键选型写一条 ADR:
| ADR 要素 | 内容 |
| 背景/问题 | 为什么需要这个决策(如"检索方案选型") |
| 候选方案 | 列出 2~3 个(自研 / Dify / RAGFlow 等) |
| 评估维度 | 准确率、可控性、成本、合规、团队栈匹配 |
| 决策 | 最终选了什么 |
| 后果/权衡 | 得到什么、放弃了什么、后续风险 |
示例 ADR:为什么检索用"ES + 向量混合"而非纯向量? 背景:保险条款含大量精确条款号/病名/药品编码,语义向量易把"相似但不同"的条款混淆。候选:纯向量 / 纯 ES / 混合。决策:混合(ES 保精确术语命中,向量补语义)。后果:召回更稳,但要多维护一个索引、Rerank 复杂度上升——可接受。
ADR 记录"为什么这么选、备选是什么、权衡是什么"。面试讲 ADR = 证明你有决策思维。示例:检索选"ES+向量混合"而非纯向量,因为保险条款有精确编码,纯向量易混淆相似条款;代价是多维护索引,可接受。
① ADR 不是"列优点",必须写放弃的备选和后果,否则像站台稿。② 别为"用热门技术"而用——要和业务约束挂钩(合规、团队 Java 栈、成本)。③ 决策要可辩护:面试官会问"为什么不用 Dify 低代码省事?"你要有理有据。
六、NFR 基线表(非功能需求基线)
NFR(Non-Functional Requirement)是面试区分"demo"和"生产"的关键。建立可量化基线:
| 维度 | 基线目标 | 说明 |
| 延迟 P95 | 问答 ≤ 3s | 检索+生成端到端,含 Query 优化 |
| 准确率 | Faithfulness ≥ 0.92 | 基于 50 条测试集 |
| 拒答准确率 | F1 ≥ 0.90 | should_refuse 子集 |
| 引用准确率 | ≥ 0.95 | 真实存在且支持 |
| 可用性 | 99.5% | 检索/生成各自降级 |
| 并发 | ≥ 50 QPS | 保险咨询高峰 |
| 成本 | 单问答 ≤ X token | 含 Query 优化调用 |
| 合规 | ACL 拦截率 100% | 越权查询零泄露 |
NFR 基线 = 把"好用"量化成延迟/准确率/可用性/并发/成本/合规指标。有基线表说明你按生产标准做,不是玩具。保险尤其看重合规(ACL 拦截率)和准确率基线。
NFR 不是写完就完,要和评测闭环联动:每次迭代看 P95 延迟、单问答成本有没有涨,防止"为提准确率堆调用把成本打爆"。这是大数据背景候选人的天然优势——你懂成本和吞吐权衡。
七、评测报告(作品一的质量证据)
评测报告是作品一"可信"的证明,结构(详见 W3D5):概览 / 分层指标 / 分类型细分 / 典型 bad case / 结论。在作品一里要能讲:
- 基线 vs 优化后:如 Faithfulness 0.82 → 0.94、拒答 F1 0.71 → 0.91。
- 分类型短板:多跳题弱 → 加 Decomposition;拒答弱 → 调阈值。
- bad case 回流:失败样本补进 50 条测试集。
评测报告 = 作品一的质量证据:基线 vs 优化后指标对比 + 分类型短板 + bad case 回流。能拿出"Faithfulness 从 0.82 到 0.94"这种数字,比说"效果很好"有力百倍。
八、真实失败案例与修复(面试高光)
准备一个真实可信的失败案例,结构:现象 → 根因 → 修复 → 验证。示例:
案例:特药报销比例"张冠李戴"
现象:用户问"奥希替尼报销比例",答案给的是" CAR-T 疗法定向药 80%",实际奥希替尼条款是 60%,且引用指向了错误 chunk。
根因:①检索阶段两药条款语义相近,纯向量把 CAR-T 条款排到了前面;②生成阶段无引用校验,模型"凑引用"把不相关 chunk 标上;③Multi-Query 合并后丢了来源标记。
修复:Ⅰ 检索改混合(ES 精确命中"奥希替尼"病名/编码)提升该 chunk 排名;Ⅱ 加 Rerank 并按来源加权;Ⅲ 生成后做引用校验(二次判定 chunk 是否支持 claim),剔除/纠正错位引用;Ⅳ 多路召回合并强制保留 chunk_id 来源。
验证:该 case 在测试集标为 regress case,回归后引用准确率从 0.86 → 0.97,同类"相似药混淆"case 全部通过。
失败案例 = 现象→根因→修复→验证四段。高光话术:别只讲成功,讲"我曾把奥希替尼比例答成 CAR-T 的,根因是纯向量混淆相似药 + 无引用校验,修复用混合检索+Rerank+引用校验,回归后引用准确率 0.86→0.97"。
① 案例要真实可信、细节到位(具体药名、具体指标),编造会被深挖戳穿。② 要体现"你定位根因"而非"调参碰运气"——面试官看重排查思路。③ 必须讲验证(回归测试),否则显得没闭环。
九、3 分钟演示设计(讲清楚价值)
3 分钟演示要先价值后细节:
- 0:00-0:30 痛点:保险条款咨询误答风险高、人工成本高 → 作品解决什么。
- 0:30-1:30 跑通:现场问一个特药理赔问题,展示答案 + 引用可点开 + 无答案时拒答。
- 1:30-2:30 硬核:展示架构图一句带过,重点放"评测指标对比表"和"失败案例修复前后"。
- 2:30-3:00 收尾:讲 NFR 基线和落地价值(误答下降、可审计)。
3 分钟演示先讲痛点价值(30s),再跑通展示引用+拒答(1min),然后放评测对比表和失败修复(1min),最后讲 NFR 和落地价值(30s)。别从头讲代码。
十、技术栈对比:Dify / RAGFlow / 自研
| 方案 | 优势 | 劣势 | 适用 |
| Dify(低代码) | 上手快、可视化编排、内置知识库 | 深度可控性差、定制 Query 优化/ACL 受限、黑盒难调 | 快速验证/POC |
| RAGFlow | 深度文档解析强(表格/版式)、开箱 RAG | 整体编排与业务系统集成需改造、定制化成本 | 文档解析重的场景 |
| 自研编排 | 完全可控、可嵌入 ACL/评测/降级、贴合 Java 栈 | 开发成本高、需自己踩坑 | 生产级、合规要求高 |
作品一决策示例:用 RAGFlow 承担"深度文档解析"(保险条款多表格/扫描件),自研 Java 编排层负责检索融合、ACL、Query 优化、评测闭环;Dify 仅作内部 POC 对比参考。既借力开源解析,又保核心可控。
选型对比:Dify 低代码快但可控差;RAGFlow 文档解析强适合表格/扫描件;自研可控但成本高。作品一可"RAGFlow 做解析 + 自研做编排/ACL/评测",借力不盲从。
① 别为了"显得厉害"全自研——要讲清哪里借力开源、哪里必须自研(如 ACL/合规必须自己控)。② 提 Dify/RAGFlow 要真用过、说得出细节(如 RAGFlow 的 chunk 方法),否则像背名词。③ 选型要呼应 ADR,前后一致。
十一、简历怎么呈现作品一
- 一句话成果:主导搭建企业保险知识库 RAG 系统,特药理赔问答 Faithfulness 0.94、拒答 F1 0.91、引用准确率 0.97。
- 技术关键词:ES+向量混合检索、Rerank、Query 优化、引用溯源、角色 ACL、评测闭环(RAGAS/LangSmith)。
- 量化价值:误答率下降 X%、人工咨询成本下降 Y%、可审计合规通过。
- 角色:明确你负责模块(检索编排 / 评测 / 拒答与 ACL),别全揽也别全推。
简历作品一:一句话成果(Faithfulness 0.94/拒答 F1 0.91/引用 0.97)+ 技术关键词 + 量化价值(误答降 X%、成本降 Y%)+ 明确你的负责模块。用数字说话。
十二、作品打磨常见坑
- README 像教程无业务价值 → 补定位/特性/效果数据/架构图。
- 架构图只画成功路径 → 补降级/缓存/评测/监控。
- ADR 只列优点不写权衡 → 补备选方案与后果。
- 失败案例编造 → 用真实细节 + 根因 + 验证。
- 评测只有最终准确率 → 分层 + 分类型 + bad case 回流。
- 选型背名词 → 讲清用过哪部分、细节。
- NFR 没基线 → 建延迟/准确率/成本/合规量化表。
- 简历全揽功劳 → 明确个人负责模块,可深挖。
十三、面试达标线①:架构图 + 选型 ADR 怎么写
13.1 架构图
文档接入 → 解析/切分 → 双写(ES+向量) → Query优化 → 混合检索 → Rerank → 生成(引用/拒答/ACL) → 评测闭环
要点:分层(接入/索引/检索/生成/评测)、在线与离线分开画、标出降级点与 Trace 落点;图要与代码一致。
13.2 选型 ADR
每条 ADR 含:背景/问题、候选方案(2~3 个)、评估维度、决策、后果/权衡。示例:检索选"ES+向量混合"而非纯向量,因为保险条款有精确编码,纯向量易混淆相似条款;代价是多维护索引——可接受。
架构图讲清分层与降级、Trace 可追溯;ADR 讲清"为什么选、备选是谁、放弃什么"。两者都体现生产级思维和决策能力,是作品一最常被深挖的两块。
十四、面试达标线②:一个真实失败案例及修复
结构:现象 → 根因 → 修复 → 验证。以"特药比例张冠李戴"为例:
- 现象:奥希替尼问比例,答成 CAR-T 的 80%,引用错误 chunk。
- 根因:纯向量混淆相似药;生成无引用校验;多路召回丢来源标记。
- 修复:检索改混合(ES 精确命中病名/编码)+ Rerank 加权 + 生成后引用校验 + 多路合并保留 chunk_id。
- 验证:标为回归 case,引用准确率 0.86→0.97,同类全部通过。
失败案例高光 = 现象(具体药名/指标)→ 根因(定位到检索+生成两层)→ 修复(混合检索+Rerank+引用校验+来源保留)→ 验证(回归指标提升)。细节真实、有闭环,面试官最爱听。
十五、W3D6 自测清单
- 能一句话讲清作品一(企业保险知识库 RAG)的定位与核心能力。
- 能写出 README 的标准结构,并说出顶部该放什么抓人。
- 能画出架构图的分层(接入/索引/检索/生成/评测)并标出降级点与 Trace。
- 能画出数据流图,讲清 ACL 前置、来源标记、后校验、落 Trace。
- 能写出一条完整 ADR(背景/候选/维度/决策/后果),并以检索选型为例。
- 能列出 NFR 基线表的 6+ 维度(延迟/准确率/拒答/引用/可用性/成本/合规)。
- 能讲出评测报告结构与"基线 vs 优化后"的量化对比。
- 能讲出一个真实失败案例(现象→根因→修复→验证)且细节可信。
- 能设计 3 分钟演示的节奏(痛点→跑通→硬核→价值)。
- 能对比 Dify / RAGFlow / 自研,并说明作品一如何借力开源又保可控。
- 能讲清达标线①(架构图+ADR)与达标线②(失败案例修复)。
十六、高频面试题速记卡
Q:作品一的架构图画什么?
分层(接入/索引/检索/生成/评测),在线离线分开,标降级点和 Trace 落点。讲清数据从文档流到答案、可靠性在哪。
Q:什么是 ADR?为什么面试要讲?
架构决策记录:背景/候选/维度/决策/后果权衡。讲 ADR 证明你有决策思维,不是只会调包。
Q:为什么检索用 ES+向量混合而不是纯向量?
保险条款有精确编码/病名,纯向量易把"相似但不同"条款混淆;ES 保精确命中,向量补语义。代价是多维护索引。
Q:失败案例怎么讲才可信?
现象(具体药名/指标)→根因(定位到具体层)→修复(对症)→验证(回归指标提升)。细节真实、有闭环,别编造。
Q:Dify / RAGFlow / 自研怎么选?
Dify 低代码快但可控差;RAGFlow 文档解析强;自研可控但贵。作品一可 RAGFlow 做解析+自研做编排/ACL/评测。
Q:NFR 基线为什么要建?
把"好用"量化成延迟/准确率/成本/合规指标,区分 demo 和生产;并和评测闭环联动防成本打爆。
Q:3 分钟演示怎么排?
痛点价值(30s)→跑通展示引用+拒答(1min)→评测对比表+失败修复(1min)→NFR与落地价值(30s)。先价值后细节。
Q:简历里作品一怎么写?
一句话成果(量化指标)+技术关键词+量化价值(误答降X%/成本降Y%)+明确个人负责模块。用数字说话。
Q:为什么引用会张冠李戴?怎么治?
多路召回丢来源标记+生成无引用校验"凑引用"。治:合并保留chunk_id+生成后引用校验(二次判定chunk是否支持claim)。
Q:架构图只画成功路径有什么问题?
像 demo 不像生产。要体现降级、缓存、评测、监控,并标出每个环节降级点,才显真做过生产。
FDE W3D6 学习手册 · 作品一打磨(面试级)· 配合《FDE-W3D6-评测题.md》自测
📌 待查★ 重要