00 学习路线与面试地图
这个系列的目标是:从零开始,学完能去面 AI 应用开发 / Agent 开发岗位。 每篇只讲一个专题,讲到面试追问的深度;代码都实际跑过;每个知识点尽量对应到 CrossBuild Agent 项目里的真实代码和评测数据。
这一篇不讲具体技术,只回答三个问题:这个岗位到底考什么;按什么顺序学;每篇怎么读。
一、先看清楚:Agent 岗位的招聘要求和面试之间差在哪
我整理过 54 条 AI 应用、全栈方向的岗位描述(武汉、苏州为主,辅以深圳,不代表全国市场)。按关键词粗略统计,每条岗位同一个词最多算一次:
| 关键词 | 出现在几条岗位里(共 54) | 对应本系列 |
|---|---|---|
| Agent / 智能体 | 33 | 04、05、13 |
| RAG / 检索增强 | 27 | 08 |
| Prompt / 提示词 | 26 | 03 |
| Redis | 19 | 14 |
| Docker / K8s | 18 | 14 |
| 向量库(Milvus、FAISS、ES 等) | 17 | 08 |
| LangChain | 16 | 12 |
| FastAPI / Flask / Django | 16 | 14 |
| 工作流 | 16 | 05、12 |
| 微调 | 14 | 01(只讲概念) |
| 工具调用 / Function Calling | 11 | 04 |
| 评测 / 评估 | 9 | 09 |
| 监控 / 可观测 | 9 | 10 |
| LangGraph | 9 | 07、12 |
| LlamaIndex、Dify / Coze | 各 8 | 12 |
| MCP | 7 | 04、12 |
| 多 Agent | 6 | 13 |
这是按正则表达式粗略匹配的结果,和 resume/boss_ai_fullstack_2026-09-10/岗位要求对照.md 里的人工统计方法不同,个别数字有出入。出现不等于硬性要求,很多是”优先""加分项”。
从这张表能看出两件事:
第一,岗位描述写的是名词,面试考的是做法。 岗位描述里”评测”只出现 9 次、“工具调用”11 次、“上下文”几乎没有,但面试时这些恰恰是追问最多的:你怎么知道效果变好了?模型参数传错了怎么办?对话太长怎么处理?岗位描述写”熟悉 RAG”,面试问的是”召回不准你怎么排查”。
第二,很多 AI 应用岗本质是”后端开发 + 调模型”。 Redis、Docker、FastAPI、SQL 出现得不比 AI 词少。只会 AI 概念、后端基础薄弱,在第一轮技术面就容易挂。
所以这个系列的取舍是:
- 重点讲透:工具调用、Agent 循环、上下文、RAG、评测、安全——这些是面试追问区
- 讲到能用:Prompt、框架、MCP、多 Agent、后端工程——会用、能说清取舍即可
- 只讲概念:大模型原理、微调、推理部署——能回答”是什么、为什么”,不深入数学和训练
有一条岗位值得单独记住:智慧芽明确要求提交 AI Agent Demo、代码仓库和演示视频。另一条孚若科技点名”结构化输出、工具调用、上下文管理、失败兜底、回归验证”,这五个词基本就是 Agent 岗面试的真实大纲。
二、一张图看懂 Agent 应用由哪些部分组成
下面是一个典型 Agent 应用从用户请求到返回结果经过的所有环节,方框里的数字是对应的篇目。
flowchart TB
U[用户请求] --> API[14 后端服务<br/>接口 / 流式输出 / 任务队列]
API --> LOOP[05 Agent 循环<br/>决定下一步 / 何时停止]
LOOP --> CTX[06 上下文工程<br/>拼装消息 / 压缩 / 记忆]
CTX --> P[03 Prompt<br/>系统提示词 / 结构化输出]
P --> LLM[02 模型 API<br/>调用 / 重试 / 降级]
LLM --> B[01 大模型基础<br/>token / 采样 / 成本]
LLM --> LOOP
LOOP --> T[04 工具调用<br/>校验 / 执行 / 回填]
T --> RAG[08 RAG<br/>检索知识库]
T --> SEC[11 安全<br/>权限 / 沙箱 / 注入]
LOOP --> STATE[07 状态与恢复<br/>检查点 / 幂等 / 人工确认]
LOOP -.-> MULTI[13 多 Agent]
FW[12 框架与协议<br/>LangGraph / MCP] -.-> LOOP
OBS[10 可观测<br/>日志 / 链路追踪 / 成本] -.-> LOOP
EVAL[09 评测<br/>测试集 / 回归] -.-> LOOP
实线是一次请求的数据流向;虚线是贯穿全程的支撑能力。15 系统设计题把这些拼成完整方案,16 项目怎么讲把它们落到你自己的项目上。
这张图只列出了有哪些部分。每个部分为什么会出现、各篇之间怎么接起来,看 00b 全景:一个循环推出整个系列。
三、系列目录
| 篇目 | 讲什么 | 面试重要度 | 状态 |
|---|---|---|---|
| 00 学习路线与面试地图 | 本篇 | — | 已写 |
| 00b 全景:一个循环推出整个系列 | 一条主线把 16 篇串起来:一个循环、四层问题、四个旋钮、一次请求走到底 | — | 已写 |
| 01 大模型基础 | token、上下文窗口、采样参数、KV cache、首字延迟、计费、模型选型、幻觉、微调是什么 | 中 | 已写 |
| 02 模型 API 工程 | messages、流式输出、结构化输出、超时重试限流、多模型切换和降级 | 高 | 已写 |
| 03 Prompt 工程 | 系统提示词结构、few-shot、bad case 迭代、提示词版本管理 | 中 | 已写 |
| 04 工具调用与工具设计 | 一次往返传了什么、参数三层校验、严格模式、工具设计六原则、错误回传、MCP | 最高 | 已写 |
| 05 Agent 循环与架构模式 | 工作流和 Agent、ReAct、先计划后执行、反思、停止条件和预算 | 最高 | 已写 |
| 06 上下文工程与记忆 | 截断、压缩、长短期记忆、prompt caching | 高 | 已写 |
| 07 状态、持久化与恢复 | 检查点、幂等、人工审批、中断续跑 | 高 | 已写 |
| 08 RAG 全链路 | 切片、embedding、向量库、BM25、混合检索、rerank、查询改写、检索指标 | 最高 | 已写 |
| 09 评测 | 测试集、LLM 当裁判、pass@k、方差、留出集、回归测试 | 最高 | 已写 |
| 10 可观测与线上运维 | 链路追踪、Langfuse / LangSmith、成本和延迟监控 | 中 | 已写 |
| 11 安全 | 提示词注入、沙箱、权限、敏感数据、护栏 | 高 | 已写 |
| 12 框架与协议 | LangChain、LangGraph、LlamaIndex、Agent SDK、Dify / Coze、MCP、A2A、何时自研 | 中 | 已写 |
| 13 多 Agent | 常见协作模式、代价、什么时候值得用 | 中 | 已写 |
| 14 AI 应用后端 | FastAPI、异步、SSE 流式、任务队列、Redis、部署 | 高 | 已写 |
| 14b AI 应用后端补课 | Redis 缓存与分布式锁、限流、任务队列、鉴权、MySQL 慢查询、熔断、Docker 与 Nginx | 高 | 已写 |
| 15 系统设计题 | 客服 Agent、企业知识库、Coding Agent、深度调研 Agent | 高 | 已写 |
| 16 项目怎么讲 | CrossBuild Agent 的 10 分钟讲稿和 30 个追问 | 最高 | 已写 |
四、按什么顺序学
不建议按编号从 01 读到 16。按下面三个阶段,每个阶段结束都有一个能自己检查的目标。
阶段一:能把一个 Agent 从零写出来(第 1 周)
| 天 | 读 | 动手 | 验收标准 |
|---|---|---|---|
| 1 | 01 大模型基础 | 调一次模型 API,打印 token 用量 | 能说出这次调用花了多少钱、为什么输入 token 比你写的字多 |
| 2 | 02 模型 API 工程 | 写一个带超时、重试的调用函数;试一次流式输出 | 断网或填错 key 时程序不崩溃,给出明确错误 |
| 3 | 03 Prompt 工程 | 让模型把一段构建日志分类,输出 JSON | 20 条日志里解析失败的次数为 0 |
| 4–5 | 04 工具调用 | 跑通 04 篇的三个实验;读项目 mini_agent.py、tools.py | 不看文章,能写出 tool_calls 的 JSON 结构和回填格式 |
| 6–7 | 05 Agent 循环 | 自己写一个 100 行以内的 Agent:读文件、执行命令、有步数上限 | 能处理工具报错、能在达到上限时停下并说明原因 |
阶段一结束时,你应该能不借助任何框架,从空文件写出一个能用的 Agent。这是后面所有内容的基础,面试时”手写 Agent 循环”也是常见的现场题。
阶段二:把 Agent 做到”可上线”(第 2 周)
| 天 | 读 | 动手 | 验收标准 |
|---|---|---|---|
| 8 | 06 上下文工程 | 给你的 Agent 加输出截断和历史压缩 | 跑 30 步后输入 token 不再无限增长 |
| 9–10 | 08 RAG | 读项目 knowledge.py;自己用 BM25 和向量各做一次检索 | 能解释项目里 48 条查询、四种检索方式的结果为什么是那样 |
| 11 | 09 评测 | 读项目 eval/REPORT.md 全文 | 能说出”知识库没带来可测量收益”这个结论是怎么得出的、为什么可信 |
| 12 | 07 状态与恢复 | 读项目 graph_agent.py;复现一次 kill 后续跑 | 能说清检查点粒度是节点带来的问题 |
| 13 | 11 安全 | 对你的 Agent 做一次提示词注入测试 | 能列出你的 Agent 拦得住和拦不住的攻击 |
| 14 | 10 可观测 | 读项目 trace.py;给你的 Agent 加调用记录 | 任务失败时能从记录里定位是哪一步出的问题 |
阶段三:面试准备(第 3 周)
| 天 | 读 | 动手 | 验收标准 |
|---|---|---|---|
| 15 | 12 框架与协议 | 用 LangGraph 重写阶段一的 Agent | 能说清手写和框架各自的好处,不是只说”框架方便” |
| 16 | 13 多 Agent | 读完即可 | 能说出三种不该用多 Agent 的情况 |
| 17 | 14 AI 应用后端 | 用 FastAPI 包一个流式接口 | 浏览器里能看到逐字输出 |
| 18–19 | 15 系统设计题 | 每道题限时 30 分钟,自己在纸上画 | 能讲清需求澄清、架构、数据流、评测、风险五部分 |
| 20–21 | 16 项目怎么讲 | 录音讲 10 分钟,回放 | 不看稿能讲完,追问清单里 80% 能答上来 |
每天大约 3–4 小时。已经熟悉的部分可以只看速记页和自测,直接跳过。
五、每篇文章怎么读
除本篇外,每篇都是同样的结构:
| 部分 | 内容 | 什么时候看 |
|---|---|---|
| 第一部分 速记页 | 一张表,每个知识点一句话 | 面试前 10 分钟 |
| 第二部分 易混对照 | 最容易答成另一个概念的几组 | 复习时 |
| 第三部分 面试口述稿 | 每道高频题一段能直接念出来的回答 | 练习口述时,要出声念 |
| 第四部分 逐个详解 | 原理、Python 语法讲解、可运行代码、逐行解释 | 第一次学从这里开始 |
| 第五部分 对照项目 | 知识点在 CrossBuild Agent 里的位置、做到了什么、没做到什么 | 学完详解后 |
| 第六部分 追问清单 | 讲完一个点后面试官大概率接着问什么 | 模拟面试时 |
| 第七部分 闭卷自测 | 题目 + 折叠的答案 | 学完一篇后,隔天再做一次 |
| 延伸阅读 | 核对过的原始出处 | 想深入时 |
三条读法建议:
- 代码一定要自己跑。 每段标了”实际输出”的代码都是写文章时真跑出来的。自己跑一遍,再按文末的”自己改一改”改几个地方,比读三遍记得牢
- 口述稿要出声念。 面试是口试,脑子里明白和嘴上说得出是两回事。念到卡住的地方,就是还没真懂的地方
- “对照项目”里的”没做到”要看。 面试官追问项目时,主动说出局限和改进方向,比把项目吹得完美更可信
六、Python 基础要到什么程度
系列里的 Python 代码会从头讲语法,第一次出现的语法都会单独解释,不需要提前系统学 Python。
但下面这些最好先有个印象,遇到时不至于完全陌生:
| 语法 | 在哪篇第一次出现 | 为什么 Agent 开发离不开 |
|---|---|---|
字典、列表、json | 04 | 消息、工具参数、API 响应全是这种结构 |
函数、**kwargs 解包 | 04 | 工具注册表按名字调函数 |
异常 try/except | 04 | 工具失败、网络错误都靠它处理 |
| 类、类型注解、Pydantic | 04 | 参数校验、结构化输出、FastAPI 都用它 |
装饰器 @ | 04 | MCP、FastAPI、LangChain 注册工具和接口 |
生成器 yield | 05 | 流式输出、Agent 事件流 |
async / await | 02、14 | 并发调模型、异步接口 |
| 虚拟环境 venv、pip | 02 | 每个项目隔离依赖 |
动手前准备:
- Python 3.11 或更新版本(本系列在 3.13 和 3.14 上跑过)
- 一个模型 API key。国内推荐 DeepSeek,价格低、兼容 OpenAI 格式,项目里用的就是它。没有 key 也能学:大部分实验用假模型,不需要联网
- CrossBuild Agent 项目代码:仓库里
projects/crossbuild-agent/,或公开仓库 github.com/0612like/crossbuild-agent
七、必读的外部文章
不用一次读完,学到对应篇目时再读。下面的链接都在 2026-09-15 打开核对过。
| 文章 | 为什么值得读 | 对应篇目 |
|---|---|---|
| Anthropic:Building effective agents(2024-12) | 工作流和 Agent 怎么区分,五种常见工作流模式,被引用最多的一篇 | 05 |
| Anthropic:Effective context engineering for AI agents(2025-09) | 上下文是有限资源;压缩、结构化笔记、子 Agent 三种长任务做法 | 06 |
| Anthropic:Writing effective tools for agents(2025-09) | 工具设计最系统的一篇 | 04 |
| Lilian Weng:LLM Powered Autonomous Agents(2023-06) | 规划、记忆、工具使用三大组成的经典综述,早期论文脉络都在里面 | 05、06 |
| 12-Factor Agents | 12 条工程原则:自己掌控提示词、上下文和控制流,Agent 做成可暂停可恢复 | 05、07 |
| OpenAI:Function Calling 指南 | 工具调用的标准流程和严格模式 | 04 |
| MCP 规范 | 工具接入协议,截至写作时最新版本是 2026-07-28 | 04、12 |
2025 年下半年以后的新材料(2026-09-17 补充核对)。上面几篇讲的是基本方法,到现在仍然成立;下面这些是之后一年里做法上的变化,面试被问”最近有什么新进展”时用得上:
| 文章 | 讲了什么新东西 | 对应篇目 |
|---|---|---|
| Anthropic:Introducing advanced tool use(2025-11) | 工具搜索、让模型写代码调工具、工具用法示例 | 04 |
| Anthropic:Agent Skills(2025-10)和 规范 | 按需加载的”技能”文件夹,已成为多家产品支持的开放标准 | 06、12 |
| Anthropic:Effective harnesses for long-running agents(2025-11) | 跨多个上下文窗口的长任务怎么接力 | 07 |
| Anthropic:Demystifying evals for AI agents(2026-01) | Agent 评测的术语和做法 | 09 |
| Anthropic:Harness design for long-running application development(2026-03) | 规划、生成、评估三 Agent;换了模型后外层设计要做减法 | 05、06、13 |
| Cognition:Multi-Agents: What’s Actually Working(2026-04) | “别做多 Agent”作者一年后的修正 | 13 |
| Anthropic:How we contain Claude(2026-05) | 三个产品的沙箱、网络和凭据隔离 | 11 |
| OWASP GenAI LLM Top 10 2026(2026-08) | 十大风险新版,过度代理升到第三 | 11 |
对照用的开源实现:pi 是一个开源的编程 Agent(TypeScript,MIT 许可),模型接口、主循环、工具、会话存储、压缩全部自己写,没用框架。02、04、05、06、07、09、10、11、12、13 篇的第五部分都加了”对照开源实现:pi”一节,拿它的源码和本系列讲的做法、和我的项目逐项比。引用的源码统一以 commit 7b4cfd6(2026-09-11)为准。
八、这个系列和仓库里其他材料的关系
- 原来
interview/从零开始图解/下的 Agent、RAG、Prompt 与评测三篇,以及ai/下 01–07 专题目录,内容会被这个系列覆盖,系列写完后删除 - 项目的完整事实以
projects/crossbuild-agent/eval/REPORT.md和docs/progress.md为准,文章里引用的数字都来自这两处 - 简历怎么写看
resume/resume_ai_v1.md,本系列 16 篇讲的是面试时怎么把它讲出来
下一步:从 04 工具调用与工具设计 开始看样章。01–03 写好后,按第四节的顺序学。