这道AI面试题,我后来发现90%的人都会答错 面试AI/大模型/应用岗的时候有一道题我被反复问到:“如果用户的问题在知识库里查不到,你们系统怎么兜底?”一开始我也以为这是个偏技术的问题,后来才发现这题真正考的,是系统能不能真的上线。 这个问题我一般会从三个层面来看:先确认是不是真的“无匹配”,再设计分层的fallback,最后才是Agent的反思或重试机制,而且一定是受控的。 在真实系统里,很多时候不是“完全没有结果”,而是“结果不够好用”。所以我不会只看“知识库里有没有召回结果”,而是会综合看几类信号: 检索相似度是不是整体偏低 有没有覆盖问题里的关键关键词或实体 模型在当前证据条件下,能不能判断自己可以回答 如果这些信号整体都偏低,我才会明确认定为低置信度,这时候不会强行生成答案,避免模型在证据不足的情况下瞎编。 一旦低置信,就进入fallback 第一层:轻量修复 比如:对用户query做一次改写,换一种问法重新检索,适当放宽条件、扩大topK,一般只允许1~2次,再往后命中率提升很有限,成本和延迟会上得很快。 第二层:澄清式fallback 如果轻量修复之后,系统还是判断信息不足,或者发现问题本身缺少关键条件,那就不会硬答。而是主动向用户确认一到两个关键信息,比如具体对象、时间范围、业务背景,让用户帮我们把问题说清楚一点。 第三层:明确拒答/转人工 如果在澄清之后,或者在一些高风险场景下,还是没有可靠依据,那就会明确拒答,或者引导人工处理。这一步的目标不是“尽量回答”,而是让系统行为安全、可控、可预期。 那Agent会不会一直自己反思、一直重试?这一点我在面试里会刻意说得比较保守。我不会让Agent自由反思、无限重试,而是基于失败原因来做受控重试。比如:是没检索到结果,还是相似度太低,还是问题本身太泛。不同原因,对应不同处理动作,避免它在同一个地方来回打转。 重试次数怎么定? 我一般会从两个维度定:成本和用户体验在常见的知识库问答场景下:和检索相关的重试不超过2次,整体决策步骤不超过3步,超过这个点之后,成功率提升已经很小了,但延迟和成本会上去,用户反而会觉得系统在“兜圈子”。 所以整体设计目标其实很简单:在无匹配的时候不瞎编、不死循环,同时给用户一个清楚的反馈,让他知道现在卡在什么地方、下一步能做什么。 #大模型 #llm #算法 #ai #互联网大厂
00:00 / 02:35
连播
清屏
智能
倍速
点赞8
00:00 / 00:23
连播
清屏
智能
倍速
点赞NaN
在面试中聊 Agent,这样说反而更安全 最近在面AI产品/AI应用岗的时候,发现一个现象:Agent几乎成了必聊话题。不管是面试官问,还是候选人主动说,大家都会往Agent上靠。但这个问题,其实我自己在工作和面试准备中反复想过很多次。 在实际项目里,我越来越觉得:Agent本身更像一个中枢,而不是能力本身。它主要负责理解你要干嘛、判断下一步该怎么走,但一个系统能不能稳定跑、能不能真的把事情做好,关键还是在背后的执行能力是不是扎实、可控。主要是因为在一些项目里,我看到过这样一种做法:每来一个业务场景,就包一层新的Agent。短期看确实很快,Demo也很好看,但往后走会慢慢暴露出一些问题。 第一个问题:维护成本会上来 不同Agent各自维护Prompt、状态和逻辑,时间一长,系统会变得越来越复杂,出了问题也很难快速定位。 第二个问题:表现不稳定 每个Agent都在“自己决策”,只要底层能力稍微不稳,整体结果就会出现比较大的波动。这种不确定性,在真实业务里其实是很难接受的。 在一些场景下,我反而会更倾向于:Agent数量尽量少,但底层能力尽量做扎实。也就是用一个相对通用的Agent,去编排一套 结构化、可复用的执行能力。Agent负责理解意图和流程编排,能力模块负责事情稳定、可控地执行好。 这样做的好处是:系统复杂度是可控的,能力边界也比较清楚,不同业务之间还能不断复用和积累。 我并不是不看好Agent,只是更倾向于把它当成入口和调度层,而不是把所有复杂性都堆到Agent里。你在项目或面试中接触到的Agent,更多是帮你简化问题,还是引入了新的复杂度? #LLM #AI产品经理 # #面试问题 #大模型 #互联网大厂
00:00 / 02:36
连播
清屏
智能
倍速
点赞55
00:00 / 01:21
连播
清屏
智能
倍速
点赞800