你想开一家“智能餐厅”:顾客进门报一句“我想吃点开胃的”,后厨不用人动手,自动从食材库里翻出合适的食材,交给主厨现场加工,几十秒就能把菜端上桌。这家餐厅,就是我们要建设的 RAG(检索增强生成)客服系统——把企业的知识文档装进一个“智能大冰箱”,用户提问时系统先翻冰箱找答案素材,再让大模型“主厨”组织语言回答问题。 但任何一家餐厅,都不可能先买灶台再想菜单。你首先要回答两个问题:谁来吃饭?他们的用餐体验如何?这对应需求分析。接着你要画一张蓝图:后厨分成几个区域、冰箱要多大、高峰期能扛住多少人?这对应架构设计。本文用“开一家智能餐厅”的完整故事,带你走完从用户旅程映射、知识域划分、技术栈选型,到容量规划、风险评估、迭代路线图与持续优化的七步全程。你会发现,需求与架构不是画在文档里的漂亮图表,而是决定系统能不能活下来的生存蓝图。
掌握这套方法论,你就能在项目起步阶段把“业务目标”翻译成“技术蓝图”,让 RAG 系统少走三个月返工弯路——这是从技术原型走向规模生产的核心能力。
可视化演示
本节配有交互动效(进入视口后自动加载,约 3KB)。
用户旅程映射与触点分析 用户痛点与RAG解决映射 知识域划分与模块化架构 统一检索层 MVP场景:售前FAQ + 产品信息查询 (高流量 × 高自动化 × 低风险)
用户旅程映射
你决定开一家智能餐厅。开业前,你做了件让合伙人看不懂的事:站在门口拿小本子记笔记。顾客从哪进来?等位时在刷手机还是干瞪眼?报菜名时磕巴了吗?菜端上来先看颜色还是先问分量?别笑,这些细节决定了你要不要设外卖窗口、要不要排队叫号系统、菜单要不要配图。在买任何厨具之前,你得先把“顾客的一天”完整画出来。
这套方法在 RAG 客服系统里叫用户旅程映射(User Journey Mapping)。它把一次完整的人机对话拆成一个个触点(Touchpoint):用户从哪个入口进来、输入问题时是否犹豫、等待检索结果时会不会催促、得到答案后是否满意、不满意时会不会追问或转人工。每个触点都是一次体验的评分点,也都是架构设计要支撑的服务点。
旅程映射要产出三类东西:场景剧本,描述“用户在什么情境下带着什么意图来提问”,比如“深夜十一点,用户刚收到破损快递,怒气冲冲来索赔”;痛点清单,标注每个触点的摩擦点,比如“超过三十秒没有首响,用户直接流失”;价值目标,把体验量化为可验收的指标,比如“首响时间小于两秒、一次解决率大于八成”。
还记得你站在门口的小本子吗?第一次和顾客说“您好”的时机、递菜单的方式、上菜的节奏,都是触点。需求分析阶段不画这张旅程图,架构师就只能靠拍脑袋决定厨房多大、装几个传菜窗口——等开业再改,代价是拆墙重砌。
- 体验分 S用户对整段对话体验的加权总分,是需求分析阶段定下的北极星指标。
- 触点计数 i 与总数 ni 从 1 数到 n,n 是旅程中识别出的触点总数,比如“进入页面、发起提问、等待回复、获取答案”共四个。
- 触点体验分 e_i第 i 个触点上用户的主观感受打分,例如“等待回复”只有 5 分。
- 触点权重 w_i第 i 个触点对最终体验的影响比重,所有权重之和为 1。
- 加权求和每个触点的分数乘权重再累加,得到整体体验分,越接近 10 说明旅程越顺滑。
知识域划分
智能餐厅的后厨不能是一个大平间。凉菜、热菜、汤品、甜品,各有各的食材、调料和保存温度。你把后厨分成四个独立小间:凉菜间恒温冷藏、热菜间猛火快炒、汤品间文火慢炖、甜品间深冷锁鲜。每间配独立冰箱和案板,互不串味,厨师闭着眼都知道去哪间拿什么。
对应到 RAG 客服系统,这就是知识域划分。企业的知识库同样五花八门:商品参数、价格政策、售后规则、物流时效、活动玩法。如果全部倒进一个“大杂烩”索引,用户问“能退款吗”时,检索结果会同时混入活动规则和商品介绍,模型只能对着四不像的素材胡编,答非所问。
知识域划分包含四个决策。第一是业务模块:按组织架构和用户意图切分知识,如商品域、订单域、物流域、售后域。第二是知识分类:域内部再按类型分,政策、FAQ、操作指南各自归位。第三是权限边界:区分对客可见与仅内部可见的知识,防止模型把内部赔付规则当话术讲给用户。第四是检索粒度:决定知识切片(Chunk)的大小——切太粗命中噪声多,切太细上下文断裂。这四条线,就是架构图上“厨房隔间”的边界线。
回到餐厅:知识域划分决定了冰箱贴什么标签、案板放哪个位置。看似是收拾屋子的小事,却决定了高峰时段厨师能不能三秒摸到一块姜。架构层面,“想清楚每个域的数据源、更新节奏、访问权限”比急着堆字库重要得多——分类不清的厨房,菜越多越混乱。
- 覆盖率 C衡量知识库对业务需求的支撑程度,C 越接近 1 表示库越完备。
- 被支撑的需求数 K_支撑用户旅程里梳理出的高频问题中,知识库已经能给出可靠答案的数量。
- 总需求数 K_需求旅程映射中识别出的所有知识诉求总数,是需求清单的规模线。
- 比值含义取商后 C 落在 0 到 1 之间,低于 0.8 时建议在 MVP 阶段就优先补库。
技术栈选型
现在该买厨具了。你走进厨具城,导购热情推荐一台能连 WiFi、会跳舞的顶级电灶——但你后厨电压只有 220 伏,团队里没人用过触屏灶,坏了还要等三周进口配件。你最后选了那台皮实耐操的大火灶:够用、好修、团队闭着眼都会操作。买完你才明白,选厨具不是选广告,是选“十年不换的伙计”。
技术栈选型是同样的逻辑。RAG 客服系统的核心选型点有四个:数据存储——关系型数据库存订单状态,向量数据库存知识切片,Redis 做热点缓存;向量检索——FAISS 适合离线小规模召回,Milvus 或 Elasticsearch 适合在线大规模服务;模型部署——调用云端大模型 API 起步快,私有化部署开源模型则数据不出域;应用框架——LangChain 等框架的成熟度,必须与团队的熟悉程度匹配。
选型不是追最新,而是同时画两张表:延迟预算和运维账本。每个环节都会往链路里加时间、加故障点:一次提问要经过“检索、重排、生成”三站。如果产品要求首响两秒内,检索必须控制在 200 毫秒、重排 100 毫秒、生成最多一秒半——预算超了就得砍环节、加缓存或换方案。运维账本同理:每个组件都是一份要人保养的保修单,新框架社区小、招人难、踩坑没人答,都是隐性成本。
厨具城的教训在架构里同样成立:最好的技术不如最合适的组合。选每一件“厨具”前,先问三个问题——团队会用吗、坏了修得起吗、放进链路后总时间还够吗?三个答案都是“是”,这东西才配进你的厨房。
- 总延迟 T_总用户可感知的端到端响应时间,是服务 SLA 的核心指标。
- 检索延迟 T_检索向量数据库召回候选知识片段所花的时间,数据量翻倍时它最容易失控。
- 重排延迟 T_重排重排模型对候选片段精排打分的时间,通常是小几十毫秒量级。
- 生成延迟 T_生成大模型组织最终回答的时间,往往占大头,是优化的主战场。
- 预算约束选型时必须保证总延迟不超过产品规定的响应上限,否则就要优化某一环节。
容量规划
你开始算账:预计一天来 2000 个客人,但没人会均匀分布——工作日中午十一点半到一点是高峰,周末晚上六点到八点是另一个高峰。如果按“平均每小时 83 人”布置 10 张桌子,高峰时段 300 人同时涌进来,前厅瞬间失控。你意识到,餐厅的规模不能按平均值定。
容量规划解决的就是这个问题:不算平均,算峰值,再乘上余量。对 RAG 客服系统,核心指标是 QPS(每秒查询数)。你要估算:日活跃用户(DAU)多少人、人均每天问几次、请求集中在哪几个小时、峰值因子是多少(通常取 3 到 10 倍)。还要考虑重试放大——一旦系统变慢,用户会疯狂重试点击,流量自己会膨胀,等于在伤口上撒盐。
容量规划还要覆盖存储和成本测算:知识切片的向量索引占用空间、对话日志的归档成本、GPU 实例的规模与费用。这些数字直接决定架构形态——是上一台大机器还是三台小机器、要不要加缓存层、日志保留三十天还是九十天。成本核算不是财务的事,是架构师的事:每一个 QPS 背后都是真金白银。
回到餐厅的账本:容量规划不是算“平均每天多少人”,而是算“最挤的那十分钟多少人”,再预留三成空位和一叠备用折叠桌——折叠桌就是架构里的限流和降级方案。算错了,不是在高峰期崩盘,就是在淡季浪费租金。
- 峰值 QPS系统必须扛住的每秒最大请求数,是容量设计、集群规模的基准值。
- 日总请求数 D日活跃用户数乘以人均提问次数,例如 20 万用户每人 3 次,D 就是 60 万。
- 峰值因子 P反映请求不均衡的放大系数,取 3 到 10,节假日大促时取更高。
- 高峰小时数 H流量集中的时长,比如客服场景 8 小时,突发活动场景可能只有 1 小时。
- 单位换算3600 是一小时的秒数,把日请求分摊到高峰时段内,得到每秒请求数。
风险评估
开业前最后一晚,你把合伙人拉来开会:“如果停电怎么办?如果主厨请病假怎么办?如果冷冻柜坏了、三百斤牛肉全臭了怎么办?”合伙人说你乌鸦嘴,你却说:问题迟早会来,我们赌的不是它来不来,而是它来的时候我们倒不倒。
风险评估就是提前问“什么会杀死这个系统”。RAG 客服系统有四类常见风险。依赖风险:大模型 API 抖动、被限流、突然涨价甚至下架;数据风险:知识库内容过期,模型却自信地把错答案讲给用户;性能瓶颈:检索在数据量翻倍后从 200 毫秒恶化到 2 秒;合规风险:用户隐私数据未经脱敏就进向量库,一旦泄露就是事故。
每个风险都用两个维度打分:发生概率 P 和影响程度 I,二者相乘得到风险值 R。风险值高的先做预案:API 可能挂就配一个本地小模型兜底;知识可能过期就建每周巡检任务;检索可能变慢就上分片和缓存;隐私数据敏感就做脱敏与权限隔离。风险值低的也要记入监控清单,防止它某天悄悄升级。
风险评估不会让风险消失,但它让团队从“赌徒”变成“消防员”——提前知道哪栋楼最容易起火,把灭火器放在正确的走廊里。餐厅后厨的灭火器和备用发电机,就是架构里的熔断器、降级开关和备用模型。
- 风险值 R给风险排序用的数值,越大越要优先投入预案资源。
- 发生概率 P该风险在未来出现的可能性,取值 0 到 1,越接近 1 越可能发生。
- 影响程度 I风险真发生后造成的损失大小,用 1 到 10 打分,10 代表伤筋动骨。
- 相乘排序P 与 I 相乘后按 R 从大到小排优先级,为排在前面的风险写应对预案。
迭代路线图
你没有立刻租 500 平的店面,而是推着一辆小推车,在学校后门口支了个摊,只卖三样:牛肉面、凉皮、酸梅汤。验证一周后发现,牛肉面排队最长,凉皮几乎无人问津。你砍掉凉皮,租下 30 平的小店,菜单扩到十样。六个月后,才敢开大店。小摊看似寒酸,却用最低成本换来了最真实的答案。
这就是迭代路线图的核心思想:最小可行版(MVP)先行。RAG 客服系统的 MVP 是一条纵向打通的最小链路——只覆盖最高频的两三个知识域(比如物流查询和订单状态),用最简单的“检索加生成”架构跑通,配上基础日志。它的目标不是完美,而是验证三件事:回答质量用户买不买账、延迟能不能接受、维护成本是否可控。
路线图还要拆里程碑与发布策略。里程碑按“可演示、可验证”来拆:第一周搭好知识导入和检索,第二周接入模型生成,第三周上线灰度。发布采取灰度:先放 5% 的流量,观测质量指标,确认无误再逐步放到 100%。每一步都带上反馈回路——把“回答失败、用户转人工、用户点踩”这些信号回流到需求池,成为下一轮迭代的输入。
小推车之后的每一步,你都在验证而不是赌博:先小后大、先窄后宽、每一版都带着真用户的声音往前走。“先开小摊”不是怂,而是用最小成本换最真实的答案——这正是从技术原型到规模生产的正确姿势。
- 迭代周期 T_迭代从需求提出到改进效果可见的完整周期,控制它是保持敏捷的关键。
- 开发时间 T_开发完成本轮功能改动的时间,比如新增一个知识域或优化提示词模板。
- 验证时间 T_验证灰度期间观测指标、判断效果的时间,压得太短会得出错误结论。
- 反馈时间 T_反馈把线上日志和用户反馈消化成下一轮需求输入的时间,常被忽视。
- 迭代节奏想让周期变短,三段时间要一起压缩,只砍开发时间是自欺欺人。
持续优化
餐厅开业第 30 天的晚上,打烊后你没有走。你翻看数据:牛肉面卖了 200 碗,但备注“微辣”的顾客里有三成在评价里写“太辣”;酸梅汤复购率高得离谱,备货却只备了昨天的量,晚上八点就售罄了。你掏出本子记下两行字:调低辣度、加大酸梅汤备货。第二天,营业额涨了 8%。
持续优化就是这套“每日复盘”的工程化版本。RAG 系统上线后,真正的战斗才开始。你需要一套质量指标体系:答案匹配率(检索是否召回正确知识)、首答采纳率(用户是否直接满意)、转人工率、回答置信度。每个指标都要能从线上日志里自动算出来,而不是靠客服主管拍脑袋。
优化循环包含四个动作。日志分析:从失败的会话里挖出共性问题——如果所有“发票”类问题都答错,多半是知识库里的发票政策过期了;知识更新:建立知识库的定期刷新机制,业务一变库必须跟着变;A/B 实验:同一批流量分成两组,对比不同的提示词策略、检索 Top-K 数量或重排阈值,用数据而不是感觉做决策。四步循环往复,直到质量指标收敛到当初定下的价值目标。
餐厅的秘诀不是开业那晚的烟花,而是每个打烊后的复盘。RAG 系统也一样:上线只是马拉松的发令枪,需求分析、架构设计、容量规划、风险评估,最终都要落到这个日夜循环的优化飞轮上——越转越快,越转越准。
- 平均质量分 Q̄衡量系统整体回答质量的汇总指标,用于版本之间做横向对比。
- 样本数 m评估集中用于统计的问答对数量,样本太少结论不可信。
- 单个样本分 Q_j第 j 个问答对的质量分,可以由人工标注,也可以由自动打分模型给出。
- 求和平均把 m 个样本分累加再除以 m,得到整体平均值,反映系统当前水位。
AI 应用场景
电商大促前的架构评审会
阶段:容量规划 + 风险评估
解决的问题:传统做法靠“感觉”扩机器,大促当天流量冲上来才发现扛不住,只能手忙脚乱地临时扩容,甚至直接宕机。用容量规划公式提前估算峰值 QPS,再结合风险矩阵给每个薄弱环节写好预案,把“赌大促”变成“算大促”。
具体案例:双十一前,某电商客服团队用“DAU × 人均咨询量 × 峰值因子”算出峰值 QPS 是当前集群容量的 4 倍。他们提前加了一层 Redis 热缓存,给模型 API 配置了双供应商自动切换,并设计了限流降级开关。大促当天系统扛住了 6 倍日常流量,零宕机。
知识库运营团队的“打烊复盘”
阶段:持续优化
解决的问题:知识库静态更新、业务政策一变,模型还在用旧知识自信地犯错,用户投诉率居高不下。把“打烊复盘”自动化,用日志分析驱动知识更新,让知识库永远追上业务的变化。
具体案例:某售后团队建立每周自动化流程:从对话日志中挖出“答非所问”的 Top 主题,自动比对知识库版本,把过期条目送进待办清单。一周内人工介入修补,一个月后转人工率下降了 15%,回答匹配率提升了 12 个百分点。
新业务线 MVP 快速验证
阶段:迭代路线图
解决的问题:新客服系统动辄规划 6 个月,等上线时业务需求早已变化。用 MVP 思维两周跑通最小链路,先验证价值再谈扩张,避免把资源浪费在无人使用的功能上。
具体案例:一家保险公司做 AI 客服,没有贪大求全,只覆盖“保单查询”和“理赔进度”两个最高频知识域,用开源向量库加云端大模型 API 两周打通,灰度放给 5% 的用户。验证首答采纳率达标后,才逐步扩展到新契约、保全等更多域。
Python 演示
# -*- coding: utf-8 -*-"""RAG客服系统需求分析与容量规划演练.""" USER_JOURNEY = [ {"touchpoint": "进入页面", "weight": 0.2, "score": 8}, {"touchpoint": "发起提问", "weight": 0.3, "score": 7}, {"touchpoint": "等待回复", "weight": 0.3, "score": 5}, {"touchpoint": "获取答案", "weight": 0.2, "score": 9},] KNOWLEDGE_DOMAINS = [ {"domain": "商品咨询", "needed": 120, "covered": 100}, {"domain": "订单售后", "needed": 80, "covered": 60}, {"domain": "物流查询", "needed": 60, "covered": 58},] RISKS = [ ("模型API抖动", 0.4, 8), ("知识库过期", 0.6, 6), ("检索慢查询", 0.3, 7),] def weighted_experience(steps): total = sum(s["weight"] * s["score"] for s in steps) return round(total, 2) def coverage_rate(domains): need = sum(d["needed"] for d in domains) have = sum(d["covered"] for d in domains) return round(have / need, 3) def peak_qps(daily_active_users, requests_per_user, peak_factor, busy_hours): daily_requests = daily_active_users * requests_per_user return round(daily_requests * peak_factor / (busy_hours * 3600), 2) def risk_exposure(probability, impact): return round(probability * impact, 1) def main(): print("== 1 用户旅程体验分 ==") exp = weighted_experience(USER_JOURNEY) print("加权体验总分:", exp, "(满分10)") print("\n== 2 知识域覆盖率 ==") cov = coverage_rate(KNOWLEDGE_DOMAINS) print("当前覆盖率:", cov, "(目标>=0.9)") for d in KNOWLEDGE_DOMAINS: print(" -", d["domain"], "缺口:", d["needed"] - d["covered"]) print("\n== 3 容量规划(QPS) ==") qps = peak_qps(dau=200000, requests_per_user=3, peak_factor=3, busy_hours=8) print("峰值QPS估算:", qps, "建议预留3倍余量:", round(qps * 3, 2)) print("\n== 4 风险排序 ==") risks = sorted(RISKS, key=lambda r: risk_exposure(r[1], r[2]), reverse=True) for name, prob, impact in risks: print(" -", name, "风险值R =", risk_exposure(prob, impact)) if __name__ == "__main__": main()
weighted_experience(steps)对应公式 S = Σw·e,把用户旅程每个触点的体验分按权重汇总成整体体验分。sum(s["weight"] * s["score"] for s in steps)用生成器表达式累加“权重乘分数”,是加权求和公式的直接翻译。coverage_rate(domains)计算知识库对所有业务需求的总体覆盖率,对应公式 C = K_支撑 / K_需求。peak_qps(daily_active_users, requests_per_user, peak_factor, busy_hours)用日活、人均请求、峰值因子和高峰小时数估算峰值 QPS,对应容量规划公式。risk_exposure(probability, impact)用 R = P × I 计算单个风险的风险值,供排序使用。sorted(RISKS, key=lambda r: risk_exposure(r[1], r[2]), reverse=True)按风险值从大到小排序,先处理最危险的项。
常见误区
误区用户要什么功能,我就往清单上记什么功能,记满一页纸,需求分析就完成了,剩下交给架构师照着开发就行。
正解需求分析的核心不是“功能堆砌”,而是理解用户旅程和价值目标。就像开餐厅,光把菜名列出来没用,你要知道顾客为什么来、什么时候来、在哪一步会扭头走人。RAG 系统真正要回答的不是“要什么功能”,而是“用户在哪个触点需要什么体验”。功能清单是旅程图的副产品,不是起点。
为何常见:传统软件项目都有“需求文档等于功能列表”的惯性,初学者容易把“收集需求”理解成“记录诉求”,忽略了诉求背后的使用场景。
误区架构选型就该挑最新最火的框架,社区都在讨论它,说明它先进,跟着用肯定不吃亏。
正解技术栈选型像挑厨具:最贵的电灶不一定适配你家的电压。要综合团队熟悉度、运维成本、社区生态和业务规模。RAG 系统中“好用”的标准很朴素:团队能维护、上线能跑稳、出了问题有人修。新框架如果全网找不到踩坑记录,那踩坑的人大概率是你自己。
为何常见:技术圈有“围观效应”,看到别人用新框架就觉得必须跟上,忽略了自身团队的消化能力和业务的实际需要。
误区一天 20 万请求,一天 86400 秒,平均每秒 2.3 个,系统按 5 QPS 设计就绰绰有余了。
正解平均值会杀死系统。餐厅按“平均每天 50 人”装修,周末中午 200 人同时上门就崩了。容量规划必须考虑峰值因子、高峰时段和重试放大:流量在一天内极不均匀,高峰可能是平均值的 3 到 10 倍,系统一慢用户还疯狂重试,真实压力会再翻几倍。永远按峰值加余量设计。
为何常见:平均值最容易计算,数学上“看起来正确”,但流量分布高度偏斜,均值恰好掩盖了最危险的尖峰。
误区风险是上线前才考虑的事,现在先把功能做出来,等架构评审时再让大家提意见、改风险。
正解风险必须在需求分析和架构设计阶段就进入视野,因为架构决策一旦落地,返工成本极其昂贵。就像盖楼前没勘测地质,楼盖到三层才发现地基要换。RAG 系统的依赖风险(API 抖动)、数据风险(知识过期)必须在画蓝图时就设计好预案,而不是等系统上线了再打补丁。
为何常见:风险看不见摸不着,功能需求一看起来就有画面感,人的直觉总是先做看得见的事,把不确定的事往后推。
误区RAG 系统上线那一刻,需求分析的使命就完成了,后续只是服务器的事。
正解RAG 系统的知识库和用户行为都是动态的,需求分析是一个持续循环而非一次性动作。餐厅开业只是开始,每天打烊后的复盘、改菜单、调服务才是经营的本质。持续优化阶段要不断用日志和指标修正当初的需求假设——当初以为用户最关心价格,数据却告诉你他们最在乎物流速度。
为何常见:传统软件以“上线”为终点,而 AI 系统的质量依赖反馈闭环,“上线”只是第一个里程碑。
面试题
Q1. RAG 客服系统需求分析阶段的第一步通常是什么?
- A.选择大模型 API 供应商
- B.映射用户旅程与关键触点← 正确答案
- C.搭建向量数据库的集群
- D.编写后端接口详细文档
答案:B。需求分析要先回答“用户是谁、体验如何”,而不是急着选技术。选 API、搭向量库、写接口都属于架构设计与实现阶段。就像开餐厅,第一步是站在门口观察顾客,而不是先买灶台。
Q2. 知识域划分的主要目的是什么?
- A.减少冗余的代码工作量
- B.按业务模块组织知识库← 正确答案
- C.降低服务器运行成本
- D.增加系统的整体复杂度
答案:B。知识域划分把知识库按业务模块(商品、订单、物流、售后)分治,避免“大杂烩”索引导致答非所问。它不是为了省代码或省钱,而是直接决定检索质量——相当于把后厨分成独立小间,防止串味。
Q3. 容量规划中“峰值因子”的主要作用是什么?
- A.降低存储的额外开销
- B.放大平均流量模拟高峰← 正确答案
- C.限制系统的并发连接
- D.决定模型参数量大小
答案:B。用户请求不会均匀分布,高峰流量可能是平均的 3 到 10 倍。峰值因子就是用来把日平均流量放大成峰值 QPS 的,直接决定集群规模。它是容量规划公式中体现“按峰值设计”思想的关键变量。
Q4. 技术栈选型时,最不应该优先考虑的因素是?
- A.团队当前的熟悉程度
- B.运维监控的难易程度
- C.框架社区活跃状态
- D.框架近期流行热度← 正确答案
答案:D。流行度不等于适用度。团队不熟、没人维护、踩坑没人答,再火的技术也会拖垮项目。选型要像选厨具一样看“会不会用、修不修得起”,而不是看广告打得响不响。
Q5. 风险评估公式 R = P × I 中,I 代表什么?
- A.影响程度打分← 正确答案
- B.请求调用次数
- C.用户访问频率
- D.迭代发布周期
答案:A。R 是风险值,P 是发生概率(0 到 1),I 是影响程度(1 到 10 打分)。相乘后用于给风险排序,值大的先做预案。I 就是“真出事时损失有多大”——就像停电对餐厅来说影响程度高达 9 分。
Q6. 关于 RAG 系统端到端延迟预算,下列哪项正确?
- A.总延迟等于检索加重排加生成← 正确答案
- B.总延迟等于训练加推理延迟
- C.总延迟等于吞吐量乘批大小
- D.总延迟只取决于模型规模
答案:A。一次提问的完整链路是“检索→重排→生成”,总延迟是三者之和。选型时必须让这个和小于产品响应上限,否则要砍环节或加缓存。训练是离线过程,不进入用户可感知的在线链路。
Q7. 灰度发布的主要目标是什么?
- A.用于降低整体部署频率
- B.小规模流量验证新版本← 正确答案
- C.增加物理服务器的数量
- D.完全替代自动化测试
答案:B。灰度先把新版本放给 5% 到 10% 的真实流量,观测质量指标,没问题再逐步放量到 100%。它降低了“全量上新”的回归风险,而不是为了省事或替代测试——相当于新菜先给几桌熟客试吃,再写进菜单。
Q8. 用户旅程映射中需要盘点的“触点”可能包括哪些?
- A.用户输入问题的入口← 正确答案
- B.等待回复的加载等待← 正确答案
- C.回答不符合预期的追问← 正确答案
- D.大模型的训练轮次选择
答案:ABC。触点指用户与系统交互的每个可感知环节——入口、等待、追问都是体验的评分点。训练轮次是模型内部细节,用户根本感知不到,不算旅程触点。就像顾客不会关心后厨用了哪个牌子的锅。
Q9. RAG 客服系统 MVP 版本应包含哪些核心能力?
- A.基础问答链路检索加生成← 正确答案
- B.高频知识域的完整覆盖← 正确答案
- C.全部业务领域的全覆盖
- D.基础日志与质量指标← 正确答案
答案:ABD。MVP 是纵向打通的最小链路:能问能答、覆盖最高频知识、能记录数据,用来验证价值。它刻意不做全业务覆盖——那是后期迭代的事。就像小推车只卖三样面,先验证有人爱吃再扩菜单。
Q10. 关于知识域划分与检索粒度的关系,下列说法正确的是?
- A.粒度过大会引入无关噪声← 正确答案
- B.粒度过小会导致上下文断裂← 正确答案
- C.粒度选择可依赖重排补偿← 正确答案
- D.粒度与问答场景无关紧要
答案:ABC。检索粒度是切分知识片的粗细。太粗命中噪声多,太细上下文不全;部分场景可适当放宽粒度、靠重排环节精修来兜底。但完全忽视粒度会让检索质量失控——就像后厨不切菜直接整颗下锅,或者剁成碎末夹不起来,都不行。