AI 工程面试问题记录
本文最后更新于 2026-08-14
这篇文章记录 AI 工程方向学习、项目复盘和交流过程中遇到的问题,按主题持续归类和补充。可以结合右侧目录快速定位,也可以把每个问题当作一次简短的口述练习:先说明概念,再讲选型依据、工程实现、异常处理和量化结果。
Agent 架构与设计
基础概念
- AI Agent 和 LLM 的本质区别是什么?
- 什么是智能体?在 RAG 中如何应用?
- 多 agent 系统与函数调用的区别是什么?
- Agent 当中的 BDI 模型是什么?
架构选型与框架对比
- LangChain 和 LangGraph 有什么区别?各自优缺点?
- LangChain、LangGraph 使用的版本?版本演进带来了什么变化?
- LangChain 和 LangGraph 的缺点分别是什么?
- 为什么要用多智能体而不是单智能体?单个不行吗?
- 多智能体架构都有哪些?有什么区别?有几类?
- 在项目中如何选择和落地多 Agent 架构?
- 多智能体的自主规划任务怎么做的?
- Deep Agent 跟 LangGraph 有什么区别?Deep Agent 底层是用什么做的?
- OpenClaw 跟 LangGraph 有什么区别?架构上有什么区别?
- 规划器、记忆系统、工具层,哪个是你独立开发的?哪个是用成品?
- Agent 架构中哪些自研、哪些用开源成品?
- 为什么没有采用 Agent Team 而是 Multi-Agent?两者本质区别是什么?
- NL2SQL 为什么选择 supervisor 设计模型?
State 设计与通信
- LangGraph 的 State 是怎么设计的?每个 Agent 的 State 包含哪些内容?
- 子 Agent 希望状态共享,但是又不希望互相影响其他 Agent 的状态——怎么实现?
- State 共享但互不影响的方案有哪些?
- LangGraph 的状态转移怎么做的?
- LangGraph 的智能体用代码是如何创建的?
- “设计的分区状态和节点读写边界”是什么意思?
- 多 Agent 之间如何协同?状态隔离具体怎么做?
- 多智能体之间如何传递信息?
Agent 模式
- ReAct / Workflow / Plan-and-Execute 三种模式的区别和选型场景?
- CoT / ToT / ReAct 你哪个更熟悉?三种推理范式有什么区别?
- Function Calling 和 ReAct 框架有什么区别?
- Workflow vs ReAct 的场景区别?
- Plan-and-Execute 模式下多轮回顾时任务状态丢失怎么解决?
- Agent 执行机制的完整链路——从用户请求到最终结果?
- 哪些步骤交给大模型判断?哪些由确定代码控制?
- Agent Loop 是什么?
Supervisor 与子 Agent
- 主 Agent 在框架里的定义是什么?做什么、不做什么?
- Supervisor Agent 起什么作用?是分配任务给下面吗?
- 主 Agent 的图结构?子 Agent 的图结构?节点和流转关系?
- LangGraph 完整链路是什么?Supervisor 怎么调用各个 Agent?
- 子 Agent 处理失败怎么办?完整异常处理流程?
Agent 稳定性与异常处理
长链漂移
- ReAct 中的长链漂移过往怎么解决?
噪音与上下文污染
- 多个 Agent 如何解决”噪音问题”(谁在说话/责任人识别)?
- 上下文污染怎么解决?
- 上下文注入与隔离策略怎么做的?
循环与死循环
- 多智能体 Planning 中的死循环与重复调用如何解决?
- ReAct 模式下循环调用/死循环的解决策略?
工具调用异常
- 工具返回结果不规范(字段缺失、格式不对),如何让 Agent 不崩?
- 模型工具调用生成错误参数,一般怎么处理?
- 工具挂了,是重试还是换工具?什么策略?
- 校验之后的决策由谁来做?
Human-in-Loop
- LangGraph 的 Human-in-Loop(中断恢复)机制原理?
- 有没有 Human-in-Loop 的实际应用?
数据库负载
- SQL 生成可能导致数据库负载突然变高——有没有应急方案?
- 监控发现问题后具体怎么处理?
- 系统识别到用户没有权限访问数据——只是告知还是做跳转和工具调用?
日志
- Agent 项目哪些日志必须要记录?
记忆系统
概念与架构
- 怎么来区分长短期记忆?
- 在实现短期、中期、长期记忆的方式有哪些?
- 记忆系统怎么分层设计?长期记忆、短期记忆怎么设计?
- 上下文是怎么管理的?和记忆有什么区别?
- 偏好注入怎么管理的?
- 岗位画像是什么意思?跟记忆有关系吗?属于提示词的一部分?
- 语义相似度会话关联算法怎么做的?
技术方案
- 关于长短期记忆,开源的方案你都了解哪些?
- 短期记忆和长期记忆的实现,具体采用了什么技术方案?
- 短期记忆是怎么做的?上下文超长呢?摘要以后放哪里?
- 长期记忆怎么设计的?短期转长期的策略是什么?
- 长短期记忆用什么存?Redis/Mem0 分别起什么作用?
- 在记忆存储性能优化方面,你们做了哪些具体工作?
上下文管理
- 上下文爆炸怎么解决?
- 长上下文怎么处理?
- 上下文控制有没有采用 Harness 里的策略?
- 多轮对话怎么处理?Redis 和 Mem0 怎么配合?记忆怎么设计的?
验证与问题定位
- 记忆机制优化时碰到最大的问题?印象最深的幻觉?
- 怎么判断问题是记忆导致的?怎么验证记忆优化上线后有效果?
- OpenClaw 群聊和单聊的差异经验能移植到 DataAgent 吗?
- 选型时怎么做对比测试?测试用例怎么来的?
技能记忆
- 有没有考虑过 Skill Memory(技能记忆)?
Function Calling / MCP / 协议
Function Calling
- Function Calling / Tool Calling 的完整流程是什么?至少几次模型调用?分别做什么?
- Function Call / MCP 概念理解
- Function Call 的 HTTP 协议——System/User/Assistant/Tool 四种 role 分别是什么?
- 天气 API 调用场景中至少有几次模型调用,分别做什么?
参数处理
- 参数抽取错误如何处理?
- 用户自然语言描述与数据库字段名不一致(语义鸿沟),精确查询查不出来,怎么解决?
- 同义词表/向量匹配的思路讨论
- 意图识别的具体实现中,你们如何处理槽位填充和用户口语化表达?
MCP 协议
- Agent MCP 是什么?有什么用?
- MCP 服务/后端接口处理时间很长,如何让智能体更健壮?
- MCP 是本地的还是远程的?怎么封装的?
- 解释一下 Agent 协议 A2A 的概念。
工具工程
- 平时写 MCP 和 Skill 吗?
- Tool Calling 具体工程实现?工具在哪注册?怎么定义?
- 有没有做成平台化的工具管理?
- 工具调用失败怎么处理?
Prompt 工程与 Harness
Prompt 设计
- 提示词工程中,提示词的维度有哪些?
- 如何写稳定的 Prompt,保证业务回复稳定?
- 如何编写稳定的 Prompt?
- 固定化场景是否考虑过固化为脚本(Python/Shell)而非每次动态生成?
Skill 系统
- OpenClaw 如何感知并选择 Skill?
- 如何生成、测试和维护一个业务 Skill?
- Skill 的设计思想?渐进式披露什么意思?
版本管理与缓存
- 提示词需不需要做版本管理?为什么?
- 如何做提示词缓存和结果缓存
Harness
- Harness Engineering 和 Loop Engineering 之间的区别是什么?
- Harness 工程在你们项目里做了哪些?
- Prompt 注入怎么防御?
Cloud Code
- Cloud Code 的 MD / Agents MD 你会往里面写什么?
- Cloud Code 和 Codex 用的是原版模型吗?
RAG 文档处理
解析全链路
- 以 PDF 为例,一步一步讲解析流程
- PDF 用什么工具解析?输出是什么?
- RAG 主要处理哪些文档格式?
- 文档里包含哪些元素类型(文本/表格/图片)?
- 文档是扫描件还是非扫描件?
- 解析成 Markdown 之后,表格、图片是怎么处理的?
- 图片是怎么从 PDF 中取出来传给 VLM 的?
- 取图片的坐标范围是怎么得到的?
- 是否对 MinerU 做过二次开发?在哪一步做的?
- 是在 MinerU 基础上做了优化还是直接用?
- 文档处理的时候都有遇到什么样的问题?
- 文档处理时间?更新频率?增量更新怎么触发?
- 针对每份文件都做定制化处理?
- 复杂结构文档——有外链/图片/视频怎么处理?
- 人工校验比例大不大?
切块策略
- 分块方式?(父子块)
- 父块/子块的长度怎么定?为什么不是固定值?
- 文档切块,父子块的区别如何定义的?
- PDF 切片怎么做?父子块策略?
- 文档类型怎么区分处理?法律条款和普通文本策略一样吗?
表格专项
- 跨页表格如何处理
- 怎么处理跨页表格
- 跨页表格超过 1500 字符怎么办?
- 表格怎么处理?嵌套表格?跨页表格?
- 有没有碰到嵌套式表格?
- 表格数据解析之后是放到向量里面吗?流程是怎样的?
增量更新与版本控制
- 同一文档增量更新怎么识别?(MD5/哈希/向量相似度)
- 政策类文档版本控制怎么做?
- 版本控制是第一优先级吗?旧文档权重会不会比新文档高?怎么防止旧文档因为相似度高被优先召回?
- 如何将包含图片和文字的 HTML 报告,转换为内容保持不变的 Word 或 PDF 文档?
RAG 检索与生成
向量库与索引
- 向量库选型?用 Milvus 的什么能力?
- 索引类型怎么选?为什么不用 Flat?
- 稀疏向量的索引类型?
- 在 RAG 系统的向量索引部分,HNSW 索引的宽度(efConstruction 或 M)参数设置为多少?
- Milvus 的索引核心机制是什么?
- 向量数据库的特点是什么?
- HNSW 了解吗?分层索引设计的本质目的是什么?
- Milvus 怎么部署的
检索策略
- 混合检索怎么做?流程是怎么样的?
- 混合检索——稠密+稀疏向量?召回率从 35% 提升到 80% 怎么做到的?
- 多路召回中如何在准确性和速度两者中平衡
- 向量检索和关键词检索分别适合什么内容?
- BM25 跟向量检索,他们各自的优劣势
- 检索的时间,时间上你们怎么去做优化的?
- 多层索引召回是什么意思?为什么分层?
- 并发有试过吗?QPS 多少?
Query 改写
- 意图识别、多轮对话补全、Query 改写的编排顺序?
- 多轮对话补全用槽位还是上下文?
- Query 改写有哪些策略?什么时候用 HyDE?
- HyDE 请解释
- 有没有出现过使用 HyDE 后效果反而变差了?
- 改写是靠模型本身的能力还是需要专业知识?
- 问题改写有哪些维度?metadata 过滤有哪些维度?
Rerank
- rerank 模型的选择基于什么考量的?
- rerank 模型是放在 RRF 之前还是之后
图数据库
- 图数据库什么场景用?为什么选图库?存的什么?
- 图数据库 + 向量库联合检索的完整流程——举一个具体的例子,从用户问题到最终结果
- 为什么用 Hybrid Search(图+向量)而不是只用向量?
幻觉防控
- 如果 RAG 系统检索出来的答案有幻觉或者不符合预期,你会怎么处理?
- RAG 如果检索不到相关的信息怎么办?
多租户与性能
- RAG:每个用户都可以上传文件构建自己的小知识库,用户量非常高,文档有简单的也有复杂的,解析速度不同。设计方案或优化思路?
- 端到端回答准确率怎么理解?
评测体系
RAG 评测
- 如何评估 RAG 系统的性能?
- 如何评估 RAG 系统的召回率?
- 在开发过程中,如何评估 RAG 系统的性能
- RAG 怎么评估?RAGAS 四大指标?
- 召回率和准确率这块怎样做评估?
Agent 评测
- 智能体开发完后评测需要评估哪些指标?
- Agent 评测怎么做?评测哪些指标?
- 评测与反馈闭环是你做的吗?Evaluation Harness 的执行流程是什么?
- 评测机制怎么做?离线评测和在线评测怎么区分的?
- 离线评测和在线评测怎么区分?
- 评测与反馈是靠人工筛查吗?
- 模型会不会自行整理这些问题?
- 发现问题后一般怎么优化流程?
- 输出评估(图表、报告)是人工还是模型层?
数据集构建
- 评测数据集怎么构建?怎么保证覆盖度?
- 测试集有多少条?怎么分布的?怎么判断覆盖度?
- 给你一个新场景,从零构建测试集的完整方案是什么?
- SOP 对 Agent 的测试集构建有帮助吗?
- 评测问题收集是谁收集的?怎么保证全面?
- 数据集怎么收集的?有哪些途径?
- 你们如何对数据集进行清理?有什么标准?
- 评测模块是你写的吗?你在这里面做什么?
NL2SQL 评测
- SQL 准确率怎么统计?语法正确但跑不动算不算正确?
- 85% 准确率——分子分母分别是什么?怎么算出来的?是拍脑袋的还是实测的?
- SQL 生成准确率多少?离线评测多少?在线评测多少?
- 准确率从最初到 90%+ 做了哪些优化?哪个最重要?为什么?
- 客户有没有要求过达到什么样的准确率?政策类敏感问题如何保证不出错?
- 有没有一个方法论或操作步骤?报告怎么输出?每个节点怎么关注?
LLM-as-Judge
- LLM-as-Judge 怎么用?为什么不能用同一模型评测?
NL2SQL 实战
全链路设计
- 请详细说明 NL2SQL 系统如何结合大模型,将用户的自然语言查询转换为 SQL 语句
- DataAgent 项目完整架构
- 自然语言转 SQL 的完整链路——详细说明
- SQL Agent 做了些什么?详细介绍
意图识别与字段映射
- 字段映射具体怎么做的?用户问题千奇百怪,怎么映射到合适的字段?
- 业务指标和字段索引不匹配怎么处理的
- 表那么多字段(100+),信息怎么给大模型?渐进式披露具体怎么做?
- 意图识别是直接写提示词吗?
- 意图识别——正则和向量怎么配合?优先级?
SQL 安全
- NL2SQL:如何做到 SQL 的灵活和防止越权和安全性的问题?
- SQL Agent 中权限校验和查询成本控制——防 DELETE、防大表 JOIN、防扫描亿级数据——防护机制在哪一层做?具体怎么操作?
- SQL 安全和性能怎么限制?
- 如何确保只能查询不能修改
- SQL Agent 里的 Schema 是怎么设计的?
SQL 性能优化
- 遇到 SQL 计算效率问题怎么优化?
- 是否遇到过 SQL 短但效率低(多表笛卡尔积)的情况?
- 效率问题一般怎么发现?(定时跑批 / 报警)
- 生成系统是自动执行校验还是人工复核?
- 执行是沙箱操作吗?
- 有没有做语法树相关的校验?
权限控制
- 权限控制——表级+行级怎么实现?
- 权限怎么做?表级+行级?
- 取数准不准的关键点?
- 底层怎么建设的?(Schema 描述 / MCP 两种方案)
- 全场景覆盖怎么做?覆盖不到的怎么办?
模型与微调
- Text-to-SQL 是纯提示词吗?
- SQL 生成用的什么模型?评测用什么模型?
- 推理延迟降低、内存占用减少——是你测的还是谁测的?有具体数据吗?
- DPO 怎么做?偏好数据怎么构造?
模型基础与微调
Transformer 架构
- 讲一下 Transformer 的网络架构
- 绝对位置编码有什么缺点?
微调基础
- 什么是上下文,它与模型微调有什么区别?
- 模型微调的核心目的是什么?
- 微调的完整流程是什么?
- 在什么场景下会做这个微调的
- 微调的数据结构是什么样的?结构化还是非结构化?
- 如果数据量有几百万,对微调效果会有什么影响?
- 在项目当中用的这个微调方式都有哪几种
- 为什么不全量微调
- 微调参数,根据什么去调这个参数呢?
- 模型后训练这块你接触过吗?
- 微调中显存不足的常见原因和解决方案?
LoRA / QLoRA
- LoRA 微调的核心原理
- 微调的理解——PEFT、QLoRA?
- LoRA/QLoRA 了解吗?具体使用场景?
强化学习与对齐
- 什么是梯度下降?
- 梯度下降的优化算法有哪些?
- Adam 了解有多少
- 在强化学习中如何设计奖励函数
- 奖励值怎么定?
- SFT 和 RL(RLHF/DPO/GRPO)有什么区别?
- SFT 经常会导致灾难性遗忘,相比之下强化学习还好,知道这是为什么吗?
- 请详细介绍 DPO
- PPO 相较于 DPO 的优势
- DPO 的损失函数请写出来
- RL 和 Agent ReAct 模式像不像?为什么?
过拟合
- 微调中是怎么避免过拟合的?
- 微调过程当中,你怎么去避免它过拟合呢?
模型选择
- 模型大小的选择如何考量的?
- 为什么要选择 Qwen 系列的模型?
- 用了什么模型?不同任务用不同模型吗?
- SQL 生成为什么没用国外模型而用千问?模型评测怎么做的?具体怎么选型?
- 云端模型和本地模型怎么选?
- kimi 2.5,关于智能体集群这块,你了解这个模型吗?
- 你知道目前写代码最好的一款模型是哪一款模型吗?
- 模型微调和知识库的应用场景最大区别在哪?
时序预测
- 时序预测用什么模型?
- 特征怎么定的?特征之间的相关性/独立性分析?
- 数据量级?特征集数量级?
实体匹配
- BERT 实体匹配为什么用双塔而不是单塔?
- 早期项目有没有涉及知识图谱?
- 传统机器学习和深度学习的基础?
Embedding
- Embedding 向量化在什么场景使用?用什么模型?
模型部署与推理
推理框架
- vLLM 有什么特点?
- 有没有用过 vLLM 部署大模型?
- 大模型推理速度优化,你用过什么方法?
部署
- 模型怎么部署的?
- 模型部署在哪?什么机器配置?怎么评估能跑得动?
- 项目是自己部署的吗?
- 部署后如何进行监控?都会监控哪些指标?
微调部署
- 微调用的是什么模型?千问哪个版本?多少参数?
- 现在有 20 个行业的风险领域 PDF 数据,需要你对千问 32B 模型进行微调。请描述整体思路和方案
Python / CS 基础 / 算法
Python
- 进程、线程、协程有什么区别?GIL 是什么?
- Python 协程了解吗?
- Java 和 Python 在处理多线程场景下有什么不同?
- Java 构建线程池时如何避免 OOM?
- FastAPI 为什么选择它?它的优点?
- 中文分词是怎么做的?
算法
- 写代码打印文本文件的最后 K 行——能不能一遍读完?有没有更高效的方法?
Linux
- 常用的 Linux 指令有哪些?
大数据
- 大数据技术栈(Hive/Spark/Flink)?
- 大数据有什么经验?Spark/Flink/Hive 是了解还是使用?
- 之前语言栈?(Java/Spark/Python 演进)
场景设计题
智能体设计
- 如果要开发一个能学习《西游记》的智能体(基座模型未预训练过),从技术选型角度考虑哪些问题?
- 有没有落地过类似知识图谱的项目?
- 自动筛选简历 Agent——把收到的简历匹配到各项目的人力画像,做相似度排序,怎么设计?
- 如果由你独立负责情感陪伴 Agent 的开发,包括记忆系统等模块,你认为会遇到哪些挑战?
数字人与实时交互
- 数字人电商直播弹幕回复场景,能想到什么问题?怎么实施?
- 我是商家,直播前需要提前准备什么?
- 数字人:实时交互性很强,用户说话说了一半,思考了一会才说完后半句。怎么设计?
- 用户提出模糊分析需求——“最近广告效果不太好,帮我看看”——系统怎么处理?
- 多轮追问——先问指标,再问为什么上升/下降,怎么设计?
- 了解过数字人相关的东西吗?
图片与多模态
- 淘宝详情页都是图片——怎么提取商品信息?
- 以图搜图的技术实现,给出思路
- 图搜图的检索的相似性技术如何实现的?
- CLIP 技术的核心原理
- 设计类岗位的简历是作品集(图片/视频),怎么处理?
- 传统 CV 落地非常”重”,如果换成多模态去实现,怎么设计架构?
低代码
- 低代码平台 AI 化——用户通过自然语言创建页面、放置组件、调整配置项,分几步?技术难点?
浏览器自动化
- Agent 代替人工操作——填表单、系统点击、浏览器自动化——在哪个项目哪个场景用到了?
酒店对账 Agent 设计
- 酒店有三套账(PMS/OTA/银行),字段不同、规则不同、存在取消退款和平台佣金——设计一个 Agent 自动找出差异并解释原因,未来自动申诉
- 只有你和一名全栈工程师两个人,第一版做什么、不做什么?
- AI、规则逻辑、人工这三块分别负责什么?
- 产品功能最后怎么验收?
- 没有 API 接口,只能人工导出 CSV 文件——怎么解决数据获取问题?
- 第一家酒店试点成功后,第二家酒店字段和佣金规则完全不同——怎么判断系统是否可复用?
问答系统
- 如果现在想做好一个问答相关的项目,都需要有哪些点需要注意?
- 问答助手的回答形式——图片+文字还是纯文字?
- 业务智能客服——文档素材有哪些形式?怎么 Embedding?怎么保证召回率?
行业与技术趋势
- Manus/OpenClaw 在今年 2-3 月火起来,主要原因是什么?
- Workflow 已经被淘汰了吗?Agent 出来之后,简单流程还有必要用工作流吗?
- 大模型未来会向哪个方向发展?
- 从业者的角度来看,2026 年的技术发展趋势,给出你的看法
- RAG:系统在不断升级迭代的一个过程中,有什么地方是你自己感觉还挺有成就感的升级迭代或者优化
- 项目做了 7-8 个月,技术层面还有哪些提升空间?
- 数据分析用小模型还是大模型?定业务规则?
- 有没有涉及数据挖掘相关需求?
工程实践与开发流程
项目与团队
- 是你自己做的吗?你们多少个人做这个?怎么分工的?
- 项目解决什么任务?架构是怎么样的?
- 项目从头到尾多久?
- 你承担什么角色?团队规模?
- 这个项目的背景是什么?解决了什么痛点?
- 项目背景是怎样的?立项时考虑过 ROI 吗?价值怎么体现?
- 具体是哪些角色在用?运营里哪些组?供应链里哪些角色?研发用不用?
- 总共有多少人使用?每天都用吗?使用频次多少?有数据吗?
- RAG 项目多少个人做?你负责哪部分?召回你会做吗?
- 微调是你做的还是参与?
- 项目是你自己部署的吗?
- 前端写过吗?
- 会涉及前端工作吗?
- DataAgent 是 demo 级、内部试用、还是正式生产?用户数量、请求量多少?
- 最严重的一次 Bad Case 是什么情况?
开发流程
- 开发流程是怎样的?符合软件工程要求吗?举一个项目例子
- SDD 和 TDD 了解吗?你们需求怎么来的?
- 业务流程是你去梳理的还是产品经理梳理的?
- LangGraph 这张图是你们自己设计的?链路是固定的还是自由发挥?
AI 编码
- 平时用什么 AI 编码工具?有什么心得?
- 用不用 AI 辅助编程?
- 平时写代码是通过 AI 编码工具还是手写?
- 本地写代码用不用 AI 工具?会隔离隐私文件吗?
- 会不会用 AI(Codex/Claude)访问服务器?
- AI 编程,这个占比大概能占多少?
- AI 编程质量的影响因素有哪些?
- 在 AI 辅助编码的工作流程中,你如何划分人工和 AI 的职责边界?
AI 提效
- AI 提效——你们怎么在公司推广 AI 的?
- OpenClaw 怎么管理多用户的?每个人怎么隔离?
用户反馈
- 用户反馈怎么收集的?除了群聊还有什么方式?
- 数仓用的什么数据库?用什么层?