现在准备 AI 岗位面试,你会发现一个特别明显的趋势:不管投的是算法工程师、大模型应用开发,还是数据分析岗位,面试官绕来绕去都会问到三件事——AI、Agent、Data。
这不是巧合。大模型本身是 AI 能力底座,Agent 是大模型落地的主要交互形态,Data 则是让模型和智能体真正“可用”的关键燃料。面试题表面上是考你某个模型参数、某个框架 API,实际上是在考察你能否打通这三条链路:模型怎么选、Agent 怎么设计、数据怎么管。
这篇内容就是围绕“AI x Agent x Data 专题课”梳理的一份学习路线和面试问题分析。会先讲清楚三个方向各自学什么、学到什么程度,再给一套可执行的 90 天路线,最后拆解高频面试题和答题框架。不管你是准备校招、社招转岗,还是想把手里的项目讲得更硬,这篇都值得收藏。
1. AI、Agent、Data 的关系与岗位定位
1.1 三者不是并列关系,而是链路关系
很多人在准备面试时会犯一个错误:把 AI、Agent、Data 当成三个独立的知识点去背。实际上,现在主流岗位要求的是全链路能力。
可以这样理解:
- AI:指大模型、机器学习、深度学习相关的算法能力。它解决的是“模型能不能理解、能不能生成”的问题。
- Agent:指基于大模型构建的智能体系统。它解决的是“模型怎么使用工具、怎么规划任务、怎么自主执行”的问题。
- Data:指数据处理、向量化、检索、评估等数据工程能力。它解决的是“模型的知识从哪里来、效果怎么衡量、怎么持续优化”的问题。
三者的关系可以概括为一句话:AI 提供能力,Agent 提供形态,Data 提供原料。面试官最想看到的,是你站在整个链路上思考问题,而不是只会调一个 API。
1.2 主流岗位与职责定位
| 方向 | 典型岗位名称 | 核心职责 | 面试考察重点 |
|---|---|---|---|
| AI | 大模型算法工程师 | 模型微调、Prompt 设计、效果评估 | Transformer 原理、微调方法、评估手段 |
| Agent | Agent 应用开发工程师 | 智能体开发、工具调用、多智能体协作 | ReAct、Function Calling、记忆设计 |
| Data | 数据处理工程师 / RAG 工程师 | 数据清洗、向量检索、知识库构建 | RAG 流程、切片策略、检索优化 |
| 全栈 | AI 应用开发工程师 | 从数据到模型到 Agent 全链路落地 | 系统设计、稳定性、成本控制 |
从岗位 JD 看,纯算法岗越来越少,更多岗位要求候选人在其中两个方向的交叉地带具备实战能力。这就是为什么“AI、Agent、Data 专题课”会特别强调三者一起准备。
2. 面试核心能力模型
在系统学习之前,先明确面试官考察的能力层级。从当前主流岗位和面试反馈看,可以分为三层:
2.1 基础理论层
这一层是所有面试的地基,包括:
- Python 编程能力:数据结构、文件处理、并发、常用库。
- 机器学习基础:损失函数、过拟合、评估指标、特征工程。
- 深度学习基础:神经网络、反向传播、CNN/RNN/Transformer。
- 大模型基础:注意力机制、上下文窗口、Temperature、Top-p、幻觉成因。
基础理论不一定每次都直接考,但往往会以“概念题 + 场景题”的方式出现。比如面试官问“你的 RAG 效果不好,你会先检查检索还是先检查生成”,本质就是在考你是不是真的理解链路。
2.2 工程落地层
这一层是区分“背题选手”和“实战选手”的关键,包括:
- 大模型 API 调用与参数调优。
- RAG 系统搭建与检索效果优化。
- Agent 框架使用与二次开发。
- 工具调用、记忆管理、多智能体编排。
- 批量任务处理、接口服务、日志与监控。
工程能力在面试中的体现方式是“讲项目”。项目里有没有考虑过显存、QPS、批量任务、失败重试、数据质量,面试官一听就能判断。
2.3 系统设计层
这一层是高级岗位的考察重点:
- 如何设计一个企业知识库问答系统。
- 如何设计一个数据分析 Agent。
- 如何设计一套模型评估体系。
- 如何在成本和效果之间做权衡。
系统设计题没有标准答案,但有标准框架:先定义场景和用户,再拆解功能模块,然后说明数据流和技术选型,最后补充评估方案和风险。
2.4 自我评估清单
| 评估项 | 水平标准 | 是否达标 |
|---|---|---|
| 能独立调用大模型 API 开发应用 | 是 | 必达 |
| 能讲清楚 RAG 全流程并自己搭过 | 能画流程图 + 能跑通 demo | 必达 |
| 能设计并实现一个单 Agent 应用 | 有工具调用和记忆 | 必达 |
| 能解决检索效果差的问题 | 知道用混合检索、重排、多路召回 | 加分 |
| 能设计多智能体协作流程 | 有实际项目或完整方案 | 加分 |
| 能说明数据清洗和评估细节 | 有量化结果 | 加分 |
3. AI 方向学习路线
3.1 先学 API 应用,再补理论
很多人的问题是想一步到位,上来就啃 Transformer 原论文,结果看了两周还停留在注意力公式,项目一个没跑。
更合理的路径是:先学会调用大模型 API 完成一个具体任务,比如文本分类、信息抽取、智能客服。这个阶段不需要自己部署模型,重点理解提示词、温度、输出格式这些实际工程参数。跑通后再回去学背后的原理,理解就会深很多。
3.2 必学的大模型核心概念
至少需要掌握以下知识点:
- Transformer 的基本结构:Attention、Encoder-Decoder、位置编码。
- 预训练与指令微调的区别。
- 上下文窗口与长文本处理。
- 温度、Top-p、Max Tokens 对生成结果的影响。
- 幻觉(Hallucination)的成因与抑制手段。
- 模型评估指标:BLEU、ROUGE、精确率/召回率,以及基于 LLM 的评估方式。
不需要所有公式都能推导,但要做到概念能解释、参数会调整、问题能排查。
3.3 是否要学会微调
微调是加分项,不是入门必选项。面试中经常被问“什么时候该微调,什么时候改用 RAG”,这就需要你理解微调的适用场景:
- 需要模型改变表达风格或遵循特定术语时,微调更合适。
- 需要注入实时或私有知识时,RAG 更合适。
- 两者也可以结合:RAG 负责知识检索,微调负责输出格式和风格。
建议在本地学习时先用公开模型跑一个 LoRA 微调实验作为亮点,但实际面试项目优先以 RAG + Agent 为主。
4. Agent 方向学习路线
4.1 Agent 的本质是什么
Agent 不是一个具体的算法,而是一套系统架构。一个完整的 Agent 通常具备以下能力:
| 模块 | 作用 | 核心问题 |
|---|---|---|
| 规划 | 把复杂任务拆解成多个步骤 | 任务再复杂也应该有执行路径 |
| 记忆 | 保存对话历史、用户偏好、任务状态 | 怎么筛选重要信息 |
| 工具 | 调用 API、数据库、代码执行器 | 怎么让模型理解工具用途 |
| 反思 | 根据执行结果调整下一步 | 失败了怎么重试 |
| 多智能体协作 | 多个 Agent 分工配合 | 谁负责拆分、谁负责汇总 |
面试中问“你如何设计一个客服 Agent”,本质上就是在考这些模块你怎么组合。
4.2 ReAct 循环是必考基础
ReAct 是目前最常考到的 Agent 模式,核心思想是让模型交替执行两个动作:
- Reason:分析当前情况,思考下一步行动。
- Act:执行一个具体的工具调用或操作。
- Observation:观察工具返回结果,继续推理。
下面是 ReAct 循环的简化伪代码,与具体框架无关:
def react_loop(user_query, tools, max_steps=5): messages = [{"role": "user", "content": user_query}] for step in range(max_steps): response = llm.chat(messages) action = parse_action(response) if action.type == "finish": return action.output if action.type == "tool_call": tool_result = call_tool(action.tool_name, action.params) messages.append({"role": "tool", "content": tool_result}) else: # 模型推理结果,继续观察 messages.append({"role": "assistant", "content": response.content}) return "达到最大步骤限制,任务结束"面试时能画出这个循环,能说明观察结果如何影响下一步决策,就已经超过很多只背概念的人。
4.3 Function Calling / Tool Calling 是工程重点
Agent 的价值有一半体现在工具调用上。需要理解:
- 模型如何根据用户输入选择工具。
- 工具参数如何从自然语言中抽取。
- 工具执行失败时如何反馈给模型。
- 多个工具之间如何串联。
工程上要注意:你声明的工具描述越清晰,模型选择工具的准确率越高。工具参数越规范,参数抽取越稳定。项目里可以用“天气查询工具 + 计算器工具”这种小组合来练习。
4.4 框架选型建议
主流开源框架包括 LangChain、LangGraph、AutoGen 等,以及各类国产智能体框架。初学阶段不需要同时学多个,建议先选一个框架跑通一个完整项目,再对比另一个框架调整。
注意:框架迭代很快,面试时不要只背框架 API,要讲清楚框架底层的原理。比如“LangGraph 和 Autogen 都有多智能体编排能力”,如果你能说清图结构、节点、状态传递,面试官会判断你真的懂,而不是只做过 Demo。
5. Data 方向学习路线
5.1 为什么 Data 在面试中越来越重要
很多候选人只关注模型,忽略了数据。实际上,在企业落地场景中,数据质量往往是项目成败的决定因素。面试官考察 Data 能力,不是要考你 SQL 多熟练,而是看你能不能回答这类问题:
- 你的知识库数据从哪里来?质量怎么保证?
- 文档切多长?怎么避免切碎语义?
- 检索结果不准时,你优先调什么?
- 模型输出不稳定,你如何设计评估集?
5.2 必须理解的 RAG 全流程
RAG(检索增强生成)是 Data 方向最核心的内容,也是面试最高频的场景。完整流程包括:
- 数据采集:从文档、数据库、网页中获取内容。
- 数据清洗:去重、去格式噪音、处理扫描件。
- 文档切分:按章节、段落、语义块切分。
- 向量化:用 Embedding 模型将文本转换为向量。
- 存储:写入向量数据库或其他支持相似度检索的存储。
- 检索:根据用户问题召回最相关的片段。
- 重排:对召回结果精排,去掉低质量片段。
- 生成:将检索结果拼接进 Prompt,交给大模型生成答案。
下面是一个简化版 RAG 流程伪代码,重点是理解各环节的输入输出:
def rag_answer(question, embedder, vector_store, llm): # 1. 向量化用户问题 question_vector = embedder.embed(question) # 2. 向量检索召回 Top-K 文本块 retrieved_chunks = vector_store.search( query_vector=question_vector, top_k=5 ) # 3. 拼装 Prompt,并保留引用来源 context = "\n\n".join( [f"[{i+1}] {chunk}" for i, chunk in enumerate(retrieved_chunks)] ) prompt = f""" 请基于以下资料回答问题。 如果资料不足,请明确说明。 回答末尾列出引用编号。 资料: {context} 问题:{question} """ # 4. 调用大模型生成 answer = llm.generate(prompt) return answer, retrieved_chunks面试中除了流程,还要能回答“检索不到怎么办”“检索太慢怎么办”“向量库和关键词搜索怎么结合”等优化问题。
5.3 数据质量与评估
数据方向还有一块高频考察点:评估。常见问题包括:
- 怎么判断检索质量:用召回率、命中率、MRR 等指标。
- 怎么判断生成质量:用忠实度、相关性、完整性等维度。
- 怎么建设测试集:整理 100 到 500 条有标准答案的测试问题。
- 怎么做 badcase 分析:定期抽取错误案例,归因到检索阶段还是生成阶段。
具备 Data 思维的人,会习惯用数据说话。面试时能说出“上一版检索命中率是 78%,改进后到了 86%”,项目说服力会强很多。
6. 90 天学习路线建议
考虑到学习效率和项目节奏,下面是一套 12 周路线,适合有一定编程基础、每天能投入 2 到 3 小时的读者。
6.1 阶段一:AI 基础与大模型应用(第 1 到 4 周)
- 第 1 周:复习 Python,重点掌握字典、列表、文件处理、异常处理。
- 第 2 周:学习机器学习基础概念,过一遍监督学习和评估指标。
- 第 3 周:掌握 Transformer、注意力机制、上下文窗口。
- 第 4 周:调用大模型 API 完成一个文本处理项目,比如“简历关键信息抽取”。
阶段成果:能独立调用模型 API,能解释大模型基本概念。
6.2 阶段二:RAG 与 Data 工程(第 5 到 8 周)
- 第 5 周:学习文档切分与 Embedding 原理。
- 第 6 周:搭建第一个本地知识库问答系统。
- 第 7 周:学习向量数据库、关键词搜索、混合检索。
- 第 8 周:建设测试集,评估当前 RAG 效果并优化。
阶段成果:有一个可以跑通的 RAG 项目,能用召回率和忠实度描述效果。
6.3 阶段三:Agent 与项目实战(第 9 到 11 周)
- 第 9 周:学习 Function Calling 和工具调用。
- 第 10 周:实现一个带工具的 Agent,例如“数据分析 Agent”。
- 第 11 周:增加记忆模块和多轮对话,处理边界情况。
阶段成果:一个完整的 Agent 项目,有工具、有记忆、能多轮对话。
6.4 阶段四:面试冲刺(第 12 周)
- 整理项目技术亮点和失败案例。
- 刷高频面试题,对着镜子或者录音做表达练习。
- 准备系统设计题:知识库问答、智能客服、数据分析 Agent。
- 准备反问环节的问题。
这一周最重要的不是学新知识,而是把已经掌握的内容讲清楚。
7. 典型面试问题分类与答题框架
7.1 高频问题分类
| 类别 | 代表问题 | 考察重点 |
|---|---|---|
| 基础理论 | 什么是大模型幻觉?为什么会产生? | 对模型原理的理解 |
| 工程应用 | RAG 和微调有什么区别?怎么选? | 方案选型能力 |
| Agent 设计 | 如何设计一个客服 Agent? | 系统拆解能力 |
| Data 工程 | 文档切片应该怎么切? | 数据细节和工程经验 |
| 评估优化 | 如何评估 RAG 效果? | 量化思维 |
| 实战项目 | 讲一个你做得最好的项目 | 真实性和深度 |
7.2 答题框架:定义—原理—方案—落地—延展
回答技术问题不要只给结论,建议使用五段式结构:
- 定义:一句话说明是什么。
- 原理:解释背后的机制。
- 方案:给出你选择的实现方式。
- 落地:说明在实际项目中怎么处理。
- 延展:说明边界条件和优化方向。
以“RAG 和微调的区别”为例:
- 定义:RAG 是检索增强生成,微调是继续训练模型参数。
- 原理:RAG 不改模型,只是把外部知识塞进上下文;微调改模型权重。
- 方案:知识频繁更新的场景选 RAG,风格固定、术语固定的场景选微调。
- 落地:我做过企业知识库项目,文档每周更新,因此采用 RAG;输出格式固定后,补充了一次 LoRA 微调。
- 延展:RAG 的瓶颈在检索,微调的瓶颈在数据质量和过拟合。
这种答题方式会让面试官觉得你有实战经验,而不是背了一堆名词。
8. 高频真题示例与参考答案思路
下面选择几个出现频率很高的问题,给出答题思路。注意不要照背,要结合自己的项目改动。
8.1 什么是 ReAct?它的核心价值是什么?
答题思路:
ReAct 是 Reason + Act 的组合,让大模型在思考和执行之间交替循环。模型先根据用户问题推理下一步做什么,再调用工具获取外部信息,然后观察结果继续推理,直到得到最终答案。
核心价值是:把大模型的推理能力与外部工具的信息获取能力结合起来,解决单个模型无法获取实时数据、无法操作外部系统的局限。局限性是:循环次数过多会增加延迟和成本,工具调用错误会放大错误。
8.2 RAG 检索效果不好,你会怎么排查?
这是一个高频场景题,考察工程排查能力。答题时按链路拆解:
- 先检查问题本身:问题太长、太模糊还是包含错别字。
- 再检查切片:切片是否切碎语义,是否需要调整切分策略。
- 检查 Embedding:是否存在领域词汇无法表征。
- 检查召回:Top-K 是否太小,是否用了混合检索。
- 检查重排:召回结果是否正确排序,是否加入重排模型。
- 最后检查生成:上下文塞了无关片段,模型可能被干扰。
排序思路是:先判断问题出在检索侧还是生成侧,再逐层缩小范围。
8.3 如何设计一个企业知识库问答 Agent?
答题思路:
第一步描述场景:用户是企业员工,输入自然语言问题,系统返回有据可查的答案。
第二步拆模块:
- 数据处理模块:文档上传、解析、清洗、切片、向量化。
- 检索模块:向量检索 + 关键词检索 + 重排。
- 生成模块:基于检索结果生成答案,附引用来源。
- Agent 模块:处理多轮对话、澄清问题、调用外部工具。
- 评估模块:定期统计命中率、回答满意度。
第三步说数据流:用户提问 -> 判断是否需要澄清 -> 检索 -> 重排 -> 生成 -> 返回答案与引用 -> 记录日志 -> 定期评估。
第四步说踩过的坑:一句话问题检索不精确、新旧文档冲突、表格内容解析困难。
8.4 你如何评估一个 Agent 好不好用?
答题思路:
可以分三层:
- 单轮能力评估:工具选择准确率、参数抽取正确率、回答相关性。
- 多轮能力评估:上下文记忆是否准确、澄清能力、任务完成率。
- 端到端评估:完成一个真实任务的成功率、平均耗时、人工复核结果。
然后补充说明:要建立固定的测试集,每次改动都跑回归测试。Agent 评估不能只看最终答案,要记录中间轨迹,这样才能定位失败在哪一步。
8.5 调用模型接口时发现返回结果不稳定,你怎么处理?
答题思路:
- 降低温度,让输出更确定。
- 固定输出格式,使用 JSON 模式或结构化输出。
- 增加重试机制,对异常状态码做退避重试。
- 使用带缓存层,相同输入直接返回缓存结果。
- 对关键字段做二次校验,不合法就重新生成。
这种题目考察的不是你会不会调参,而是你是否有在生产环境中处理不稳定系统的经验。
9. 项目经验与简历准备
9.1 项目优先级排序
| 项目类型 | 推荐指数 | 理由 |
|---|---|---|
| 带具体业务场景的 RAG 知识库 | 高 | 面试高频题匹配 |
| 带工具调用的 Agent 应用 | 高 | 体现复杂系统能力 |
| 大模型微调实验 | 中 | 反映算法功底 |
| 数据处理流水线 | 中 | 配合 RAG 项目讲 |
| 普通 ChatGPT 壳子 | 低 | 没有技术壁垒 |
尽量不要只写“我开发了一个智能对话机器人”,除非你能讲清楚背后做了哪些技术决策。企业面试方更想看的是:你怎么切数据、怎么选模型、怎么设计 Agent、怎么评估效果。
9.2 项目描述的四个模块
一个高质量的项目描述可以按下面的模板组织:
- 背景:要解决什么问题,用户是谁。
- 难点:哪些环节容易出错。
- 方案:技术架构、主要模块、关键决策。
- 结果:量化指标,如检索命中率、任务完成率、响应耗时。
例如:
背景:企业内部有大量产品文档,员工提问后难以快速找到答案。 难点:文档格式不统一,表格内容检索困难,新旧版本信息冲突。 方案:搭建文档解析和清洗流水线,采用混合检索 + 重排 + 大模型生成方案,并增加引用来源。 结果:检索命中率从 68% 提升到 84%,回答平均耗时 2.1 秒,支持每天约 200 次问答请求。
如果你项目的量化数据还不确定,可以先跑一个测试集统计清楚,不需要编造。
10. 常见误区与避坑建议
10.1 只追新框架,不重视基础
LangChain、AutoGen、LangGraph 更新很快,今天学的 API 明天可能就变了。面试官不会因为你背了某个框架新接口就给你加分,反而会更关心你能否理解底层原理。建议优先掌握“模型如何调用工具”“状态如何流转”“记忆如何维护”这些不变的东西。
10.2 只做 Demo,不考虑生产问题
Demo 和项目在面试中的差距很大。Demo 只演示“能跑”,项目要能回答“稳不稳定、性能如何、成本多少”。准备面试项目时,至少要基于以下生产问题思考一轮:
- 接口超时了怎么办?
- 并发请求多了会不会崩?
- 知识库更新了怎么同步?
- 模型输出格式不合法怎么兜底?
- 用户输入恶意指令怎么处理?
能回答这些问题的候选人,通常更受企业认可。
10.3 忽略数据质量,模型再强也没用
面试中常见的一个错误是:模型效果不好,优先怪模型,而不是检查数据。实际项目中,RAG 效果差的很大比例原因出在数据清洗、切片策略和检索质量。建议做项目时先建立一个小规模测试集,用数据判断每个环节的效果,而不是靠感觉调参。
10.4 背题,但不理解为什么
面试题可以背,但不能只背结论。比如很多人能回答“Temperature 是控制随机性”,但面试官追问“为什么 Temperature 会影响真实性和多样性”就卡住了。建议准备每一道题时,都问自己两个问题:
- 如果让我从零设计,我会怎么做?
- 这个方案最优吗?还有没有替代方案?
10.5 面试不准备“项目复盘”
很多面试官会针对项目做深度追问,比如“你当时为什么选这个方案”“检索效果不好时你怎么定位”。准备项目时,要把自己当成面试官,提前列出 20 个可能被追问的问题并准备答案。重点覆盖:选型原因、失败案例、指标变化、后续优化方向。
11. 总结与下一步
AI、Agent、Data 三件事在面试中已经很难分开。准备的时候可以分模块学习,但最终一定要回到一个完整的项目上来:从数据处理,到模型选择,到 Agent 设计,再到效果评估,全链路自己能讲清楚。
最先要验证的三个能力:
- 能否独立搭一个带数据清洗、向量检索、大模型生成的 RAG 项目。
- 能否在项目中实现一次真实的 Function Calling 工具调用。
- 能否用 20 到 50 条测试数据说清自己项目的效果和不足。
最容易踩的坑有两个:一是只学路线不动手,二是只做 Demo 不追问生产问题。把这两点补上,面试准备效率会高很多。
后续可以扩展的方向包括:多智能体协作框架、长文本 Agent、数据评估自动化、模型微调与 RAG 的结合。如果这篇文章对你准备面试有帮助,建议收藏备用,按照 90 天路线逐步实践,比零散刷题更有效。