LLMNotes

第 30 章:面试题精讲

zjc 于 2026-01-30 发布

这是《LLM 应用开发 零基础实战指南》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 本章整理 LLM 应用开发常见面试题,重点给出工程判断和追问方向,而不是背模板答案。

30.1 LLM 与传统软件的区别

问题:LLM 应用和传统 Web 应用最大的区别是什么?

回答要点:

  1. 行为概率化,输出需要 schema 和业务校验;
  2. 质量依赖数据、Prompt、模型和检索组合;
  3. 测试从精确断言转向评测集和指标;
  4. 成本单位是 token;
  5. 失败可能表现为“看起来正确”;
  6. 安全多了注入、幻觉和泄露;
  7. 变更需要灰度和回归。

追问:如何设计一个不可靠组件之上的可靠系统?

30.2 RAG 设计

问题:如何设计生产级 RAG?

回答框架:

数据:解析、切块、元数据、权限、版本
检索:向量、关键词、过滤、融合
排序:rerank、多样性、token 预算
生成:引用、拒答、输出约束
治理:评测、缓存、观测、回滚

关键点:

  1. 权限过滤必须在检索阶段;
  2. 引用必须服务端校验;
  3. 资料不足要拒答;
  4. 精确数据走数据库或 API;
  5. 索引切换可回滚。

30.3 切块与向量

问题:chunk 越大越好吗?

回答:不是。太大导致语义稀释和上下文浪费,太小导致上下文不完整。应按文档结构切块,为表格和 FAQ 设置专用规则,并通过 Recall@K 和端到端答案质量评估。

可补充父子块方案:小块召回,父块补上下文。

30.4 混合检索

问题:为什么需要混合检索?

回答:

  1. 向量适合语义相似;
  2. BM25 适合错误码、型号、版本号;
  3. 数据库适合精确 ID;
  4. RRF 只用排名融合,避免分数不可比;
  5. rerank 统一精排。

30.5 幻觉治理

问题:如何降低幻觉?

回答:

  1. 明确回答边界;
  2. 提供相关且最新的资料;
  3. Prompt 允许不知道;
  4. 关键结论要求引用;
  5. 引用和事实由服务端校验;
  6. 数值由程序计算;
  7. 高风险转人工;
  8. 坏案例进入回归。

不要说“可以完全消除幻觉”。

30.6 Function Calling

问题:工具调用的安全边界在哪里?

回答:

  1. 模型只提出调用请求;
  2. 服务端校验 schema、业务和权限;
  3. 工具使用最小凭证;
  4. 高危动作人工审批;
  5. 调用记录审计;
  6. 写操作幂等;
  7. 错误不暴露内部细节。

30.7 Agent 控制

问题:Agent 如何避免失控?

回答:

  1. 目标和成功条件明确;
  2. 工具白名单;
  3. 最大轮数、token、金额和时间;
  4. 重复调用检测;
  5. 停止条件;
  6. 检查点恢复;
  7. 完整 trace;
  8. 高风险动作审批。

30.8 安全问题

问题:Prompt 注入如何防?

回答:

  1. 外部内容标记为数据;
  2. 指令和资料隔离;
  3. 权限由服务端控制;
  4. 工具范围最小化;
  5. 输出过滤;
  6. 高危操作确认;
  7. 注入用例自动回归。

强调 Prompt 只是降低风险,不是安全边界。

30.9 评测问题

问题:上线前如何评估质量?

回答:

  1. 组件指标:Recall、NDCG、工具选择率;
  2. 端到端指标:正确性、忠实度、引用准确率;
  3. 安全指标:注入、越权、敏感信息;
  4. 工程指标:延迟、错误率、成本;
  5. 在线指标:解决率、转人工、反馈;
  6. 人工抽检校准模型评分。

30.10 成本优化

问题:模型调用成本太高怎么办?

回答:

  1. 统计成本分布;
  2. 减少无效上下文;
  3. 限制输出;
  4. 增加规则缓存和语义缓存;
  5. 模型分级路由;
  6. 控制重试;
  7. Agent 预算;
  8. 用质量指标验证优化。

30.11 场景题

问题:客服系统答案经常引用旧政策,怎么排查?

回答:

  1. 找 trace,确认候选 chunk;
  2. 检查索引是否存在新旧版本;
  3. 检查 effective_time 和 status;
  4. 检查文档同步任务;
  5. 检查 rerank 新鲜度策略;
  6. 补齐时间过滤;
  7. 把案例加入回归集。

30.12 系统设计

问题:设计一个企业文档问答平台。

回答结构:

  1. 需求和范围;
  2. 数据接入和解析;
  3. 权限和租户;
  4. 检索和重排;
  5. 生成和引用;
  6. 评测和安全;
  7. 缓存与成本;
  8. 可观测和发布;
  9. 容量和演进。

本章小结

面试中的关键是展示工程判断:不只说用 RAG 或 Agent,而是讲清边界、风险、指标、权限、成本和回滚。能主动提出追问和验证方法,比背概念更有说服力。

思考题

  1. 如何向面试官解释“不能完全消除幻觉”?
  2. 生产 RAG 的权限过滤应放在哪里?
  3. Agent 的预算和停止条件有哪些?
  4. 模型评分如何证明可信?
  5. 系统设计题应按什么顺序展开?