Skip to content

AI智能体应用开发面试题 · 2026-06-15 ​


【面试题】1. 你在做Agent项目时,工具调用失败了一般怎么排查? ​

【标准答案】分层排查。第一层看日志,判断是模型返回格式问题还是工具执行异常。如果是模型侧问题,检查prompt有没有说清楚工具调用的格式要求;如果是执行侧问题,看返回的错误码,比如网络超时、参数校验失败。实战中80%的问题出在工具定义描述不清晰,导致模型乱选工具或参数填错。解决方案:写清楚每个工具的功能描述和参数约束,用JSON Schema规范输出。同时加熔断机制,单个工具连续失败2次就降级或换方案。


【面试题】2. 多智能体协作里,怎么防止两个Agent抢同一个工具或资源? ​

【标准答案】核心是加协调层。常用两种模式:中央调度,一个主Agent负责任务分发,其他Agent只管执行,主Agent通过消息队列或共享状态控制并发;第二种是拍卖机制,多个Agent竞争任务前先报能力评分,主Agent根据评分分配。我实际落地用得更多的是第一种,因为简单可控。具体实现用Redis分布式锁或者数据库行锁来保护共享资源,关键操作的并发控制要在数据库层面做,不要依赖应用层状态。


【面试题】3. Dify和CrewAI的区别是什么?什么时候选Dify、什么时候选CrewAI? ​

【标准答案】定位不同。Dify是低代码平台,偏向可视化编排,适合业务人员搭建简单Agent流程,不需要写代码;CrewAI是Python框架,面向开发者,强调多智能体协作逻辑,自己写代码集成。选Dify的场景:团队没有算法背景、需求是简单的LLM调用链、需要快速上线给业务方用。选CrewAI的场景:复杂的多Agent协作、需要深度定制逻辑、跑在现有Python项目里。实际开发中如果项目是全新的、复杂度高,我倾向CrewAI;如果是给业务方搭工具,用Dify更快。


【面试题】4. RAG系统里,向量检索效果差怎么优化? ​

【标准答案】从检索和生成两端入手。检索端优化:先检查Embedding模型选的对不对,中文场景最好用BGE或M3E这类中文优化过的,别用英文模型硬套;然后看分块策略,大段落和小句子效果差很多,一般256-512token带重叠的滑动窗口效果好;最后加元数据过滤,比如时间、类别做混合检索。生成端优化:加Context压缩,把检索回来的冗余内容精简后再塞进prompt。实测下来检索端优化收益最大,Embedding换对了准确率能提升20%以上。


【面试题】5. 你怎么理解Agent的"规划能力"?怎么让它拆解的任务不跑偏? ​

【标准答案】规划能力本质是模型把复杂目标拆成有序子任务的能力。常见方案是CoT(思维链)和ReAct,让模型输出推理过程再决定下一步动作。防跑偏的关键是约束prompt——明确边界、禁止行为和兜底逻辑。比如做客服Agent,我会加一条:"如果用户要求退款超过500元,转人工,不自行处理"。同时加自检机制,每完成一步让Agent回顾目标进度,发现偏离就回退。加一个"最多重试N次"的兜底,防止死循环。实战中规划能力和模型能力强相关,GPT-4比GPT-3.5在这块有明显优势。


【面试题】6. LangChain的LCEL是什么?用它写过什么实际的东西? ​

【标准答案】LCEL是LangChain Expression Language,用链式API把各种组件(Prompt、Model、OutputParser、Tool)串起来,支持流式输出和并行执行。我用它写过一套文档问答链:PDF读取→文本分割→向量检索→上下文组装→LLM生成答案。核心代码就几十行,比之前的嵌套调用简洁很多。最实用的是它能把Retry、Memory、Tool都做成组件随意组合,调试的时候也方便替换单个环节。如果你们项目用Python+LangChain,LCEL是现在的主流写法。


【面试题】7. Agent的记忆系统怎么设计?短期和长期记忆分别怎么处理? ​

【标准答案】短期记忆用ConversationBufferMemory,在单次对话周期内存历史消息,key就是最近N轮对话,超过就截断。长期记忆用向量数据库存关键信息,检索时用"当前问题+记忆摘要"做混合检索。我一般会在每次对话结束后抽取关键实体和结论存进向量库,定期(比如每天)做一次记忆摘要压缩,防止向量库膨胀。记忆召回的时候加一个"记忆新鲜度"权重,新信息权重高,老信息慢慢衰减。核心原则:记忆不是越多越好,召回质量比数量重要。


【面试题】8. 项目从0到1搭一个Agent系统,你一般怎么规划?第一步做什么? ​

【标准答案】先不做技术,做需求分析。第一步明确:这个Agent要解决的核心问题是什么,成功标准是什么。然后评估模型能力边界,判断当前技术栈能不能支撑。技术方案选择上,如果是内部工具先快速用Dify搭MVP验证价值;如果是对外产品用CrewAI或自研框架保证可控。接着做技术方案设计,重点画清楚数据流和工具边界。开发节奏:第一周跑通核心链路,第二周加异常处理和监控,第三周压测和优化。上线后立刻搭日志和指标看板,数据驱动迭代。


【面试题】9. 面试官问:"你这个项目里,Agent幻觉问题怎么控制的?" ​

【标准答案】这是个很实际的问题。首先从数据源头控制,RAG的检索结果必须带来源溯源,模型回答时必须引用具体文档,不能自由发挥。其次加置信度校验,让模型输出答案时给出信心分数,明显低的直接拒答或转人工。我还会加一层"事实核查"链,用另一个Prompt让模型验证自己的输出是否和上下文一致。工程层面,关键业务场景的回答必须有人工审核环节,机器生成、人工兜底。技术上没有100%解决幻觉,但通过这套组合拳能把错误率控制在可接受范围。


【面试题】10. 多模态Agent你说说怎么落地的?具体用过哪些能力? ​

【标准答案】我主要用过这几个场景:图文理解,用户上传截图或照片,Agent提取文字信息并执行相应操作,比如报销单识别+自动填表;文档解析,把PDF、PPT里的内容提取出来做问答;视觉巡检,结合图像识别做质量检测流程。最底层是多模态大模型(如GPT-4V或国内通义千问VL),接入方式是图片转Base64或者URL直接传。落地时注意图片尺寸压缩,太大的图既贵又慢。另外多模态模型对截图、表格这类半结构化内容的理解效果比自由照片好,场景选对很重要。