Skip to content

人工智能开发工程师能力图谱 ​

面试官不是在找“知道很多名词的人”,而是在找能把大模型能力接成工程系统的人。 这份图谱用来判断:哪些概念你会讲,哪些能力你会做,哪些问题你能排障。

面试官的追问路径 ​

准备面试时,别只列“会 RAG、会 Agent”。给每项能力配一个小证据:一次带引用的问答、一条工具 trace、一个失败样本和一次成本比较,面试官更容易判断你是否真正做过。

AI 开发工程师面试通常不是问一个孤立概念,而是层层往下追:

text
概念是什么
-> 为什么需要它
-> 工程上怎么做
-> 什么时候会失败
-> 怎么评估
-> 怎么控成本和安全

例如面试官问“RAG 是什么”,后面很可能继续追:

  • chunk 怎么切?
  • 召回差怎么办?
  • 为什么要 rerank?
  • 权限怎么过滤?
  • 没答案时怎么办?
  • 怎么评估引用是否正确?

所以准备面试时,不能只背定义,要把每个概念都补成一条完整链路。

能力分层 ​

层级你应该能做到什么面试里的表现
入门会解释概念,知道它解决什么问题能说清 token、RAG、tool calling 是干什么的
可用能把概念做成最小系统能手写 tool loop、简易 RAG、基本 eval
可靠能处理失败、成本、安全、评估能说清 guardrails、tracing、缓存、冲突处理
进阶能做架构取舍和故障定位能讲为什么选这个方案,不选另一个

一个比较稳的目标是:每个方向至少达到“可用”,核心方向达到“可靠”。

题目背后的能力闭环 ​

面试题表面上问的是某个技术名词,实际常常在考下面这条闭环:

text
理解问题
-> 选择最小技术方案
-> 设计数据和控制流
-> 处理异常、权限和副作用
-> 用指标证明效果
-> 用 trace 定位问题
-> 用版本、灰度和回滚控制变化

例如“你会不会做一个客服 Agent”并不只是问你会不会调用模型,而是在看你能否区分知识问答与实时订单查询,能否让工具层做身份和权限校验,能否对退款设置确认和人工接管,能否用解决率、误承诺率、转人工率和成本证明系统在变好。

核心能力的可验证证据 ​

准备面试时,给每项能力准备一个可验证的产物。没有产物时容易变成概念复述,有产物才容易把答案讲具体。

能力最小证据面试时要能展示的细节
模型调用一条真实请求和响应记录token、模型、参数、错误处理
工具调用一个窄工具和 tool loopschema、参数校验、超时、幂等
RAG入库与查询链路chunk、metadata、检索、引用、无答案
Agent可恢复的任务状态终止条件、预算、重试、人工接管
多 Agent两个以上角色的交接记录ownership、结构化消息、冲突裁决
评估一组固定 eval 样本和结果指标定义、基线、回归阈值
可观测性一条完整 tracespan、usage、成本、错误和版本
安全一组攻击样本和拦截记录权限边界、注入、脱敏、审计

高频追问的横向映射 ​

面试官追问主要考察你应该主动带出的内容
为什么不用一个大模型解决?方案判断任务边界、规则/工具/RAG/Agent 的分工
如果模型答错怎么办?可靠性证据、结构化输出、验证、重试和人工兜底
如果成本太高怎么办?经济性token 拆分、缓存、模型路由、上下文裁剪、预算
如果用户越权怎么办?安全认证、授权、检索前过滤、工具二次校验、审计
如果线上复现不了怎么办?运维能力trace、版本、输入摘要、随机参数、数据快照
为什么要用这个框架?工程判断底层机制、状态管理、恢复、团队维护成本
多 Agent 互相覆盖怎么办?协作设计单写者、锁、版本检查、patch、冲突仲裁

重点能力的学习顺序 ​

