Skip to content

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

生成时间:2026-06-15 21:55


【面试题】1. 你在做Agent开发时,遇到过模型"幻觉"导致业务流程出错的情况吗?你是怎么处理的? ​

【标准答案】

遇到过。核心解法是三层: 第一层是提示词约束,明确告诉模型"不知道就说不知道",加输出格式校验; 第二层是工具调用时做结果验证,比如调用API后检查返回字段是否符合预期,不符合就重试或降级; 第三层是业务层面加确认机制,关键操作必须人工确认或二次校验。 实际项目中我们还会在Agent输出前加一层"自检"步骤,让模型先输出推理过程,发现矛盾就重新生成。


【面试题】2. 多智能体协作时,你用过哪种通信模式?各自的优缺点是什么? ​

【标准答案】

三种模式: 第一种是星型,一个主Agent调度其他子Agent,好处是逻辑清晰、易调试,缺点是主Agent压力大、成为单点瓶颈; 第二种是链式,A做完给B、B做完给C,适合流水线场景,缺点是链一长延迟高、错误会传导; 第三种是网状,Agent之间平等通信、自行协作,适合复杂任务,缺点是调试难、可能出现死循环。 我实际项目里常用星型+事件总线,主Agent负责任务分发,子Agent通过消息队列异步执行,结果汇总到主Agent。


【面试题】3. Dify和CrewAI的区别是什么?什么场景下你会选Dify? ​

【标准答案】

简单说,Dify是低代码平台,CrewAI是代码框架。 Dify适合:团队没有强研发能力、业务流程需要频繁调整、需要快速验证PMF的场景。它的可视化编排、插件市场、一键部署对非技术同学友好。 CrewAI适合:需要深度定制Agent行为、有复杂的多Agent逻辑、团队有研发能力要做二次开发。 我选Dify的场景是:内部工具类产品、流程相对标准、不需要太多定制化。反之,如果要做复杂的多Agent协作、或者要集成到现有代码库里,就选CrewAI。


【面试题】4. RAG系统里,向量检索的召回率低怎么排查? ​

【标准答案】

从数据到检索链路逐层排查: 数据层:看文档分块是否合理——块太小上下文碎片化、块太大引入噪声;检查Embedding模型和业务领域的匹配度,用专业领域数据微调过没; 索引层:看向量维度、度量方式是否合适;Chunk之间的Overlap是否足够; 检索层:看Query改写/扩展做没做,用户问法和文档表述可能不一致;Top-K设置是否合理;混排策略(向量+关键词)是否启用; 重排层:检查重排模型是否正确校准,有没有把相关度低的顶上来了。 我一般先用召回率指标卡一个baseline,再逐层加优化。


【面试题】5. 如果让你从0设计一个客服Agent,你会怎么规划技术架构? ​

【标准答案】

分四层: 接入层:统一接入API,支持多渠道(网页、微信、企微等),做流量控制和会话管理; 理解层:意图识别 + 槽位提取,判断用户想问什么、需要什么信息; 执行层:RAG检索 + 工具调用,检索产品知识库、操作工单系统、查询订单等; 记忆层:短期会话记忆 + 长期用户画像,让Agent能记住用户偏好和历史问题。 关键技术选型:对话管理用状态机或大模型判断;RAG用混合检索+重排;工具调用用Function Calling;部署用容器化,方便弹性扩缩容。 核心指标:回答准确率、首次解决率、用户满意度。


【面试题】6. 讲讲LangChain中LCEL链式调用的原理,什么时候适合用Runnable接口? ​

【标准答案】

LCEL(LangChain Expression Language)的原理是把每个组件(Prompt、Model、OutputParser等)抽象成Runnable对象,通过|操作符串联成管道。执行时数据从左往右流动,每一步的输出自动传给下一步。 适合用Runnable的场景: 需要组合多个组件形成复用流程时; 需要支持异步、流式输出、批量处理时; 需要动态调整链的某一部分(比如换Prompt模板)时。 好处是代码简洁、链可观测、方便调试。复杂业务逻辑还是得写代码,LCEL不是银弹。


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

【标准答案】

短期记忆:就是当前会话的上下文,通常用滑动窗口或Token限制来管理。超出就截断或摘要。 长期记忆:存储用户偏好、历史交互总结、结构化画像。一般存到向量数据库或知识图谱里,检索时召回。 设计要点:

  1. 写入策略——哪些要记?我一般只记有价值的交互,比如用户纠正了Agent的错误、或者表达了偏好;
  2. 检索策略——需要时怎么取?用当前Query检索历史记忆,加重排;
  3. 更新策略——记忆会过期,用时间衰减或定期刷新。 实际项目里我们用"记忆摘要"替代全量存储,减少Token消耗。

【面试题】8. 工作中你怎么评估Agent的效果?有哪些指标? ​

【标准答案】

分两个维度: 任务完成度:能不能完成目标任务。可以用成功率、完成任务所需轮次来衡量; 回答质量:回答是否准确、有用、一致。具体指标包括:

  • 答案正确性(需要人工标注或用大模型做裁判)
  • 幻觉率(事实性错误占比)
  • 响应延迟
  • 工具调用成功率 实操上我们会建一个评估集,覆盖常见场景和高频问题,定期跑自动化评估,发现退化就告警。线上也会采样本做人工回访,看用户实际满意度。

【面试题】9. 场景题:用户说"帮我分析一下竞品A和竞品B的优缺点",你会怎么让Agent执行这个任务? ​

【标准答案】

分三步: 第一步是任务拆解,先判断用户说的"优缺点"指什么维度(功能?价格?体验?),再决定要调用什么工具——可能需要搜索最新信息、读评测文章、查产品对比页; 第二步是分头执行,起两个子Agent分别搜集竞品A和竞品B的信息,避免串行等待; 第三步是汇总整合,把两份信息按统一维度对比输出,可以加个总结表格。 关键点:要主动追问用户具体想看哪些维度,别自己脑补;信息不充分时先坦白说"我查到的信息有限,先给你有的",而不是瞎编。


【面试题】10. 你觉得AI Agent从能用到真的好用的差距在哪?什么决定了一个Agent的上限? ​

【标准答案】

差距主要在三点: 边界感——知道什么能做、什么不能做,不能做的时候怎么优雅地拒绝或引导; 记忆能力——能不能记住用户、记住教训、持续进化; 容错机制——出错了怎么发现、怎么补救、怎么不把用户晾在那。 决定上限的核心因素,我认为是任务拆解能力和工具生态。拆解能力决定复杂任务能不能分解执行,工具生态决定Agent能调用多少外部能力。 还有一个隐性因素是迭代速度——能不能快速收集bad case、快速优化Prompt和流程,这个决定了产品能不能持续变好。


本题库由AI自动生成,每5分钟轮换考点 共覆盖:技术基础、架构设计、工具使用、项目落地、场景实操、综合能力