FDE W8D4 学习手册 · 系统设计题
W8 Day4 · A 级(必须掌握,面试核心)· 6h · 学完能现场设计企业 RAG 平台 / 理赔 Agent / AI 中台 / 模型网关,并在设计中体现四类边界
本日定位:前三天你部署了模型(D1)、算了账(D2)、写了方案(D3),Day4 是"现场系统设计"——面试官给你一个开放题(如"设计一个企业 RAG 平台"),看你能不能 30 分钟内画出分层架构、选对组件、讲清扩展与可靠、并体现规则/RAG/Agent/人工边界。候选人有 Java + 大数据 + 医疗保险背景、冲刺架构/负责人岗——系统设计是这类岗的"定级题"。
学完能回答:① 现场设计一个企业 RAG 平台(分层 + 组件 + 权衡);② 在系统设计中体现四类边界(规则/RAG/Agent/人工)。
使用方法:先背四层架构与每层的"必选组件"→ 重点练四个设计题(s7-s10)→ 把"四类边界"当成设计检查清单 → 做自测 → 配合《FDE-W8D4-评测题.md》。标注(左下★重要 / 右下📌待查)用于圈出自己容易漏的层或组件。
一、系统设计题考查什么
1.1 面试官在评估
| 维度 | 他看什么 |
| 结构化思维 | 能不能先澄清需求、再分层、后细化,而非上来堆组件 |
| 权衡能力 | 每个选型说出 pros/cons,不盲从 |
| 边界意识 | 是否清楚哪里该规则、哪里该 AI、哪里必须人工 |
| 落地经验 | 有没有容量/可靠/评测的真实考量(呼应 W8D1/D2/D3) |
1.2 标准解题节奏
澄清需求(场景/规模/SLA) → 画四层架构 → 填每层组件+选型理由 → 讲扩展与可靠 → 点四类边界 → 补评测/安全/成本
对 36 岁冲刺架构岗的候选人,系统设计不是"背标准答案",而是展示"我带过系统、踩过坑"。把 Day1 的压测、Day2 的成本、Day3 的边界都带进来,方案才立体。
系统设计题考结构化思维、权衡能力、边界意识、落地经验。标准节奏:先澄清需求→画四层架构→填组件+选型理由→讲扩展与可靠→点四类边界→补评测/安全/成本。面试官看你"怎么想"重于"答了什么"。
① 一上来就写技术栈=没想清楚需求,直接扣分。② 只画架构不解释权衡=背答案嫌疑。③ 漏掉"可靠性/评测/成本"任一项,方案就不完整——这些恰是高级岗的分水岭。
二、架构分层:接入层 / 编排层 / 能力层 / 数据层
2.1 四层职责
| 层 | 职责 | 典型组件 |
| 接入层 | 鉴权、限流、路由、协议适配(OpenAI 兼容) | 网关 / APISIX / Nginx + 鉴权中间件 |
| 编排层 | 对话状态、Agent 编排、流程调度、降级 | LangGraph / 自研状态机 / 工作流引擎 |
| 能力层 | 模型推理、RAG 检索、规则引擎、工具调用 | vLLM / 向量库 / Drools / 函数服务 |
| 数据层 | 知识库、向量/图存储、日志、特征 | Milvus / Neo4j / 对象存储 / Kafka |
2.2 为什么分层
分层让关注点分离:接入层管"门",编排层管"脑",能力层管"手",数据层管"粮"。每层可独立扩展、独立替换,也便于多租户隔离与权限控制。
分层是架构师的基本功。面试画架构图时,自上而下四层一目了然,面试官能快速定位你的设计深度。医疗场景还要在接入层就做合规闸口。
四层:接入层(鉴权/限流/路由)、编排层(Agent 流程/状态/降级)、能力层(推理/RAG/规则/工具)、数据层(向量/图/日志)。分层=关注点分离,每层可独立扩缩与替换,也便于多租户隔离。
① 把"编排"塞进"能力层"会让 Agent 逻辑和模型耦合,难维护。② 数据层不能只画向量库,还要有原始存储与日志(评测/审计用)。③ 分层不是越多越好,四层对 LLM 系统已够,别为了显得复杂加无意义的层。
三、组件选型(每层怎么选、为什么)
3.1 关键选型对比
| 位置 | 选项A | 选项B | 取舍 |
| 推理 | vLLM 私有 | 公有 API | 合规/量大→私有;弹性/快上线→API(呼应 D2) |
| 向量库 | Milvus | pgvector | 海量→Milvus;小量已有 PG→pgvector 省运维 |
| 编排 | LangGraph | 自研状态机 | 快→LangGraph;强可控/合规→自研 |
| 网关 | APISIX | Nginx+自研 | 要插件生态→APISIX;简单→Nginx |
3.2 选型的回答模板
选 X 是因为【场景约束Y】;考虑过 Z 但【缺点】;若规模到【阈值】会切到 Z
架构师选型不是"用最好的",是"用最适合当下约束的,并留演进路径"。这种"现在选什么、将来切什么"的表达,最能打动面试官。
选型要讲"为什么选 X(场景约束)、为啥不选 Z(缺点)、规模到阈值怎么切"。如向量库小量用 pgvector 省运维,海量切 Milvus。体现"现在适合 + 未来演进",而非盲目追新。
① "都用最火的"=没思考,要结合规模/SLA/团队。② 不提"演进路径"显得静态,高级岗要展示前瞻性。③ 医疗合规下"自研编排/私有推理"往往优于"省事用 SaaS"。
四、Scalability:横向扩展与容量
4.1 扩展杠杆
- 无状态层横向扩:接入层、编排层、网关多实例 + 负载均衡(天然可扩)。
- 推理层副本扩:vLLM 多副本 + 网关路由(受 GPU 数约束,呼应 D1/D2)。
- 数据层分片:向量库分片、Kafka 分区。
- 异步削峰:Kafka 解耦请求与耗时任务,保护推理层。
4.2 容量闭环
峰值QPS → 单实例容量(实测, Day1) → 副本数(留缓冲, Day2) → 自动伸缩触发条件
扩展不是"加机器"一句话。架构师要能把 Day1 的压测数字和 Day2 的副本公式直接用到设计里,并对面试官说清"为什么这套能扛住峰值"。
扩展性:无状态层(网关/编排)天然横向扩;推理层靠 vLLM 多副本+路由(受 GPU 限);数据层分片;耗时任务用 Kafka 异步削峰。容量用 Day1 实测+Day2 副本公式闭环,配自动伸缩。
① 推理层"横向扩"受 GPU 预算硬约束,不能像无状态服务无限扩。② 忘加"异步削峰"会导致高峰请求直接压垮推理层。③ 自动伸缩要设冷启动缓冲,否则突发仍崩。
五、可靠性:降级 / 限流 / 熔断 / 重试
5.1 四件套
| 机制 | 解决 | 在 LLM 系统的体现 |
| 限流 | 保护后端不被打爆 | 网关按租户/API Key 限 QPS |
| 降级 | 依赖故障时保核心 | 模型超时→切小模型/返回缓存/转人工 |
| 熔断 | 防故障扩散 | 某模型副本持续失败→熔断该副本 |
| 重试 | 偶发失败恢复 | 带退避重试,避免雪崩(配合限流) |
5.2 与四类边界联动
可靠性最终落到"该人工时就人工"——当 AI 链路多次降级失败,必须走人工兜底,绝不静默出错(呼应 D3 人工边界)。
可靠性是"系统敢上线"的底气。面试官常追问"模型挂了怎么办",标准答是"限流+降级+熔断+重试四件套,且最终失败转人工",这正是负责人岗的兜底思维。
可靠性四件套:限流(按租户/QPS 保护后端)、降级(模型超时切小模型/缓存/人工)、熔断(副本持续失败则断)、重试(带退避防雪崩)。LLM 系统里降级终点常是人工兜底,绝不静默出错。
① 只重试不限位流会雪崩(重试风暴)。② 降级若最终不转人工,AI 出错直接危害业务(医疗尤甚)。③ 熔断阈值设错(太敏感/太迟钝)都会误伤,要结合监控调。
六、在系统设计中体现四类边界(规则/RAG/Agent/人工)
6.1 边界即"决策路由"
系统设计不能把所有智能都丢给大模型。要在架构里显式画出决策路由:
输入请求 → 规则引擎(硬约束/确定逻辑) → RAG(知识检索) → Agent(多步编排) → 人工(高风险终判)
6.2 每层在架构里的落点
| 边界 | 落在哪层 | 设计体现 |
| 规则 | 能力层(规则引擎) | 免赔额/黑名单等确定逻辑独立模块,先于 LLM 执行 |
| RAG | 能力层 + 数据层 | 检索服务 + 向量/图存储,给 Agent 供知识 |
| Agent | 编排层 | 状态机编排工具调用,不替代规则/人工 |
| 人工 | 编排层出口 | 触发条件(金额/拒赔/低置信)→ 转人工队列 |
四类边界是"可控 AI 系统"的灵魂,也是 Day3 Pack 里那页的"工程落地版"。面试时主动画决策路由图,比纯架构图更显深度——说明你想过风险在哪。
四类边界要在架构里画成"决策路由":请求先过规则引擎(硬约束)→ RAG 供知识 → Agent 编排 → 高风险转人工。落点:规则/知识在能力层、Agent 在编排层、人工在编排出口。主动画路由图显深度。
① 把"人工兜底"画成架构之外的备注=没真正设计,它应是有触发条件的显式出口。② 规则引擎若和 LLM 混在一起,硬约束可能被模型"说服"出错。③ Agent 编排不能越过人工边界自动做高风险决策(如拒赔)。
七、设计一:企业 RAG 平台
7.1 需求澄清(先问)
文档量级(万/亿级)?实时性(批灌还是准实时)?多租户?合规要求?问答准确率目标?
7.2 架构(四层)
- 接入层:网关鉴权+限流,OpenAI 兼容接口。
- 编排层:查询改写→检索→重排→生成→引用校验 流水线。
- 能力层:嵌入模型 + 向量库(Milvus)+ 重排模型 + 生成模型(vLLM)。
- 数据层:源文档→清洗脱敏→切分→向量化→向量库;元数据/权限表。
7.3 关键设计点
| 点 | 做法 |
| 切分 | 语义切分 + 父子文档,保上下文 |
| 检索 | 向量 + 关键词混合(hybrid),重排提精 |
| 引用 | 生成强制附 chunk_id,可溯源(呼应 D3 审计) |
| 拒答 | 检索得分低/无知识→返回"未知"并转人工 |
企业 RAG 平台设计:先澄清量级/实时性/多租户/合规;四层里关键是编排层的"改写→检索→重排→生成→引用校验"流水线,能力层用混合检索+重排,数据层做语义切分与溯源。无知识时拒答转人工。
八、设计二:特药理赔 Agent
8.1 流程
收单 → 规则校验(材料齐全/免赔额) → RAG检索条款 → Agent编排(计算+生成初审) → 置信度判定 → 高则自动、低则人工
8.2 架构要点
- 编排层:状态机管理"待审→检索→计算→结论→复核"。
- 能力层:规则引擎(硬计算)+ 知识库(条款 RAG)+ vLLM(生成初审意见)+ 工具(查保单系统)。
- 可靠性:模型超时降级到规则模板;低置信转人工。
- 合规:每次决策留痕(用了哪条条款、模型版本)。
理赔 Agent 设计:规则先校验硬逻辑→RAG 取条款→Agent 编排计算与生成初审→置信度低转人工。核心是"规则/知识/模型/人工"四件套协同,且每步留痕满足医疗合规。
九、设计三:企业 AI 中台
9.1 定位
把上面 RAG/Agent 能力多租户化、可编排、可治理,让 10 个部门复用,而非各自烟囱。
9.2 架构增量
| 能力 | 体现 |
| 多租户 | 租户隔离(向量 namespace / 独立副本)、配额限流 |
| 编排市场 | 可复用 Agent/工作流模板,业务自助搭建 |
| 治理 | 模型注册、版本、评测、成本看板(呼应 D2/D3) |
| 网关 | 统一模型网关(见 s10),屏蔽底层差异 |
AI 中台的设计难点不在"再加一层",而在"复用与隔离的平衡"。架构师要讲清:共享什么(底座/网关)、隔离什么(数据/配额),以及如何让业务方低门槛接入。
企业 AI 中台 = 把 RAG/Agent 多租户化+可编排+可治理。关键是平衡复用与隔离:共享底座与模型网关,隔离数据与配额;提供 Agent 模板市场让业务自助,配治理(版本/评测/成本看板)。
十、设计四:模型网关(Model Gateway)
10.1 为什么需要网关
- 统一接口:上层不用关心背后是 vLLM 还是 API。
- 路由与降级:按模型/成本/可用性路由,故障切备用。
- 成本与配额:按租户计量、限流、缓存。
- 安全:统一鉴权、审计、敏感词/脱敏。
10.2 核心组件
网关 = 路由策略 + 负载均衡 + 限流配额 + 缓存层 + fallback(降级) + 计量账单
模型网关是"屏蔽底层差异的中枢":统一接口、按成本/可用性路由、限流配额、结果缓存、故障 fallback、计量账单。它把 Day2 的成本控制和 Day1 的多模型部署串成统一面,是 AI 中台的总闸口。
十一、评测与 LLMOps 在设计中的体现
11.1 设计里要预留的"运维面"
| 能力 | 设计落点 |
| 评测集 | 数据层存标注集;CI 跑回归 |
| 监控 | 接入层/能力层埋点:延迟、准确率漂移、成本 |
| 回归 | 模型/知识更新触发自动评测流水线 |
| 闭环 | bad case → 知识/prompt 更新 → 再评测 |
很多候选人的设计"只有运行面没有运维面"。架构师要在图里就画出评测与监控的位置,证明你想过"上线后怎么保质量"——这直接区分高级与初级。
设计中必须预留"运维面":数据层存评测集、接入/能力层埋监控(延迟/漂移/成本)、更新触发回归流水线、bad case 闭环到知识与 prompt。只画运行面不算完整设计。
十二、安全与合规贯穿设计
- 接入层:统一鉴权、传输加密、限流防滥用。
- 数据层:入库前脱敏、字段级权限、加密存储。
- 能力层:推理前脱敏、输出敏感词过滤、引用留痕。
- 审计:谁、何时、调用了哪个模型、用了哪条知识、得到什么结论。
医疗/保险是强合规场景:安全不是某一层的事,而是横切四层。面试时主动说"安全我作为横切关注点贯穿四层",比只在某一页提更显体系化。
安全是横切四层的关注点:接入层鉴权限流、数据层脱敏+字段权限、能力层推理前脱敏+输出过滤、全链路审计留痕。医疗场景要作为横切项贯穿,而非某一层附属。
① 只在"数据层"提安全=遗漏了推理中泄露风险(模型可能吐出训练记忆)。② 审计缺"用了哪条知识"会导致合规无法举证。③ 多租户下字段级权限若只在应用层做、存储层没隔离,仍有越权风险。
十三、面试达标线①:现场设计企业 RAG 平台
| 环节 | 要能讲清 |
| 澄清 | 量级/实时性/多租户/合规/准确率目标 |
| 分层 | 接入/编排/能力/数据 四层及职责 |
| 组件 | 每层选型 + 理由 + 演进路径 |
| 关键点 | 语义切分、混合检索、重排、引用溯源、拒答转人工 |
| 扩展可靠 | 副本扩容 + Kafka 削峰 + 限流降级熔断重试 |
一句话达标:先澄清需求,再画四层架构,填组件并讲权衡,说清"改写→检索→重排→生成→引用校验"流水线与混合检索/溯源/拒答,最后给扩展(副本+削峰)与可靠(四件套)方案。
十四、面试达标线②:在系统设计中体现四类边界
决策路由:规则(硬约束,能力层) → RAG(知识,能力层+数据层) → Agent(编排,编排层) → 人工(高风险,编排出口)
设计落点:规则/知识在能力层、Agent在编排层、人工为显式触发条件出口
贯穿:可靠性降级终点=人工;合规审计贯穿四层
- 画决策路由:请求先过规则引擎,再 RAG,再 Agent,高风险转人工。
- 落点清晰:规则/知识在能力层、Agent 在编排层、人工是带触发条件的出口(非备注)。
- 联动可靠与合规:降级终点转人工,审计贯穿四层。
十五、W8D4 自测清单
- 能说出系统设计题考察的四大维度(结构化/权衡/边界/落地)。
- 能默写标准解题节奏:澄清→四层→组件+理由→扩展可靠→四类边界→评测安全成本。
- 能讲清四层架构(接入/编排/能力/数据)各自职责与典型组件。
- 能对任意层给出"选 X 因为 Y、不选 Z 因为缺点、到阈值切 Z"的选型表达。
- 能讲清扩展杠杆(无状态横扩/推理副本/Kafka削峰)并联系 Day1/Day2 容量闭环。
- 能说出可靠四件套(限流/降级/熔断/重试)及在 LLM 系统的体现。
- 能画出"规则→RAG→Agent→人工"的决策路由,并说明每层架构落点。
- 能现场设计企业 RAG 平台(澄清+四层+混合检索+溯源+拒答)。
- 能现场设计特药理赔 Agent(规则校验→RAG→Agent编排→置信转人工)。
- 能讲清企业 AI 中台(多租户/编排市场/治理)与模型网关(路由/配额/缓存/fallback/计量)。
- 能在设计里预留评测与 LLMOps 运维面(评测集/监控/回归/闭环)。
- 能把安全作为横切关注点贯穿四层,并讲清医疗合规审计要求。
十六、高频面试题速记卡
Q:系统设计题第一步该做什么?
先澄清需求(量级/实时性/多租户/合规/SLA),再分层画架构。一上来堆技术栈=没想清需求,直接扣分。
Q:LLM 系统为什么要分层?
四层(接入/编排/能力/数据)做关注点分离:门、脑、手、粮各管各的,可独立扩缩与替换,也便于多租户隔离与权限。
Q:选型怎么答最加分?
用"选 X 因场景 Y;考虑过 Z 但因缺点放弃;规模到阈值切 Z"。体现当下适合+未来演进,而非盲目追新。
Q:推理层怎么扩展?
vLLM 多副本+网关路由,但受 GPU 预算硬约束;耗时任务用 Kafka 异步削峰保护推理层;容量用 Day1 实测+Day2 副本公式。
Q:可靠性四件套?
限流(防打爆)、降级(超时切小模型/缓存/人工)、熔断(副本故障断流)、重试(带退避防雪崩)。终点常是人工兜底。
Q:四类边界在架构里怎么落?
规则/知识在能力层、Agent 在编排层、人工是编排出口的显式触发条件。画成"规则→RAG→Agent→人工"决策路由图。
Q:企业 RAG 平台的关键设计点?
语义切分、向量+关键词混合检索、重排提精、生成强制附引用可溯源、检索无结果则拒答转人工。
Q:模型网关解决什么?
统一接口(屏蔽 vLLM/API 差异)、路由与降级、限流配额、结果缓存、计量账单——是 AI 中台的总闸口。
Q:设计里为什么要有 LLMOps 运维面?
只画运行面不算完整。要预留评测集/监控埋点/更新回归/bad case 闭环,证明想过"上线后怎么保质量"。
Q:医疗场景安全怎么设计?
作为横切关注点贯穿四层:接入鉴权限流、数据脱敏+字段权限、能力层推理前脱敏+输出过滤、全链路审计(谁/何时/用哪条知识/得什么结论)。
FDE W8D4 学习手册 · 系统设计题(面试级)· 配合《FDE-W8D4-评测题.md》自测
📌 待查★ 重要