课程目录

154 篇。Day 0–60 是基础篇,学完能投 Agent 工程师岗;Day 61 以后是进阶篇,目标资深。按顺序走,每天学完回来把那一天勾上。勾选只存在你自己的浏览器里,换设备不会同步。

0 / 154

我学完的天数

从 Day 0 开始

序章 · Day 0先把岗位看清楚

做出来:知道要学什么、花多少钱、两个月能到哪

  1. Day 00开学第一课:AI Agent 工程师做什么、两个月怎么学先把岗位看清楚:Agent 工程师每天在干什么、招聘方要什么、2026 年大概能拿多少钱。然后是这 60 天的地图、开课前要装的东西、整门课大概花多少 API 费用,以及两个月能做到和做不到的事。

第一周 · Day 1–7大模型与 API

做出来:命令行聊天机器人

  1. Day 01大模型到底在干什么:token、上下文窗口、下一个词预测不讲数学,只讲做 Agent 必须有的模型直觉:模型一次只猜一个 token,它看到的世界只有上下文窗口里那一段,temperature 决定它敢不敢猜冷门答案。幻觉、中文更贵、聊久了忘事,都能从这三件事推出来。
  2. Day 02写给后端工程师的 Python 速成:uv、类型标注、async、pydantic你已经会写 Java、Go 或 JS,只是不熟 Python。今天用对照的方式补上写 Agent 够用的那部分:uv 管项目、类型标注、dataclass 和 pydantic、async/await 并发、httpx、.env 管密钥、pytest。最后写一个并发抓取 + 数据校验 + 单测的小程序。
  3. Day 03第一次调用大模型 API:OpenAI 兼容协议,一份代码切换 DeepSeek/通义/Claude把一次 chat completions 的请求和响应逐字段拆开:messages、model、max_tokens、choices、finish_reason、usage。弄清 usage 怎么换算成钱、401/402/429 各是什么意思、SDK 的自动重试替你做了什么,最后写一个改三个环境变量就能换厂商的命令行小工具。
  4. Day 04messages、system prompt 与流式输出:对话状态握在你手里API 没有记忆,多轮对话是你的程序每次把历史整个重发一遍,所以聊得越久越贵,而且是平方级地贵。今天弄清四种 role 的分工、system prompt 该写什么、怎么裁剪历史,再用 SSE 流式输出把首字延迟压下来,最后封装一个后面整门课都要用的 LLMClient。
  5. Day 05提示词工程:清晰指令、示例、思维链、结构化标签提示词工程不是背咒语,是把需求写清楚。今天用一个工单分类任务,从一句话的提示词一路改到第四版:补背景和定义、加 few-shot 示例、让模型先想再答、用 XML 标签隔开材料,每改一版都在 12 条标注数据上量一次准确率。最后讲清楚什么时候提示词已经救不了你。
  6. Day 06结构化输出:JSON mode、JSON Schema、pydantic 校验与重试程序要的不是一段话,是能直接用的数据。今天讲清 JSON mode 和 Structured Outputs 的区别、各家支持到什么程度,然后写一个通用的 extract 函数:用 pydantic 定义 schema,让模型按 schema 输出,校验失败就把错误信息喂回去让它改。最后用它从客服工单里抽取客户、订单号、诉求和情绪。
  7. Day 07W1 复习 + 小项目:带流式输出和成本统计的命令行聊天机器人W1 收尾。先用一张图把这周的知识串起来,再做本周小项目:一个支持多轮、流式、切换厂商、开关思考模式、斜杠命令、会话保存和加载、实时账单的命令行聊天机器人。最后是 W1 的面试题和这一周最容易踩的坑。

第二周 · Day 8–14工具调用与 Agent 循环

做出来:会查天气、读文件、搜网页的 Agent

  1. Day 08Function calling:模型怎么「调用」函数(它其实只写了一段 JSON)拆掉「模型会执行代码」的误会:模型只负责写出要调哪个函数、传什么参数,真正执行的是你的程序。今天把一次工具调用的完整往返跑通,逐字段读懂 tools、tool_calls 和 tool 消息,再对照 Anthropic 的写法。
  2. Day 09不用框架,100 行手写一个 Agent 循环把昨天的一次往返改成 while 循环,加一个从函数签名自动生成 schema 的工具注册表,得到一个能连续调用多个工具、自己决定何时停下的 Agent。这段代码是面试最常考的手写题,也是后面整门课所有 Agent 的心脏。
  3. Day 10ReAct 与规划:先想再做,边做边看用纯提示词实现一次 2022 年 ReAct 论文里的 Thought/Action/Observation 循环,看清 stop 序列为什么是关键;再看原生 function calling 和推理模型时代 ReAct 变成了什么,最后实现 plan-and-execute 和 Claude Code 式的待办清单规划。
  4. Day 11好工具怎么设计:命名、描述、参数、返回值和报错同一个模型,换一组工具定义,表现可以从「到处乱翻」变成「两步命中」。今天对照 Anthropic《Writing effective tools for agents》,把一组能用但难用的笔记工具改造成模型顺手的样子,并用实测的字符数说明为什么返回值要精简。
  5. Day 12Agent 的失败模式:死循环、乱调工具、参数错误怎么治把 Agent 在生产里会遇到的失败分成三层九类,逐类给出代码层面的治法:重试与指数退避、超时、结果截断、步数和 token 预算、循环检测、撞线后的优雅收尾与转人工。最后用一个假模型写离线测试,不花一分钱验证这些防线。
  6. Day 13Workflow 还是 Agent:《Building effective agents》五种模式逐个实现通读 Anthropic 的《Building effective agents》,把 prompt chaining、routing、parallelization、orchestrator-workers、evaluator-optimizer 五种 workflow 模式各写一个可运行的最小实现,全部用客服工单做例子。最重要的收获是一个判断:什么时候根本不需要 Agent。
  7. Day 14W2 复习 + 小项目:能查天气、算数、读文件、搜网页的命令行 AgentW2 收尾。一张图串起函数调用、Agent 循环、ReAct 与规划、工具设计、失败处理、workflow 五块内容;然后把它们组装成一个能放进 GitHub 的命令行 Agent:五个精心设计的工具、带防线的循环、多轮对话和花费统计。最后是 W2 面试题汇总和踩坑清单。

第三周 · Day 15–21上下文工程与 RAG

做出来:带引用出处的文档问答

  1. Day 15Embedding:把文字变成向量,余弦相似度手算一遍W3 第一天。搞懂 embedding 到底是什么,手算一遍余弦相似度,调通一个 embedding API,再用 CloudLedger 的客服问句做一张相似度矩阵,亲眼看到「我想把钱要回来」和「退款政策」挨得有多近。
  2. Day 16第一个 RAG:切块、向量化、检索、拼 prompt(numpy 暴力版)不用向量数据库、不用框架,一百多行代码搭出完整的 RAG:造出 CloudLedger 帮助中心的 20 篇文章,切块、向量化、存成 numpy 文件,对问题做检索,再让大模型带着引用出处回答。
  3. Day 17向量数据库:pgvector 上手、HNSW 索引与元数据过滤把昨天的 numpy 索引搬进 Postgres。Docker 起 pgvector,建表、写入、用 SQL 做向量检索和按分类过滤,搞懂 HNSW 为什么快、为什么带过滤条件时会「少返回结果」,最后和 Milvus、Qdrant、Chroma、Elasticsearch 做一张取舍表。
  4. Day 18检索质量:混合检索、rerank、query 改写纯向量检索遇到 E1042 这种错误码就犯迷糊。今天加上 jieba + BM25 关键词检索,用 RRF 融合两路结果,用 bge-reranker 精排,让大模型改写口语化的问题;最后回到上游,处理 PDF、表格和扫描件的文档解析。
  5. Day 19RAG 怎么评估:召回率、MRR、忠实度,建第一份检索测试集昨天的对比只有 6 个问题,结论全凭感觉。今天建一份 30 条的评估集,分检索和生成两层打分:检索看 hit@1、recall@k、MRR,生成用大模型当裁判看忠实、完整、该拒答时拒答。然后用它回答「切块多大、k 取几、rerank 值不值」。
  6. Day 20上下文工程与记忆:窗口预算、压缩、长期记忆、Agentic RAG把视角从 RAG 拉到整个 Agent:上下文窗口里该放什么、放多少;清理工具结果、裁剪、摘要压缩三档手段;子 Agent 隔离上下文;长期记忆;Agentic RAG;最后讲清楚 JD 里高频出现的 Agent Harness 到底是什么。
  7. Day 21W3 复习 + 小项目:带引用出处的文档问答 AgentW3 收官。一页知识地图串起 embedding、切块、pgvector、混合检索、rerank、评估、上下文和记忆;把这一周的代码拼成一个多轮、带引用、会拒答、能一键评估的文档问答 Agent;再过一遍 W3 面试题和踩坑清单。

