AI智能体应用开发面试题
生成时间:2026-06-15 21:46
【面试题】1. 在多智能体协作中,如何避免Agent之间的"死锁"或"活锁"问题?
【标准答案】死锁是多个Agent互相等待对方释放资源;活锁是都在动但谁都完成不了。实战中我们常用三种策略:①超时降级——给每个Agent的任务设置超时,超时后放弃等待、返回部分结果或重试;②优先级队列——明确哪个Agent先执行、哪个后执行,避免循环依赖;③中心协调器——用一个主Agent当调度者,其他都是执行者,执行者不直接互相调用,统一走调度器分发任务。简单说就是:别让Agent自己商量谁先谁后,规定好规则让它们照着执行就行。
【面试题】2. Dify和CrewAI在多Agent场景下有什么区别?你更倾向怎么选?
【标准答案】Dify是低代码平台,重在可视化编排工作流,擅长把LLM能力包装成API服务,非技术也能上手,适合产品快速落地;CrewAI是代码优先框架,Agent之间有角色分工和任务传递机制,更灵活,适合复杂的多角色协作场景。选的话:快速出产品用Dify,复杂逻辑和定制化用CrewAI。实际项目中我们经常Dify做前端编排 + CrewAI做底层Agent逻辑,两者结合用。
【面试题】3. 大模型输出不稳定导致Agent决策出错,怎么做错误处理?
【标准答案】核心思路是"防御性调用":第一层是输出校验,让模型输出前用JSON Schema约束格式,解析失败就重试;第二层是置信度检测,要求模型输出时附带confidence分数,低于阈值就走备用逻辑;第三层是异常捕获,对API超时、token超限、rate limit等提前写好兜底方案,比如降级到规则引擎或返回"需要人工确认"。说白了就是:别假设模型一定会正常返回,做好它随时可能出错的准备。
【面试题】4. RAG系统中,向量检索"语义相似但事实不对"的问题怎么解决?
【标准答案】这是RAG的老大难问题,叫语义漂移。实战解法有几个:第一,混合检索——把向量检索和关键词检索(BM25)结果合并,各取top k后再重排序;第二,上下文压缩——检索到的文档块先做摘要,压缩掉冗余信息再塞进prompt;第三,结果验证链——让Agent对检索结果做二次确认,"这个信息准确吗";第四,元数据过滤——加时间、来源等过滤条件,减少干扰。根本思路是:检索要准、上下文要干净、结果要验证。
【面试题】5. 智能体的"记忆系统"设计,有哪些主流方案?各自优缺点是什么?
【标准答案】记忆系统分三层:①短期记忆——当前对话的上下文,窗口多大模型就装多少;②长期记忆——把重要信息存到外部存储,常见方案有向量数据库(存对话摘要)、结构化数据库(存实体关系)、知识图谱(存实体链路);③情景记忆——类似人类的"经验库",相似场景直接复用历史决策。方案选择上:简单场景用对话窗口+会话摘要就够了;复杂场景建议向量+知识图谱双轨存储,查询效率高。核心原则是记忆要"选择性存储、精准召回",别什么都往里塞。
【面试题】6. 面试官问:"你设计一个Agent的时候,第一步做什么?"
【标准答案】第一步是明确Agent的边界和职责——它能做什么、不能做什么、什么情况下说"不知道"。我会画一个简单的输入-处理-输出流程图:输入是什么(用户query、工具调用结果、还是外部事件)、核心能力是什么(理解、推理、工具调用、还是生成)、输出是什么(直接回答、执行动作、还是给下一个Agent)。职责边界不清楚是Agent失败的常见原因,很多问题其实不是技术问题,是产品设计问题。先想清楚这个Agent是谁、干什么,再动手写代码。
【面试题】7. LangChain的LCEL和传统Chain调用有什么区别?什么时候用LCEL?
【标准答案】LCEL(LangChain Expression Language)是LangChain的新写法,把链的各个组件用"管道符"串起来,代码更简洁、可读性更好。比如 prompt | model | output_parser 这种写法。传统Chain是类继承的方式,代码冗长但可控;LCEL是声明式的,代码少但调试需要熟悉执行逻辑。什么时候用LCEL:简单的顺序任务链、想快速原型开发;什么时候用传统Chain:复杂分支逻辑、需要细粒度控制中间步骤的场景。实际项目中我们混合用,简单路径走LCEL,复杂逻辑用传统写法。
【面试题】8. Agent部署到生产环境,需要关注哪些性能指标?
【标准答案】核心四个指标:①延迟——首token响应时间、完整回复时间,要监控P50/P95/P99;②吞吐量——QPS能抗多少,高并发下是否会自动降级;③成本——每次调用的token消耗,要做token计费和优化;④可用性——API成功率、是否有多级降级机制。除此之外还要监控模型拒绝率(用户问敏感问题模型拒答的比例)和工具调用成功率(Agent调用外部工具的成功率)。生产环境建议用APM工具+自定义埋点,告警阈值提前设好。
【面试题】9. 多模态Agent怎么处理图像输入?简单说下你的理解
【标准答案】多模态的核心是"对齐":把图像转成模型能理解的表示。目前主流两种方式:①Vision-LLM原生多模态——GPT-4V、Claude、Gemini这种,图像直接进模型,能力最强但成本高;②图像描述+纯文本——用BLIP等模型先提取图像描述,再当文本来处理,省成本但有信息损失。实操中我们还会做图像预处理——缩放到合适尺寸、加OCR提取文字、标注关键区域。选哪种看场景:需要精确理解用原生多模态,追求成本控制用描述中转。
【面试题】10. 如果让你从0到1搭建一个客服Agent,你会怎么规划?
【标准答案】分四个阶段:第一周:需求拆解——梳理客服场景的典型问题、边界是什么、接入哪些系统(工单、知识库、CRM);第二周:基础架构——选型(用Dify还是自研)、设计意图识别和槽位提取、搭知识库检索;第三周:能力扩展——接入多轮对话、工具调用(查订单、改地址)、异常转人工;第四周:上线与迭代——灰度发布、收集bad case、持续优化Prompt和知识库。核心心法是"小步快跑、快速验证",第一版先跑通核心流程,复杂功能逐步加。先解决80%的常见问题,剩下的20%靠人工兜底+持续迭代。