Skip to content

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

生成时间:2026-06-16 01:01 题目数量:10道 知识范围:1-3年岗位要求


【面试题】1. 在生产环境中,如何优化LLM API的调用成本和响应速度? ​

【标准答案】 从三个维度优化:

成本优化:

  • 用缓存,相同问题直接返回,减少重复调用
  • 选合适模型,简单任务用小模型,复杂任务才用旗舰模型
  • 压缩prompt,去掉冗余信息,控制输入token数
  • 批量调用,合并同类请求,用batch API降价

速度优化:

  • 开流式输出,用户能立刻看到结果,体验好
  • 设超时和重试,避免单点故障拖慢整体
  • 用异步调用,多个请求并发处理
  • 靠近部署,选离用户近的API节点

架构优化:

  • 加一层代理,做负载均衡和限流
  • 监控token用量,及时发现异常消耗
  • 设降级策略,API挂了能切备用方案

核心就是:能缓存的缓存,能并行的并行,能压缩的压缩。


【面试题】2. 如何设计Agent的系统提示词,避免角色漂移和指令注入? ​

【标准答案】 防角色漂移:

  • 系统提示词开头明确角色定义,用"你必须作为..."这类强约束语言
  • 每次对话都把系统提示词放前面,别让用户历史冲掉
  • 加行为边界,明确告诉Agent"你不能做什么"
  • 定期用Few-shot示例强化角色,让模型看到正确行为的样例

防指令注入:

  • 把用户输入和系统提示词做隔离,别直接拼接
  • 对用户输入做过滤,检测是否有"忽略前面指令"这类攻击模式
  • 用结构化输入,比如JSON格式,明确区分指令和数据
  • 加输出约束,要求Agent只回答特定领域问题