第四周 · Day 22–28MCP、框架与多 Agent

做出来:工单分流 Agent

  1. Day 22MCP 是什么:为什么大家都在接 MCP,协议里有什么MCP 把「给 AI 应用接工具」这件事标准化了。今天把 host、client、server 三个角色,tools、resources、prompts 三种能力,JSON-RPC 消息和两种传输方式一次讲清,顺便说明它和 function calling 到底是什么关系。
  2. Day 23动手写 MCP server:把 CloudLedger 业务库包成工具造一份云簿 CloudLedger 的假业务库,用 MCP Python SDK 2.x 把查客户、查订阅、查发票、提交退款申请包成四个工具,在 Inspector 里调通、用内存客户端写测试、接进 Claude Code,最后写一段桥接代码把它接到自己的 Agent 循环上。
  3. Day 24LangGraph 入门:状态、节点、边、条件路由把 Agent 的控制流从一个 while 循环搬到一张图上。用 LangGraph 1.x 重写 Day 9 的 Agent 循环,再写一个工单分类后分支处理的工作流,搞懂 State、reducer、节点、普通边和条件边,以及什么时候值得用图。
  4. Day 25LangGraph 进阶:checkpoint、人工审批、流式与中断恢复给图接上 SQLite checkpointer,让状态落盘;用 interrupt 实现 CloudLedger 的退款人工审批,Agent 起草方案后停下来等主管,进程退出也不丢;再演示时间旅行、三种流式模式和子图。这是 LangGraph 真正比手写循环值钱的地方。
  5. Day 26多 Agent:orchestrator-worker、handoff、上下文隔离,以及什么时候不该用多 Agent 是最热也最容易被滥用的架构。先读 Anthropic 和 Cognition 两篇观点相反的文章、算清 token 账,再在 CloudLedger 上实现主管派活和专员交接两种拓扑;最后加一节浏览器 Agent,用 Playwright 让模型操作网页,顺便亲眼看一次网页里的提示注入。
  6. Day 27框架横评:LangGraph、OpenAI Agents SDK、Claude Agent SDK、LlamaIndex、Dify/Coze同一个查重复扣款的小任务,用 LangChain create_agent、OpenAI Agents SDK、Claude Agent SDK 各写一遍,和手写版本对比。再把这两年新冒出来的概念理清:Agent Skills 是什么、它和 MCP、子 Agent 怎么分工,JD 里的 Agent Harness 指什么,以及面试里最难的那题:框架底层怎么实现、局限在哪、什么时候不用框架。
  7. Day 28W4 复习 + 小项目:MCP + LangGraph 的工单分流 Agent把 W4 拼成一个能跑的工单 Agent:分类、检索帮助中心、按类别给工具、通过 MCP 查 CloudLedger 业务库、退款前停下来等主管审批、输出带引用的回复。附一页知识地图、W4 面试题汇总(含框架原理和何时不用框架)和这一周的坑清单。

第五周 · Day 29–35评测与可观测

做出来:评测集和 CI 回归门禁

  1. Day 29为什么 Eval 是分水岭:没有评测的 Agent 只是 demoW4 做出来的工单 Agent 能跑了,但你改一句 prompt,它是变好了还是变坏了?今天建立评测的整套概念:评测金字塔、离线和在线、能力评测和回归评测、pass@k 和 pass^k,并给 W4 的 Agent 写第一个只有 10 条用例的冒烟评测。
  2. Day 30错误分析:读 100 条 trace,给失败分类评测的第一步不是写评分器,而是看数据。今天批量生成 100 张工单跑一遍 W4 的 Agent,用一个几十行的 Streamlit 小工具逐条读 trace、写失败笔记,再把笔记归成几类、计数、排优先级,最后决定哪些问题直接修、哪些问题值得写成评测。
  3. Day 31建测试集:黄金集、合成数据、边界用例把昨天错误分析的结果变成一份正式的测试集:每条用例有可机器检查的期望,期望值尽量用代码从业务数据里算出来而不是让大模型猜;用「维度组合 → 自然语言」两步法批量合成工单,补上边界和对抗用例,划分开发集和留出集,再算清楚测试集要多大才能分辨 85% 和 90%。
  4. Day 32LLM-as-judge:写评分 prompt、与人工对齐、偏差校准代码断言查不了「回复有没有讲清楚政策」「有没有编造」。今天写一个只判一件事、只给 pass/fail 的 LLM 评分器,用你的人工标注去校准它:算 TPR、TNR 和 Cohen kappa,而不是只看准确率;再用这两个数修正评分器报出来的通过率,最后过一遍位置、冗长、自我偏好这些偏差。
  5. Day 33评估 Agent 的轨迹:工具选对没、步数多不多、任务成没成只看最终结果会漏掉一半问题:查错了客户、重复调用、先退款后查发票。今天把 Agent 的工具调用序列当成评测对象,写顺序约束、参数校验、越权检查、冗余调用和预算检查;再写一个「模拟客户」和 Agent 多轮对话,照 τ-bench 的思路用数据库最终状态判定任务成没成。
  6. Day 34Tracing 与可观测:Langfuse 接入,每一步都看得见把 W4 的工单 Agent 接进 Langfuse,让每次运行变成一棵能点开的 trace 树,按客户和会话归类,把评测分数和用户反馈写回 trace;再用 OpenTelemetry 按 GenAI 语义约定手动打 span(工作流、模型调用、工具调用),把 token 用量做成指标,同时导出到 Langfuse 和 Jaeger。
  7. Day 35W5 复习 + 小项目:给工单 Agent 加评测集和 CI 回归门禁把这一周的 adapter、测试集、判题器、评分器、轨迹检查和 tracing 组装成一个评测系统:一条命令跑完三层检查,多进程并发,输出带基线对比的报告(哪些用例新挂了、哪些新修好了),再接进 GitHub Actions,合并请求自动跑,关键检查失败或分数明显下降就拦住。最后是 W5 的面试题和坑清单。

第六周 · Day 36–42生产化

做出来:公网能访问的 Agent 服务

  1. Day 36把 Agent 做成服务:FastAPI、SSE 流式接口、会话管理前五周的工单 Agent 一直活在命令行里。今天给它套上 HTTP 接口:用 FastAPI 原生 SSE 把 token、工具调用和审批请求实时推给前端,用 LangGraph 的 Postgres checkpointer 管会话,再处理好并发、超时和用户中途关掉页面这几件事。
  2. Day 37长任务与可靠性:队列、重试、幂等、超时、断点续跑把跑十几分钟的批量工单处理从 HTTP 请求里挪到任务队列,用 arq 做异步 worker;分清哪些错误该重试、重试几层;用幂等键保证退款不会因为重试建两次;再用 LangGraph 的 checkpoint 让崩在半路的任务从断点接着跑。
  3. Day 38成本与延迟:prompt caching、模型路由、并行、批处理把一张工单的花费拆到每一次模型调用,按 2026 年 10 月的真实价格算清楚钱花在哪;调整 prompt 结构让缓存命中,让便宜模型做分类、贵模型只做起草,用并行和流式压延迟,把积压工单挪到错峰时段和批处理接口上跑。
  4. Day 39安全(一):prompt injection 怎么打、怎么防亲手攻击自己的工单 Agent:在工单正文、客户昵称、知识库文章里埋指令,看它会不会乱退款、泄露别人的数据、把信息往外送。然后用「致命三要素」找出真正的风险点,一层层加防御,最后把这些攻击写成测试用例接进 CI。
  5. Day 40安全(二):最小权限、沙箱、人工确认与数据脱敏给工单 Agent 的每个工具定权限等级,让权限检查发生在代码里而不是 prompt 里;数据库账号也按最小权限拆开;Agent 需要跑代码时放进断网、限资源的沙箱;手机号、身份证号在进模型之前替换成占位符;每次敏感操作写进只能追加的审计表。最后对照 OWASP LLM Top 10 做一次自查。
  6. Day 41部署上线:Docker、密钥管理、云服务器,以及本地开源模型用 uv 写一个小而安全的 Dockerfile,用 Compose 把 API、worker、Postgres、Redis、Caddy 编排在一起;密钥不进镜像不进 git;给国内轻量云和海外平台各一条部署路线,讲清楚备案这道坎;配一个最小的 GitHub Actions 流水线;最后算一算什么时候值得用 Ollama 或 vLLM 自己跑开源模型。
  7. Day 42W6 复习 + 生产化清单:把工单 Agent 部署成公网服务W6 收尾:一张图串起六天的内容,一份按「接口、可靠性、成本、安全、运维」分组的上线检查清单,整合后的完整代码和一个能对公网地址跑的冒烟与压测脚本,一次故障演练,再加本周面试题和踩坑清单。

