小厂智能体应用开发面经:PDF 切块、大模型 JSON 输出与 NL2SQL
- 结果
- 凉经
- 时间
- 2026-10
- 来源
- 牛客网
《面试题目》
- 请做一下自我介绍。
- 请介绍你的项目,并接受面试官对项目细节的连续追问。
- PDF 文档是怎么切块的?
- PDF 里的图片、数学公式是怎么处理的?
- 大模型输出的 JSON 格式不规范,你会怎么处理?
- Jev 模型是用来做什么的?
- 记忆和知识库是怎么做测评的?
- NL2SQL 项目里,检索内容超出上下文限制怎么办?
- 最近在学习什么新技术?
- 你还有什么想问我的吗?(反问环节)
《参考解析》
PDF 解析与切块:切的是语义单元,不是字数。 切块没有标准答案,先给判断依据再给参数:按文档的语义结构切——标题层级、段落、列表、表格边界——比按固定字数硬切更能保住上下文;chunk 太大检索噪声高、太小上下文断掉,实践中常在几百 token 一档并留 10%~20% 重叠,具体数值要用你自己的评测集调出来而不是背一个。表格要单独成块并保留表头(把表头拼进每一行),跨页表格先合并再切,否则检索回来的是没有列名的数字。图片一般先做版面分析拿到图注、图号与所在章节,再用 OCR 或多模态模型生成描述,把它当成一段可检索的文本,同时留好图与正文的引用关系(页码、图号作为元数据),这样生成答案时才能指回原图。数学公式直接用纯文本会丢掉结构,常见做法是转成 LaTeX(公式识别模型或专门工具),公式作为独立块并带上所属小节的标题,检索时既可以用 LaTeX 原文嵌入,也可以配一句自然语言说明再嵌入。这里的取舍很清楚:版面分析加 OCR 比纯文本抽取贵得多、也更容易出错,值不值得取决于你的文档里图表公式占多大比例——答这一问时把「我的文档长什么样、因此选了哪条路、代价是什么」讲出来,比罗列工具名有效。
结构化输出:别指望 prompt 把格式约束死,做三层兜底。 生成侧优先用模型厂商的结构化输出 / 函数调用能力,把 JSON Schema 直接给模型,能上约束解码(受语法约束的生成)就上,同时降低温度、给一两个正例;这是最稳的一层,但并非所有厂商和模型都支持,支持了有时也会限制模型发挥。解析侧要假设输出一定会脏:剥掉 Markdown 代码围栏和多余解释文字、只截取第一个 { 到最后一个 }、容忍尾随逗号与中文引号,增量流式返回时还要能在边界处做不完整解析,别等整段结束才处理。校验侧用 JSON Schema 或 pydantic 逐字段校验,失败时把具体的校验报错回灌给模型,只让它修格式、不动内容,重试一到两次仍失败就走兜底分支。兜底的口径要看场景:能默认的给默认值并记日志,关键字段缺失宁可挂起让人确认,也不要静默填一个看起来合理的值——模型幻觉最难查的就是这种被悄悄补上的字段。
长上下文与测评:先算预算,再谈裁剪。 超出上下文时先做预算——模型窗口减去 prompt 模板和输出预留,剩下的才是检索可用额度;然后按优先级裁:多路召回后过一层重排模型(cross-encoder 之类)再取 top-k,对命中片段做压缩或摘要,或者分段抽取后再聚合。NL2SQL 有个特殊点:schema 本身就很占额度,所以要先把「检索」用在 schema 上——按问题召回相关的表、列和示例值,只喂相关 DDL 和少量样例数据,而不是整库建表语句全塞进去;再不行就按「先逐段抽出与问题相关的表列与过滤条件,再合成 SQL」的两段式来,截断始终是最后手段且要显式标注被截断。记忆与知识库的测评要分层:检索层看召回率、命中率、MRR 这类指标,靠一份带标注的问题—片段对;生成层看忠实度(答案是否有检索内容支撑、有没有编)、答案相关性和引用是否正确,可以 LLM 打分加人工抽样校准;端到端看任务成功率,并且每个坏例都要归因到「没召回 / 召回了没用对 / 模型本身答错」,否则你不知道该改切块、嵌入、重排还是 prompt。这套集子要能重复跑,任何一次改动都回测一遍。
项目深挖、新技术与反问:这场面试真正的失分点。 「拷打项目」考的是「你做的」和「团队做的」的边界,准备时每个项目都过一遍:背景与目标、你的角色、技术选型与替代方案、可量化的结果、最难的一个问题怎么定位、如果重来会改什么;细节答不上来比答错更伤。被问到不熟的东西(比如公司自研或内部代号的模型,像帖里的 Jev 模型)就照实说没用过,再说清你在同类模型上的使用经验和你会怎么快速上手,硬编最危险。「最近在学什么新技术」不是报菜名,讲一个真用过的场景:解决什么问题、效果如何、哪里不行。反问环节提前备两三个问题,问团队业务、当前技术栈与迭代方式、这个岗位最看重的能力。作者这场不到十分钟被问了十个问题、自述紧张到没有逻辑、第八题直接没答上——这种密集快问筛的是基础广度和抗压,遇到不会的题,把「这部分我不熟」和你的思路或查证路径一起讲出来,比沉默和绕圈都好;回答被打断时先给三十秒结论,面试官想深挖自然会追问。