如果时间有限,优先把下面四条线练到能够连续回答 5 层追问:

  1. Tool loop 线:模型决策、工具 schema、参数校验、执行、错误回传、终止。
  2. RAG 线:文档处理、切分、召回、重排、证据生成、权限和评估。
  3. Agent 可靠性线:状态、预算、重试、幂等、checkpoint、人工接管和回放。
  4. 生产治理线:版本、trace、成本、缓存、灰度、安全、回滚。

多模态、微调、A2A 和具体框架可以在这四条线有基线后再扩展。面试官通常更看重你能否把一个系统做稳,而不是知道多少产品名。

核心能力矩阵 ​

方向必懂概念必会动作面试要能讲出的取舍
大模型基础 / 工程token、上下文、采样、embedding、KV Cache、Prompt Caching、Transformer、对齐、量化能解释计费、截断、延迟和缓存,能讲模型结构和部署选型为什么长上下文贵,为什么 embedding 不是越大越好,为什么要做路由和量化
提示词与工具调用system prompt、few-shot、tool schema、structured output、tool_call_id能设计窄工具、校验参数、处理多 tool calls为什么模型负责判断,代码负责执行
智能体核心ReAct、tool loop、planning、memory、context engineering、状态机能写出最小 Agent 循环和终止条件什么时候该规划,什么时候不该上 Agent
检索增强生成chunk、embedding、metadata、召回、rerank、引用、权限能设计入库链路和查询链路为什么 RAG 不是向量库,召回差怎么排查
多智能体与框架主管-工人、流水线、handoff、checkpoint、共享状态、冲突处理能拆职责、传结构化状态、处理同文件编辑冲突为什么多 Agent 不一定更好
评估 / 安全 / 可观测性eval set、LLM-as-judge、trace、usage、缓存命中、安全边界能算成本、看 trace、设计安全样本如何证明系统好、贵不贵、安不安全
面试题型能力概念辨析、场景判断、连环追问、方案取舍、排查定位能连续回答 3-5 层追问不只背定义,能按场景做工程判断

每个方向的合格回答标准 ​

1. 大模型基础 ​

你不能只说“token 是分词”。合格回答要能连到:

  • token 和成本。
  • token 和上下文窗口。
  • 长上下文和 RAG 的关系。
  • embedding 的用途、维度、常见模型和聚类。
  • KV Cache 和 Prompt Caching 的区别。

1.1 大模型工程 ​

除了基础概念,你还要能讲:

  • Transformer、注意力、位置编码、MHA / MQA / GQA 的区别。
  • 预训练、SFT、RLHF、DPO 的作用。
  • LoRA、QLoRA 和量化怎样影响训练或推理资源;谈到 MoE 时,要知道激活参数少不等于只需存放少量权重,部署还要考虑专家并行和跨卡通信。MoE 的结构和部署差异可参考 MoE 混合专家:大模型为什么要学会分工。
  • greedy、sampling、batching、限流、缓存对推理服务的影响。
  • 小模型路由、大模型兜底的组合策略。

如果面试官问“为什么一次 Agent 任务会很贵”,你要能答到:多轮调用、历史上下文、工具结果、输出 token、reasoning tokens、检索和重试都会叠加。

2. 提示词与工具调用 ​

你不能只说“prompt 写清楚一点”。合格回答要能讲:

  • system prompt 写哪些稳定规则。
  • few-shot 什么时候有用。
  • 工具 schema 为什么要窄。
  • 模型生成的参数为什么要校验。
  • 多个 tool calls 怎么执行和回传。
  • 工具报错怎么结构化返回。

最关键的一句话是:

text
模型负责判断和生成,代码负责执行、校验、权限、日志和兜底。

3. 智能体核心 ​

你不能只说“Agent 会自己规划”。合格回答要能讲:

  • tool loop 的每一步。
  • ReAct 和 tool loop 的关系。
  • planning 的适用场景和代价。
  • memory 和 context engineering 的区别。
  • 最大轮数、预算和终止条件。
  • 为什么简单任务不该上 Agent。