第七、八周 · Day 43–54毕业项目 SupportPilot

做出来:能放进简历的完整项目

  1. Day 43毕业项目开题:为什么做 SupportPilot、需求文档与架构图毕业项目 SupportPilot 开工第一天。先用 JD 数据说清为什么选智能客服工单这个题,再像 FDE 那样从一次模拟客户访谈里拆出需求、非目标和验收指标,最后定架构、目录结构和 12 天排期。今天写的 PRD 是后面每一天的验收依据。
  2. Day 44搭骨架:仓库结构、配置、造数据用 uv 建好 SupportPilot 仓库,配上 ruff、pytest、pre-commit,用 pydantic-settings 管配置,Docker 起 Postgres + pgvector。然后造数据:62 篇帮助中心文章、200 个客户的订阅和账单,其中 12 个剧情客户对应 Day 43 访谈里拆出来的退款场景。一条 make data 建好全部。
  3. Day 45知识库模块:导入、切块、混合检索、引用把 W3 的 RAG 代码产品化:按小标题切块并带上下文前缀、按内容 hash 增量导入 pgvector、向量 + BM25 用 RRF 融合、可选 rerank、引用编号检查和渲染。最后跑一份只评检索的基线:纯 BM25 在 31 条种子查询上 recall@5 是 0.935,漏掉的两条正好说明为什么还需要向量。
  4. Day 46业务工具:订单/账单 MCP server 与退款审批写 SupportPilot 的业务工具:查客户、订阅、账单,退款规则写死在代码里并用剧情客户测试,退款只能创建待审批申请。按权限分级注册给模型。对接企业系统:审批通知推到飞书/钉钉/企业微信群,加一个只读、带 SQL 校验和行级隔离的 text-to-SQL 工具。最后包成 MCP server,在 Claude Desktop 里查账单。
  5. Day 47主工作流:LangGraph 编排分类、检索、执行、起草、自检SupportPilot 的心脏。把 LLMClient 搬进项目并加上成本账本和结构化重试,设计工作流状态,写九个节点和条件路由:查客户、分诊、检索、调工具、起草、质检、退款审批、定稿、转人工。用假 LLM 写单测覆盖审批、转人工、质检打回,最后在终端里端到端跑 10 张工单。
  6. Day 48多轮与记忆:会话状态、客户画像、上下文压缩给 SupportPilot 加上三种记忆:同一张工单里的多轮对话(状态存进 Postgres,进程重启也不丢)、跨工单的客户画像(只在历史变化时重建)、对话太长时把早期轮次压成摘要。改动集中在三个新文件和两个节点,用假 LLM 测多轮和压缩。
  7. Day 49界面与流式体验:Next.js 客服工作台、展示工具调用与审批用 FastAPI 把工作流包成 HTTP 接口,用 SSE 把每个步骤、每次工具调用、每个字推给前端;再用 Next.js + React + TypeScript 做两个页面:客户视角看着 Agent 干活并追问,客服工作台一键审批退款。讲清楚为什么不用 EventSource、要不要上 Vercel AI SDK、怎么停止、怎么让读屏软件不被逐字播报逼疯。不会前端的同学,文末有 Streamlit 版。
  8. Day 50评测体系:100 条测试集、LLM-judge、轨迹评测,跑出第一份分数把 Day 43 的验收指标变成能自动跑的评测:36 个场景、100 种客户说法,按场景拆 dev/test;规则检查管分类、工具轨迹、退款闸门、引用、事实和禁语,LLM 评审只判"有没有依据"和"有没有解决问题"两件事,再加成本和延迟。跑出第一份基线报告,并学会检查评审本身准不准。
  9. Day 51迭代:按错误分析改 prompt、工具和检索,把分数提上去拿着 Day 50 的基线报告做错误分析:读失败用例、写一句话笔记、归类、计数、挑最多的先修。修法分四种:改代码规则、改检索、改提示词、改评测集本身。每次只改一处,在 dev 上跑并记进改动日志;最后跑一次 test,看提升是不是真的。附我在写这个项目时实际踩到的四个 bug。
  10. Day 52可观测与成本:接 Langfuse、算单工单成本、缓存与模型路由给 SupportPilot 装上眼睛和账本:每张工单在 Langfuse 里是一棵能点开的 trace,每次模型调用都记一笔精确到分的账。然后用两招把单工单成本压下来:让 prompt 前缀稳定以吃到缓存命中价,让小模型干分类、大模型只管起草。
  11. Day 53安全加固与上线:注入测试、权限、Docker 部署SupportPilot 第一次上公网之前,先当一回攻击者:写一套注入测试集,看它会不会泄露别的客户的账单、会不会绕过审批退款。修好之后用 Docker Compose 把服务、数据库、前端和 HTTPS 一起部署到云服务器,再加上限流、每日预算和演示账号,别让 demo 把你的 API 余额刷光。
  12. Day 54作品包装:README、架构图、演示视频、技术博客招聘方不会 clone 你的仓库。今天把 SupportPilot 包装成一个面试官 5 分钟能看懂的作品:README 第一屏放什么,架构图怎么画,两三分钟的演示视频怎么录,技术博客写哪些踩坑和数字,GitHub 主页和提交历史怎么整理。

第九周 · Day 55–60第二个作品和求职

做出来:简历和两个作品

  1. Day 55选做第二作品:一天做出代码审查 Agent做一个挂在 GitHub PR 上的审查机器人:拿到 diff、算准行号、让模型按结构化格式提意见、过滤掉误报,再作为行内评论发回去。重点不在「能评论」,而在怎么用埋 bug 的数据集证明它的意见值得看。
  2. Day 56简历:AI Agent 岗的简历怎么写用 880 条真实 JD 的技能频次给简历做关键词对照,把 SupportPilot 和代码审查 Agent 写成「问题、方案、数据」三段式的项目经历,把原来的工作经历诚实地往 AI 方向改写,并正面处理年限和学历门槛。最后产出中英文两版一页简历。
  3. Day 57面试(一):高频基础题 60 道Agent 岗技术一面的高频题,按模型与提示词、工具调用、RAG、Agent 架构与框架原理、上下文工程、MCP 与 Skills、评测、安全与工程化分组,一共 60 道。每道题给答题要点,答案折叠,先自己说一遍再展开。题目的侧重按 880 条真实 JD 的技能频次分配。
  4. Day 58面试(二):系统设计题——设计企业客服 Agent 与 Deep Research AgentAgent 岗的系统设计题怎么答:一套七步框架(需求、指标、架构、数据、评测、风险、成本与 ROI),用「企业客服 Agent」和「Deep Research Agent」两道最常见的题完整走一遍,包括容量估算、Agent 与人工的 ROI 算账、分阶段上线方案,以及面试官最爱追问的问题清单和一道现场编码加强题。
  5. Day 59求职渠道与薪资:国内、新加坡、海外远程,怎么找、怎么谈用 2026 年 10 月抓取的 880 条 AI Agent 岗 JD 说话:每个招聘平台能看到什么、看不到什么,国内、新加坡、香港、美国、海外远程各自的薪资样本和口径,Forward Deployed Engineer 这类岗位是什么,远程岗真实的地域限制,以及谈薪、比较 offer、识别假 AI 岗和培训贷。
  6. Day 60结业:60 天回顾、能力自检清单、接下来怎么进阶最后一天。对照 880 条真实 JD 的技能频次给自己打一次勾,清点作品,把没达标的地方排进补课计划;然后讲接下来三个月值得深入的方向:LoRA 轻量微调、浏览器 Agent、Agent Harness 与可观测、语音 Agent、开源贡献,附一个最小可跑的浏览器 Agent 和一个 LoRA 实验的设计模板,以及长期跟进这个领域的信息源。

进阶篇

资深 Agent 工程师

前 60 天让你拿到入场券,这 50 天往资深走:架构取舍、评测科学、微调与自部署、平台化、前沿形态,最后做一个多租户 Agent 平台,准备 Staff 级面试。

进阶 · 第十周 · Day 61–67Agent 架构深水区

