给制造业设计一个设备手册问答系统,讲完整方案
谁在问:二三面经典综合设计题;制造业、能源、设备厂商的团队几乎必问
口语化问法
- 我们是做工业设备的,售后手册几百本,想做个问答,你怎么设计?
- 现场工程师拿着手机问『E037 报警什么意思』,这套系统怎么搭?
- 设备手册全是 PDF 扫描件和表格,你打算怎么处理?
考察意图
这道题是场景设计题的标准入口题,考四件事:
- 你会不会先问再答。设备手册这个场景的约束极强(脏文档、多版本、离线、答错要停机),不问清楚给出的方案一定不对。
- 你有没有处理过脏文档。这是制造业场景最大的坑,也是最容易分辨「做过」和「读过」的地方——纯文本 RAG 的经验在这里几乎不适用。
- 你知不知道这个场景的特殊风险是「串型号」。答不出来比答错好,答错型号比答不出来糟糕得多。
- 你会不会用五步结构组织,还是想到哪说到哪。
参考答案
60 分答案(及格线)
先把 PDF 解析成文本,按标题层级切块,用 embedding 建向量索引,检索时做向量加 BM25 的混合检索,再加一个重排。生成时把检索到的片段拼进 prompt,要求它基于给定内容回答、找不到就说找不到,并给出引用。前端做成移动端方便现场用。后面可以再加多模态处理图纸。
技术选型没错,但它是一个通用文档问答方案,换成法律、医疗一个字都不用改——也就是说,它没有回应这个场景的任何特殊性。而且没有基线、没有代价、没有评测。
90 分答案(有生产经验的回答)
① 先问四个问题:手册多少本、什么形态(原生 PDF 还是扫描件)、多久更新一次?用户是现场工程师还是客服坐席——现场的容忍度低、要移动端、可能没网?答错的代价是什么——是多打一个电话,还是按错步骤导致停机?现在他们怎么查——这条最值钱,现状就是我的基线。
假设:400 本手册、混合形态、季度更新、现场工程师为主、答错可能导致误操作、现在靠翻 PDF 和打电话问老师傅。
② 基线:解析 + 按标题层级切块 + 向量与 BM25 混合检索 + 重排 + 「找不到就说找不到」 + 强制引用到手册页码。这套东西在这类场景一般能到七成左右的可用率,剩下三成集中在三个地方:表格里的参数、图纸和爆炸图、以及跨型号的混淆。先把这个基线摆出来,是为了让后面每一样加挂都有参照物。
③ 加挂,每样都说代价:
- 脏文档处理(这个场景的第一大坑)。扫描件要 OCR,表格要单独抽成结构化再回填成自然语言描述,图纸要做图文关联。解决什么:把不可检索的内容变成可检索。代价是什么:解析流水线本身成为一个要长期维护的系统,且 OCR 错误会静默传播——一个小数点识别错,答案就是错的且看不出来。什么时候不该用:如果八成的高频问题都落在少数几本原生 PDF 上,先只处理那几本,别一上来做全量解析。
- 精确匹配通道。报警码、型号、参数编号这类查询天生不适合向量检索——它们是标识符不是语义。做法是把报警码抽成结构化字段,走精确查询直接命中,检索层只做兜底。代价:要维护抽取规则;不该用:手册里编码体系不统一时,强抽会引入错误映射。
- 版本与型号隔离(这个场景的第一大风险)。同一个报警码在不同型号、不同固件版本含义可能完全不同。做法是把型号和版本做成必填的检索过滤条件,用户没说型号就先反问,而不是猜。代价:多一次交互,体验变差;但这个代价必须付——在这个场景里,答错型号比答不出来危险得多。
- 引用溯源。每条答案必须给出手册名 + 版本 + 页码,让工程师能去核对。代价:约束了生成自由度、拒答率会上升;收益:它同时是信任机制和排障入口。
- 私有化部署(如果数据不能出网或现场没网)。代价:这笔账要按并发算,不是按调用量算——自建的成本是固定的,只有在调用量足够大或合规强制时才划算。不该用:调用量小又没有合规要求时,自建纯亏。
④ 评测:从真实工单里抽 100 条起步的评测集,按类型分层(报警码 / 操作步骤 / 参数查询 / 故障排查),因为不同类型的失败原因完全不同。三条线:离线集决定能不能发;线上采样看有没有变坏;业务指标看平均处理时长和转人工率。报警码这类有标准答案,可以做精确评测,不需要 judge;操作步骤这类才用 judge,且 judge 自己要有校准集。零成本信号里最有用的是重问率(问完又换个说法再问一遍)和引用点击率。要注意统计关:n=100、基线 80% 的时候,95% 置信区间大约 ±7.8 个百分点,涨三个点说明不了任何事。
⑤ 演进:给触发信号而不是排期。出现「一个问题要跨三四本手册才能答」才考虑图结构;出现「查询需要多轮试探才能定位」才考虑 Agentic 检索;图纸相关提问占比超过一定比例,才上多模态检索。退路也要说:如果解析流水线的维护成本超过它带来的收益,就退回到「只覆盖高频那 30 本 + 其余引导到人工」。
追问链
手册里大量表格和图纸,你具体怎么处理?
期望分三类:表格抽成结构化,命中整表整行再回填成自然语言,跨页表格先合并;扫描件 OCR 后必须抽样校验数字字段;图纸短期做图注与周边文字关联,把图当可引用对象而非可检索内容信号说得出「OCR 错误静默传播」「跨页表格合并」→ 真处理过工业文档;只说「上多模态解析」→ 没见过烂扫描件也没算过成本同一个报警码在不同型号含义不同,怎么防串型号?
期望三层:① 型号做必填过滤条件,缺失就反问不猜;② 检索侧硬过滤而非软加权,软加权一定串;③ 生成侧引用回查,答案引用的型号与用户声明不一致就降级为「无法确认」信号说出「宁可反问也不猜」并给引用回查兜底 → 理解了代价不对称;只说「加个型号字段」→ 没考虑缺失与不一致现场没网要私有化部署,这笔账怎么算?
期望先说清账按什么算:自建是固定成本、API 是变动成本,判据是盈亏平衡点与合规强制性,不是单价。再补三条约束:显存主要被 KV Cache 吃、容量看有效吞吐不看峰值、现场还要考虑断电与运维不可达。折中是分层部署信号说得出「固定 vs 变动成本 + 盈亏平衡点」→ 算过账;只说「私有化更安全」→ 在讲立场不是讲工程怎么证明这套比他们原来的搜索好?
期望和现状比,不和理想比:把「关键词搜索 + 打电话」当对照组做双盲,指标用首次解决率与平均处理时长而非答案质量评分;同时交代样本量与置信区间。最有说服力的是老师傅电话量下降 —— 业务侧自然指标不受评测口径影响信号主动提出「用现状当对照组」→ 做过上线论证;只说「评测集准确率 85%」→ 缺可比性意识上线后现场反馈「它答的和手册不一样」,你怎么查?
期望固定一个变量,把问题一分为二:先把正确那页手动塞进 prompt —— 塞进去答对 → 检索侧(解析错、切块断、型号过滤、召回不足);仍答错 → 生成侧(上下文淹没、指令冲突、跨型号数字揉合)。顺序不能反。另加本场景特有一项:先核对手册版本信号第一动作是「手动塞正确文档」→ 用的是标准归因树;主动提「先核对版本」→ 真在工业场景待过
评分要点
- 按五步结构组织,不是想到哪说到哪
- 澄清阶段问到了形态、更新频率、答错代价、现状四类,且说明为什么问
- 给出基线并估了数量级,指出剩余问题集中在哪三块
- 每样加挂都给「解决什么 / 代价 / 什么时候不该用」
- 识别出脏文档与多版本串型号是本场景的两大特有风险
- 报警码这类标识符查询走精确通道而非向量检索
- 评测按类型分层、和现状做对照、提到统计关与零成本信号
- 演进给触发信号并给退路
- 排障统一到「固定一个变量,把问题一分为二」,第一动作是手动塞文档