AI Agent 开发工程师
12 周完整学习计划(逐日执行版)
本计划把"底层机制 → 框架与 RAG → 工程化与协议 → 标杆项目"四阶段路线拆解为 12 周、每周 6 天、每天约 7 小时的可执行任务,每周配有明确产出物与验收标准, 全程贯穿 4 个里程碑(M0 手写 Agent + 3 个项目),终点是一份能讲清"精度 / 延迟 / 成本"三维数据的简历与可投递状态。 文末附在职 24 周版本映射与风险预案。
01 · 使用方法与每日节奏
计划遵循 2026 年被验证有效的学习顺序:先搞懂 Agent 在工程上会坏在哪里,再学框架如何把坑填上—— 先手写无框架的最小 Agent,再上 LangGraph 与 MCP,最后用公开基准做出有三维数据的项目。[1][2]
三条学习纪律
- 动手 70%、看课 30%:每个知识点当天必须落到代码,"跑通教程"不算完成,能脱稿复现才算;
- 先跑通、再深究:第一遍不纠缠全部原理,保证闭环;第二遍(周末复盘)补底层与八股;
- 每周必须有产出:代码仓库、评测报告或文档,全部进 GitHub,README 即你的复习笔记。
全职版每日时间模板(周一至周六,约 7 小时有效学习)
02 · 学前自检与环境准备(W0,约 2–3 天)
| 自检项 | 要求 | 不达标怎么办 |
|---|---|---|
| Python 基础 | 熟练 | 函数 / 类 / 装饰器 / 异常 / 虚拟环境;用 2–3 天刷完官方教程对应章节 |
| 类型注解 + Pydantic | 了解即可 | 不会不影响开始,W1 第一天会专门练 |
| HTTP / REST / JSON | 掌握 | 理解请求方法、状态码、Header、鉴权;可用 Postman 练手 |
| Git 与 GitHub | 掌握 | commit / branch / PR 基础;建学习仓库并配置 README |
| Linux 命令行 | 基础 | 文件操作、进程、环境变量、简单 shell;W9 部署前再强化 |
| 机器学习 / 深度学习常识 | 了解 | 知道 Embedding、Transformer、训练/推理概念即可;补李宏毅生成式 AI 导论 6 讲[2] |
| 英文文档阅读 | 能读 | 官方资料以英文为主,配合翻译工具,2 周后会明显提速 |
环境与账号清单
- 开发环境:Python 3.11+、uv 或 conda、VS Code(Python / Jupyter 插件)、Git、Docker Desktop;
- 模型 API:至少准备 1 个海外(Anthropic / OpenAI)+ 1 个国内(DeepSeek / 通义 Qwen)账号,互为备份并对比成本;设置用量上限与费用告警;
- 费用预期:学习阶段月均 API 花费约 100–300 元,善用 Prompt Caching 与小模型可压到 100 元内;[1]
- 账号注册:GitHub、LangSmith(免费额度)、Langfuse Cloud 或本地版、Hugging Face、一个向量库(Qdrant Cloud 免费档或本地 Docker);
- 仓库规划:建
agent-learning总仓库,按周建目录,维护一份NOTES.md与一份glossary.md(术语表)。
03 · 12 周总览与四个里程碑
W2 末 · 无框架 Minimal Agent
手写 ReAct 循环 + 2 个工具 + 超时重试 + Prompt Caching。证明你理解消息协议与失败模式,而不是只会调框架。
W5 末 · 生产级 RAG 知识库
语义切分 + 混合检索 + Rerank + 增量更新,配 ≥100 题评测集与 baseline 对比报告。简历第一个可讲项目。
W9 末 · 可部署的生产级 Agent 服务
LangGraph + MCP + 三层防御 + 记忆 + 可观测 + 安全加固,Docker 一键启动,有 P95 延迟与单请求成本数据。
W11 末 · 公开基准标杆项目
SWE-Bench Verified / τ-bench / BIRD-SQL 任选其一,给出成功率、延迟、成本三维数据与消融实验,W12 完成简历与投递。
| 日 | 任务 |
|---|---|
| 周一 | 搭建环境(uv/conda、VS Code、Git 仓库);Python 类型注解、dataclass、Pydantic 模型校验练习;注册两家模型 API 并设费用告警 |
| 周二 | 吃透 Chat Completions 结构(system/user/assistant/tool 角色、token、temperature/top_p/max_tokens);手写第一次同步与流式(SSE)调用 |
| 周三 | Prompt 工程:结构化系统提示(角色/边界/输出格式/约束)、Few-shot、JSON 模式与结构化输出(response schema 约束) |
| 周四 | API 工程化:超时、指数退避重试、限流处理、错误码分类;封装统一的 chat() 客户端;对比国内外两个模型的效果与价格 |
| 周五 | asyncio + httpx 异步并发请求;批量任务的并发控制(信号量);统计每次调用的 token 与费用 |
| 周六 | 小项目:命令行"文档总结/翻译助手"——支持流式打印、强制 JSON 输出、失败自动重试;写 README 记录坑 |
| 周日 | 周复盘:费曼讲解 messages 结构与流式原理;LeetCode 2 题;整理术语表;未达标项登记 |
| 日 | 任务 |
|---|---|
| 周一 | Function Calling 全流程手写:JSON Schema 声明工具 → 解析模型输出的 tool_calls → 执行真实函数 → tool 角色消息回灌 |
| 周二 | 实现计算器 + 搜索两个工具;Pydantic 强校验入参;参数错误时把结构化错误信息回灌让模型自纠 |
| 周三 | 手写 ReAct:Thought→Action→Observation 消息组织、循环控制、终止条件;对照面试手册 Q3 的消息格式 |
| 周四 | 故障实验:故意制造死循环、上下文爆炸、早停、过度思考;逐一加上 max_steps、重复检测、reasoning 预算 |
| 周五 | 并行工具调用(一次多 tool_use 块并发回填);Prompt Caching(系统提示+工具定义前缀,观察延迟与费用变化) |
| 周六 | 整合为 50–100 行 Minimal Agent,写 README + 手绘架构图;录屏演示一次成功链路与一次故障自愈 |
| 周日 | 复盘:白板默写 ReAct 循环与三层防御雏形;LeetCode 2 题;读牛客《2026 版学习路线》第一、二阶段校准认知[1] |
| 日 | 任务 |
|---|---|
| 周一 | LangChain 核心抽象:Runnable、LCEL、ChatModel、Prompt、Output Parser;理解它与手写代码的对应关系 |
| 周二 | LangChain Academy《Intro to LangGraph》前半:StateGraph、Node、Edge、状态结构与 Reducer[5] |
| 周三 | 条件边与循环路由;用图实现 ReAct;对比手写版:代码量、可控性、调试体验 |
| 周四 | Checkpointer(Sqlite/Postgres)持久化、断点续跑、time travel;消息状态的增删改 |
| 周五 | Human-in-the-loop:interrupt 审批节点;节点级流式输出;子图拆分 |
| 周六 | 用 LangGraph 重写 W2 的 Agent,新增"高危工具需人工批准"分支;提交 langgraph-agent v1 |
| 周日 | 复盘:画一张 LangGraph 架构图并标注状态流转;LeetCode;浏览 AutoGen / CrewAI 官网,只做选型了解(不深学) |
| 日 | 任务 |
|---|---|
| 周一 | RAG 两阶段架构复盘;文档加载(PDF/DOCX/HTML/Markdown);清洗页眉页脚、去冗余;表格/图片处理策略 |
| 周二 | 切分策略实验:固定/递归/按标题层级切;overlap 调参;设计 metadata(来源、章节、条款号、时间) |
| 周三 | Embedding 原理(双塔结构、维度、归一化);跑通 BGE-M3 或 Qwen3-Embedding;记录维度与选型理由 |
| 周四 | 向量库:Chroma 快速上手 → Qdrant(Docker)建集合、HNSW 索引、metadata 过滤;批量导入与 upsert |
| 周五 | 检索问答闭环:Top-K 召回、上下文拼装(关键信息放头尾)、引用出处、"无依据就说不知道"约束 |
| 周六 | 灌入 50+ 篇真实文档(选你熟悉的领域:法律/客服/内部 Wiki),跑通问答并记录 10 个 Badcase |
| 周日 | 复盘:统计文档数/chunk 数/平均长度(面试必问的量化数据);LeetCode;分析 Badcase 归因(切分/检索/生成) |
| 日 | 任务 |
|---|---|
| 周一 | 混合检索:BM25 + 向量,RRF 融合;Query 改写、HyDE、多查询召回;对比单路检索的 Recall |
| 周二 | Rerank:bge-reranker 等 Cross-Encoder 精排(粗排 Top-30 → 精排 Top-5);理解 Bi vs Cross 编码器成本差 |
| 周三 | 评测集工程:构建 ≥100 题、按题型/难度分层抽样;标注标准文档与参考答案,写标注规范 |
| 周四 | 检索指标实现:Recall@K、Precision@K、MRR、Hit Rate;跑出朴素 baseline 与当前版本对比表 |
| 周五 | 生成评测:Faithfulness、答案相关性(RAGAS 或自写 LLM-as-Judge);抽检评委模型与人工判断的一致性 |
| 周六 | 增量更新:内容 hash 检测 + 以文档为单位"先删后增" + 版本号与回滚;超范围拒答与冲突文档处理 |
| 周日 | 撰写 M1 评测报告(优化前后 Recall/Faithfulness/延迟/成本表);README 定稿;LeetCode;模拟讲项目 5 分钟 |
| 日 | 任务 |
|---|---|
| 周一 | MCP 架构:Host / Client / Server;与传统 Function Calling 对比(厂商绑定/静态配置/无执行标准三大问题) |
| 周二 | 学习 Anthropic Academy《Introduction to MCP》:Tools / Resources / Prompts 三大原语(+ Sampling / Roots)[3] |
| 周三 | 手写 MCP Server(Python SDK):把 W4 知识库检索 + 一个业务 API 封装成标准工具 |
| 周四 | 写 MCP Client 接入 W3 的 LangGraph Agent;stdio 与 HTTP(Streamable HTTP) 两种 transport 各跑一遍 |
| 周五 | 工具 schema 设计原则(命名无歧义/枚举齐全/带示例);阅读 A2A 协议概念;Skills 渐进式披露机制 |
| 周六 | 建 BFCL 风格工具调用评测集(30–50 个 case),测你 Agent 的工具选择与参数正确率并出报告 |
| 周日 | 复盘:白板讲 MCP vs FC vs A2A;用第三方 MCP Client(如 Claude Desktop)验证你的 Server 可复用;LeetCode |
| 日 | 任务 |
|---|---|
| 周一 | 工具层硬隔离:try-catch + 硬超时(15s)+ 结构化错误体(error_type / retry_after);实现统一执行器 |
| 周二 | 推理层熔断:最大迭代数、同工具连续失败计数、"调用→失败→重复"模式检测,触发即中断 |
| 周三 | 规划层自修正:Reflection 子图(失败→反思→换参/换工具),三次失败降级转人工;多工具 DAG 与并行编排 |
| 周四 | 短期记忆:滑动窗口 + 自动摘要(实现类 /compact 机制);项目规则、用户偏好、会话上下文分库存储 |
| 周五 | 长期记忆:接入 Mem0 或 Zep,实现向量检索 + 时间衰减 + 重要性加权;跨会话记忆读写 |
| 周六 | 上下文压缩管线:token 水位分级触发(50%/75%),对比压缩前后任务成功率,量化压缩损失 |
| 周日 | 故障注入演练:模拟超时、错参、API 宕机、循环依赖,验证全部能自愈或熔断;写测试报告;LeetCode |
| 日 | 任务 |
|---|---|
| 周一 | Langfuse 本地部署:trace/span/observation 全链路埋点;token 与成本看板;用户会话级追踪 |
| 周二 | 评测回归流水线:数据集版本化,每次 Prompt/模型变更自动跑分并对比;LangSmith 对照体验 |
| 周三 | Prompt Injection:理解 Context Mixing 根源;构造 20 条注入 payload 做红队测试;实现输入隔离与净化 |
| 周四 | 高危操作四层防呆:独立安全分类器、PreToolUse 规则 Hook(DROP/delete 直接拒)、权限分级、操作审计 |
| 周五 | MCP 安全:第三方 Server 白名单与沙箱、工具描述审计、敏感凭证网络边界注入(不进上下文) |
| 周六 | 对照 OWASP Top 10 for LLM/Agentic Apps 逐项自查,输出一页威胁建模与整改清单 |
| 周日 | 复盘:从一条 trace 演示完整排障过程;统计注入拦截率;LeetCode;整理安全专题笔记 |
| 日 | 任务 |
|---|---|
| 周一 | FastAPI 封装:SSE 流式接口、Pydantic 入参、API Key 鉴权、限流(令牌桶)、统一错误格式 |
| 周二 | Docker 化:多阶段构建镜像;docker-compose 编排 app + Qdrant + Redis + Langfuse;环境变量与密钥管理 |
| 周三 | 模型部署认知:vLLM/SGLang 本地跑一个小开源模型(有显卡则实操,无则精读 PagedAttention 文档与云函数方案) |
| 周四 | 性能优化:模型分级路由、语义结果缓存、Prompt Caching 全量启用;用 Locust 压测 |
| 周五 | 上线:一台云主机 + Nginx 反代(或 K8s 最小集:Deployment/Service/HPA);GitHub Actions 跑 CI(lint + test) |
| 周六 | 全链路压测:P50/P95/TTFT、并发数、错误率、单请求平均成本;输出性能报告与优化前后对比 |
| 周日 | M2 收尾:README(架构图/一键启动/接口文档/演示地址);部署文档;模拟面试讲这个项目 10 分钟 |
| 日 | 任务 |
|---|---|
| 周一 | 三选一选题:SWE-Bench Verified(Code Agent)/ τ-bench(客服多轮工具)/ BIRD-SQL(Text2SQL);跑通官方数据与评测脚本 |
| 周二 | 复现官方或社区 baseline 分数;搭建自己的评测 harness(记录成功率/轮数/延迟/token) |
| 周三 | 用 LangGraph + 一个厂商 SDK 实现基线 Agent,对接基准环境 |
| 周四 | 完整跑一遍基线,收集失败轨迹并分类:工具选错 / 参数错 / 规划错 / 检索错 / 早停 |
| 周五 | 按错误占比确定 2–3 个优化点(如工具 schema 重设计、反思子图、Caching、检索增强) |
| 周六 | 实施第 1 个优化并完整评测,记录三维数据变化;保证实验只改一个变量 |
| 周日 | 写错误分析报告;LeetCode;阅读对应基准的高分方案论文/博客找思路 |
| 日 | 任务 |
|---|---|
| 周一 | 实施第 2 个优化(如失败后反思-修正子图),完整评测,记录三维数据 |
| 周二 | 实施第 3 个优化(如 Prompt Caching / 并行工具 / 更好的检索),同样评测记账 |
| 周三 | 消融实验:逐个关闭优化项,确认各自贡献的 pp 数;整理总表 |
| 周四 | 补工程化短板:熔断、重试、并发控制、结构化日志;把 W7/W8 的模块接入 |
| 周五 | GitHub 打磨:README(背景/架构图/方法/三维数据表/复现步骤/Badcase 集);代码清理与单测 |
| 周六 | 录制 3 分钟 Demo 视频;写一篇项目博客(问题→方案→数据→踩坑);发布到掘金/牛客 |
| 周日 | 用"简历金标准句式"写项目描述并预演十个追问;LeetCode;休整 |
| 日 | 任务 |
|---|---|
| 周一 | 写简历:M1(RAG)+ M3(基准)两个主力项目,STAR 结构 + 三维数据;一页纸项目摘要;找 2 人 review |
| 周二 | 八股速过:面试手册模块七(√dₖ、LayerNorm、GQA/MQA、LoRA、DPO/GRPO);手写 MHA / 位置编码各一遍 |
| 周三 | 项目话术:按手册模块八量化清单录音演练(RAG 数字、Agent 流程、失败处理),每段控制在 3 分钟 |
| 周四 | 系统设计白板:客服退换货 Agent、端侧 Agent 各画一遍分层架构;练习边画边讲 |
| 周五 | 完整 Mock Interview(朋友或 AI 扮演面试官,60 分钟含手撕);当晚复盘并补 3 个最弱知识点 |
| 周六 | 投递:内推优先,投 ≥3 家;建投递跟踪表;体验目标公司 AI 产品(豆包/扣子/腾讯元器等)各写 200 字观点 |
| 周日 | 制定面试季后迭代计划(继续补基准分数 / 第二个项目);休整,保持每日 1 题算法节奏 |
资源全景清单(少而精,禁止收藏不看)
官方免费课程(主线,按顺序使用)
- Anthropic Academy:AI Fluency 入门、《Building with the Claude API》、《Introduction to MCP》(约 3.5h,2026 年 MCP 课程中评分最高的官方课)、Claude Code 101,均免费且含练习。[3][10]
- 微软《AI Agents for Beginners》:GitHub 开源 18 课,从 Agent 概念到生产安全,每课配 Python / .NET 双版本可运行示例。[4]
- LangChain Academy:《Introduction to LangGraph》(W3 主线,约 3.5h)与《Deep Agents》长任务 Agent 课程。[5]
- DeepLearning.AI 短课:《Functions, Tools and Agents with LangChain》(Harrison Chase 亲授,W2 用)、AutoGen 设计模式、MCP 相关短课。[6]
- Hugging Face Courses:NLP / LLM / Agents 免费课程,用于补 Embedding 与模型基础。
中文补充(基础薄弱时使用)
- 李宏毅《生成式 AI 导论》/ 机器学习课程(B 站,补概念);Datawhale 开源教程(llm-cookbook 等);
- 书籍:《大模型应用开发极简入门》(黄伟/黄佳)、《LangChain 实战》——作为案头查阅,不建议从头通读;
- 掘金 / 牛客 / CSDN 的面经与实战文(每周泛读 2–3 篇即可,重在对照自己的知识盲区)。
工具与框架(学到哪周装哪周)
- 编排:LangGraph(主力)+ 一个厂商 SDK(Claude Agent SDK 或 OpenAI Agents SDK);
- RAG:Qdrant / Milvus、bge 系列 Embedding/Reranker、RAGAS;
- 记忆与观测:Mem0 / Zep、Langfuse(开源自建)、LangSmith;
- 部署压测:FastAPI、Docker Compose、vLLM/SGLang、Locust、GitHub Actions;
- 低代码认知:Dify / Coze 各搭一个 Agent 即可(W1 前建立体感,不深入)。
基准与社区
- 基准:SWE-Bench Verified、τ-bench、BIRD-SQL、BFCL(工具调用榜)、WebArena;
- 跟踪前沿:GitHub Trending、Hugging Face、r/LocalLLaMA、Hacker News、Anthropic / OpenAI 官方博客(每周固定 1 小时)。
在职版:24 周节奏映射(每周 13–15 小时)
工作日每天 1.5–2 小时(早 0.5h 看理论 + 晚 1–1.5h 敲代码),周末每天 5–6 小时做项目主线,每个全职周拆成两个在职周,总计约 6 个月。
| 全职周 | 在职周 | 节奏安排 |
|---|---|---|
| W1 | 第 1–2 周 | 第 1 周环境+API 调用;第 2 周 Prompt/异步/小项目 |
| W2 | 第 3–4 周 | 第 3 周 FC 手写;第 4 周 ReAct + 失败模式 + M0 收尾 |
| W3 | 第 5–6 周 | 第 5 周 LangChain+图基础;第 6 周 Checkpoint/HITL/重写 Agent |
| W4 | 第 7–8 周 | 第 7 周解析切分+Embedding;第 8 周向量库+问答闭环 |
| W5 | 第 9–10 周 | 第 9 周混合检索+Rerank;第 10 周评测集+增量更新+M1 收尾 |
| W6 | 第 11–12 周 | 第 11 周 MCP 课程+写 Server;第 12 周 Client 集成+工具评测 |
| W7 | 第 13–14 周 | 第 13 周三层防御;第 14 周记忆系统+故障注入 |
| W8 | 第 15–16 周 | 第 15 周可观测+回归;第 16 周注入防御+高危防呆+OWASP |
| W9 | 第 17–18 周 | 第 17 周 FastAPI+Docker;第 18 周性能压测+M2 收尾 |
| W10 | 第 19–20 周 | 第 19 周选题+baseline;第 20 周错误分析+首个优化 |
| W11 | 第 21–22 周 | 第 21 周迭代优化+消融;第 22 周 GitHub 打磨+Demo/博客 |
| W12 | 第 23–24 周 | 第 23 周简历+八股+话术;第 24 周系统设计+Mock+投递 |
风险预案与常见问题
| 风险 / 问题 | 对策 |
|---|---|
| 数学 / 模型基础薄弱,看 Transformer 发懵 | 不硬扛:先按"会用"标准推进 W1–W4,每天抽 30 分钟补李宏毅课程;到 W7 周末再系统过一遍注意力/KV-Cache,结合代码理解比纯推公式快 |
| API 费用超预期 | 开发期用 DeepSeek/Qwen 等低价模型 + 小模型做简单节点;全量启用 Prompt Caching;用 mock/录制回放跑测试,只在评测时调真实模型 |
| 学了就忘、概念混淆 | 每周末费曼输出(录音/博客);维护术语表;每阶段开始前先默写上个阶段架构图 |
| 框架焦虑(LangChain/AutoGen/CrewAI/Dify 都想学) | 严格只精 LangGraph + 1 个厂商 SDK;其他只看 30 分钟官方首页建立选型认知。简历堆框架是减分项[1] |
| 项目太大做不完 | 按"最小可用→加优化→加工程化"切层,每周交付一个可运行版本;范围宁小勿烂,能讲透一个切片胜过十个半成品 |
| 基准分数跑不高,怀疑自己 | 基准项目的价值在"可复现的工程方法 + 三维数据 + 错误分析",而非刷到 SOTA;基线之上每一个有消融证明的提升都是有效素材 |
| 某周任务没完成 | 不顺延全部计划:周日先补核心产出(每周"deliver"项),非核心任务压缩或并入下周,保证里程碑日期不动 |
| 没有 GPU | 全计划可纯 API 完成;Embedding/Rerank 可用 API 或小模型 CPU 跑;W9 的 vLLM 改为精读文档 + 云函数部署,不影响主线 |