做出来:一份 Agent 运行时设计文档

  1. Day 61进阶开学:资深 Agent 工程师和中级差在哪前 60 天让你能做出一个像样的 Agent,接下来 50 天要让你能扛住一个团队的 Agent 系统。先用 880 条 JD 里标题带「资深、专家、架构师」的那 42 条看清楚资深岗要什么,再看进阶篇的地图和要做的 AgentOps 平台,最后换一种学习方式:读论文、读源码、写设计文档。
  2. Day 62Agent Harness 设计:把循环做成可复用的运行时基础篇 Day 9 手写的那 100 行循环,到了平台上要变成一个运行时:工具层、上下文管理、权限、钩子、子 Agent、状态持久化都要有扩展点。今天先读 OpenAI Agents SDK、Claude Agent SDK 和 LangGraph 三家的运行时源码,看它们各自怎么取舍,再给 AgentOps 写一个 200 行的 harness,带审批暂停和恢复。
  3. Day 63上下文工程进阶:长任务里的压缩、外部记忆和缓存命中跑五十步的 Agent,上下文会变成最贵也最容易出错的地方。今天看三份一手资料:Chroma 的上下文腐烂实验、Anthropic 的上下文工程文章、Manus 围绕 KV 缓存命中率的六条经验,然后写一个按「轮」裁剪的分层上下文管理器,最后设计一个实验,在自己的任务上比较几种策略的成功率和成本。
  4. Day 64记忆系统:短期、长期、情景、语义,怎么写、怎么忘昨天管的是一次任务里的上下文,今天管跨会话的记忆。先用 CoALA 的分类把「记忆」拆开,再看 mem0、Letta、Zep、LangGraph store 各自怎么解决写入、检索、冲突和遗忘,最后给 SupportPilot 写一个带来源优先级、有效期和删除权的客户记忆,并讲清楚哪些东西绝对不能记。
  5. Day 65持久化执行:跑几小时的 Agent 怎么不怕重启退款审批要等主管几个小时,年度对账要跑一个下午,中间发版重启、机器被回收都很正常。今天讲持久化执行(durable execution)的原理:把每一步的结果记进日志,重启后重放。再讲 Agent 特有的麻烦:模型输出不确定,重放时怎么办;副作用做了一半,怎么不重复退款。最后自己写一个带日志重放和幂等键的运行器,并对比 Temporal、Restate、DBOS 和 LangGraph checkpoint。
  6. Day 66编排模式的取舍:单 Agent、工作流、多 Agent、混合「该用单 Agent 还是多 Agent」是资深面试最爱问的问题之一,网上的答案两边都有。今天把 Anthropic、Cognition、LangChain 三篇文章的论据摆在一起,拆出决定架构的五个维度,讲清共享状态和消息传递、失败隔离这些细节,再写一个在同一批任务上对比几种架构的实验脚本,最后整理成一棵决策树。
  7. Day 67W10 复习:写一份 Agent 运行时的设计文档W10 的五个主题合成一份正式的设计文档:AgentOps 运行时的背景、目标与非目标、方案、被放弃的选项、风险和评测计划。先讲设计文档为什么存在、写什么不写什么,再给出一份完整示范和两份 ADR,最后是这周的资深面试题汇总和坑清单。

进阶 · 第十一周 · Day 68–74评测科学

做出来:评测平台设计和统计检验脚本

  1. Day 68评测是产品:评测体系的组织、流程和所有权基础篇里评测是你一个人的事:自己写用例、自己跑、自己看分数。到了一个五六个人、两三条产品线的团队,评测会烂掉,原因几乎都不是技术。今天讲评测在团队里怎么分工、用例从哪来、谁来评审、能力集和回归集怎么流转、什么时候该退役,再写一个给用例上户口的小工具。
  2. Day 69评测里的统计学:样本量、置信区间、显著性v2 在 180 条用例上比 v1 高了 1.1 个点,能合并吗?今天用 SupportPilot 那种「场景 × 说法」的评测数据,把 Wilson 区间、聚类标准误、配对比较、McNemar、按簇 bootstrap、重复采样和功效分析全部写成代码跑一遍。跑完你会发现,这 1.1 个点在统计上什么也说明不了,而这个评测集连 6 个点以下的提升都看不出来。
  3. Day 70大规模 LLM 评审:校准、一致性、成本SupportPilot 每天三千张工单,想每天看一次回复质量,只能靠 LLM 评审。规模上来以后,Day 32 那套校准不够用了:校准集里差评样本太少、校正后的通过率自己也有误差、三个评审投票照样会一起犯错、评审模型一升级就悄悄变宽松。今天用模拟数据把这些问题一个个跑出来,写一个带区间的校正、投票分流和漂移报警模块,再算清楚评审的钱和人工各花多少。
  4. Day 71线上评测:A/B 实验、灰度、隐式反馈离线评测说新 prompt 更好,线上就一定更好吗?不一定。今天给 AgentOps 写一个最小可用的实验框架:按客户稳定分流、SRM 检查、用 delta 方法算按客户聚合的比率指标、一个主指标加护栏的决策规则。再用模拟数据跑出三个教训:转人工率降了 3 个点但成本涨了 16% 时该不该上线;按会话算方差会把标准误低估一半;每天偷看一次结果,假阳性率从 5% 变成 22%。
  5. Day 72自动化红队:用 Agent 攻击 AgentDay 39 和 Day 53 我们手写过一批注入用例。手写的用例几十条就到头了,攻击者却有无穷多种说法。今天把红队变成一条流水线:种子攻击 × 变形策略 × 投放位置自动组合出用例,只看「实际发生了什么」的检测器判定成败,攻击成功率带区间汇报,打穿的用例自动进回归集;再写一个会根据失败改写攻击的自适应攻击者,最后看 promptfoo、garak、PyRIT 怎么接进来。
  6. Day 73设计自己的 benchmark:从 τ-bench、SWE-bench 学方法评测集和 benchmark 的区别,在于后者要让别人也能复现、也信得过。今天拆解 τ-bench 和 SWE-bench 是怎么造出来的,再看 2025 年那篇 benchmark 体检论文发现的问题:τ-bench 里一个只会回空话的 Agent,在不可能完成的航空任务上拿了 38%,比 GPT-4o 还高。然后给 SupportPilot 设计 CloudLedger-Bench:环境快照、按最终数据库状态判分、参考解和空 Agent 双重自检、防污染金丝雀串、版本规则,并用代码抓出两个藏着 bug 的任务。
  7. Day 74W11 复习:给 AgentOps 设计评测平台W11 的六天写了一堆零件:用例户口本、统计模块、评审监控、线上实验、红队流水线、benchmark 自检。今天把它们串成一份 AgentOps 评测平台的设计文档:目标和非目标、架构、数据模型、关键取舍、风险和上线计划;再写一个对比报告工具,让每个 MR 都能看到「变化有多大、区间多宽、这个评测集看不看得出来」。最后是这一周的资深面试题和坑清单。

进阶 · 第十二周 · Day 75–81模型层:自部署、微调与强化学习

做出来:一个微调过的路由小模型

  1. Day 75选模型是工程决策:闭源、开源、大小模型怎么搭榜单第一的模型,放进你的工单流程里不一定第一。今天把选模型当成一次带数据的工程决策来做:先用硬约束砍掉一半候选,再用 SupportPilot 自己的评测集跑一场多模型对比,最后算总拥有成本,定出「哪个节点用哪个模型」的路由表。
  2. Day 76自部署推理:vLLM / SGLang 上线一个开源模型把一个开源模型跑成 OpenAI 兼容接口,让 SupportPilot 改一个环境变量就能调用。先算清楚什么时候值得自部署,再用显存账解释 vLLM 为什么快,最后用压测工具量出吞吐和延迟,把昨天 TCO 里空着的那一项填上。
  3. Day 77微调入门:什么时候该微调,LoRA SFT 跑一遍微调不是「效果不好就训一下」的万能药。今天先把提示词、RAG、微调各自能解决什么问题分清楚,然后选一个真正适合微调的任务:SupportPilot 的工单分诊。从线上记录造训练集,在 Colab 免费 T4 上用 LoRA 训练一个 4B 分诊模型,挂到 vLLM 上和原版比一比。
  4. Day 78偏好优化:DPO 让模型学会「更好的回答」客服回复没有唯一的标准答案,只有「这个比那个好」。今天把 RLHF、DPO、KTO、ORPO 这几种偏好优化方法的区别讲清楚,从 SupportPilot 的人工修改记录和评测结果里造成对数据,用 TRL 跑一次 DPO,再检查它有没有学到你不想要的东西,比如回复越来越长。
  5. Day 79蒸馏与路由:让小模型接住八成流量大模型准但贵,小模型快但会犯错。今天用大模型给成千上万张工单打标签,蒸馏出一个专做分诊的小模型;再从 logprobs 里算出它对每个判断的置信度,低于阈值就回退大模型。最后扫一遍阈值,画出成本和准确率的取舍曲线,用数据选工作点。
  6. Day 80强化学习与 Agent:RLVR、GRPO 和工具使用训练SFT 和蒸馏都是在模仿,上限是老师。强化学习让模型从结果的对错里学,这是 2025 年以来推理模型和 Agent 能力提升的主要来源。今天讲清楚 RLVR 和 GRPO 在做什么,怎么给 Agent 设计奖励、怎么防奖励作弊,用 TRL 跑一个最小的 GRPO 实验,最后说清楚这块对应用工程师的意义边界。
  7. Day 81W12 复习:给 AgentOps 训练一个路由小模型W12 收尾。把选型、自部署、LoRA、蒸馏、置信度路由串成一条能重复执行的流水线,产出 AgentOps 平台的第一个自研模型:分诊路由小模型,连同数据卡、模型卡和上线方案。最后过一遍这周的资深面试题和最容易踩的坑。

