Skip to content

AI智能体应用开发面试题 ​

生成时间:2026-06-15 22:40


【面试题】1. 你在做Agent开发时,遇到过大模型"一本正经胡说八道"的问题吗?你是怎么处理的? ​

【标准答案】 处理过,主要靠三层来兜底。

第一层是提示词约束,我会用Few-shot Example + 明确边界来减少幻觉,比如告诉它"如果不确定,就说不知道"。第二层是工具校验,Agent调用外部工具拿到的数据必须回流做二次确认,我不会让模型直接信任工具返回值。第三层是输出结构化,用JSON Schema或者强类型约束输出格式,让模型只能在有限范围内回答。

根本上没有银弹,但组合拳能压到可接受范围。核心思路是:能确定性解决的就不让模型猜。


【面试题】2. Dify和CrewAI在多智能体协作上有什么区别?你在项目中怎么选? ​

【标准答案】 核心区别在于编排哲学。Dify是工作流驱动的,节点和连线都可视化,适合业务人员搭流程,复杂协作逻辑写起来比较绕。CrewAI是角色驱动的,基于任务的并行/串行执行,写代码更自然,但编排灵活性依赖任务设计。

我选的话:企业内部流程类需求用Dify,因为要方便非技术人员改;产品化、需要深度定制的多Agent系统用CrewAI或者直接基于LangGraph自己搭。简单说就是"运营友好 vs 开发者友好"。


【面试题】3. 你的RAG系统召回率低,怎么做诊断和优化? ​

【标准答案】 诊断先找问题在哪一层。我会先抽一批bad case,用不同召回策略分别跑,看是检索层的问题还是生成层的问题。

常见优化路径:检索层做Query改写/ HyDE / 混合检索(语义+关键词),如果知识碎片化就做句子窗口或父子块切分;生成层加一个"引用置信度"过滤,把低相关片段直接扔掉。还有一个经常被忽略的:embedding模型和业务领域是否匹配,换一个垂直领域的模型提升很明显。


【面试题】4. 场景题:产品经理说要给客服Agent加"记忆"功能,让它记住用户历史偏好。你怎么设计? ​

【标准答案】 我会分三层设计。第一层是会话级记忆,用LLM的Conversation Summary或者滑动窗口,只保留当前对话上下文。第二层是用户级记忆,把用户画像、偏好、历史工单用结构化方式存到向量库或数据库,Agent每次对话前先检索补充。第三层是跨会话的长期记忆,定期用LLM从对话历史中抽取更新用户标签。

关键点是不能让Agent无限制记忆,否则上下文爆炸。设计上要给记忆设TTL,定期衰减或者主动遗忘。


【面试题】5. 解释一下Tool Calling中函数参数类型的处理,你遇到过什么坑? ​

【标准答案】 坑主要有两个。第一个是类型丢失:大模型输出JSON时对复杂类型的解析不稳定,尤其是嵌套对象和枚举值,需要在Schema定义里加严格的enum约束和default值。第二个是参数校验:模型返回的参数不一定完全合法,必须在后端做一次Schema Validation再执行,否则可能注入风险。

实战经验:先用zod或者pydantic做严格校验,校验失败的直接返回"参数不符合要求"让模型重试,不要静默容错放过异常参数。


【面试题】6. 在多Agent协作时,你怎么避免"死锁"和"活锁"? ​

【标准答案】 死锁一般是因为Agent互相等待对方的输出但都不触发。我设计上会强制设一个"超时放弃 + 回退策略",比如Agent A等Agent B超过N秒就自己出一个中间结果继续推进,而不是卡死。

活锁是大家在反复循环做无效交互,解决方法是引入"状态机"或者"步数预算",每个Agent最多循环N轮,超了就强制收敛到某个默认行为。另外在任务设计上要确保每个Agent的职责是互斥的,避免抢活。


【面试题】7. 你怎么理解"Agent的规划能力"?ReAct和Plan-and-Execute模式各适合什么场景? ​

【标准答案】 规划能力本质是把复杂任务拆解成可执行的子任务链。ReAct是边想边做,每一步都基于当前状态做推理再行动,适合动态、交互频繁的场景,比如对话式助手。Plan-and-Execute是先完整规划再逐步执行,适合目标明确、步骤相对固定的场景,比如批量数据处理流水线。

选型经验:任务链路短、用户随时可能打断的用ReAct;链路长、中间步骤不需要用户参与的用Plan-and-Execute,效率更高。


【面试题】8. 你们的Agent系统怎么做线上监控?哪些指标是核心的? ​

【标准答案】 核心监控四类指标。第一是任务完成率,跑了多少任务、成功率多少、分任务类型的成功率。第二是延迟,P50/P95/P99的响应时间,特别是工具调用耗时和模型推理耗时要分开看。第三是成本,每次调用模型的费用、token消耗趋势。第四是质量,用Golden Case做定期回归评测,看回答质量是否漂移。

日志上要做到每个任务可追溯,存好prompt、工具调用参数、最终输出,方便出问题时能复盘回放。


【面试题】9. 多模态Agent你们用过吗?实际场景下图生文的坑在哪? ​

【标准答案】 用过,主要是图文理解场景。最大的坑是图片信息的"过度依赖"和"过度忽略"两个极端。模型有时会把图片里无关的细节当重点,有时又会漏掉关键信息。

处理方式是双轨校验:图片理解结果和文本上下文做一致性检查,如果差异过大就触发重新理解。另外图片预处理很关键——压缩尺寸、去掉水印、统一格式,做不好直接影响理解质量。


【面试题】10. 如果让你从零设计一个客服Agent项目,你会怎么规划落地路径? ​

【标准答案】 我会分四个阶段。第一阶段先跑通最小闭环:单Agent接知识库RAG,能回答基础问题,验证ROI。第二阶段加上记忆和上下文管理,让它能处理多轮对话。第三阶段上工具和业务流,比如查订单、改地址,对接真实业务系统。第四阶段加监控和质量保障,回归测试、A/B对照、人工介入机制。

每个阶段都要有明确的评估指标,不合格就迭代,合格了再往下走。核心原则是小步快跑,不要一开始就把架构做得很重。