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个核心知识点:
- LLM API优化策略
- Prompt安全防护
- 多智能体架构设计
- 主流框架选型
- Function Calling实战
- RAG系统构建
- 向量数据库选型
- 记忆系统设计
- 任务规划模式
- 项目落地方法论
所有答案均为面试口语风格,简洁落地,适合1-3年经验候选人准备面试使用。