进阶 · 第十三周 · Day 82–88平台化与规模

做出来:多租户 Agent 平台架构

  1. Day 82从一个 Agent 到一个平台:多租户 Agent 平台架构SupportPilot 跑顺了,销售、HR、财务都来要一个自己的 Agent。今天讲什么时候该平台化、平台该给什么不该给什么、多租户在数据/配额/密钥/模型四个维度怎么隔离、控制面和数据面怎么拆,以及自建平台和直接上 Dify 的分界线。
  2. Day 83模型网关:路由、限流、配额、降级、成本归因平台的第一块砖。所有 Agent 的模型调用都先经过网关:虚拟 key 鉴权、按月预算、按 token 限流、按模型组路由、出错自动切换供应商、按租户和项目记账。今天写一个能跑测试的最小网关,再对比 LiteLLM、Higress、Portkey 这些现成方案该怎么选。
  3. Day 84MCP 网关与鉴权:OAuth、工具注册、权限审计模型出口管住了,接着管工具出口。按 2026-07-28 版 MCP 规范讲清远程 MCP 的 OAuth 授权流程、为什么禁止令牌透传、Client ID Metadata Documents 为什么取代动态注册;再用工具登记加指纹钉住防 rug pull,按租户和风险等级授权,写一份改一个字就能被发现的审计日志。
  4. Day 85规模化可观测:OTel 全链路、采样、成本看板、告警一个 Agent 接 Langfuse 很简单,一百万次运行每天全量记录就会把存储和预算压垮。今天算清 trace 的数据量,用 OpenTelemetry Collector 的尾部采样只留下有价值的 trace,把 prompt 原文和元数据分开存、分开保留,定一套 Agent 的指标和 SLO,用燃烧速率代替固定阈值做告警。
  5. Day 86治理与合规:数据驻留、PII、审计、模型备案企业客户的安全问卷、国内生成式 AI 服务的备案与登记、AI 生成内容标识、个人信息出境、欧盟 AI Act 在 2026 年 7 月调整后的时间表。今天把这些要求逐条翻译成技术方案:画数据流图、做数据分级、给每类数据定保留期,并实现一个能覆盖所有存储的删除流程。
  6. Day 87Agent 事故复盘:线上出事了怎么查、怎么防从 Air Canada、Cursor、Replit 三起真实事故讲起,整理 Agent 特有的六类事故;出事后头 15 分钟先按哪个开关、怎么用 trace 和回放定位根因、无责复盘怎么写,以及怎么把每次事故变成评测用例、护栏和灰度规则。动手实现一套分级紧急开关和自动行为熔断器。
  7. Day 88W13 复习:AgentOps 平台架构评审W13 收尾。把平台架构、模型网关、MCP 网关、规模化可观测、治理合规、事故响应拼成一份完整的 AgentOps 平台设计文档,用一份 36 项的架构评审清单逐项过一遍,再用模型当评审人做一次预审。最后是这一周的资深面试题和坑清单。

进阶 · 第十四周 · Day 89–95前沿形态

做出来:一份技术选型报告

  1. Day 89Coding Agent 内部:读 SWE-agent / OpenHands / Codex 的设计同样一个模型,换一套工具接口,修 bug 的成功率能差出一截。今天把 SWE-agent、mini-swe-agent、OpenHands SDK、Codex CLI 拆开读:工具集怎么设计、编辑怎么做、上下文怎么压、沙箱怎么关、什么时候停。最后自己实现一套 ACI 工具和卡死检测,并设计一个能说服人的对比实验。
  2. Day 90Computer Use 与 Browser Agent:让 Agent 用图形界面Day 26 让 Agent 打开过浏览器,今天往深里走:截图坐标、代码执行、可访问性树三条路线各自的代价;2026 年 Claude 和 OpenAI 的 computer use 接口长什么样;为什么 GUI Agent 难做可靠;截图到底多费钱;以及一个带白名单、不可信内容标记和写操作确认的浏览器运行时,当场演示网页注入。
  3. Day 91语音 Agent:实时对话的延迟预算语音 Agent 的难点不在听懂和会说,在时间。今天把「用户说完到听见回应」这一秒多拆成六段,比较级联方案和端到端实时模型,讲清楚轮次检测和打断为什么是最难的部分,再用 asyncio 搭一条可调参数的模拟流水线,亲手把首个音频包的延迟从两秒压到一秒出头。
  4. Day 92Deep Research Agent:长链路检索、规划和写作Deep Research 是一类跑几分钟到几十分钟的 Agent:澄清问题、写研究提纲、并行派出子 Agent 搜索阅读、压缩成笔记、写成带引用的报告。今天对照 open_deep_research、GPT Researcher、STORM 和 Anthropic 的工程复盘,讲清架构、评测和成本,最后实现一条可替换模型和搜索的流水线,外加一个不靠模型的引用核验器。
  5. Day 93Agent 互联:A2A、MCP 与 Agent 间协作的协议之争你的研究员如果是别的团队、别的公司做的 Agent,怎么发现它、调用它、信任它?今天读 A2A 1.0 规范:Agent Card、任务状态机、三种传输绑定、版本协商和鉴权;理清它和 MCP、ACP 的分工;再手写一个最小的 A2A 服务端,把 SupportPilot 包成一个能被别的 Agent 调用的 Agent,并聊聊哪些会成为标准。
  6. Day 94Agent 的产品与交互:人在回路里的体验设计Agent 做得再聪明,用户不敢用也白搭。今天讨论自主程度怎么分级、为什么它是一个设计决策;怎么展示计划和步骤让用户敢信任;怎么做到可中断、可撤销;失败时用户看到什么;以及工程师怎么和 PM、设计师一起定下这些规则。最后给 SupportPilot 的每个动作定自主级别,实现一个带撤销窗口的动作策略引擎。
  7. Day 95W14 复习:前沿技术选型报告这一周看了 Coding Agent、Computer Use、语音、Deep Research、Agent 互联和产品交互,每样都诱人。资深工程师要回答的是「我们明年该不该做 X」。今天把一周内容串成一张图,给出技术选型报告的模板,用加权打分矩阵加敏感性分析完整写一份「要不要做语音客服 Agent」的报告,最后是本周资深面试题汇总和坑清单。

进阶 · 第十五、十六周 · Day 96–105进阶毕业项目 AgentOps

