903 字
5 分钟
AI 开发岗面试速查:RAG、Agent 与微调

一份面试前十分钟能扫完的速查。每题只给骨架和加分点——面试官想听的从来不是流程名,而是你在哪一环踩过坑。

日常怎么用 AI 写业务代码,另见《AI 出码工程手记》

RAG#

Q:完整讲一下 RAG 链路

骨架:解析 → 切分 → Embedding → 入库 | 查询改写 → 混合召回 → 重排 → 组装 → 生成 → 引用溯源。

每步带一句实践细节(「PDF 表格解析我们换过三次方案」),比背完整流程加分得多。

Q:向量召回不准怎么办

混合检索:向量管语义,BM25 管精确匹配——型号、错误码、人名这类恰恰是向量最弱的地方; ② Query 改写 / HyDE; ③ Rerank:粗召回 top50 → cross-encoder 精排 top5,投入产出比最高的一环; ④ 元数据过滤:能用结构化条件先砍掉的,不要交给向量。

Q:Chunk 怎么切

重点是按语义边界切优于按字数切:Markdown 按标题层级,代码按函数,合同按条款。字数只是兜底起点(300–800 token + 10~20% overlap),不是标准答案——长上下文成为常态后,偏大的 chunk 也完全可用。

加分:chunk 前缀带上父级标题,否则切出来的片段脱离上下文后语义漂移。

Q:怎么评估 RAG 效果

拆成检索指标(Recall@K、MRR)和生成指标(忠实度、答案相关性)分别评——混在一起你永远不知道是没召回还是没答好。

必须有评测集:真实问题抽 100~200 条,标注标准答案和应召回文档。线上看重问率、点踩率、人工接管率。

Agent 与工具#

Q:Function Calling 的原理

模型不执行任何函数。你把工具 JSON Schema 放进请求,模型输出结构化的调用意图,由你的代码执行,结果回填后它继续推理。

Q:Agent 怎么防止死循环失控

最大迭代轮数 + 超时 + token 预算上限;工具白名单,写操作强制人工确认;检测重复动作(同工具同参数连续调用就中断);每步结果校验,失败重试限次数。

Q:怎么保证输出的 JSON 一定能解析

分层兜底:① structured output / tool calling 做模型侧约束 → ② prompt 给完整示例 → ③ 代码侧剥 markdown 围栏、正则提最外层大括号 → ④ 解析失败把错误回喂重试,限次数。

Q:Prompt 注入怎么防

核心心智:把模型输出当作不可信输入处理,和用户提交的表单同级。

可信边界(系统指令与数据分离)+ 最小权限(危险操作人工确认)+ 输出侧过滤(防止生成内容直接进 SQL / shell / 前端渲染)。

模型选择#

Q:什么时候该微调

排除法:先 prompt,再 RAG,最后才微调。

缺知识用 RAG——微调塞知识性价比极低且难更新;缺格式 / 风格 / 领域语气才微调。没有持续标注能力就别开这个头。

开放题#

Q:设计一个企业内部知识库问答

先反问澄清(不问直接扣分):文档规模和格式?更新频率?用户是谁?准确率要求?权限隔离?延迟预算?

再按 数据链路 → 检索链路 → 生成链路 → 评估迭代 → 非功能 展开。

关键加分点:权限过滤必须在检索层做,不能靠 prompt。靠 prompt 说「不要回答用户无权查看的内容」,等于没做。

AI 开发岗面试速查:RAG、Agent 与微调
https://gilgameshzzz.github.io/posts/ai-interview-cheatsheet/
作者
Amadeus
发布于
2026-09-15
许可协议
CC BY-NC-SA 4.0