AI应用开发面试题精讲(五):踩坑复盘与实战经验高频15问
文章目录
- AI应用开发面试题精讲(五):踩坑复盘与实战经验高频15问
-
- 前言
- 一、RAG踩坑
-
- 1. 切分不合理导致召回差,怎么排查和解决?
- 2. 检索Top-K设置不合理,怎么调?
- 3. 知识库更新了但RAG还是返回旧答案,为什么?
- 二、大模型输出问题
-
- 4. 大模型输出JSON格式不稳定,怎么处理?
- 5. 同一个问题,大模型每次回答都不一样,怎么办?
- 6. 大模型输出截断(生成到一半停了),怎么处理?
- 三、Prompt工程踩坑
-
- 7. Prompt越来越长,成本飙升,怎么控制?
- 8. Few-Shot例子选择不当导致效果变差
- 四、成本与性能踩坑
-
- 9. Token成本突然飙升,怎么排查?
- 10. 缓存命中率低,怎么优化?
- 五、Demo到上线
-
- 11. Demo效果好但上线后效果差,最大的原因是什么?
- 12. AI应用怎么做测试?传统测试方法够用吗?
- 13. 线上没有监控,出了问题怎么定位?
- 14. 用户反馈说"回答不对",怎么收集和处理?
- 15. AI应用上线后怎么持续优化?
- 总结
前言
这道面试题最区分人:"你踩过什么坑?"背概念谁都会,但真正做过项目的人,能说出具体的问题现象、排查过程和解决方案。这篇整理了AI应用开发中最真实的15个踩坑场景。
一、RAG踩坑
1. 切分不合理导致召回差,怎么排查和解决?
参考答案:
问题现象:RAG系统上线后,用户反馈"明明文档里有答案,但系统答不出来"或"答非所问"。
排查步骤:
常见原因和解决:
- 固定长度切分把一个完整概念切成了两半 → 改用递归切分或按结构切分
- Chunk太大(>1000 Token)→ 缩小到500-800 Token
- 没有重叠窗口 → 加50-100 Token重叠
- FAQ类文档按长度切分破坏了问答结构 → 按问答对切分
2. 检索Top-K设置不合理,怎么调?
参考答案:
问题现象:Top-K太少漏掉正确答案,太多引入噪音导致模型被干扰。
调优方法:
经验值:
- 精确问答(FAQ):Top-3-5,不需要重排
- 开放问答(知识库):Top-5-10 + 重排
- 宽泛问题(“介绍一下X”):Top-10-20 + 重排
坑点:Top-K不是越大越好。某次把Top-K从5调到20,准确率反而下降——因为20个Chunk里有15个不相关,模型被噪音干扰了。加重排器后解决。
3. 知识库更新了但RAG还是返回旧答案,为什么?
参考答案:
问题现象:文档已更新,但RAG系统还在返回基于旧文档的答案。
常见原因:
解决和预防:
- 建立文档更新→索引更新的自动化流水线
- 文档更新时主动清除相关缓存
- 向量库中每条数据带版本号和更新时间
- 定期做全量重建对齐,防止增量累积偏差
- 监控知识库更新后N小时内的查询质量
二、大模型输出问题
4. 大模型输出JSON格式不稳定,怎么处理?
参考答案:
问题现象:Prompt里要求输出JSON,但模型偶尔输出带多余文字、字段缺失、嵌套错误。
原因分析:
- Prompt描述不够明确
- Temperature过高
- JSON结构太复杂(嵌套超过3层)
- 模型本身对结构化输出的支持不够好
解决方案:
预防措施:上线前用1000条测试case验证格式合规率,低于99%不上线。
5. 同一个问题,大模型每次回答都不一样,怎么办?
参考答案:
问题现象:同一query多次调用,答案内容、格式、准确度差异很大。
原因分析:
- Temperature过高
- 上下文拼接不稳定(历史对话裁剪逻辑有问题)
- 检索结果不稳定(向量库更新或并发写入导致排序变化)
- 模型服务端更新
解决步骤:
实践建议:生产环境关键场景Temperature设0-0.3,需要多样性时用0.5-0.7,不要超过1.0。
6. 大模型输出截断(生成到一半停了),怎么处理?
参考答案:
原因分析:
解决方案:
三、Prompt工程踩坑
7. Prompt越来越长,成本飙升,怎么控制?
参考答案:
问题现象:系统Prompt从最初的500 Token膨胀到3000 Token,每次调用都在烧钱。
常见原因:
- 不断往系统Prompt里加规则、加约束、加例子
- Few-Shot例子越加越多
- 上下文历史越拼越长
控制手段:
8. Few-Shot例子选择不当导致效果变差
参考答案:
问题现象:加了Few-Shot例子后,效果不升反降。
常见问题:
- 例子和当前query不相关,误导模型
- 例子之间有矛盾,模型不知道该学哪个
- 例子格式不统一,模型学到了不一致的输出模式
- 例子太多,占用了大量上下文空间
解决方法:
四、成本与性能踩坑
9. Token成本突然飙升,怎么排查?
参考答案:
排查步骤:
常见原因:
- 对话历史没做裁剪,越聊越长
- RAG召回太多文档塞进上下文
- 缓存策略改了导致命中率骤降
- 某个用户大量调用(可能在爬数据)
- Prompt被改了变长了
10. 缓存命中率低,怎么优化?
参考答案:
问题现象:上了语义缓存,但命中率只有5%,没起到降本作用。
排查和优化:
优化策略:
- 对FAQ类高频问题,可以预填充缓存
- 对时效性不敏感的场景,TTL设长一些(24小时+)
- 分场景设不同阈值——FAQ场景设高阈值,通用问答设中阈值
- 监控缓存命中后的用户反馈,确保没有"答非所问"
五、Demo到上线
11. Demo效果好但上线后效果差,最大的原因是什么?
参考答案:
核心原因:Demo的测试数据太干净,生产数据太脏。
具体差异:
解决方法:
- 上线前用真实用户数据做测试(从客服日志里挖)
- 做"红队测试"——专门找人尝试问各种刁钻问题
- 灰度发布,先放5%流量观察
- 建立"bad case收集→分析→修复"的闭环
12. AI应用怎么做测试?传统测试方法够用吗?
参考答案:
传统测试不够:传统测试是"给定输入,期望确定输出",AI应用输出非确定。
AI测试方法:
关键指标:
- 格式合规率 > 99%
- 准确率(人工评估)> 90%
- 拒答率 < 5%(该答的不拒)
- 幻觉率 < 3%
13. 线上没有监控,出了问题怎么定位?
参考答案:
这就是一个坑——没有监控的AI系统就像盲飞。
紧急定位:
亡羊补牢:
- 立刻加:Token消耗监控、错误率监控、延迟监控
- 尽快加:链路追踪(每个请求的完整调用链)、质量监控(采样人工check)
- 逐步加:用户反馈收集、自动评估流水线
面试金句:没有监控的AI系统不应该上线。监控的成本远低于线上事故的损失。
14. 用户反馈说"回答不对",怎么收集和处理?
参考答案:
收集渠道:
处理流程:
15. AI应用上线后怎么持续优化?
参考答案:
优化闭环:
优化优先级:
关键原则:每次优化只改一个变量,不要一次改切分策略+换模型+改Prompt——出问题都不知道是哪个导致的。
总结
踩坑复盘题考察的是真实经验。面试官想听的是"我遇到了什么问题→我怎么排查的→我怎么解决的→我学到了什么"。如果你只说概念不说故事,面试官会觉得你没做过。最好的准备方式是:把你的项目经历写成"踩坑日志",每个坑记录清楚问题、原因、方案和教训。