做出来:资深级作品:多租户 Agent 平台

  1. Day 96AgentOps 开题:设计文档、里程碑、验收指标进阶毕业项目开工。SupportPilot 是一个 Agent,AgentOps 是让十个团队都能安全、便宜、可评测地跑 Agent 的平台。今天先不急着写网关,把设计文档、目录结构、五个子系统之间的接口和验收指标定下来,后面九天照着它施工。
  2. Day 97AgentOps(一):模型网关与多租户所有团队调大模型都走这一个入口。今天写出 OpenAI 兼容的 /v1/chat/completions:逻辑路由、按租户的令牌桶限流、月度预算、主供应商挂了自动切备用,每一次上游调用都按租户和功能记账。全程用假上游测试,一分钱不花。
  3. Day 98AgentOps(二):MCP 工具中心与鉴权把散落在各团队的业务工具收到平台上:上游 MCP server 注册进来,租户的 Agent 通过一个统一入口访问,看得见什么工具由策略决定,写操作要一次性审批,每次放行和拒绝都进审计日志。最后用官方 MCP 客户端走一遍真实的 HTTP 链路。
  4. Day 99AgentOps(三):持久化运行时与长任务一张要等主管审批的退款工单,可能挂起两个小时;一个 worker 进程,可能在第五步的时候被重新部署杀掉。今天写一个最小的持久化运行时:每一步按幂等键落库,重放时已完成的步骤直接取结果;租约机制让死掉的 worker 的任务被别人接手;遇到审批就挂起,批准后从断点继续。
  5. Day 100AgentOps(四):评测平台与线上实验「新 prompt 通过率从 82% 涨到 86%」这句话,在 50 条用例上几乎没有意义。今天把评测做成平台服务:结果按用例落库,两个版本做配对比较,给出 McNemar 检验和成本差的置信区间;再加一个按客户稳定分流的 A/B 实验,让改动先在 10% 的流量上跑。
  6. Day 101AgentOps(五):把微调小模型接进网关做级联路由Day 79 的级联路由写在 SupportPilot 自己的代码里,Day 81 训出了分诊小模型。今天把级联搬进 AgentOps 网关,变成任何租户都能用的 triage 路由:小模型先判,低置信度、高风险类别、输出解析失败、小模型挂了这四种情况回退大模型;上线前先跑 shadow 模式,用一致率决定什么时候切流量。
  7. Day 102AgentOps(六):全链路可观测与成本看板Day 85 讲了规模化可观测该怎么设计,今天把它真正装进 AgentOps:网关和级联路由按 OTel GenAI 约定打 span 和指标,trace 从调用方一路传到上游,指标用 OTLP 推给 Collector 以支持多进程部署;再用 usage 表做成本看板和账单对账。我在本机把网关、真实的 Collector 和 Prometheus 端点串起来跑了一遍,中间踩到的五个坑都写在里面。
  8. Day 103AgentOps(七):安全加固与红队回归SupportPilot 是一个 Agent 被攻击,AgentOps 是多个租户共用网关、工具中心和运行时,多出来的攻击面是跨租户越权、工具定义被偷换、刷钱和审计被改。今天先用确定性测试把隔离钉死,再给工具中心加指纹、给审计加哈希链、给网关加按钱熔断,最后把 promptfoo 红队接进夜间 CI,做一次事故演练。
  9. Day 104AgentOps(八):压测、容量规划与上线用一个可控延迟的假上游和 Locust 压 AgentOps 网关,把网关自己的开销和上游的耗时分开量。我在本机实测出三件事:单进程五十 rps 左右就把一个核吃满;把连接池调大反而更慢;多进程部署时限流配额会翻几倍。再用利特尔定律和 DeepSeek 的账户并发上限算容量,最后给出 compose 和 K8s 两种部署和一张上线清单。
  10. Day 105AgentOps(九):包装成资深级作品AgentOps 写完了,今天把它变成招聘方愿意花时间看、看完会想约你聊的东西:一条不需要 API key 和 Docker、几秒钟跑完的演示命令,一份让人三十秒看懂的 README,一组用真实数据说话的报告和 ADR,一个三分钟的演示视频,一篇只讲一个坑的技术博客,以及一份发布前的自查脚本。最后讲面试时怎么用三十秒、三分钟、十五分钟三种长度讲这个项目。

进阶 · 第十七周 · Day 106–110资深求职与影响力

做出来:设计文档、Staff 面试准备

  1. Day 106写设计文档和 ADR:资深工程师的主要产出到了资深这一档,你最重要的产出不再是代码,而是一份能让十个人对齐的设计文档和一串能回答「当初为什么这么选」的 ADR。今天拿 AgentOps 的模型网关当例子,把设计文档每一节写什么、Agent 系统要多写哪几节、取舍怎么写才有说服力、评审时怎么接住质疑,一次讲清楚。
  2. Day 107Staff 级系统设计面试:三道真题完整示范资深和 Staff 的系统设计面试,考的不是你记住了多少组件,而是你能不能从业务目标和约束出发,在 45 分钟里把规模估算、关键取舍、评测和演进路线讲清楚。今天用「企业级 Agent 平台」「十万并发客服 Agent」「代码 Agent 的评测体系」三道题完整走一遍,附追问清单和常见失分点。
  3. Day 108带人和推动:技术方案怎么说服老板和其他团队资深工程师没有直接权力,却要让老板拍板、让别的团队迁移、让新人把 Agent 做对。今天讲四件事:用 ROI 和评测数据写一页纸给管理层,在没有权力的情况下推动平台落地,带新人做 Agent 项目,以及怎么回应「AI 不靠谱」的质疑。
  4. Day 109开源与技术影响力:贡献、写作、演讲资深面试里最有说服力的证据,往往是面试官能自己点开看的东西:一个被合并的 PR、一篇有数据的技术博客、一次分享的录像。今天讲怎么给 MCP 和 Agent 框架提一个能被合并的 PR,在 AI 生成 PR 泛滥的 2026 年要注意什么,怎么写技术博客和做分享,以及这些对国内资深岗和海外远程岗到底有多大用。
  5. Day 110进阶结业:资深自检清单、谈薪和下一步110 天的最后一天。用 880 条 JD 里资深档的真实数据做一次完整的自检:国内资深岗挂牌年包在什么区间、海外 Staff 岗给多少、远程的门到底有多窄;资深岗位怎么找、怎么谈(职级比薪资更值得谈);以及走完这门课之后,往哪几个方向继续。

作品篇 · 作品一 · Day 111–120Agent Loupe:Agent 运行记录调试器

做出来:能在线试用的开源调试器

  1. Day 111作品一开题:Agent Loupe,一个给 Agent 用的调试器作品篇开工。先回答为什么要做一个 Agent 调试器、现有的 Langfuse、LangSmith、Phoenix 已经做到哪一步、还缺什么,再把 PRD、架构、仓库骨架和十天里程碑定下来。今天写的代码不多,但后面九天都照着它施工。
  2. Day 112Agent Loupe(一):trace 数据模型与三种导入器定下 Run 和 Step 两个模型,读懂 OpenTelemetry GenAI 语义约定里的 gen_ai.* 属性,写出 OTLP JSON、Langfuse 导出、自研轻量 SDK 三个导入器,最后给 Day 9 的 Agent 加几行代码,产出第一条真实的 trace。
  3. Day 113Agent Loupe(二):FastAPI 存储与查询接口把导入器接到后端:SQLite 表和索引怎么设计,导入为什么要放在一个事务里,运行列表用游标分页而不是 OFFSET,一万步的 trace 怎么分段加载,成本按价格表补上。最后用 curl 和 pytest 把每个接口都验一遍,并实测一万步导入和查询的耗时。
  4. Day 114Agent Loupe(三):React 时间轴与一万步的渲染性能前端开工。Vite + React + TypeScript 起项目,写运行列表页和运行详情页,用步骤树加瀑布时间轴把一次 Agent 运行画出来;再用虚拟滚动让一万步也能顺畅滚动,并学会用 Chrome Performance 面板测量它到底卡不卡。
  5. Day 115Agent Loupe(四):步骤详情、token 成本与上下文占用点开任意一步,看模型收到的完整 messages、返回的工具调用和思考内容;把每次模型调用的上下文拆成系统提示词、工具定义、历史、工具结果、本轮新增五块,看各占多少;再画一张上下文增长图和一张成本冰柱图,找出「哪一步把上下文撑大了」「钱花在了哪」。
  6. Day 116Agent Loupe(五):两次运行逐步对比改了一句提示词,Agent 的行为变了,但是从哪一步开始变的?今天给 Agent Loupe 加上逐步对比:用「这一步做了什么决定」当签名,LCS 对齐两条步骤序列,标出相同、不同、多出、缺少,再用按词切分的逐词 diff 看清具体改了什么。
  7. Day 117Agent Loupe(六):从任意一步改参数重跑在第 3 步发现模型做了个糟糕的决定,改一句系统提示词,从第 3 步重新跑:前面的步骤原样保留,工具结果从原运行里回放,白名单里的只读工具可以真实执行。今天实现录制-回放(cassette)、第 N 步上下文重建、分叉运行和重跑对话框,并用 DeepSeek 实测非确定性和 cassette miss。
  8. Day 118Agent Loupe(七):把失败步骤变成评测用例在 Loupe 里看到一个失败的步骤,一键存成评测用例:快照保存那一步的完整输入和原运行的工具结果,写几条断言;批量多次运行算通过率和 pass^k,把模型服务的 503 和 Agent 自己的失败分开统计;导出成 Day 35 的 golden.jsonl;改提示词前后各跑一批,用回归对比看哪些用例变差了。
  9. Day 119Agent Loupe(八):公开演示、脱敏、限流与部署把 Agent Loupe 放到网上让招聘方点开就能试:只读演示模式、样例脱敏和残留扫描、按 IP 和全站的重跑限流、按当天实际花费计算的每日上限、只信任确定存在的那层代理、CORS;前端部署到 Cloudflare Pages,后端给 Fly.io 和自己的云服务器两种方案;最后按方法测性能,把数字回填进表格。
  10. Day 120Agent Loupe(九):开源发布与作品包装作品一收尾:写一份三十秒能看懂的 README,用三篇 ADR 记下这几天最重要的取舍,配上一键启动脚本、CI 和发布前自查脚本,选 License、打第一个版本;再准备两分钟演示视频的分镜、个人网站上的案例页、简历描述,以及面试时三种长度的讲法和最可能被深挖的问题。