面试官如果让你画最小 Agent,你应该能画出:

text
User -> LLM -> tool call -> tool execution -> observation -> LLM -> final answer

4. 检索增强生成 ​

你不能只说“把文档向量化”。合格回答要能讲:

  • 文档清洗和切分。
  • embedding 和 metadata。
  • 向量检索、关键词检索、混合检索。
  • rerank 的意义。
  • 引用来源和无答案策略。
  • 文档更新和权限过滤。
  • RAG 评估指标。

RAG 的重点不是“能搜到”,而是“搜到的证据能支持答案”。

5. 多智能体与框架 ​

你不能只说“我用 LangGraph / AutoGen / 某 SDK”。合格回答要能讲:

  • 为什么需要拆 Agent。
  • 选主管-工人、流水线还是并行评审。
  • Agent 之间传什么字段。
  • 结论冲突怎么裁决。
  • 多个 Agent 编辑同一个文件怎么避免覆盖。
  • state、checkpoint、handoff 各自做什么。
  • 框架帮你省了哪些样板代码。

最稳的原则是:

text
能单 Agent 就单 Agent;只有职责清晰、可独立验收、可隔离上下文时才拆多 Agent。

6. 评估、安全与可观测性 ​

你不能只说“人工看效果”。合格回答要能讲:

  • eval set 怎么覆盖正常、边界、无答案、工具错误和安全样本。
  • trace 记录哪些字段。
  • 一次任务成本怎么按 token 类型拆。
  • cached_tokens 和 cache_write_tokens 怎么理解。
  • prompt caching 命中率怎么提高。
  • prompt injection 怎么分层防。
  • prompt 改动后怎么做回归。

这部分往往最能区分“做 demo”和“做工程”的人。

7. 题型应对能力 ​

真实面试不会严格按章节问。你要能切换这些回答模式:

  • 概念辨析:把 Agent / Workflow、RAG / 微调、MCP / tool calling 这类相似概念讲清边界。
  • 场景判断:判断某个场景该用规则、工具、RAG、Agent 还是多 Agent。
  • 连环追问:从一个概念连续追到实现、失败、成本和安全。
  • 方案取舍:在质量、成本、延迟、安全之间做选择。
  • 踩坑排查:按输入、检索、工具、模型、状态、成本、安全逐层定位。

这类能力最接近真实面试。题库是基础,题型分类是临场应答训练。

自测方法 ​

每个方向都问自己 6 个问题:

  1. 它解决什么问题?
  2. 它不解决什么问题?
  3. 它在系统里哪一步出现?
  4. 它的主要成本是什么?
  5. 它最常见的失败模式是什么?
  6. 它要怎么测试和回归?

如果一项答不上来,这个方向大概率还停在“看过”。

绿色、黄色、红色信号 ​

绿色信号 ​

  • 你能先给结论,再补解释。
  • 你会主动讲 trade-off。
  • 你会讲评估、成本和安全。
  • 你能把问题缩小到一个最小闭环。
  • 你能说清一两个真实失败模式。

黄色信号 ​

  • 你知道名词,但只能顺着资料复述。
  • 你能写 demo,但说不清为什么这样设计。
  • 你会讲结果,但不会讲失败和优化。

红色信号 ​

  • 名词堆很多,但一追问就散。
  • 只会说“用了某框架”,说不清框架帮了什么。
  • 只讲功能,不讲指标和边界。
  • 一遇到错误就只说“换 prompt”。

一句话自我定位 ​

可以先写成这样:

text
我主要做过 [Agent / RAG / 工具调用 / 多智能体] 相关项目,
比较熟悉 [能力1]、[能力2],也会关注成本、评估、安全和可观测性。
我做系统时会先跑最小闭环,再用 trace 和 eval 找问题,而不是只调 prompt。

持续学习,持续实践。