下面给你一份 Agent 面试知识树 + 高频追问答案库 。我按"面试官会怎么追问"来组织,不按框架文档目录来组织。你可以把它当成学习地图,一层层补。
我也把 建议跑代码 的点标出来了,优先跑那些最容易涨面试手感的。
一些框架/模式/能力的定义参考了 LangGraph、OpenAI Agents、Anthropic workflow、AutoGen、MCP 等官方文档与论文。(LangChain 文档)
0. 总图:你脑子里先要有这 12 个模块
- Agent 基本范式
- Workflow / Planning / Routing
- Reasoning / Acting / Reflection / Search
- Tools / Skills / MCP / Function Calling
- Memory
- Knowledge / RAG / GraphRAG / Case Retrieval
- Multi-agent 协作
- State / Session / Persistence / HITL
- Evaluation / Observability / Trace
- Safety / Guardrails / Risk Control
- Cost / Latency / Reliability / Production
- Learning to Plan:SFT / Imitation / Bandit / Agentic RL
1. Agent 基本范式
1.1 先分清:workflow、agent、multi-agent
你要会答:
- workflow:路径基本可控,步骤和边界清楚
- agent:模型会基于状态自主决定下一步
- multi-agent:多个专长体协作,靠 handoff / orchestration 串起来
Anthropic 明确把很多有效系统总结为较简单的 workflow 模式,而 OpenAI Agents 也强调工具、handoff、tracing 这些 agent 系统能力。(Anthropic)
高频追问
- workflow 和 agent 的边界是什么?
- 为什么不是一个大 prompt?
- 为什么不是单 agent?
一句话模板
简单任务优先 workflow;当任务存在动态决策、工具选择、状态更新和失败回退时,再上 agent;当能力边界明显且需要模块化评测时,再拆 multi-agent。(Anthropic)
建议跑代码
- 跑一个 router + 两条固定链路 的 demo
- 再跑一个 单 agent tool-calling demo
- 最后跑一个 planner + 2 specialist agents demo
2. Workflow / Planning / Routing
这是最重要的模块,面试最爱问。
2.1 常见 workflow 模式
Anthropic 总结的高频模式特别值得背:
- prompt chaining
- routing
- parallelization
- orchestrator-workers
- evaluator-optimizer (Anthropic)
你要会讲
- 什么时候固定链路够用
- 什么时候需要 router
- 什么时候适合并行
- 什么时候需要 orchestrator
- 什么时候要 evaluator 再迭代
高频追问
- 为什么选 LangGraph?
- 为什么不用普通 chain?
- 条件边别的框架也有,为什么是 graph?
- planner 是怎么来的?
一句话模板
LangGraph 对我最有价值的不是"有条件边",而是把 state、control flow、checkpoint、human-in-the-loop、durability 做成了一等公民,适合长链路、可恢复、可观测的 workflow。LangGraph 官方也强调它偏底层基础设施,不替你抽象 prompt 或架构。(LangChain 文档)
2.2 Planning
你必须分清三类:
- 静态 plan:先整条规划好再执行
- rolling plan:每一步看结果再重规划
- policy-based planning:当前 state → 下一动作
高频追问
- plan 是 prompt 里写死的吗?
- 第三步出问题为什么不查第四步直接查第六步?
- 新增一个 agent 后要不要重写 prompt?
标准答法骨架
冷启动时,planning 可以来自专家规则、few-shot 轨迹和 SOP;中期可以从历史成功 case 学"state→next action";后期再用 bandit 或 RL 优化 planner policy。执行上我更倾向 rolling planning,而不是一次性输出完整固定 plan。
这是因为 prompt 长度有限,而且业务策略会持续变化。
建议跑代码
- 跑一个 planner 输出 next_action 的 demo
- 不要先做"输出完整计划",先做"单步决策 + 重规划"
3. Reasoning / Acting / Reflection / Search
3.1 ReAct
ReAct 是 reasoning + action 交替 。原论文核心就是让推理与外部动作交错发生。(OpenAI Developers)
高频追问
- ReAct 和普通 tool call 有什么区别?
- ReAct 有什么缺点?
你要会说
- 优点:开放式、能边查边想
- 缺点:轨迹长、成本高、容易漂、可控性弱
3.2 Reflection / Self-Refine / Reflexion
- Self-Refine:当前任务内自我反馈、自我改写
- Reflexion:把反馈沉淀成经验,影响后续 episode
- 业务表达:先做、再查、再改
高频追问
- reflection 为什么有效?
- 怎么避免无限重试?
- grader 用规则还是 LLM judge?
你要准备
- 失败类型分类:检索不足 / 工具失败 / 约束冲突 / 证据不足
- 每类失败对应不同恢复动作
3.3 Search / ToT / Branching
不是所有任务都应该线性推下去。
Tree-of-Thoughts 代表的是 显式探索多个思路并打分/回退 。(Anthropic)
高频追问
- 什么时候需要搜索而不是单链路?
- 为什么不用 beam / sample 多条结果直接选?
建议跑代码
- 跑一个 answer + judge + revise 的小闭环
- 再跑一个 多候选方案打分选优 demo
4. Tools / Skills / MCP / Function Calling
这是你特别提醒我要补的,我给你拆开。
4.1 Tool use
最基础层。
OpenAI Agents 和 MCP 都强调 tool schema、调用、外部系统交互。(OpenAI Developers)
你要会讲
- 工具是什么:外部 API / DB / 搜索 / 计算 / 执行动作
- tool schema 为什么重要:参数校验、降低幻觉调用
- tool 错误怎么处理:timeout、retry、fallback、empty result
高频追问
- 工具有很多,怎么选?
- tool 返回脏数据怎么办?
- 模型乱调工具怎么办?
4.2 Skills
面试里"skills"可能有两种意思,你都要会。
A. 业务工程里的 skills
就是"可复用能力单元"。例如:
- 查公告
- 查关系图
- 风险摘要
- 证据归并
- 用户画像提取
它比裸工具更高一层:
tool 是原子动作,skill 是封装好的小能力/workflow。
B. 研究语境里的 skill library
Voyager 这种工作把 skills 视为可存储、可检索、可组合的行为单元或代码片段,组成 skill library。(arXiv)
高频追问
- tool 和 skill 的区别?
- skill 如何被检索和复用?
- 新 skill 加入系统后怎么让 planner 知道?
推荐答法
我会把 tool 看成原子接口,把 skill 看成带输入约束、适用条件和产出规范的复合能力。planner 面向 skill 做选择,skill 内部再调多个 tools。这样更符合业务系统的扩展方式。Voyager 这类工作也说明了"skill library"作为可复用能力集合的价值。(arXiv)
4.3 MCP
MCP 是一种开放协议,让 server 向模型暴露 tools、resources 等能力。它的价值在于 统一接入方式 ,而不是自动变聪明。(Model Context Protocol)
高频追问
- MCP 的价值是什么?
- MCP 和普通 function calling 有什么区别?
一句话模板
function calling 更像单模型调用单组工具;MCP 更像统一能力暴露协议,降低异构系统接入成本,但稳定性仍取决于 schema、鉴权、超时和容错。(Model Context Protocol)
建议跑代码
-
一定要跑:
- 一个普通 tool-calling demo
- 一个 skill 层封装 demo
- 一个 MCP server 接小工具 demo
5. Memory
LangGraph 文档把 memory 明确分为短期和长期;短期通常跟 thread state 绑定,长期用于跨会话保存用户/应用级信息。(LangChain 文档)
5.1 你要会区分
- short-term memory:当前会话状态
- long-term memory:跨会话偏好/配置/历史结论
- episodic memory:过去某次任务经验
- semantic memory:稳定知识或用户画像
- working memory/state:当前流程变量
高频追问
- 什么该写长期记忆,什么不该?
- 记忆污染怎么处理?
- 记忆冲突怎么办?
- 记忆召回依据是什么?
标准答法骨架
我会把"当前任务变量"和"可长期复用偏好"分开;长期记忆只写稳定、可验证、与未来任务相关的信息。召回时按任务相关性和时效性筛选,冲突信息要做版本化或置信度管理。
建议跑代码
- 跑一个 thread state + user profile demo
- 至少展示:本轮状态、跨轮偏好、过期/覆盖逻辑
6. Knowledge / RAG / GraphRAG / Case Retrieval
6.1 基础 RAG
你要会答:
- 为什么不是直接让模型答?
- chunk 怎么切?
- recall 和 precision 怎么平衡?
- query rewrite 什么时候有用?
6.2 GraphRAG
适合多实体、多跳关系和约束组合推理。
它不是所有场景都更好,但在"实体-关系-路径"明显的任务中更有价值。(Anthropic)
高频追问
- GraphRAG 比普通向量检索强在哪?
- 什么场景没必要上图?
6.3 Case retrieval
这个很容易被忽略,但面试很加分。
很多 planning 不一定靠训练,可以先靠"历史案例检索":
- 相似风险案例
- 相似查询轨迹
- 相似工具调用路径
高频追问
- planner 的经验从哪来?
- SOP 更新了怎么办?
建议跑代码
- 跑一个 query rewrite + retrieve + rerank demo
- 再跑一个 历史案例检索辅助 planning demo
7. Multi-agent 协作
OpenAI Agents 强调 handoffs;AutoGen 代表的是多 agent conversation / orchestration。(OpenAI Developers)
7.1 你要会的协作结构
- manager-worker
- planner-executor
- researcher-critic-writer
- router-specialists
- debate / judge
- human-in-the-loop
高频追问
- 为什么要多 agent?
- 多 agent 一定更强吗?
- 多 agent 会不会更慢更贵?
标准答法
多 agent 的核心价值不是更"聪明",而是职责隔离、局部优化、模块替换和更易评测。若任务路径短、工具少、时延敏感,单 agent 往往更合适。(Anthropic)
7.2 动态调度
这是高频大题。
你要能说:
- planner 面向 capability metadata 选 agent
- 不是把所有 agent 名字写进 prompt
- 根据 state 做 rolling decision
- 利用历史轨迹 / 反馈优化策略
建议跑代码
- 跑一个 router-specialists demo
- 每个 specialist 给出 structured output
- manager 只决定"下一个找谁"
8. State / Session / Persistence / HITL
LangGraph 强调 durable execution、persistence、checkpoints、threads、human-in-the-loop。(LangChain 文档)
8.1 你要会讲
- state schema 怎么定义
- checkpoint 有什么用
- thread/session 区别
- 中断恢复怎么做
- human approval 节点怎么插入
高频追问
- 为什么不用普通日志?
- 为什么需要 checkpoint?
- 线上挂了怎么恢复?
一句话模板
长链路 agent 不是一次函数调用,而是带状态的执行过程。checkpoint 能保存中间状态、支持恢复、人工介入和调试,不然失败就得全链路重跑。(LangChain 文档)
建议跑代码
- 强烈建议跑:
一个有 checkpoint + resume 的简单 graph
9. Evaluation / Observability / Trace
这是大多数候选人最弱、但最加分的一块。
OpenAI 明确给了 agent evals 和 trace grading;LangGraph/LangSmith 也强调 trace 和监控。(OpenAI Developers)
9.1 你要会的评测维度
- 任务成功率
- 约束满足率
- 工具调用成功率
- 证据充分性
- 幻觉率
- 平均轮数
- 平均时延
- token / cost
- 人工满意度
9.2 你要会的 trace 视角
- planner 错了?
- router 错了?
- tool 挂了?
- verifier 太严/太松?
- memory 污染了?
- 哪一步最耗时?
高频追问
- 怎么做 eval?
- 为什么这个 agent 结果变差了?
- 怎么定位回归?
标准答法
我会同时做 black-box eval 和 trace-level eval。前者看最终任务结果,后者看 workflow 每一步是否出错,尤其适合定位 planner、tool、verifier 哪一层导致失败。(OpenAI Developers)
建议跑代码
-
必跑:
- 保存每一步输入输出
- 做一个 20 条样例的小评测集
- 统计 success rate / avg steps / avg latency
10. Safety / Guardrails / Risk Control
尤其你面的是风控/风险洞察类,这块要补。
10.1 你要会的 guardrails
- 输入校验
- 输出格式约束
- 工具白名单
- 敏感操作审批
- 证据不足不下结论
- 置信度/不确定性表达
- 风险标签和人工复核
高频追问
- agent 误判怎么办?
- 结论冲突怎么办?
- 如何防止危险动作?
推荐答法
高风险场景里,agent 更适合做"研判辅助"和"证据组织",最终决策要有 verifier、规则引擎或人工复核兜底。
建议跑代码
- 跑一个 证据不足 -> 拒答或升级人工 的 demo
11. Cost / Latency / Reliability / Production
11.1 你要会答的生产问题
- 为什么不用更大的模型?
- latency 怎么控?
- token 成本怎么控?
- 并行和串行怎么权衡?
- 失败重试会不会把成本打爆?
- 热点工具怎么缓存?
关键词
- model routing
- fallback model
- caching
- rerank before generate
- early stop
- bounded retries
- async / parallel workers
高频追问
- 多 agent 太慢怎么办?
- 为什么不用单模型一次答完?
- 线上最容易挂在哪?
建议跑代码
-
给你的 demo 加:
- 重试上限
- timeout
- fallback
- 简单缓存
12. Learning to Plan:SFT / Imitation / Bandit / Agentic RL
这块不是第一优先级,但一定要有图谱。
12.1 先分清
- prompt / rules:冷启动
- few-shot trajectories:示例驱动
- SFT / imitation:学"专家下一步怎么做"
- bandit:学"当前 state 下哪个动作收益高"
- RL / agentic RL:在多步决策环境下优化 policy
高频追问
- planner 的知识怎么来?
- 它怎么学会 plan?
- 只能写在 prompt 里吗?
标准答法
冷启动先靠规则、SOP 和 few-shot;有历史轨迹后,可以做 imitation learning 学"state→action";如果反馈足够稳定,再考虑用 bandit 或 RL 去优化 planner 的动作选择。RL 是后期增益,不是第一步。
建议跑代码
- 先不用真做 RL
- 先做:
历史轨迹 → next_action 分类器 / 规则 learner
这个更容易讲,也更像真实业务第一阶段
13. 框架生态图:你至少要知道这些,不一定都要精通
13.1 编排/agent 框架
- LangChain
- LangGraph
- OpenAI Agents / AgentKit / handoffs / tracing
- AutoGen
- Microsoft Agent Framework(知道是 AutoGen 演进路线即可)(OpenAI Developers)
13.2 协议/接入层
- MCP (Model Context Protocol)
13.3 评测/观测
- LangSmith
- traces / agent evals
- 你自己的日志系统 (LangChain 文档)
14. 高频追问答案库:压缩版
14.1 为什么选 LangGraph?
因为我的任务是有状态、可回退、多分支的 workflow。LangGraph 的价值不只是条件边,而是显式 state、durable execution、checkpoint、HITL 和更好的可观测性。(LangChain 文档)
14.2 tools 和 skills 的区别?
tool 是原子接口;skill 是对若干工具和策略的封装,是更高层的可复用能力单元。planner 更适合面向 skill 选,而不是面向裸 tool 选。Voyager 这种工作把 skill library 作为可复用能力集合来积累。(arXiv)
14.3 MCP 的意义是什么?
用统一协议暴露 tools/resources,降低异构能力接入成本;但协议统一不等于决策智能,后者还要靠 schema、planning、容错和评测。(Model Context Protocol)
14.4 planner 从哪来?
初期来自规则、SOP 和 few-shot;中期来自历史成功轨迹;后期可以做监督学习、bandit 或 RL 优化。不是只写在 prompt 里。
14.5 多 agent 怎么动态路由?
基于当前 state 和 agent capability metadata 做候选筛选,再做下一步决策;执行上采用 rolling planning,而不是一次性固定完整计划。
14.6 memory 怎么设计?
当前任务变量进短期 state,稳定偏好进长期 memory,召回时按相关性和时效性筛;冲突信息要版本化或做置信度管理。(LangChain 文档)
14.7 怎么评测 agent?
看最终成功率,也看 trace-level workflow 质量;后者能帮我定位 planner、router、tool、verifier 哪一层造成失败。(OpenAI Developers)
15. 代码优先级:哪些最值得跑
第一档,必须跑
- tool-calling demo
- LangGraph state + conditional edge demo
- checkpoint + resume demo
- planner -> specialist routing demo
- answer + verifier + retry demo
- 20 条小评测集 + trace 日志
第二档,很加分
- memory:短期 state + 长期 user profile
- skill 封装:skill 内部调多个 tools
- MCP server 小 demo
- case retrieval 辅助 planning
第三档,知道思路即可
- next_action 学习器
- bandit / RL 风格 planner 优化 toy demo
16. 学习顺序建议
第一阶段
先吃透这 6 个问题:
- workflow vs agent
- 为什么 LangGraph
- tools vs skills
- planner 从哪来
- 多 agent 如何动态调度
- eval / trace 怎么做
第二阶段
补:
- memory
- MCP
- GraphRAG / case retrieval
- reliability / cost / safety
第三阶段
再补:
- imitation / bandit / agentic RL
- 更复杂的 multi-agent 协作范式
17. 你真正该追求的面试状态
不是"我把所有名词都背过",而是做到这三件事:
- 给我一个新场景,你能拆成模块
- 给我一个现有项目,你能解释设计权衡
- 给我一个失败 case,你能说出定位和改进路径
做到这三点,agent 面试就已经过了大半。
你下一步最适合做的,就是把这份知识树变成一个 学习 checklist。我可以下一条直接帮你把它压成「按 7 天 / 14 天学习」的版本。