作品篇 · 作品二 · Day 121–130BillSleuth:计费争议调查 Agent

做出来:带严格评测的 FDE 式作品

  1. Day 121作品二开题:BillSleuth,一个会查账的 Agent第二个作品换一个方向:做一个能查清「为什么多扣了钱」的计费争议调查 Agent。今天先补订阅计费的基本功(计费周期、锚点日、按天折算、优惠券、税、贷记单),再把 PRD、非目标、架构、十天排期和验收指标定下来。
  2. Day 122BillSleuth(一):计费参考引擎与 12 类故障造数把昨天手算的计费规则写成一个参考引擎:Decimal 金额、按天折算、计费锚点、优惠券和税率有效期,用单元测试一条条钉死;再写 12 个模仿真实 bug 的故障注入函数,一次生成 100 个带标准答案的争议场景,并用测试证明每个标准答案都是对的。
  3. Day 123BillSleuth(二):MCP 工具层、复算工具与审计日志把计费库和参考引擎包成 Agent 能用的 MCP 工具:6 个只读查询工具、1 个复算工具 recompute_invoice、1 个只能写草稿的 draft_credit_note。讲清楚工具粒度、返回结构、写给模型看的报错、读写分离和审计日志,最后用测试证明 100 个场景的差额都能被复算工具找出来。
  4. Day 124BillSleuth(三):LangGraph 调查流程与证据链用 LangGraph 把调查流程搭起来:先用结构化输出读懂客户在抱怨什么,用代码定位候选发票,再进入「提出假设、调工具验证」的循环,最后通过 SubmitFindings 提交结构化结论。工具结果由代码自动抽成带编号的证据链。用 DeepSeek 实跑 16 个场景,覆盖全部 12 类根因和 4 种「账没错」。
  5. Day 125BillSleuth(四):有据可查的解释,不许编数字把调查结论写成两份解释:给客户的大白话版和给同事的带证据编号版。写一个数字溯源校验器,检查回答里每个金额和百分比能不能在证据链里找到出处,不过就把问题清单交回模型重写,三次不行用模板兜底。附真实运行里校验器误伤、漏网和抓到问题的几个案例。
  6. Day 126BillSleuth(五):贷记单草稿、人工审批与幂等结论要冲正时,由代码(不是模型)起草贷记单,调查图在审批节点用 interrupt 暂停,主管在命令行或网页上批准或驳回,图从磁盘上的 checkpoint 恢复。给 Day 123 的 draft_credit_note 加显式幂等键和 BEGIN IMMEDIATE,补上 approved、issued、rejected 三个状态,两人审批门槛,签发前再查一次额度,驳回后改写给客户的话。11 个测试把权限边界钉死,其中一个证明了 Day 123 的「已有草稿就返回」挡不住批准之后的重放。
  7. Day 127BillSleuth(六):100 个场景的评测与模拟客户给 BillSleuth 建一套能复现的评测:Day 122 造的 100 个场景(12 类根因 80 个,四种「账其实没错」20 个),一个会着急、会记错数字、会追问的 LLM 模拟客户,一组纯规则的判分(根因、多收金额、发票号、动作、数字幻觉、误冲正、漏冲正、转人工),每次试验在独立进程里从干净的库副本开始,结果带置信区间和 pass^k。顺便回答 Day 124 留下的问题:结论多写了原发票号算不算对。
  8. Day 128BillSleuth(七):错误分析与迭代拿着 Day 127 的评测结果做错误分析:先把失败自动分桶,再逐桶读样例。冒烟的 15 次运行全对,唯一的「失败」是厂商排队超时,但读成功的运行时发现了真问题:重复开票时贷记单开在哪张,取决于模型列发票号的顺序。写一个不调模型的组件级评测把它量出来(160 次判断开错 7 次),在 recompute_invoice 的返回结构上加 overpaid 和 duplicate_of 两个字段后降到 0。再讲一次只改一处、用 McNemar 判断提升、模型对比,以及怎么切留出集防止对评测集过拟合。
  9. Day 129BillSleuth(八):在线演示、实时调查面板与部署把 BillSleuth 做成招聘方点开就能试的网页:FastAPI 用 SSE 把调查图的每个节点更新实时推给前端,页面上并排展示调查步骤、复算对比表、结论和证据链。每次调查在独立子进程里、用独立的库副本跑,标准答案不下发,按 IP 限流加每日花费上限。调查结束可以下载 Agent Loupe SDK 格式的 JSONL,拖进作品一回放,我用作品一的导入器实际导入验证过。最后给出两种部署。
  10. Day 130作品篇结业:案例页、FDE 面试故事和投递两个作品做完了,最后一天把它们变成招聘方看得懂的东西:BillSleuth 的案例页模板、两分钟演示视频的逐秒脚本、FDE 面试里讲项目的四段式(客户场景、方案、指标、取舍),中英文简历条目,个人网站的作品集页怎么排。再用 2026 年 10 月抓的两批岗位数据(88 条可远程的 FDE 类岗位、131 条外企在华 AI 应用岗)说清楚这两个作品分别对准哪类岗位、有哪些现实限制。最后是作品篇自检清单。

专题篇 · Day 131–1532026 下半年补充:可以跳着读