实战技巧:

  • 系统提示词分块:角色定义+任务描述+输出格式+约束条件
  • 用分隔符(如###)区分系统指令和用户输入
  • 测试阶段故意注入攻击,验证防御是否有效

核心是:边界要清晰,隔离要彻底,测试要充分。


【面试题】3. 什么情况下应该使用多智能体架构?设计时要注意哪些问题? ​

【标准答案】 用多智能体的场景:

  • 任务能拆解成多个子任务,每个子任务专业度要求高
  • 需要不同角色协作,比如分析师+程序员+测试员
  • 单Agent上下文不够,需要多个专业Agent分工
  • 需要并行处理,多个Agent同时工作提速度

设计注意点:

  • 明确分工,每个Agent职责要清晰,别重叠
  • 设计好通信协议,Agent之间怎么传信息
  • 加协调者(Supervisor),避免多个Agent乱喊
  • 处理冲突,多个Agent意见不一致时怎么决策
  • 控制成本,多Agent意味着多轮LLM调用,要算账

常见架构:

  • 串行:一个干完给下一个
  • 并行:多个同时干,最后汇总
  • 层级:有个主管Agent分配任务

核心是:任务能拆就拆,但别为了用多Agent而用多Agent,单Agent能解决就别复杂化。


【面试题】4. LangChain、CrewAI、Dify各有什么特点?企业落地时如何选择? ​

【标准答案】 LangChain:

  • 特点:Python框架,灵活度高,适合自定义开发
  • 优势:生态丰富,集成多,社区活跃
  • 劣势:抽象层多,学习曲线陡,调试复杂
  • 适合:有技术团队,需要深度定制的企业

CrewAI:

  • 特点:专注多Agent协作,角色驱动设计
  • 优势:多Agent场景上手快,内置协作模式
  • 劣势:单Agent场景不如LangChain灵活
  • 适合:需要多个专业Agent协作的复杂任务

Dify:

  • 特点:低代码平台,可视化工作流
  • 优势:上手快,非技术人员也能用,部署简单
  • 劣势:定制化能力受限,复杂逻辑难实现
  • 适合:快速验证场景,或非技术团队自用

选型建议:

  • 要快速验证→Dify
  • 要深度定制→LangChain
  • 要多Agent协作→CrewAI
  • 企业落地我建议:先用Dify跑通业务,再按需用LangChain定制开发。

【面试题】5. Function Calling的实现原理是什么?开发中要注意哪些问题? ​

【标准答案】 实现原理:

  • LLM输出结构化JSON,声明要调用的函数和参数
  • 应用层解析这个JSON,执行对应函数
  • 把函数执行结果返回给LLM,让它生成最终回复
  • 整个过程是多轮的,LLM可以连续调用多个函数

开发注意点:

  • 函数描述要清晰,LLM靠这个理解什么时候用哪个函数
  • 参数要加类型和约束,避免LLM传错
  • 处理函数执行失败,别让整个流程挂掉
  • 控制函数数量,太多LLM会选不准
  • 敏感操作要加确认,别让Agent直接删库

常见坑:

  • LLM生成的参数格式不对,解析失败
  • 函数执行超时,拖慢整体响应
  • 递归调用,Agent一直调函数出不来
  • 成本失控,多轮Function Calling很烧token

核心建议:函数设计要简单明确,执行要快,失败要有降级。


【面试题】6. 如何构建一个生产级别的RAG系统?关键环节有哪些? ​

【标准答案】 生产级RAG系统分五个关键环节:

1. 文档切分:

  • 别盲目按固定长度切,要用语义切分
  • 保留上下文重叠,避免切断关键信息
  • 不同文档类型用不同策略,PDF、Word、网页不一样

2. 向量化:

  • 选合适嵌入模型,中文用text-embedding-ada-002或M3E
  • 控制向量维度,平衡准确率和存储成本
  • 批量处理,别一条条向量化

3. 检索优化:

  • 用混合检索,向量检索+关键词检索结合
  • 加Rerank模型,对检索结果重新排序
  • 调整top-k,太多噪声大,太少漏信息

4. 生成优化:

  • 把检索结果和用户输入拼得自然点
  • 加引用标注,让用户知道答案从哪来
  • 处理无结果情况,别让模型瞎编

5. 评估迭代:

  • 建测试集,定期跑准确率
  • 监控用户反馈,找出检索不准的案例
  • 持续优化切分策略和检索参数

核心是:检索准不准决定RAG好不好,别只顾着调prompt。


【面试题】7. 如何选择合适的向量数据库?Pinecone、Qdrant、Milvus各有什么特点? ​

【标准答案】 选型标准:

  • 数据规模:百万级以下随便选,亿级要考虑分布式
  • 部署方式:云服务还是自部署
  • 查询性能:QPS要求和延迟敏感度
  • 功能需求:是否要混合检索、元数据过滤
  • 成本:授权费用+运维成本

各数据库特点:

Pinecone:

  • 全托管云服务,上手最快
  • 优势:无需运维,自动扩缩容
  • 劣势:贵,数据不出境困难
  • 适合:海外业务,快速启动

Qdrant:

  • 开源,Rust写的,性能强
  • 优势:速度快,支持复杂过滤,可自部署
  • 劣势:生态不如Pinecone成熟
  • 适合:对性能要求高,要自部署的团队

Milvus:

  • 开源分布式向量数据库
  • 优势:支持亿级数据,功能全面
  • 劣势:部署复杂,运维成本高
  • 适合:数据规模大,有专职DBA的团队

我的建议:

  • 初创团队→Pinecone,快速验证
  • 中型团队→Qdrant,性价比高
  • 大型企业→Milvus,自主可控

【面试题】8. 如何为Agent设计有效的记忆系统?有哪些实现方案? ​

【标准答案】 Agent记忆系统分三层:

1. 短期记忆(会话内):

  • 实现:直接把对话历史放context里
  • 优化:用滑动窗口,只保留最近N轮
  • 压缩:用摘要模型把早期对话压缩成一段话

2. 中期记忆(跨会话):

  • 实现:把重要信息存到向量数据库
  • 检索:用户新问题时,先检索相关历史
  • 更新:每次对话结束,提取关键信息入库

3. 长期记忆(持久化):

  • 实现:结构化存储,比如用户画像、偏好设置
  • 更新:定期从对话中提取实体和关系
  • 应用:新会话开始时加载,个性化回复

实现方案对比:

  • 全量历史:简单但撑不住长对话
  • 摘要记忆:用LLM压缩历史,省token但可能丢细节
  • 向量检索:精准但依赖检索质量
  • 混合方案:我推荐这个,短期用全量,中期用向量,长期用结构化

实战建议:

  • 记忆要有遗忘机制,别什么都存
  • 用户能查看和删除记忆,合规要求
  • 记忆提取用专门的Extractor Agent,别在主Agent里搞

【面试题】9. ReAct模式和Plan-and-Execute模式有什么区别?各自适合什么场景? ​

【标准答案】 ReAct模式(推理-行动循环):

  • 流程:思考→行动→观察→再思考,循环直到完成任务
  • 优势:灵活,能根据实时反馈调整策略
  • 劣势:多轮调用LLM,慢且贵,容易迷失方向
  • 适合:探索性任务,需要动态决策的场景

Plan-and-Execute模式(先规划后执行):

  • 流程:先让LLM生成完整计划,再按步骤执行
  • 优势:可控,能看到完整执行路径,容易调试
  • 劣势:规划可能不准,执行中发现问题难调整
  • 适合:任务清晰,步骤明确的场景

对比选择:

  • 任务明确→Plan-and-Execute,效率高
  • 任务模糊→ReAct,灵活性强
  • 要省钱→Plan-and-Execute,调用次数少
  • 要质量→ReAct,能实时纠错

实战建议:

  • 混合用:先Plan大致框架,执行时允许ReAct微调
  • 加反思机制:执行完让Agent总结经验,更新计划
  • 设步数限制:防止ReAct无限循环

核心是:能规划的别让Agent现场发挥,容易跑偏。


【面试题】10. 如果让你从0到1搭建一个智能客服Agent系统,你会怎么做? ​

【标准答案】 分五个阶段推进:

第一阶段:需求梳理(1周)

  • 盘点业务场景,哪些问题占比高、规则明确
  • 收历史工单,建知识库雏形
  • 定成功指标:解决率、转人工率、用户满意度

第二阶段:MVP搭建(2周)

  • 用Dify快速搭个原型,接知识库做RAG
  • 选大模型,国内业务用文心/通义,海外用GPT
  • 做基础工具调用:查订单、退换货、转人工

第三阶段:迭代优化(4周)

  • 内部测试,收集badcase
  • 优化知识库,补充高频问题
  • 调prompt,减少幻觉和答非所问
  • 加热线:情绪识别、多轮对话能力

第四阶段:上线验证(2周)

  • 小流量灰度,只接简单问题
  • 全程监控,记录每轮对话
  • 每天复盘,快速修复问题

第五阶段:规模化(持续)

  • 逐步扩场景,从售前到售后
  • 加多模态:图片识别、语音输入输出
  • 建运营体系:定期更新知识库,分析未解决问题

关键技术决策:

  • 框架选Dify,快速且够用
  • 知识库用Qdrant+混合检索
  • 工具调用用Function Calling标准实现
  • 部署用Docker,方便扩缩容

核心是:别想一口吃胖,先搞定20%的高频问题,再逐步扩展。


总结 ​

本套面试题覆盖了AI智能体应用开发的10个核心知识点:

  1. LLM API优化策略
  2. Prompt安全防护
  3. 多智能体架构设计
  4. 主流框架选型
  5. Function Calling实战
  6. RAG系统构建
  7. 向量数据库选型
  8. 记忆系统设计
  9. 任务规划模式
  10. 项目落地方法论

所有答案均为面试口语风格,简洁落地,适合1-3年经验候选人准备面试使用。