本页目录
- 项目一览
- 先看结果
- 5 分钟开始
- 课程路线
- 作品项目
- 📚 课程一:RAG 手写课程(共 9 节课)
- 🤖 课程二:Agent 手写课程(共 9 节课)
- 🔧 课程三:框架进阶课程(共 9 节课)
- 🔀 课程四:工作流与多智能体编排课程(共 9 节课)
- 🛡️ 课程五:LLMOps 生产运维课程(共 13 节课)
- 📄 课程六:多模态文档智能课程(共 10 节课)
- 🧠 课程七:智能体前沿(共 13 节课)
- 🖥️ 课程八:GUI Agent / Computer Use 课程(共 13 节课)
- 🛡️ 课程九:Agent 生产可靠性 / AgentOps(共 10 节课)
- 🌙 课程十:常驻主动式 Agent / Ambient(共 10 节课)
- 🧠 课程十一:Agent 执行骨架与上下文工程 / Harness(共 10 节课)
- 课程十二:DeepSeek Harness 实战通读(6 个 lab + 12 章深读)
- 课程十三:DeepSeek Harness 设计决策案例研习(8 个案例)
- 可验证性
- 📁 目录结构
- 💡 学习建议
- 参与贡献
Awesome Agent Engineering
从手写 RAG 与 ReAct,到可评估、可观测、可部署的 Agent 系统。
中文 | English
这是一套面向 Python 开发者的 LLM 应用工程实战课程。135 节课程沿同一条主线递进:先手写核心机制,再用 LangChain / LangGraph 工程化,最后进入真实开源 Harness 的源码、协议、产品表面与插件工程,并落到两个带测试、评估、API 与 Docker 的完整项目。
这里不只展示“怎么调 API”,还会回答三个更难的问题:为什么这样设计、不同方案如何取舍、加入一个机制后怎样证明它真的有效。
5 分钟开始 · 查看课程路线 · 查看作品项目 · 参与贡献
项目一览
| 课程 | 作品项目 | 自动化测试 | 语言 |
|---|---|---|---|
| 13 门 / 135 节 | 2 个 | 592 项 + 20 套 TS 课程测试 | 中文 + English |
- 从原理到框架:RAG、Function Calling、ReAct 都先手写,再对照框架实现。
- 从结果到证据:RAGAS、消融实验、Agent 轨迹评估与 mini-benchmark 贯穿课程。
- 从 Demo 到工程:鉴权、限流、日志、追踪、缓存、压测、MCP、Docker 都落到作品项目。
- 覆盖新方向:多模态文档理解、Agent Memory、CodeAct、长任务、GUI Agent、Agent 生产可靠性、常驻主动 Agent、上下文工程与开源 Harness 源码精读。
先看结果
截图使用本地界面与演示数据生成;项目默认不会调用外部 API,只有显式运行时才会产生模型费用。
5 分钟开始
先运行零依赖、零 API Key 的离线导览,观察一次完整的“查询向量化 → 检索 → 组装上下文 → 回答”流程:
python quickstart.py
python quickstart.py "入职满 5 年有多少天年假?"
离线导览使用字符 n-gram 检索和确定性回答器,目的是让你先看清数据流,不冒充真实 LLM。随后运行第一节真实 RAG:
python -m venv .venv
# Windows
.\.venv\Scripts\python.exe -m pip install -r requirements-quickstart.txt
# macOS / Linux
# .venv/bin/python -m pip install -r requirements-quickstart.txt
copy .env.example .env # macOS / Linux: cp .env.example .env
# 在 .env 中填写 ZHIPUAI_API_KEY
.\.venv\Scripts\python.exe rag-lessons\01_getting_started\code.py
完整课程依赖按需安装:python -m pip install -r requirements.txt。浏览器、OCR、语音组件较重,不需要在第一课一次装完。
课程路线
| 阶段 | 课程 | 核心产出 | 进度 |
|---|---|---|---|
| 基础 | RAG 手写 | embedding、检索、切块、评估 | 9/9 |
| 基础 | Agent 手写 | Function Calling、ReAct、规划、记忆 | 9/9 |
| 工程 | 框架进阶 | LangChain、LangGraph、状态与 HITL | 9/9 |
| 架构 | 多智能体编排 | supervisor、swarm、子图、并行 | 9/9 |
| 生产 | LLMOps | 可观测性、安全、MCP、性能与成本 | 13/13 |
| 场景 | 多模态文档智能 | PDF、OCR、表格、图表、引用溯源 | 10/10 |
| 前沿 | 智能体前沿 | 记忆、反思、CodeAct、轨迹评估 | 13/13 |
| 前沿 | GUI Agent | 浏览器控制、视觉路线、可靠性与安全 | 13/13 |
| 生产 | Agent 生产可靠性 | 步数/成本预算、熔断降级、幂等审批、断点续跑、混沌评估 | 10/10 |
| 前沿 | 常驻主动 Agent | 调度触发、变化检测、增量研究、打扰决策、常驻运营 | 10/10 |
| 前沿 | Agent 执行骨架 | 上下文账本、压缩纪律、记忆文件、子代理隔离、改道与渐进披露 | 10/10 |
| 实战 | DeepSeek Harness 实战通读 | 真实 checkout 里跑起来、改起来:6 个零 Key lab + 12 章源码深读 | 6+12 |
| 进阶 | DeepSeek Harness 设计决策专题 | 八个设计决策案例:协议、归因、投影、组合、所有权、审批、测试、演进 | 8/8 |
作品项目
| 项目 | 可核验能力 | 测试 |
|---|---|---|
| 企业知识库问答 | 混合检索 + rerank、引用、RAGAS、鉴权限流、MCP、多模态文档解析 | 143 |
| AI 研究分析助手 | LangGraph 多 Agent、SSE、审稿回路、记忆、CodeAct、轨迹评估、浏览器取证、生产可靠性、常驻主动、长途研究 | 449 |
两个项目通过 MCP 打通,均提供 FastAPI、Docker、测试与关闭外部能力后的降级路径。它们是课程机制的工程样例;实际生产容量与可靠性仍应在你的部署环境中重新压测和验证。
展开 135 节完整课程目录
📚 课程一:RAG 手写课程(共 9 节课)
按 RAG 真实数据流顺序,每课加一个环节:
| # | 课程 | 你会学到 |
|---|---|---|
| 01 | 先跑通:你的第一个 RAG | 跑通完整流水线,建立全局认知 |
| 02 | 深入 Embedding | 向量如何表示语义、余弦相似度 |
| 03 | 向量检索 | Top-K、ANN、Chroma 用法 |
| 04 | 文档切块 (Chunking) | chunk_size/overlap 的取舍 |
| 05 | Prompt 工程 | 防幻觉提示词、引用溯源 |
| 06 | 进阶检索 | 混合检索 + Rerank 重排序 |
| 07 | Query 改写 | HyDE、多查询展开 |
| 08 | RAG 评估 | RAGAS 三维指标 |
| 09 | 工程化:毕业作品 | 交互式问答助手,集成全部技术 |
已完成全部 9 节课 🎉。每课都包含原理讲解 + 可运行代码 + 练习。
🤖 课程二:Agent 手写课程(共 9 节课)
按 Agent 能力层层叠加,每课给 Agent 加一项能力(工具→循环→记忆→规划→协作):
| # | 课程 | 你会学到 |
|---|---|---|
| 01 | 认识 Agent:从问答到行动 | 跑通最小 Agent,建立"LLM + 工具 + 决策"认知 |
| 02 | Function Calling 深入 | 搞懂 function calling 机制,手写通用工具调度器 |
| 03 | ReAct:思考-行动-观察循环 | 手写最小 ReAct loop(不用任何框架,面试核心) |
| 04 | 多工具与工具设计 | 5+ 个工具的取舍,工具描述好坏如何影响选择 |
| 05 | 记忆:记住上下文 | 多轮对话、上下文窗口限制与处理策略 |
| 06 | 规划与任务分解 | Plan-and-Execute 范式,对比 ReAct 的适用场景 |
| 07 | Agentic RAG:Agent + RAG | 把 RAG 包装成工具,让 Agent 自主决定检索时机 |
| 08 | 多智能体协作 | 多个 Agent 各司其职、分工协同完成复杂任务 |
| 09 | 毕业项目:智能研究助手 | 联网搜索 + 结构化研究报告(简历级项目) |
已完成全部 9 节课 🎉。每课都包含原理讲解 + 可运行代码 + 练习。
🔧 课程三:框架进阶课程(共 9 节课)
把前两门课手写过的东西,用 LangChain / LangGraph 翻译成框架版,每课做「手写版 vs 框架版」对比:
| # | 课程 | 你会学到 |
|---|---|---|
| 01 | LCEL 与框架全景 | 手写 RAG vs LCEL 版对比,看清框架替你做了什么 |
| 02 | 三件套:Models + Prompts + Parsers | 调模型、拼提示词、解析输出的标准化积木 |
| 03 | 文档处理:Loaders + Splitters + VectorStores | 数据进入环节的工程化流水线 |
| 04 | Retrievers + RAG Chain | 把积木用 \| 拼成完整的 RAG 链 |
| 05 | 高级检索工程化 | Ensemble + MultiQuery,框架真正省力的地方 |
| 06 | LangGraph 基础 | StateGraph 重写 ReAct(从 LangChain 转 LangGraph 的转折点) |
| 07 | 框架级 Agent | @tool 装饰器 + create_agent,几行搞定手写几十行 |
| 08 | 状态、记忆与人机协作 | Checkpointer 持久化 + interrupt 人机协作(LangGraph 杀手锏) |
| 09 | 毕业项目:LangGraph 研究助手 | 多节点图 + Checkpointer,综合全部框架技术 |
已完成全部 9 节课 🎉。每课都包含原理讲解 + 可运行代码 + 练习。
🔀 课程四:工作流与多智能体编排课程(共 9 节课)
前三门课解决「单 Agent + 单流程」,本课进入「多 Agent 协作编排」——AI 架构师方向核心能力。 以 LangGraph 为主干讲透 6 种经典拓扑,再用 CrewAI / AutoGen 做同一问题的横向范式对比:
| # | 课程 | 你会学到 |
|---|---|---|
| 01 | Supervisor 主从模式 | 中心化动态路由调度(对比手写 L08 写死的 for 循环) |
| 02 | Swarm 与 Handoff | 去中心化群体 + 状态交接(对比手写字符串拼接) |
| 03 | 子图 Subgraph | 把编译好的图当节点嵌入,模块化复用 |
| 04 | 并行 Map-Reduce | fan-out 爆发 + reducer 合并(手写做不到的并行) |
| 05 | 共享状态通信 | 消息 / 共享态 / 黑板三种通信机制对比 |
| 06 | 多模型路由与拓扑 | 星型/环型/网状/层级拓扑 + 成本控制 |
| 07 | CrewAI 对比 | 角色驱动声明式编排,对比 LangGraph supervisor |
| 08 | AutoGen 对比 | 对话驱动群聊编排,对比 LangGraph swarm |
| 09 | 毕业项目:多智能体研究系统 | supervisor + 并行 + 共享态 + 多模型综合(简历级) |
已完成全部 9 节课 🎉。每课继续做「手写 Agent L08 流水线 vs 框架多智能体版」并排对比。L09 毕业项目综合 L01-L08 全部技术,是简历级作品。
🛡️ 课程五:LLMOps 生产运维课程(共 13 节课)
前四门课教你把 AI 应用做出来,本课教你把它运维起来——回答面试官那句「你的项目上线之后呢?怎么知道它好不好、怎么防攻击、怎么被别的系统集成、怎么控成本」。所有改动直接落到作品集的 knowledge-base-qa,把它从「能跑的 demo」升级为「运维就绪 v2」。四个模块层层递进:
| # | 课程 | 你会学到 |
|---|---|---|
| 01 | 结构化日志 | 从 print 到可查询的 JSON 事件流 + trace_id 贯穿全链路 |
| 02 | Langfuse 全链路追踪 | 每次问答的检索/rerank/生成耗时、token、成本可视化 |
| 03 | 线上评估闭环 | 真实问答抽样 + 自动 ragas 打分 + 坏答案队列 |
| 04 | API 鉴权与限流 | key 鉴权 + 按 key 限流,防裸奔防账单打爆(401/429/200) |
| 05 | Prompt 注入攻防 | 间接注入(恶意指令藏文档里)+ 构造攻击测试集跑失守基线 |
| 06 | 输入输出守护栏 | 材料隔离 + 指令-数据分离 + 输出过滤,防御固化进 CI |
| 07 | MCP 是什么 | AI 应用的「USB 接口」:M×N→M+N,手写最小 server/client |
| 08 | 把知识库封成 MCP Server | kb-qa 检索封成标准工具,任意 host 零代码接入 |
| 09 | Agent 作 MCP Client | research-assistant 调 kb-qa 知识库,两个作品打通 |
| 10 | 语义缓存 | 同义问法命中缓存,跳过检索+生成,降延迟降成本 |
| 11 | 压测与并发 | QPS/P95/P99 基线,定位瓶颈在上游 API 限流 |
| 12 | 成本/质量权衡 | 用评估数据量化 glm-4 vs flash,分环节选型降本 |
| 13 | 毕业整合:运维就绪 v2 | 一张运维面板 + 生产上线检查清单串起全部 12 课 |
已完成全部 13 节课 🎉。教学 code.py 全部零依赖或有 mock 降级路径可独立跑;落地改动写进 kb-qa 并附「## 落地清单」。跑不了真实外部服务(Langfuse/Docker/压测)的地方均诚实标注未实测并给降级路径。
📄 课程六:多模态文档智能课程(共 10 节课)
前五门课的 RAG 管线只吃「干净的纯文本」,但真实企业知识库里扫描件、表格、图表占一大半——text-only 管线对它们全盲。本课教收敛的工程知识(文档解析/OCR/表格处理业界有成熟做法),把 kb-qa 从「只吃纯文本」升级为「能吃扫描件/表格/图表、引用可回溯到页码与区域的多模态文档智能系统 v3」。课程口吻对齐 ops(讲「标准做法 + 取舍」),每课有「## 方案对比」小节。两条贯穿主线:①成本-精度主线(多模态每个决策都是成本与精度的交换);②溯源主线(引用从 chunk 文本升级到文档名+页码+区域)。
| # | 课程 | 你会学到 |
|---|---|---|
| 00 | 全景与基线 | 企业文档真实构成 + 文本 RAG 天花板量化(扫描/表格/图表题 0%)+ 毒文档集 + 裸基线 |
| 01 | PDF 解剖与版面解析 | PDF 三层结构 + 版面感知解析器(Element 带类型和坐标)+ 分类路由 |
| 02 | 表格:从串行文本到结构化 | pdfplumber 抽取 + markdown/HTML/串行三种表示对照实验 + 整表成块表头冗余 |
| 03 | 扫描件:OCR 三路线 | 本地 RapidOCR vs VLM 直读 vs 置信度混合路由(成本-精度教科书案例) |
| 04 | 图表与图片理解 | glm-4v-plus 两段式(描述缓存做索引 + 现场看图作答)+ 哈希去重 |
| 05 | 多模态检索 | 描述索引让图表可搜 + element_type 路由 + CLIP 双塔对照 |
| 06 | 引用溯源升级 | 引用从 chunk 文本升级到页码+区域(bbox)+ 区域裁剪图 + 可信度三部曲第三步 |
| 07 | 语音入口(尝鲜) | ASR→kb-qa→TTS 全链路 + 延迟拆解(语音是入口不是核心) |
| 08 | 多模态评估:收益表 | 逐机制开关矩阵 + 防退化对照 + ragas 多模态盲区 + 入库成本列 |
| 09 | 毕业整合:v3 + 重编号 | 全机制协同跑通硬任务 + kb-qa v3 定稿 + 全仓课程重编号 |
已完成全部 10 节课 🎉。两条贯穿主线:①成本-精度主线(VLM 直读贵而强、本地 OCR 便宜而脆,分类路由是工程答案);②溯源主线(引用从 chunk 文本升级到文档名+页码+区域,可信度三部曲第三步)。所有新机制默认关闭(
enable_multimodal_ingest等),现有测试始终绿,每课有「## 方案对比」+ 至少一道「设计实验验证」练习。
🧠 课程七:智能体前沿(共 13 节课)
前六门课教的是已收敛的知识(RAG 怎么切、ReAct 怎么写),本课教的是未收敛的前沿——Agent 记忆、反思、Code Agent、轨迹评估、上下文工程,业界没有标准答案。因此课程风格变了:README 不讲「标准做法」,讲「有哪几种流派、取舍是什么、我们选 X 因为……」;代码是「手写核心机制 + 设计实验验证有没有用」。所有改动落到 research-assistant,把它从「搜索→写报告」的一次性系统养成跨会话进化的深度研究智能体(Deep Research Agent v2)。六个模块:
| # | 课程 | 你会学到 |
|---|---|---|
| 00 | 方法预热 | 论文三遍读法 + 拆 LangGraph 源码 + 跑失忆基线(全程对照) |
| 01 | 记忆分层 | 情景(Chroma)+语义(list) MemoryStore,researcher 接入 recall |
| 02 | 反思式写入 | reflect_and_store 提炼记忆 + consolidate 巩固 + 遗忘策略 |
| 03 | Skills 与上下文工程 | 渐进式 skill_loader,记忆/skills/RAG/MCP 统一到上下文工程 |
| 04 | Reflexion 手写 | 三组件 loop + 盲目重试 vs 反思重试对比 + 消融实验 |
| 05 | 反思进研究回路 | 双通道 reviewer(文字+事实)+ 冲突检测 + 定向补研修正 |
| 06 | CodeAct 手写 | 代码作为行动空间 + 进程级沙箱(import 白名单/超时/截断) |
| 07 | 代码解释器落地 | code_interpreter 接入 writer,报告数字可复算 |
| 08 | 轨迹评估 | TrajectoryEvaluator:成功率/步数/循环/归因 + 机制触发检测 |
| 09 | Eval Harness | 开关矩阵 × 任务集 = 机制收益表(回归式评估) |
| 10 | 长任务 | TaskLedger:TODO 树 + 断点续跑 + 增量简报 |
| 11 | 毕业整合 | Deep Research v2:五机制协同 + 架构文档 + 收益表 |
| 12 | 前沿追踪方法 | 三遍读法完整版 + 框架评估清单 + 多 Agent 记忆共享最小复现 |
已完成全部 13 节课 🎉。两条贯穿主线:①评估主线(L00 立基线→L08 建评估器→L09 harness 量化每个机制收益);②上下文工程主线(记忆/skills/RAG/MCP 统一到「窗口里放什么」一个母题)。每课 README 有「流派对比」小节 + 至少一道「设计实验验证」练习。104 个单元测试全绿,所有新机制默认关闭、降级路径完好。
🖥️ 课程八:GUI Agent / Computer Use 课程(共 13 节课)
前七门课把 research-assistant 养成了会思考的深度智能体,但它只有脑子没有手——「研究世界」的唯一渠道是搜索摘要。本课教 2025–2026 仍未收敛的前沿:让 Agent 直接操作浏览器完成任务(打开页面、点击、翻页、提取、下载),给 research-assistant 长出一双稳、安全、可评估的手。课程风格延续第七门课:README 不讲「标准做法」,讲「三大流派(文本/视觉/专用模型)取舍是什么、选 X 因为……」;代码是「手写核心机制 + 设计实验验证有没有用」。所有落地改动作用于 research-assistant,enable_browser 默认关,123 项测试始终绿。
| # | 课程 | 你会学到 |
|---|---|---|
| 00 | 全景与基线 | 三大流派地图 + WebArena/SeeAct/OSWorld 导读 + 硬任务定义 + 跑裸基线(搜索摘要拿不到什么) |
| 01 | Playwright 地基 | BrowserSession 确定性控制(auto-wait/超时兜底/上下文管理器)+ 慢加载/弹窗页 |
| 02 | 观察空间 | page_to_obs 三种页面表示(原始HTML/元素编号列表/纯文本)+ token 对比(省 9x) |
| 03 | 行动空间 | 受限动作 DSL(click/type/scroll/back/finish)+ 解析校验 + 非法动作结构化错误回注 |
| 04 | 最小 GUI Agent | observe→think→act 循环 + 滑动窗口上下文裁剪 + mock LLM 零 API 跑通 |
| 05 | 视觉路线 | SoM 标注截图喂 glm-4v-plus + 文本/视觉/混合三路线同任务对比(token/成功率) |
| 06 | 可靠性工程 | 失败模式清单 + 循环检测(观察哈希)+ 换策略 + 刁难页 before/after |
| 07 | 网页注入攻防 | GUI 注入比 RAG 危险一个量级(做错事非说错话)+ 动作层防御(allowlist/敏感确认/注入扫描) |
| 08 | 评估 mini-benchmark | WebArena 思路:自托管本地任务集 + 功能性验收 + 轨迹评估器双层评估 |
| 09 | 落地:长出「手」 | browser_tool.py 接入 researcher(async + 安全默认开 + 降级链 + 17 测试) |
| 10 | 深度浏览证据链 | deep_browse 多步取证 + 证据链(URL+访问时间+快照)+ 报告引用可回访 |
| 11 | 毕业整合 | 会上网的 Deep Research Agent:四层协同 + 架构文档 + 收益表(成功率 75%→100%) |
| 12 | 前沿追踪 | 专用模型 vs 通用 VLM+脚手架三轴框架 + SoM 有无消融最小复现 |
已完成全部 13 节课 🎉。两条贯穿主线:①评估主线(L00 裸基线→L08 mini-benchmark→L11 收益表量化全部机制收益);②观察-行动接口主线(L02 观察空间→L03 行动 DSL→L04 循环合拢,是上下文工程母题在 GUI 场景的延伸)。每课 README 有「流派对比」小节 + 至少一道「设计实验验证」练习。落地后 research-assistant 新增 19 个 browser 测试(全量 123 全绿),
enable_browser默认关、降级路径完好。
🛡️ 课程九:Agent 生产可靠性 / AgentOps(共 10 节课)
ops-lessons 护的是一次请求(鉴权限流守护栏),本课护的是一条轨迹——Agent 会自己转很多圈、自己决定下一步,所以风险形态完全不同:死循环、成本超支、故障扩散、危险副作用、中途崩溃。kb-qa 是线性链用不上这些机制,research-assistant 是循环体非用不可,这个不对称本身就是边界证据。课程口吻对齐 ops-lessons(讲「标准做法 + 取舍」的收敛工程知识),每课必有「方案对比」小节。所有改动落到 research-assistant,把它从「能力完整的 Deep Research Agent v2」升级为「故障下可生存、危险动作有门控、崩溃可恢复、可靠性有 SLO 数字的生产可靠 v3」。十个模块:
| # | 课程 | 你会学到 |
|---|---|---|
| 00 | 全景与基线 | 护请求 vs 护轨迹的边界 + Agent 生产风险地图 + 六类故障混沌任务集 + 裸基线(爆炸半径全无界) |
| 01 | 步数与循环 | 全局步数预算(add_int reducer)+ 动作签名循环检测 + 诚实收尾(带部分结果退出,非崩溃) |
| 02 | 成本预算 | 轨迹级 token 钱包(usage_metadata 计量)+ 软预算降级 flash / 硬预算诚实收尾 + 分节点成本分摊表 |
| 03 | 超时熔断与诚实降级 | 手写熔断器三态状态机 + 结构化降级协议(不让「搜索超时」混进材料当事实)+ 降级链 |
| 04 | 副作用与幂等 | 副作用三级分类 + 幂等键(thread_id+内容指纹)+ sqlite 注册表 + dry-run + 可选 publish 节点 |
| 05 | 人在环审批 | langgraph interrupt/resume 门闸 + 策略分层(first_only 复用幂等键)+ 跨进程恢复(审批可隔夜) |
| 06 | 断点续跑 | jobs 任务注册表 + checkpoint 续跑(已完成节点不重做)+ recover_orphans + 与 frontier-L10 账本边界 |
| 07 | 轨迹级可观测 | 一次运行一行 run summary 体检报告 + 阈值告警 + 与 ops 请求级日志/frontier 评估三层分层 |
| 08 | 可靠性评估 | 混沌收益矩阵(六类故障×全关全开)+ SLO 卡 + 纯净跑零税回归(成功率 33%→100%) |
| 09 | 毕业整合 | 全机制协同端到端 + research-assistant v3 定稿 + 七机制治理架构 + 全仓课程九注册 |
已完成全部 10 节课 🎉。两条贯穿主线:①爆炸半径主线(L00 量出五种失控的无界半径→每课把一种压到有界:循环→步数有界、成本→预算有界、故障→降级有界、副作用→幂等+审批有界、崩溃→重做量有界);②自主-控制主线(每个保护机制拿自主性/延迟/人力换安全——闸太紧 Agent 废掉、太松等于裸奔,每课给「这道闸紧还是松」的判断依据)。每课 README 有「方案对比」小节 + 至少一道「设计实验验证」练习。落地后 research-assistant 新增 96 个测试(全量 219 全绿),所有新机制默认关、可降级,纯净跑零税。
🌙 课程十:常驻主动式 Agent / Ambient(共 10 节课)
前九门课的 Agent 全是会话式(pull):人发起、Agent 应答、跑完即散——人忘了问就全盲。本课把范式倒过来(push):Agent 常驻后台、由调度器叫醒、自己判断世界变了什么、只在值得打扰时主动找人。这是 2025–2026 的活跃前沿(OpenAI scheduled tasks / Pulse、LangChain ambient agents、Claude Code 后台任务同向探索),课程讲流派与取舍。所有改动落到 research-assistant,把它从「生产可靠 v3」升级为「自己醒、只研究变化、知道何时开口、死了有人知道的常驻主动 v4」。十个模块:
| # | 课程 | 你会学到 |
|---|---|---|
| 00 | 全景与基线 | 范式倒置五环节 + 请求→轨迹→服务三层边界 + 5 日模拟时间线 + 人肉盯梢裸基线 |
| 01 | 触发与调度 | 手写调度器:固定班次网格 + missed 可数 + 可注入时钟(5 天调度秒级可测) |
| 02 | 信源与变化检测 | item 级内容哈希 + 快照 diff + 两条纪律(「没有变化」是一等公民 /「没能看到」≠「没有变化」) |
| 03 | 增量研究回路 | 焦点即子题(跳过拆题)+ 旧结论注入 + ✏️ 修正简报(TaskLedger 首次接入运行时主链路) |
| 04 | 打扰决策 | major/minor/none 判级 + 宁攒勿丢降级 + 每日打扰配额 + 三政策对比(全课程价值观核心) |
| 05 | 收件箱与自主级别 | 五通道收件箱 + 隔夜审批(interrupt 在 checkpoint 里等人)+ agency 三级阶梯(notify/propose/act) |
| 06 | 常驻生命周期 | AmbientDaemon 串联全部机制 + 单轮失败不倒 + 两层恢复 + overlap skip + 优雅退出 |
| 07 | 时段预算与常驻可观测 | 第三层钱包(日总量)+ 自适应退避 + 心跳缺勤检出 + 一天一行日报 |
| 08 | 常驻评估 | 五档配置 × 六指标收益矩阵(cron 档=基线实证 / token -79% / 打扰 5→1 / 缺勤可检出) |
| 09 | 毕业整合 | 八机制全开的「v4 的一周」端到端 + research-assistant v4 定稿 + 全仓课程十注册 |
已完成全部 10 节课 🎉。两条贯穿主线:①范式倒置主线(五个环节——谁发起/研究什么/谁 diff/何时开口/谁守着——逐课从人转给机器;「cron 档六指标与基线全同」证明倒置≠定时自动化);②注意力经济主线(常驻 Agent 花两种别人的钱:用户的注意力与睡觉时的 token,判级+配额+时段钱包两本账都可审计)。每课 README 有「流派对比」小节 + 至少一道「设计实验验证」练习。落地后 research-assistant 新增 112 个测试(全量 331 全绿),八开关默认关、可降级,纯净跑零税,全部测试零真实等待(可注入时钟)。
🧠 课程十一:Agent 执行骨架与上下文工程 / Harness(共 10 节课)
前十门课的 Agent 能力都建立在一个隐含假设上:一次运行的上下文窗口总是够用。任务一长(30 个信源、上百次工具调用、跨会话接力),窗口就是新天花板:溢出、截断失忆、迷航、中毒。顶开天花板的不是更大的模型,是更好的骨架(harness)——这是 2025–2026 应用层的真正主战场(Claude Code 的 compaction/记忆/子代理/skills、LangChain deepagents、Manus 的 context engineering、MemGPT),方法论尚未收敛,课程讲流派与取舍。所有改动落到 research-assistant,把它从「常驻主动 v4」升级为「8k 窗口跑完 30 源、不失忆、中途可改道、跨会话记得住人的长途研究 v5」。十个模块:
| # | 课程 | 核心内容 |
|---|---|---|
| 00 | 全景与基线 | 窗口物理学 + 30 源长途任务 + 四条裸基线(裸奔死于 S11 / 硬截断在场率 8/20——活着但失忆) |
| 01 | 上下文账本 | 可注入 tokenizer + 四桶计量(工具结果占 75-95% 实证)+ 水位三区(「最后 20% 不干大事」量化版) |
| 02 | 压缩纪律 | 登记-摘要-验证三步:pinned 机械保留(恶意摘要器也丢不掉)+ 每压必审计(无痕压缩=篡史) |
| 03 | 跨会话记忆文件 | 三种记忆分家 + 写入纪律 gate + 索引常驻正文按需 + 防污染召回(Claude Code 同款机制手写版) |
| 04 | 工具返回值工程 | 截断/分页/引用三板斧 + 省略必须显式(谎报案例:静默掐尾让模型把半篇当全篇) |
| 05 | 子代理隔离 | 过程隔离结论回传(主窗峰值 5,272→706、压缩失业)+ 结构化失败 ≠ 空结论 + 何时不外包 |
| 06 | 文件工作区 | 窗口只留指针(2,763 字替 91,366 字站岗)+ recitation 现读抗漂移 + 崩溃续跑 fetch 30 vs 48 |
| 07 | 改道与权限门 | 安全点协商合并(10 源劳动不陪葬)+ 软停诚实半程 + 三红线 100% 拦截且放行同样留痕 |
| 08 | 渐进披露 | 复用 frontier-L03 skill_loader 扩展三层指令架构(核心/索引/按需,30 调用省 58%) |
| 09 | 毕业整合 | v5 全套端到端(改道生效+跨会话偏好在场)+ 五档收益矩阵 + 全仓课程十一注册 |
已完成全部 10 节课 🎉。两条贯穿主线:①窗口经济主线(预算第四层——空间:每个 token 都要为「留在注意力里」付租金,账本量租金/整形砍租金/压缩收房/外置退租;与课程十的注意力经济同一枚硬币——那边省人的注意力,这边省模型的);②外置化主线(虚拟内存观:窗口=RAM、文件=磁盘、压缩=swap、子代理=进程隔离、索引=懒加载)。killer row:「截断买到活着,买不到记得」。每课 README 有「流派对比」小节 + 至少一道「设计实验验证」练习。落地后 research-assistant 新增 118 个测试(全量 449 全绿),九开关默认关,纯净跑零税,全部测试确定可复现(可注入 tokenizer,双跑逐字节一致)。
课程十二:DeepSeek Harness 实战通读(6 个 lab + 12 章深读)
第三次重定义(2026-08):模拟器版学的是课程的玩具;纯导读版输给官方文档。本版把课程立在唯一站得住的位置——带你在一个真实 checkout 里把 dsh 用起来、扩展起来、拆装起来。锁
99f6f02(rc.7,与课程十三共用 checkout),全部 lab 的命令与输出由课程作者在同一 SHA 真机验证,全程零 API Key:Lab 2 你会写一个 50 行的 scripted LLM adapter,用剧本模型驱动真实的循环、工具管线与会话日志(与上游 keyless 测试 lane 同构——系统是真的,只有模型边界可插拔,这正是 dsh 的架构承诺)。
| 段 | 内容 | 入口 |
|---|---|---|
| 动手(核心) | ①观察者插件亲见一个回合的全部事件 ②scripted adapter 零 Key 驱动真循环 ③defineTool 写真工具走五阶段管线 ④解开 append-only 会话日志 ⑤策略门拒绝与 fail-closed ⑥委派真实子代理、找到 durable 子会话 |
labs/ |
| 深读(参考层) | 12 章:每章"常规做法会怎么坏 → 机制源码 → 买到什么/代价",按 lab 对号入座 | deep-reading.md |
| 毕业 | 真实 checkout 里做一次完整扩展并过上游自己的测试 | 深读 11 章 |
课程十三:DeepSeek Harness 设计决策案例研习(8 个案例)
与课程十二共用 checkout(
99f6f02)。每个决策一套固定工序:困境 → 都带伤的选项 → 上游的选择与证据(源码注释/测试用例名/Known Limitations)→ 动手验证 → 代价 → 迁移。招牌动作是 break-it:临时删掉那个决策、跑上游自己的测试看谁变红、还原——A05 的 fail-closed 归一化有作者逐条实测的完整流程(38 绿 → 删一行 →normalizes a rogue non-vocabulary answer to unavailable变红,expected 'yolo' to be 'unavailable'→ 还原 → 38 绿)。八案共享一个方法论:在都带伤的选项里,选"哪种坏是可逆的"。
可验证性
python -m pytest portfolio-projects/knowledge-base-qa/tests -q
python -m pytest portfolio-projects/research-assistant/tests -q
./deepseek-harness-lessons/scripts/run_tests.sh
./deepseek-harness-advanced-lessons/scripts/run_tests.sh
Python 项目保留 592 项测试;课程十二和十三共有 20 套零依赖 TypeScript 测试(锚点校验器逻辑 + 课程材料自洽性),并在 CI 使用 Node.js 24 运行。两门 DeepSeek Harness 课程的正文结论对锁定 SHA 负责:scripts/prepare_upstream.sh 检出真实源码后,每课校验器会对真实源码逐条复核锚点,scripts/check_upstream_drift.sh 全课复核。真实模型效果、RAGAS、上游完整组合、浏览器性能和平台沙箱结果都必须单独验证,不能从离线校验直接推导。
📁 目录结构
RAG-test/
├── README.md ← 你在这里:十三门课程 + 作品集项目总览
├── requirements.txt ← Python 课程与项目依赖
├── .env.example ← API Key 配置模板
├── data/sample_docs/ ← Python 课程共用的示例文档
├── data/multimodal_docs/ ← 多模态课程毒文档集(扫描件/表格/图表 PDF + golden 题)
├── rag-lessons/ ← 课程一:RAG 手写(9 课,已完成)
├── agent-lessons/ ← 课程二:Agent 手写(9 课,已完成)
├── framework-lessons/ ← 课程三:框架进阶(9 课,已完成)
├── workflow-lessons/ ← 课程四:工作流与多智能体编排(9 课,已完成)
├── ops-lessons/ ← 课程五:LLMOps 生产运维(13 课,已完成)
├── doc-intelligence-lessons/ ← 课程六:多模态文档智能(10 课,已完成)
├── frontier-lessons/ ← 课程七:智能体前沿(13 课,已完成)
├── gui-agent-lessons/ ← 课程八:GUI Agent / Computer Use(13 课,已完成)
├── agent-ops-lessons/ ← 课程九:Agent 生产可靠性 / AgentOps(10 课,已完成)
├── ambient-agent-lessons/ ← 课程十:常驻主动式 Agent / Ambient(10 课,已完成)
├── harness-lessons/ ← 课程十一:Agent 执行骨架与上下文工程(10 课,已完成)
├── deepseek-harness-lessons/ ← 课程十二:DeepSeek Harness 实战通读(6 个零 Key lab + 12 章深读,labs 由作者真机验证)
├── deepseek-harness-advanced-lessons/ ← 课程十三:DeepSeek Harness 设计决策案例研习(8 案例,含 break-it 实测)
├── portfolio-projects/ ← 🚀 生产级作品集项目(学完课程后的落地,ops/docint/frontier/gui/agentops/ambient 主战场)
│ ├── knowledge-base-qa/ ← 企业知识库问答(RAG,多模态文档智能 v3)
│ └── research-assistant/ ← AI 研究分析助手(多智能体 + FastAPI + Docker,会上网,长途研究 v5)
└── docs/ ← 设计文档与实现计划
每门课程至少包含:①原理文档(讲 why 和取舍)+ ②可运行/可验证的东西 + ③练习。Python 课程为每课 code.py;两门 DeepSeek Harness 课程为作者真机验证过的 lab 命令与输出(课程十二 labs/)与 break-it 实验流程(课程十三 cases/),另以课程级 anchors.json(源码锚点清单)+ scripts/check_upstream_drift.sh(对锁定 SHA 逐条复核)保证课程引用不随上游漂移静默过期。
作品集项目则是模块化工程结构(src/ + api/ + tests/ + Docker),按生产标准组织。
💡 学习建议
- 一定要跑代码,不要只看。RAG 的很多直觉来自亲手改参数、看输出变化。
- 按顺序学,每课建立在前一课之上。
- 每节课固定包含原理 README、可运行代码和实验练习;先跑基线,再改参数做对照。
- 遇到问题请提交 Bug 报告;课程建议可提交 课程反馈。
参与贡献
课程勘误、跨平台兼容、新模型适配和可复现实验都欢迎贡献。开始前请阅读 CONTRIBUTING.md;发布变化记录在 CHANGELOG.md;安全问题请按 SECURITY.md 私下报告。
MIT License · 感谢 Linux.do 社区的支持。