做出来:Skills、CodeAct、GraphRAG、问数、生成式 UI、合规等 23 个专题

  1. Day 131Agent Skills:SKILL.md、按需加载与团队分发Skill 就是一个带 SKILL.md 的文件夹:启动时只让模型看到名字和一句描述,用到时才读正文、参考文件和脚本。今天给云簿写一个退款计算 skill,在 Claude Code 里跑通,再在 Day 9 的手写 Agent 循环里实现一个 80 行的 skill 加载器,最后讲清 Skills 和 MCP、子 Agent 怎么分工,以及恶意 skill 这条新的供应链风险。
  2. Day 132代码即动作:CodeAct、Code Mode 与程序化工具调用让模型不再一次调一个 JSON 工具,而是写一段 Python 批量调用工具、在代码里过滤和汇总,只把结果交回上下文。讲 CodeAct 论文、smolagents、Cloudflare Code Mode、Anthropic 程序化工具调用,自己写一个带工具桥的执行器,实测同一道题 JSON 做法和代码做法的 token 和正确率,最后讲沙箱为什么必须有、怎么选。
  3. Day 133工具多了怎么办:Tool Search、延迟加载与工具检索给云簿后台造 60 个工具,实测一次全挂上要 4539 个 prompt token,只挂一个搜索工具是 482。今天讲 Anthropic 和 OpenAI 原生的 Tool Search、Claude Code 的 MCP 延迟加载,再在 Day 9 的循环里自己实现一个:BM25 和 embedding 两种检索、30 条用例测选工具的召回率,最后看一次真实轨迹里检索漏掉工具时模型会怎么错。
  4. Day 134推理模型与 test-time compute:thinking 预算、自洽投票、树搜索推理模型是怎么来的、各家(DeepSeek、Claude、OpenAI、通义)怎么开关和调思考强度、思考 token 怎么计费;用一套 CloudLedger 计费题实测思考关闭、low、high、max 和五次投票的准确率、token、延迟和花费;再讲自洽投票、best-of-N、树搜索这些「多花推理时间换准确率」的老办法,以及在 Agent 里什么时候值得开思考。
  5. Day 135用 Coding Agent 干活:AGENTS.md、hooks、无人值守与规格驱动开发这一课不讲 Coding Agent 内部怎么实现,讲你作为工程师怎么用它:写一份够短的 AGENTS.md,用 hooks 把「请不要」变成「不能」,配一个只读的审查子 Agent,用 claude -p 在 CI 里无人值守地跑,再用 Spec Kit 走一遍规格驱动开发。最后讲怎么验收 Agent 写的代码,以及面试官问「你怎么用 AI 写代码」时怎么答。
  6. Day 136多模态与文档解析:看图、OCR、版面分析、多模态 RAG客户不会只发文字:报错截图、手机拍的账单、扫描版合同。这一课先弄清楚模型怎么「看」图、一张图要多少 token,再用 DeepSeek 的视觉输入把一张 CloudLedger 扫描账单抽成结构化数据并和业务库对账,实测改过数字的账单能不能被抓出来;然后让截图进 W3 的检索,最后过一遍 MinerU、Docling、PaddleOCR-VL 和 ColPali 这些 2026 年的文档解析工具。
  7. Day 137GraphRAG 与知识图谱:实体关系抽取、图检索与代码图向量检索擅长「找一段像的话」,不擅长「把散在多篇文章里的关系串起来」和「把整个知识库总结一遍」。今天用大模型从 CloudLedger 帮助中心抽出实体和关系建一张图,手写 local search 和 global search,和 Day 18 的混合检索并排比一比,再用 ast 给代码库建一张依赖图。
  8. Day 138问数 Agent:Text-to-SQL、语义层与结果校验企业里最常被提的 Agent 需求之一是「用大白话查数据」。今天给 CloudLedger 的业务库做一个问数 Agent:把表结构、真实取值和业务口径喂给模型,用三道闸保证它只读不写,生成、执行、报错自修、结果自检一条龙,最后用 10 道题量执行准确率,看第一版为什么只有 7/10。
  9. Day 139后台 Agent:webhook、邮件与定时任务触发,收件箱式审批不是所有 Agent 都长在聊天框里。新工单的 webhook、客服邮箱里的新邮件、每天早上的定时扫描都能把 Agent 叫起来;它在后台起草好回复,停下来进收件箱,等人批准、改写、提意见或忽略。今天把验签、去重、领任务、断点续跑、收件箱和死信一层层搭出来,全部实跑。
  10. Day 140低代码 Agent 平台实操:Dify、扣子、百炼、n8n,什么时候该改成写代码国内 JD 里 Dify 出现得比 LangGraph 还频繁。今天把 Dify、扣子、阿里云百炼、n8n 在 2026 年 10 月的真实状态查清楚,把 CloudLedger 的工单分流在平台上搭一遍,写一个只读接口把业务数据接给平台,再用同一份用例给代码版和平台版打分。最后给一张「什么时候该从平台改成写代码」的判断表。
  11. Day 141用 Java 和 Go 写 Agent:Spring AI、LangChain4j、Eino、ADK Go国内 JD 里 Java 和 Go 各占两成多,很多公司的业务系统根本不是 Python。今天把 Day 27 那个「查重复扣款」的任务用 Spring AI 2.0、LangChain4j 1.22 和字节的 Eino 各写一遍,对照 Python 版看同一套概念在 JVM 和 Go 里叫什么,再讲清楚什么时候该全用 Java/Go,什么时候让 Python Agent 服务和 Java 业务系统各干各的。
  12. Day 142用 TypeScript 写 Agent:Mastra、Vercel AI SDK 与前后端一体海外 JD 里 TypeScript 占三分之一,美国本土接近一半。今天用 AI SDK 7 的 ToolLoopAgent、工具审批和 useChat,把查账 Agent 做成一个前后端都是 TypeScript 的 Next.js 应用;再用 Mastra 1.x 写一遍同一个 Agent,最后和 Day 49「Python 后端 + 自己读 SSE」的做法摆在一起,讲清楚什么时候全用 TS。
  13. Day 143自动优化提示词:DSPy、GEPA 与 ACE手调 prompt 的那套「看错例、猜规则、改一句、再跑一遍」可以交给程序做。用 60 条 CloudLedger 工单实测三种做法:60 行自己写的反思循环、DSPy 的 GEPA、ACE 式的增量规则手册,看它们各自把分数提了多少、在哪里过拟合、花了多少钱。
  14. Day 144上线后的反馈闭环:点赞、改写、badcase 到测试集的数据飞轮测试集是上线前写的,线上的问题它不认识。这一课把客服点踩、草稿被改了多少、转人工、客户追问这些信号收进一张表,每周算一遍健康报表,把可疑回复去重成组交给人审,审过的变成 Day 31 格式的测试用例,知识缺失的起草成帮助中心文章,最后同步到 Langfuse。代码全部可跑,用一周模拟数据实测。
  15. Day 145Guardrails 分层防御:输入输出检查、安全分类器与策略引擎Day 39 讲了怎么攻击,这一篇讲防御怎么落地:规则、安全分类器(Qwen3Guard、Llama Guard 4、Prompt Guard 2)、LLM 政策审核三层怎么排,误杀和漏放怎么量,延迟预算怎么分。给 SupportPilot 写一套能跑的 guardrail 和评测脚本,实测规则层误杀 18%、加上政策审核后漏放从 50% 降到 20%。
  16. Day 146Agent 供应链安全:恶意 MCP server、工具定义被改与恶意 Skills第三方 MCP server、skill、插件本身就可能是攻击者。复盘 2025–2026 年几起真实事件,用一个「升级后工具描述被悄悄改了」的汇率 server 实测:DeepSeek 5 次里 5 次照着描述把客户邮箱和发票号塞进了参数。然后写一个给工具定义做指纹、发现被改就拒绝调用的 MCP 客户端,加上接入前扫描、环境变量白名单和 OWASP Agentic Top 10 对照。
  17. Day 147托管 Agent 运行时:Claude/Gemini Managed Agents、Bedrock AgentCore,自建还是租2026 年各家厂商开始出租整套 Agent 运行时:循环、沙箱、会话、记忆、观测都替你托管。今天把 Claude Managed Agents、Gemini Managed Agents、Bedrock AgentCore 和国内几家对应产品放在一起看清楚各自托管了什么、怎么收钱,算一笔运行时成本账,再把 Day 23 的查账工具接到 Claude Managed Agents 上跑一遍,最后给一张「自建还是租」的决策表。
  18. Day 148生成式 UI:MCP Apps、A2UI、AG-UI 三条路线Agent 的回答不一定只能是文字。2026 年让 Agent 在对话里渲染界面的做法收敛成了三条路线:MCP Apps 让工具返回一个沙箱里的 HTML 页面,A2UI 让 Agent 输出一份声明式组件描述交给客户端渲染,AG-UI 负责 Agent 和前端之间的事件传输。今天讲清楚三者各管什么、怎么选、安全边界在哪,然后用 Python 给 CloudLedger 写一个退款审批卡片的 MCP App,在官方测试 host 里真实跑通批准流程。
  19. Day 149Agent 的身份与代理授权:On-Behalf-Of、工作负载身份与新草案Agent 替用户调接口时,到底是谁在授权?用 RFC 8693 令牌交换和 act 声明表达「谁通过谁」,用 SPIFFE 式的工作负载身份让 Agent 自己有身份,用受众、scope、authorization_details 和几分钟的有效期把令牌收窄到只够干一件事;再看 MCP 的企业托管授权、ID-JAG,以及 IETF 里 AIMS、AAuth 这些还在写的草案。最后在本机跑一遍完整的代理授权流程。
  20. Day 150WebMCP:让网站直接给浏览器 Agent 暴露工具浏览器 Agent 靠截图和点按钮操作网页,又贵又容易被页面文字劫持。WebMCP 让网站自己在页面里用 document.modelContext 注册工具,浏览器里的 Agent 直接调用,沿用用户已登录的会话。讲清 2026 年 10 月的规范和 Chrome origin trial 状态、命令式和声明式两种写法、和后端 MCP 的分工、两个方向的安全问题,再给 CloudLedger 账单页注册查发票、申请退款、提工单三个工具,不开 Chrome 也能测。
  21. Day 151Agent 支付:AP2、ACP、x402 与 UCPAgent 替人花钱,要回答三个问题:谁允许它花、它买的是什么、钱怎么到账。今天按授权、结账、结算三层把 AP2、ACP、UCP、x402、MPP 和国内的银联 APOP、支付宝 AI 付放进一张图,读 x402 v2 的报文,再手写一个带「花钱授权框」的 Agent 钱包和一个按次收费的 API,把重放、篡改金额、付错资源三种攻击挡在门外。
  22. Day 152国内智能体合规:实施意见、拟人化互动办法、智能体互联国标与内容标识2026 年国内给智能体出了三份新文件:5 月的《智能体规范应用与创新发展实施意见》、7 月 15 日施行的《人工智能拟人化互动服务管理暂行办法》、5 月发布的 GB/Z 185 智能体互联系列国家标准,再加上清朗专项和已经施行一年的标识办法。今天逐条读原文,判断 SupportPilot 适用哪些、不适用哪些,再把「仅限用户本人决策、需由用户授权决策、智能体自主决策」写成一个能审计的决策策略。
  23. Day 153行业里的 Agent:金融、医疗、电商、SaaS 客服各长什么样专题篇最后一篇。先用 881 条 JD 统计哪些行业在招 Agent 工程师,再拆 SaaS 客服、金融、医疗、电商四个行业的典型 Agent:知识从哪来、工具是什么、红线在哪、拿什么指标验收、出错要赔多少。最后讲面试时怎么把 SupportPilot 迁移到目标行业,以及怎么选行业。