MapFlow

PUBLIC LEARNING ROADMAP

MapFlow:我的知识地图

一张持续扩展的个人知识地图:把语言、后端、Agent、MCP、LangChain、RAG、软件工程与未来接触到的知识放在同一张图里。节点来自不同知识域,但不规定唯一学习路线。

165 个知识节点 · mixed

发布者:mapflowdemo

知识目录

Agent 运行时

Session、Run、Agent Process 与 Runtime 的边界

把四层对象分开:Session 是持久化的产品会话,保存 CID、消息、事件和文件关联;Run 是一次具体执行;Agent Process 是承载执行的操作系统进程;Agent Runtime 是进程内已装配的配置、Provider、Skill、MCP 与临时状态。Session 可以跨进程恢复,Process 可以空闲等待或按需启动,Runtime/Process 的存活不等于 Agent 正在思考。

建议预留 100 分钟

学习目标

  • 能画出 Session → Run → Process/Runtime 的生命周期关系
  • 能解释为什么聊天记录可以持久化而 Agent Process 可以销毁
  • 能根据资源约束选择常驻、TTL 回收或每次冷启动

关键概念

  • Session、Run、Agent Process、Agent Runtime 的边界
  • 持久状态与临时运行时分离
  • 按需启动、空闲回收与状态恢复

为什么学习

  • 这是理解 Agent 平台资源模型和故障恢复的基础概念,后续需要在真实部署与压力约束下应用。

如何检验理解

  • 能区分 Codex 会话、PI sessions 记录、messages/session_events 与 uploads 目录
  • 能说明 Pi 进程空闲时只是在等待事件,不代表后台持续思考
  • 能用进程日志、数据库事件和目录状态证明一次进程回收后的会话可恢复

系统全景

生产级 Agent AI 应用后端全景

从 NestJS 框架根基到可运营、可治理、可扩展的 AI 应用后端。这是学习地图,不代表要在一个项目中一次学完。

建议预留 20 分钟

学习目标

  • 识别能力分层

关键概念

  • NestJS
  • AI Backend
  • Capability Map

为什么学习

  • 该节点在当前路线中主要用于建立边界意识;现阶段应能识别它何时需要、何时可以延后。

如何检验理解

  • 识别能力分层
  • 面对需求或架构图时,能指出「生产级 Agent AI 应用后端全景」的用途、触发条件和可延后边界

Agent 运行时

Agent Runtime:进程生命周期与按需启动

结合节点目标,安排适合自己的练习。

建议预留 0 分钟

Python 基础

异常处理与日志体系

掌握异常层级与 try/except/finally、自定义异常、logging 体系(logger/Handler/格式化),与 JS try/catch 对照。

建议预留 90 分钟

学习目标

  • 能设计合理的异常层级与捕获策略
  • 能用 logging 搭建带格式化的日志

关键概念

  • 异常层级与捕获
  • 自定义异常
  • logging 体系

为什么学习

  • 生产 Agent 服务的可观测性始于日志;NestJS 有成熟的 logger 体系可对照迁移。

如何检验理解

  • 为一个模块设计异常层级并写日志
  • 对比 logging 与 print 在生产中的差异

Python 基础

函数、闭包与装饰器工厂

理解 Python 一等函数与装饰器机制:闭包、*args/**kwargs、装饰器工厂与 functools.wraps。

建议预留 150 分钟

学习目标

  • 能写出一个带参数的装饰器工厂
  • 能解释闭包捕获变量的规则

关键概念

  • 装饰器与装饰器工厂
  • 闭包与函数作用域
  • *args/**kwargs 与 functools.wraps

为什么学习

  • FastAPI 路由、LangChain @tool、LangGraph 节点都重度使用装饰器/高阶函数,不理解它将无法阅读框架源码。

如何检验理解

  • 实现一个计时装饰器工厂并验证效果
  • 解释 functools.wraps 的作用与不用的后果

Python 基础

虚拟环境与工程结构

掌握 Python 项目工程化:uv/venv、pyproject.toml、依赖锁定、包与模块组织,与 Node 的 package.json/npm 对照。

建议预留 90 分钟

学习目标

  • 能初始化一个带虚拟环境与依赖清单的 Python 项目
  • 能组织多文件包结构并正确导入

关键概念

  • uv/venv 与依赖锁定
  • pyproject.toml 与 requirements.txt
  • 包与模块导入

为什么学习

  • 后续所有项目(FastAPI、LangChain)都需要规范的工程结构;对照 Nest 项目结构理解差异。

如何检验理解

  • 用 uv 初始化一个新 Python 项目并安装两个依赖
  • 解释虚拟环境为什么是必需的

框架核心

后端请求链路与 Node 运行时

学习 后端请求链路与 Node 运行时,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“后端请求链路与 Node 运行时”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“后端请求链路与 Node 运行时”的最小闭环

关键概念

  • 后端请求链路与 Node 运行时
  • NestJS
  • 生产级后端

为什么学习

  • 该节点会影响架构边界或故障判断;不能只会调 API,还要能解释核心机制、边界与典型错误。

如何检验理解

  • 能够用自己的话解释“后端请求链路与 Node 运行时”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“后端请求链路与 Node 运行时”的最小闭环
  • 能画出或口述「后端请求链路与 Node 运行时」的关键机制,解释边界并诊断一个典型错误

Python 基础

asyncio 深入:事件循环与并发原语

掌握 Python 异步模型:async/await、事件循环、Task 层级、并发原语(gather/wait/锁/信号量),与 JS 异步对照。

建议预留 180 分钟

学习目标

  • 能写一个并发拉取多个 HTTP 资源的异步函数并控制并发度
  • 能解释 async 函数与普通函数互调的限制及解法

关键概念

  • async/await 与事件循环
  • asyncio.gather/wait 与信号量
  • 同步阻塞与事件循环饥饿

为什么学习

  • LLM API 调用、流式输出与 FastAPI 全异步栈都以 asyncio 为核心,是后续所有网络章节的前置。

如何检验理解

  • 用 asyncio + 信号量并发完成 10 个 API 请求并测量耗时
  • 解释为什么在 async 函数里用同步 requests 会卡住整个服务

Python 基础

类型系统与数据结构

理解 Python 的动态类型与渐进式类型注解:可变/不可变、鸭子类型、typing 模块核心用法,与 TS 类型系统对照。

建议预留 120 分钟

学习目标

  • 能解释可变与不可变对象的区别及各自陷阱
  • 能写出带类型注解的函数签名并通过 mypy

关键概念

  • 类型注解 typing
  • 可变与不可变
  • None 与 falsy 语义

为什么学习

  • Agent 开发(尤其 LangChain 源码阅读)依赖对 Python 类型系统的准确理解。

如何检验理解

  • 用类型注解写一个处理 JSON 数据的函数并跑 mypy 通过
  • 解释为什么 Python 中默认参数不能是可变对象

版本控制

Git 版本控制与分支模型

围绕真实项目掌握 Git 的核心模型:commit、branch、tag、父提交、共同祖先、历史分叉与安全迁移。

建议预留 60 分钟

如何检验理解

  • 在真实工业项目中定位东山旧线与 Gitea main 的历史分叉
  • 设计并验证从新 main 派生版本分支的方案

Python 基础

迭代器、生成器与 yield

掌握迭代器协议、生成器与 yield/yield from、惰性求值:这是 LLM 流式输出与流式管道的语言级地基。

建议预留 120 分钟

学习目标

  • 能写出一个生成器并解释其惰性求值
  • 能用生成器实现流式数据管道

关键概念

  • 迭代器协议
  • 生成器与 yield
  • 惰性求值与内存收益

为什么学习

  • LLM 流式输出、SSE、LangChain streaming 全部建立在生成器之上,也是 asyncio 异步流的前置。

如何检验理解

  • 用生成器实现一个逐行处理大文件的管道并对比内存占用
  • 解释 yield 与 return 在函数执行上的本质差异

Python 基础

Python 语法快速入门(面向有经验者)

针对已有 JS/TS 经验的学习者,快速建立 Python 语法心智:缩进、内置类型、流程控制与标准库习惯。

建议预留 90 分钟

学习目标

  • 能用 Python 写出与 JS 等价的基础逻辑(循环、条件、dict/list 操作)
  • 能读懂并改写一段中等复杂度的 Python 代码

关键概念

  • 缩进与代码块
  • 内置类型 dict/list/tuple/set
  • 标准库 os/json/pathlib

为什么学习

  • 本节点是全部后续学习的语法地基;学习者已有编程经验,重点在差异而非从零教学。

如何检验理解

  • 把一段 JS 函数改写为等价的 Python 实现并跑通
  • 解释 Python 缩进与 JS 花括号在作用域语义上的区别

FastAPI

Pydantic 模型与输入校验

理解 Pydantic v2 模型:字段校验、类型转换、嵌套模型、Field 约束与自定义验证器。

建议预留 120 分钟

学习目标

  • 能定义带校验规则的嵌套模型
  • 能写自定义验证器处理特殊业务规则

关键概念

  • Pydantic BaseModel
  • 字段约束与 Field
  • 嵌套模型与序列化

为什么学习

  • Agent 的工具契约、结构化输出解析都以 Pydantic 为基石,是本树最常用库之一。

如何检验理解

  • 定义一个带约束的嵌套模型并演示校验失败
  • 解释 FastAPI 请求体为何等于 Pydantic 模型

FastAPI

FastAPI 测试:pytest/TestClient

掌握 FastAPI 测试方法:TestClient、依赖覆盖、异步接口测试、pytest fixture 体系。

建议预留 150 分钟

学习目标

  • 能为接口写单元与集成测试
  • 能用依赖覆盖替换真实依赖进行测试

关键概念

  • pytest 与 fixture
  • TestClient 与依赖覆盖
  • 异步测试

为什么学习

  • Agent 应用评测依赖可靠的测试基础,先建立测试习惯再进入 Agent 阶段。

如何检验理解

  • 为 /items 接口写 3 个测试用例并跑通
  • 用依赖覆盖测试鉴权失败的路径

FastAPI

流式响应与 SSE

掌握在 FastAPI 中实现流式输出:SSE 与 StreamingResponse、异步生成器,这是 LLM 聊天接口的核心形态。

建议预留 150 分钟

学习目标

  • 能实现一个 SSE 流式聊天接口
  • 能解释流式响应与普通 JSON 响应的区别

关键概念

  • SSE 协议
  • StreamingResponse
  • 异步生成器

为什么学习

  • LLM 输出天然是流式的,所有 Agent 服务最终都要面对流式协议。

如何检验理解

  • 实现 /chat/stream 接口并用 curl 观察增量输出
  • 解释为什么流式体验对 LLM 应用至关重要

框架核心

Nest 应用启动与平台适配器

学习 Nest 应用启动与平台适配器,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“Nest 应用启动与平台适配器”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“Nest 应用启动与平台适配器”的最小闭环

关键概念

  • Nest 应用启动与平台适配器
  • NestJS
  • 生产级后端

为什么学习

  • 该节点是可重复使用的工程能力;学习终点是脱离逐行照抄后仍能按可靠模式完成实现。

如何检验理解

  • 能够用自己的话解释“Nest 应用启动与平台适配器”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“Nest 应用启动与平台适配器”的最小闭环
  • 能独立完成「Nest 应用启动与平台适配器」的最小可运行实现,并用测试、请求或日志证明其行为

FastAPI

FastAPI 路由与请求处理

掌握 FastAPI 基础:路径/查询参数、请求体、响应模型、异常处理,与 NestJS 路由对照理解。

建议预留 120 分钟

学习目标

  • 能写一个带路径/查询参数与请求体的 CRUD 接口
  • 能解释 FastAPI 如何自动生成 OpenAPI 文档

关键概念

  • 路径与查询参数
  • 请求/响应模型
  • OpenAPI 自动文档

为什么学习

  • FastAPI 是 Agent 服务对外的 HTTP 载体,其 Pydantic 模型体系与 NestJS DTO 概念同构。

如何检验理解

  • 实现一个 /items CRUD 接口并在 /docs 验证
  • 对照 NestJS 解释 FastAPI 的参数校验方式

FastAPI

依赖注入与中间件

理解 FastAPI 依赖注入系统与中间件机制:Depends、作用域、异常处理,与 NestJS DI 的对照。

建议预留 120 分钟

学习目标

  • 能用 Depends 实现共享依赖(如 DB 连接、当前用户)
  • 能写一个记录请求耗时的中间件

关键概念

  • Depends 与依赖作用域
  • 中间件与异常处理
  • 与 NestJS DI 的对照

为什么学习

  • 依赖注入决定 Agent 服务的扩展方式(模型客户端、存储、鉴权都是可注入依赖)。

如何检验理解

  • 用 Depends 注入一个可复用的鉴权依赖
  • 画图对比 FastAPI 与 NestJS 的 DI 差异

FastAPI

异步状态管理与数据库(了解)

【了解·Nest 可对照】Python 生态的异步存储概览:SQLAlchemy async、Redis、Agent 会话持久化模式;细节在 Nest 项目深入。

建议预留 90 分钟

学习目标

  • 能说出 Python 生态的异步存储方案
  • 能理解 Agent 会话持久化的基本模式

关键概念

  • SQLAlchemy async 概览
  • Redis 与缓存
  • 会话状态持久化模式

为什么学习

  • 通用知识:与 NestJS 的 TypeORM/Redis 实践同构;此节点只需建立选型认知,后端细节不在此深入。

如何检验理解

  • 画图对比 Python 与 NestJS 的存储方案选型
  • 说明 Agent 会话持久化为什么用 thread_id + 数据库

FastAPI

Pydantic v2 深入:validator/泛型/序列化

深入 Pydantic v2:field_validator/model_validator、泛型模型、model_dump/model_validate、序列化与解析全貌。

建议预留 150 分钟

学习目标

  • 能写交叉字段校验的 validator
  • 能用泛型模型复用复杂结构

关键概念

  • field/model_validator
  • 泛型模型 Generic
  • 序列化与解析

为什么学习

  • Agent 工具契约、结构化输出、配置管理都建立在 Pydantic 之上;深挖是阅读 LangChain 源码的基础。

如何检验理解

  • 定义带交叉字段校验的嵌套模型并演示失败路径
  • 用泛型模型处理 API 响应并解析

数据一致性

PostgreSQL 与关系建模

学习 PostgreSQL 与关系建模,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“PostgreSQL 与关系建模”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“PostgreSQL 与关系建模”的最小闭环

关键概念

  • PostgreSQL 与关系建模
  • NestJS
  • 生产级后端

为什么学习

  • 该节点会影响架构边界或故障判断;不能只会调 API,还要能解释核心机制、边界与典型错误。

如何检验理解

  • 能够用自己的话解释“PostgreSQL 与关系建模”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“PostgreSQL 与关系建模”的最小闭环
  • 能画出或口述「PostgreSQL 与关系建模」的关键机制,解释边界并诊断一个典型错误

LLM API

Prompt 工程:可复现与结构化输出

提示工程系统化:指令与角色设计、few-shot、CoT 推理引导、格式约束、输出校验循环与调试方法论。

建议预留 180 分钟

学习目标

  • 能稳定产出结构化输出
  • 能系统调试 prompt 而非盲目修改

关键概念

  • 指令与 few-shot 设计
  • CoT 与推理引导
  • 输出校验与重试循环

为什么学习

  • 提示是 Agent 行为的唯一可编程接口,提示工程质量直接决定 Agent 可用性。

如何检验理解

  • 把同一任务用 3 种 prompt 写法对比输出质量并给出选择
  • 设计一个稳定输出 JSON 的 prompt 与校验机制

LLM API

Prompt 缓存与成本优化

掌握 prompt caching 机制与收益模型:缓存结构要求、命中率优化、与工具裁剪/历史压缩的组合策略。

建议预留 120 分钟

学习目标

  • 能设计提升缓存命中率的 prompt 结构
  • 能估算缓存带来的成本节省

关键概念

  • prompt caching 机制
  • 缓存结构设计
  • 成本估算与优化

为什么学习

  • Agent 每轮循环都消费 token,成本失控是第一生产事故;缓存是最大的成本杠杆。

如何检验理解

  • 设计一个缓存友好的 system prompt 结构并实测命中率
  • 计算一个高频会话启用缓存前后的成本差

LLM API

流式与事件 API

掌握流式响应协议:SSE、SDK 流式事件(message_start/content_block_delta 等)、增量处理与中断。

建议预留 120 分钟

学习目标

  • 能实现流式对话并处理增量事件
  • 能解释流式与一次性响应的差异

关键概念

  • SSE 流式协议
  • SDK 流式事件
  • 增量渲染与中断

为什么学习

  • LLM 输出天然流式;用户体感与长任务体验依赖流式实现。

如何检验理解

  • 用 SDK 流式输出并逐事件打印
  • 解释中断一个流式请求时会发生什么

LLM API

OpenAI 兼容协议与多供应商抽象

理解 OpenAI 兼容协议与供应商抽象:base_url、模型映射、多供应商切换模式。

建议预留 120 分钟

学习目标

  • 能通过 OpenAI 兼容接口调用非 OpenAI 模型
  • 能设计一个供应商抽象层

关键概念

  • OpenAI 兼容协议
  • base_url 与模型映射
  • 供应商抽象

为什么学习

  • 生产环境必然面对多供应商;理解兼容协议避免被单一供应商锁定。

如何检验理解

  • 用兼容协议把同一个调用切到两个不同供应商
  • 列出兼容协议与原生协议的主要差异

LLM API

Token、上下文窗口与计费模型

理解 token 计费模型、上下文预算与成本估算:输入/输出 token 定价、缓存、上下文膨胀控制。

建议预留 120 分钟

学习目标

  • 能估算一个请求的 token 与成本
  • 能设计控制上下文膨胀的策略

关键概念

  • token 计费与定价
  • 上下文预算
  • prompt caching

为什么学习

  • Agent 的每一轮循环都消耗 token,成本失控是 Agent 应用的第一生产事故。

如何检验理解

  • 计算一个典型对话场景的 token 成本并设计压缩策略
  • 解释 prompt caching 的适用场景

LLM API

LLM 原理:Transformer 到生成机制

建立大模型心智模型:token 与自回归生成、Transformer/注意力概览、预训练/指令微调/RLHF 各解决什么问题。

建议预留 150 分钟

学习目标

  • 能解释 token 与自回归生成机制
  • 能解释预训练、指令微调与 RLHF 的作用

关键概念

  • token 与自回归
  • Transformer 与注意力概览
  • 预训练、微调与 RLHF

为什么学习

  • 所有 Agent 行为都是模型能力的投影,先懂模型才能设计可靠的 Agent;这是社区路线的第一步。

如何检验理解

  • 用自己的话解释 LLM 生成一句话的完整机制
  • 解释为什么同样的 prompt 输出不稳定

LLM API

采样与推理参数

掌握推理参数:temperature/top_p/top_k/seed/stop 的作用与调优、结构化解码的底层机制。

建议预留 120 分钟

学习目标

  • 能解释各采样参数对输出的影响
  • 能按任务类型选择合适的参数组合

关键概念

  • 采样策略 temperature/top_p
  • seed 与可复现性
  • 停止条件与结构化约束

为什么学习

  • 生产调优的第一现场;Agent 循环的决策质量直接受采样参数影响。

如何检验理解

  • 同一 prompt 用不同 temperature 对比输出差异并解释原因
  • 为工具调用场景设计参数组合

LLM API

Anthropic Messages API 深度

掌握 Anthropic Messages API 完整形态:角色与消息结构、system prompt、工具定义、stop_reason、多轮历史。

建议预留 180 分钟

学习目标

  • 能用 SDK 完成多轮对话与工具调用
  • 能解释 stop_reason 与消息流的完整生命周期

关键概念

  • Messages API 与角色
  • stop_reason 与流程控制
  • Python SDK 与工具绑定

为什么学习

  • 直接调用官方 SDK 是理解 Agent 循环的最短路径,也是后续框架的底层依赖。

如何检验理解

  • 用 SDK 完成一次带工具调用的完整会话并打印消息流
  • 解释 stop_reason 各取值对应什么场景

框架核心

装饰器、元数据与反射

学习 装饰器、元数据与反射,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“装饰器、元数据与反射”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“装饰器、元数据与反射”的最小闭环

关键概念

  • 装饰器、元数据与反射
  • NestJS
  • 生产级后端

为什么学习

  • 该节点会影响架构边界或故障判断;不能只会调 API,还要能解释核心机制、边界与典型错误。

如何检验理解

  • 能够用自己的话解释“装饰器、元数据与反射”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“装饰器、元数据与反射”的最小闭环
  • 能画出或口述「装饰器、元数据与反射」的关键机制,解释边界并诊断一个典型错误

Agent 核心

结构化输出与工具契约设计

掌握强制结构化输出:JSON mode、工具约束、Pydantic 输出解析,工具/输出契约的类型设计。

建议预留 150 分钟

学习目标

  • 能强制模型输出符合 schema 的结构化数据
  • 能设计工具/输出的类型契约

关键概念

  • JSON mode 与工具约束
  • Pydantic 输出解析
  • 输出校验与重试

为什么学习

  • 不可靠输出是 Agent 失败主因之一;结构化契约是把 Agent 接入系统的前提。

如何检验理解

  • 让模型输出严格符合 Pydantic schema 并校验
  • 设计重试机制处理解析失败

API 契约与序列化

角色卡格式:Schema、容器与规范化

理解 PNG、JSON、CHARX 是承载角色卡数据的不同容器,V1、V2、V3 是版本化字段规范;导入时先解析、校验并规范化为内部契约,再由运行时选择字段编译,不能把原始文件或未知扩展直接当作可执行内容。

建议预留 100 分钟

学习目标

  • 能区分 PNG/JSON/CHARX 容器与 V1/V2/V3 数据规范
  • 能描述角色卡导入到内部模型的解析、校验、规范化流程
  • 能解释为什么未知字段应保留但不能直接执行

关键概念

  • 角色卡 Schema
  • PNG 元数据容器
  • V1/V2/V3 版本兼容
  • CHARX 打包格式
  • 解析、校验与规范化

为什么学习

  • 这是理解角色卡生态和安全导入的基础,重点是区分文件容器、数据规范与运行时执行。

如何检验理解

  • 画出“原始文件→解析→规范化契约→Prompt 编译”的流程;拿一张角色卡指出哪些是字段、哪些只是容器或元数据

Agent 核心

Agent 心智模型:workflow vs agent

以 Anthropic《Building Effective Agents》为骨架,建立 workflow 与 agent 的心智模型、5 类 workflow 与选型框架。

建议预留 150 分钟

学习目标

  • 能区分 workflow 与 agent 并给出各自适用场景
  • 能画出 agent 循环的状态图

关键概念

  • workflow vs agent
  • 5 类 workflow 模式
  • agent 循环:模型+工具+观察

为什么学习

  • 这是本树的概念核心,选型比实现更重要;官方推荐先读此篇再学任何框架。

如何检验理解

  • 用自己的话总结 Building Effective Agents 的 5 类 workflow
  • 给一个真实任务判断该用 workflow 还是 agent

Agent 核心

MCP 协议:架构与概念

理解 Model Context Protocol:动机、客户端-服务器架构、三类原语(工具/资源/提示)、传输与认证。

建议预留 150 分钟

学习目标

  • 能解释 MCP 解决什么问题
  • 能区分工具/资源/提示三类原语

关键概念

  • MCP 架构与动机
  • 工具/资源/提示原语
  • 客户端-服务器与传输

为什么学习

  • MCP 是 2026 年 Agent 生态的核心协议,官方课程与社区路线均独立成模块。

如何检验理解

  • 画图解释 MCP 客户端-服务器交互
  • 对比 MCP 工具与原生 function calling 的取舍

框架核心

模块与依赖图

学习 模块与依赖图,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“模块与依赖图”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“模块与依赖图”的最小闭环

关键概念

  • 模块与依赖图
  • NestJS
  • 生产级后端

为什么学习

  • 该节点会影响架构边界或故障判断;不能只会调 API,还要能解释核心机制、边界与典型错误。

如何检验理解

  • 能够用自己的话解释“模块与依赖图”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“模块与依赖图”的最小闭环
  • 能画出或口述「模块与依赖图」的关键机制,解释边界并诊断一个典型错误

Agent 核心

MCP 实战:自建 MCP Server

用 MCP Python SDK 实现 Server:工具注册、参数 schema、资源暴露、与客户端连接调试。

建议预留 180 分钟

学习目标

  • 能实现一个可用的 MCP Server
  • 能从客户端调用自建工具

关键概念

  • MCP Python SDK
  • 工具与资源实现
  • 本地与远程连接

为什么学习

  • 生产 Agent 的工具生态正在向 MCP 迁移,动手实现是掌握协议的最佳路径。

如何检验理解

  • 实现一个含 2 个工具的 MCP Server 并接入客户端调用
  • 给工具加输入校验与错误处理

Agent 核心

工具调用协议深度

深入理解工具调用协议:工具定义 schema、tool_use/tool_result 消息往返、多工具并行、失败与异常处理。

建议预留 180 分钟

学习目标

  • 能实现从工具定义到结果回填的完整调用链
  • 能处理工具调用失败与异常输入

关键概念

  • 工具定义 schema
  • tool_use 与 tool_result 往返
  • 并行工具调用与失败处理

为什么学习

  • 工具调用是 Agent 与外部世界交互的唯一通道,所有框架都建立在这条协议之上。

如何检验理解

  • 裸 SDK 实现一次完整工具调用链(不经框架)
  • 设计一个工具并演示异常输入的处理

Agent 核心

手写 Agent 循环与终止保护

手写最小 Agent 循环:模型决策 → 执行工具 → 观察结果 → 再次决策;循环终止条件与最大步数保护。

建议预留 180 分钟

学习目标

  • 能手写一个最小 Agent 循环并跑通真实任务
  • 能设计循环终止与最大轮数保护

关键概念

  • 循环结构与终止条件
  • 最大步数与超时保护
  • 观察回填

为什么学习

  • 框架只是把这条循环工程化;手写一遍才能真正理解 LangGraph 在做什么。

如何检验理解

  • 手写 30 行以内的 agent 循环完成一个真实任务
  • 解释循环为什么必须有终止保护

LLM API

角色卡:字段分层与 Prompt 编译

角色卡不是一段天然会被模型看到的 Prompt,而是由字段、元数据和运行配置组成的数据对象。运行时应把 name、外在与经历、性格、scenario、开场白、示例对话等字段先规范化,再按明确顺序编译为 system、assistant 开场消息、few-shot 示例和历史消息;字段是否进入 Prompt、位于哪里、是否每轮重放,都由编译策略决定。

建议预留 120 分钟

学习目标

  • 能把角色卡字段分成设定、开场、示例、平台控制和元数据几类
  • 能画出角色卡到最终 Chat Completions 消息序列的编译流程
  • 能解释为什么 first_mes 不应作为每轮重复注入的系统提示
  • 能通过可视化的最终 Prompt 判断 original、覆盖和追加策略的影响

关键概念

  • 角色卡字段语义
  • Prompt 编译器
  • system_prompt 与 post-history 指令
  • first_mes 开场消息
  • mes_example few-shot
  • 字段到消息序列的映射

为什么学习

  • 理解角色卡真正如何影响模型,需要把字段语义和最终消息序列对应起来,并能审计每个字段的注入位置。

如何检验理解

  • 给定一张角色卡,逐字段标注“进入哪条消息、插入深度、是否重复、是否仅供 UI 使用”,并能解释一次编译结果

Agent 核心

Agent 安全:注入与权限边界

理解 prompt injection、工具滥用与不可信内容:隔离策略、权限最小化、输出处理与审计。

建议预留 150 分钟

学习目标

  • 能识别并防御常见注入攻击
  • 能设计工具执行的权限边界

关键概念

  • prompt injection
  • 工具权限最小化
  • 不可信内容隔离

为什么学习

  • Agent 会执行工具,安全边界从第一天就要建立,不能等上线后补救。

如何检验理解

  • 演示一个注入攻击并给出防御方案
  • 给工具设计权限清单并解释每项的理由

LangChain

Tools 与 Toolkits 深度

掌握 @tool 装饰器体系:参数校验、异步工具、错误处理策略、ToolNode 与工具生命周期。

建议预留 180 分钟

学习目标

  • 能写带复杂参数校验与错误处理的工具
  • 能组合多个工具成 Toolkits 并在 Agent 中使用

关键概念

  • @tool 与参数 schema
  • 异步工具与超时
  • 工具错误处理与重试

为什么学习

  • 工具质量直接决定 Agent 能力边界,官方文档与社区都强调工具是 Agent 应用的核心资产。

如何检验理解

  • 实现 3 个生产级工具(含校验、重试、日志)
  • 用一个 Agent 组合调用多个工具完成任务

LangChain

create_agent 与生产配置

使用 LangChain 高层 Agent 构造器:create_agent/create_react_agent,理解其内部如何组合 LCEL、工具与记忆。

建议预留 180 分钟

学习目标

  • 能用 create_agent 快速构造可用 Agent
  • 能读懂其生成的内部结构与执行流程

关键概念

  • create_agent API
  • 内部组件组合
  • 生产参数调优

为什么学习

  • 高层 API 是脚手架,读懂内部结构才是深度所在;两者都掌握才算会用。

如何检验理解

  • 用 create_agent 构造工具型 Agent 并演示完整流程
  • 剖析其内部执行链并解释每层职责

Agent 核心

生成钩子:Author’s Note、变量与扩展拦截器

酒馆式运行时会在模型调用前后提供多个可控插入点:Author’s Note 按深度和频率插入当前提醒,Character’s Note 把角色相关提醒放在历史附近,聊天变量保存会话级状态,STscript 与扩展则可在生成前改写上下文、在生成后处理结果或维护状态。它们不是同一种 Prompt,而是一组生成管线钩子;每个钩子都应有顺序、作用域、持久化策略和可观测的最终输出。

建议预留 120 分钟

学习目标

  • 能区分固定字段、按深度插入的提醒、会话变量和扩展拦截器
  • 能描述一次生成请求经过哪些钩子以及各钩子的执行顺序
  • 能为扩展设计作用域、权限、超时和失败隔离
  • 能通过最终 Prompt 预览验证钩子是否造成重复注入或上下文污染

关键概念

  • 生成前钩子
  • Author’s Note 深度与频率
  • Character’s Note
  • 聊天变量
  • STscript
  • 扩展拦截器
  • Prompt 可观测性

为什么学习

  • 先建立“生成管线有多个插入点”的心智模型,再分别学习提示词位置、变量作用域和扩展权限。

如何检验理解

  • 画出“卡片字段→历史拼装→Author’s Note/Character’s Note→扩展钩子→模型”的管线,并为每个节点标注输入、输出和状态归属

LangChain

Runnable 高级:并行、批处理与回退

掌握 Runnable 的并发原语:RunnableParallel、RunnableMap、RunnableLambda 与重试/回退机制。

建议预留 180 分钟

学习目标

  • 能用 RunnableParallel 并行调用多个模型或检索器
  • 能配置 fallback 链保证服务可用性

关键概念

  • RunnableParallel 并行
  • RunnableLambda 适配
  • 重试与 fallback

为什么学习

  • 生产 Agent 的延迟与可用性优化全部依赖这些原语,浅尝辄止无法写出稳定应用。

如何检验理解

  • 实现并行『摘要+关键词』双路调用并合并结果
  • 配置带 fallback 的模型调用链

LangChain

Prompt Templates 深入

掌握提示模板工程:ChatPromptTemplate、MessagePlaceholder、部分填充、模板版本化与提示管理。

建议预留 150 分钟

学习目标

  • 能用 MessagePlaceholder 构造动态工具历史
  • 能设计可版本化的提示模板体系

关键概念

  • ChatPromptTemplate 与占位符
  • 提示版本管理与回滚
  • 模板与函数组合

为什么学习

  • 提示是 Agent 的灵魂,社区实践强调模板必须可版本化、可测试,与代码同生命周期。

如何检验理解

  • 实现带会话历史占位的提示模板
  • 为提示模板写单元测试并演示回滚场景

LangChain

输出解析与 with_structured_output

掌握结构化输出:PydanticOutputParser、with_structured_output、JSON 修复(输出修复器)与类型保障。

建议预留 180 分钟

学习目标

  • 能让模型稳定输出 Pydantic 校验通过的对象
  • 能处理模型输出格式错误的恢复流程

关键概念

  • with_structured_output
  • 输出修复与重试
  • JSON Schema 与 Pydantic

为什么学习

  • Agent 与外部系统(工具、数据库、前端)的接口全部依赖结构化输出,是生产级的硬要求。

如何检验理解

  • 实现模型→Pydantic 模型的强制结构化输出
  • 演示一次格式错误后的自动修复流程

LangChain

Memory 体系:会话记忆

理解对话记忆机制:消息历史、摘要压缩、长期向量记忆与记忆的持久化边界(与 Chat History 存储分离)。

建议预留 120 分钟

学习目标

  • 能设计会话记忆的存取与清理策略
  • 能区分短期上下文与长期记忆的存储选择

关键概念

  • 消息历史管理
  • 摘要与压缩策略
  • 向量记忆与持久化

为什么学习

  • 记忆是 Agent 体验的关键,但滥用会导致上下文爆炸与成本失控,需要明确边界。

如何检验理解

  • 实现带摘要压缩的多轮记忆会话
  • 分析长对话下记忆方案的取舍并给出方案

LangChain

Model Routing 与多模型编排

理解多模型路由:按任务/成本/延迟选择模型、模型降级策略与 LangChain 的模型路由能力。

建议预留 120 分钟

学习目标

  • 能设计按任务类型路由模型的策略
  • 能解释模型降级对可用性的意义

关键概念

  • 模型路由策略
  • 成本与延迟权衡
  • 降级与容错

为什么学习

  • 生产应用必然面临多模型编排与降级问题,这是 190 小时主线中衔接『工程化』的一环。

如何检验理解

  • 设计一个任务→模型路由表并论证选择
  • 实现简单降级链并测试故障切换

LangChain

LangChain 架构与组件分层

理解 LangChain 的整体架构:Model I/O、Retrieval、Memory、Agent、Callbacks 五大模块的职责与协作。

建议预留 150 分钟

学习目标

  • 能画出 LangChain 六大核心组件的协作图
  • 能说出每个组件解决的具体问题

关键概念

  • 模型 I/O 层
  • 检索层与记忆层
  • 回调与可观测性

为什么学习

  • LangChain 是 2026 年 Agent 应用最主流的框架,理解其分层才能读懂生态文档与生产事故排查。

如何检验理解

  • 画组件分层图并标注数据流向
  • 对比 LangChain 各层与 FastAPI 中间件/路由的职责划分

框架核心

Provider 与依赖注入

学习 Provider 与依赖注入,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“Provider 与依赖注入”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“Provider 与依赖注入”的最小闭环

关键概念

  • Provider 与依赖注入
  • NestJS
  • 生产级后端

为什么学习

  • 该节点会影响架构边界或故障判断;不能只会调 API,还要能解释核心机制、边界与典型错误。

如何检验理解

  • 能够用自己的话解释“Provider 与依赖注入”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“Provider 与依赖注入”的最小闭环
  • 能画出或口述「Provider 与依赖注入」的关键机制,解释边界并诊断一个典型错误

LangChain

Chat Models 深入:消息角色与绑定工具

深入 Chat Models 接口:消息角色语义(system/user/assistant/tool)、bind_tools、多模型切换与供应商差异。

建议预留 180 分钟

学习目标

  • 能构造多角色对话消息并解释工具调用消息流
  • 能在同一接口下切换不同供应商模型

关键概念

  • 消息角色与对话状态
  • bind_tools 工具绑定
  • 模型供应商适配层

为什么学习

  • 工具调用消息流是 Agent 循环的基础,角色语义理解错误会导致最隐蔽的 bug。

如何检验理解

  • 实现带工具回调的多轮对话并观察消息历史
  • 对比两个供应商模型在同一接口下的行为差异

LangChain

LCEL 与 Runnable 协议

掌握 LCEL 声明式组合与 Runnable 协议:invoke/batch/stream、管道运算符、异步变体、与旧版 Chain 的本质区别。

建议预留 180 分钟

学习目标

  • 能写出一个可运行、可流式、可批处理的 LCEL 管道
  • 能解释 LCEL 与函数式调用在设计上的区别

关键概念

  • Runnable 协议与 invoke/batch/stream
  • 管道组合与重试
  • 流式与异步接口

为什么学习

  • LCEL 是 LangChain v1 的架构核心,社区路线普遍认为这是 LangChain 最值得深挖的部分。

如何检验理解

  • 用 LCEL 组合『检索→提示→模型→解析』管道并流式输出
  • 给管道加错误重试与超时配置

LangGraph

Subgraph:子图与图组合

理解子图机制:把复杂图拆成可复用子图、父子图状态映射、跨图共享 checkpoint。

建议预留 150 分钟

学习目标

  • 能把大图拆分为带清晰接口的子图
  • 能解释子图间状态映射规则

关键概念

  • 子图定义与嵌套
  • 父子状态映射
  • 子图复用与测试

为什么学习

  • 复杂 Agent 必然需要模块化,子图是 LangGraph 的工程化核心,社区路线明确列为深挖点。

如何检验理解

  • 把 ReAct 循环封装为子图并在两个父图中复用
  • 绘制父子图的状态流图

LangGraph

interrupt:人机交互断点

掌握 interrupt 机制:让图在关键步骤暂停等待人工确认(审批、纠错、敏感操作确认)。

建议预留 120 分钟

学习目标

  • 能实现人工审批节点并恢复执行
  • 能区分 interrupt 与普通等待的区别

关键概念

  • interrupt 与恢复
  • 人工审批流程
  • 敏感操作确认

为什么学习

  • Agent 不能完全无人值守,人工介入点是生产部署的必备能力(如转账审批)。

如何检验理解

  • 实现一个需要人工确认后才能继续的工具调用
  • 演示中断后恢复执行的全过程

LangGraph

多 Agent 编排

理解多 Agent 编排模式:主管-工人、网状协作、队列任务分发与共享状态设计。

建议预留 150 分钟

学习目标

  • 能实现主管-工人多 Agent 架构
  • 能设计多 Agent 间的任务划分与状态共享

关键概念

  • 主管-工人模式
  • 多 Agent 状态共享
  • 任务分发与合并

为什么学习

  • 复杂任务必然拆分为多 Agent 协作,官方文档有完整设计模式章节。

如何检验理解

  • 实现『主管调度+两个工人 Agent』的协作系统
  • 画出任务分发与结果合并的数据流

LangGraph

流式事件与逐步调试

掌握 astream_events/astream 系列 API:观察节点级事件流、调试图执行、流式输出给前端。

建议预留 120 分钟

学习目标

  • 能流式接收节点级事件并转发给前端
  • 能用事件流定位执行顺序问题

关键概念

  • astream_events 事件流
  • 节点级调试
  • 前后端流式对接

为什么学习

  • 生产 Agent 的前端体验与排障全部依赖事件流,这是从玩具到产品的分水岭。

如何检验理解

  • 把图的事件流转发给前端实现打字机效果
  • 用事件流排查一次节点执行顺序异常

LangGraph

节点、边与条件路由

掌握图的连接方式:普通边、条件边、START/END 节点、路由函数与循环控制的正确姿势。

建议预留 180 分钟

学习目标

  • 能实现条件路由实现『工具→结果→决策』循环
  • 能设计避免死循环的终止条件

关键概念

  • 普通边与条件边
  • 路由函数与决策逻辑
  • 循环与终止控制

为什么学习

  • Agent 的本质是有环图,条件路由是让图『活』起来的关键机制。

如何检验理解

  • 实现一个带工具循环的 ReAct 风格图
  • 给图加循环上限与异常分支

LangGraph

Time Travel:时间旅行调试

理解基于 checkpoint 的时间旅行:回滚到任意历史状态、分叉调试与状态回溯。

建议预留 90 分钟

学习目标

  • 能回滚到历史节点并重放
  • 能利用分叉机制调试 Agent 决策

关键概念

  • 状态回溯与回滚
  • 分叉调试
  • checkpoint 版本管理

为什么学习

  • 时间旅行是 LangGraph 独有的调试利器,能大幅降低 Agent 行为调试成本。

如何检验理解

  • 演示一次完整的时间旅行调试过程
  • 解释分叉状态在审计中的意义

LangGraph

Checkpoint:状态持久化

理解 Checkpointer 机制:状态快照、线程(thread_id)、断点恢复与持久化后端选择。

建议预留 120 分钟

学习目标

  • 能用 thread_id 实现会话级状态隔离
  • 能解释 checkpoint 与数据库存状态的取舍

关键概念

  • checkpointer 与线程
  • 状态快照与恢复
  • 持久化后端

为什么学习

  • 生产 Agent 必须支持恢复与审计,checkpoint 是 LangGraph 区别于其他编排框架的核心特性。

如何检验理解

  • 实现多线程会话各自独立的对话状态
  • 模拟进程重启后从 checkpoint 恢复对话

框架核心

Controller 与路由

学习 Controller 与路由,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“Controller 与路由”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“Controller 与路由”的最小闭环

关键概念

  • Controller 与路由
  • NestJS
  • 生产级后端

为什么学习

  • 该节点是可重复使用的工程能力;学习终点是脱离逐行照抄后仍能按可靠模式完成实现。

如何检验理解

  • 能够用自己的话解释“Controller 与路由”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“Controller 与路由”的最小闭环
  • 能独立完成「Controller 与路由」的最小可运行实现,并用测试、请求或日志证明其行为

LangGraph

LangGraph 入门:StateGraph 与状态

理解 LangGraph 核心概念:状态定义(State)、节点函数、图的构建与编译、与 LCEL 管道的区别。

建议预留 150 分钟

学习目标

  • 能定义带 TypedDict 状态的图并运行
  • 能解释状态在节点间的传递方式

关键概念

  • StateGraph 与 TypedDict 状态
  • 节点函数契约
  • 图编译与执行

为什么学习

  • LangGraph 是 2026 年构建生产级 Agent 的主流底层框架,官方教程已将其作为默认 Agent 构建方式。

如何检验理解

  • 实现一个 3 节点的状态图并打印每步状态
  • 对比 LangGraph 图与 LCEL 管道的适用场景

API边界

配置、环境与秘密

学习 配置、环境与秘密,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“配置、环境与秘密”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“配置、环境与秘密”的最小闭环

关键概念

  • 配置、环境与秘密
  • NestJS
  • 生产级后端

为什么学习

  • 该节点是可重复使用的工程能力;学习终点是脱离逐行照抄后仍能按可靠模式完成实现。

如何检验理解

  • 能够用自己的话解释“配置、环境与秘密”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“配置、环境与秘密”的最小闭环
  • 能独立完成「配置、环境与秘密」的最小可运行实现,并用测试、请求或日志证明其行为

Agent 综合实战

Agent 综合实战(一):工具型 Agent 应用

综合运用 LangGraph + MCP + 结构化输出,构建一个完成真实业务任务(如智能客服/数据查询)的工具型 Agent。

建议预留 420 分钟

学习目标

  • 交付一个可演示的完整 Agent 应用
  • 具备工具调用、记忆、人工介入、流式输出全部能力

关键概念

  • 完整 Agent 应用架构
  • 工具集成与记忆
  • 生产级打磨

为什么学习

  • 所有深度理解都要在综合实战中落地,本节点是主线的第一个大型交付物。

如何检验理解

  • 交付含 5+ 工具、记忆、流式输出的完整应用
  • 编写项目 README 与架构说明

Agent 模式

多 Agent 协作深入:编排模式对比

对比多 Agent 工作流五大模式:路由、并行化、编排者-工作者、评估者-优化者、自主协作的选型与代价。

建议预留 150 分钟

学习目标

  • 能根据任务特征选择多 Agent 模式
  • 能说清每个模式的适用边界

关键概念

  • 五大协作模式
  • 模式选型与代价
  • 自主协作的失控风险

为什么学习

  • Anthropic 官方《Building Effective Agents》明确强调『简单优先』,模式选型是高级决策能力。

如何检验理解

  • 为 3 个具体任务做模式选型并论证
  • 分析自主多 Agent 协作的失控风险与缓解

Agent 模式

ReAct 模式深入

深入 ReAct(Reason+Act)模式:思考-行动-观察循环的完整闭环、何时需要循环、何时停止。

建议预留 180 分钟

学习目标

  • 能手工实现 ReAct 循环并解释每一步
  • 能设计循环终止与防死循环策略

关键概念

  • Reason+Act 循环
  • 思考-行动-观察闭环
  • 终止条件设计

为什么学习

  • ReAct 是所有工具型 Agent 的理论基础,官方教程与论文都把它作为第一课。

如何检验理解

  • 不依赖框架手写一个 ReAct 循环
  • 对比手写循环与 LangGraph 实现的异同

Agent 模式

Planning 规划模式

理解规划模式:任务分解(plan-then-execute)、规划器-执行器分离与规划失败时的重新规划。

建议预留 150 分钟

学习目标

  • 能实现 plan-then-execute 架构
  • 能处理规划执行中的偏差与重新规划

关键概念

  • plan-then-execute
  • 任务分解与执行
  • 重规划策略

为什么学习

  • 复杂任务的可靠完成依赖规划,Anthropic 官方教程将其列为多智能体工作流核心模式。

如何检验理解

  • 实现『规划器→执行器』并处理一次执行失败后的重规划
  • 对比规划模式与直接 ReAct 的适用场景

Agent 模式

Reflection 反思模式

理解反思模式:生成→自我批评→改进的迭代循环、Critique 设计方法与质量提升的边界。

建议预留 150 分钟

学习目标

  • 能实现生成-批评-改进循环
  • 能设计有效的批评提示

关键概念

  • 生成-批评-改进循环
  • critique 设计
  • 质量边界与成本

为什么学习

  • 反思是提升输出质量的通用手段,社区共识认为成本与收益需要明确边界。

如何检验理解

  • 对一次代码生成任务应用反思循环并对比前后质量
  • 评估反思循环的成本收益

Agent 综合实战

实战复盘:架构评审与迭代

复盘实战一:架构决策评审、性能与成本分析、失败案例整理、明确下一实战的改进点。

建议预留 180 分钟

学习目标

  • 能对自己的架构做批判性评审
  • 能整理出可复用的模式与教训

关键概念

  • 架构评审方法
  • 成本与性能复盘
  • 经验沉淀

为什么学习

  • 复盘是深度学习的放大器,社区大佬的学习路线普遍强调『做完必须复盘』。

如何检验理解

  • 输出一份架构评审报告
  • 列出下一实战的 5 个改进点

框架核心

Service 与业务边界

学习 Service 与业务边界,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“Service 与业务边界”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“Service 与业务边界”的最小闭环

关键概念

  • Service 与业务边界
  • NestJS
  • 生产级后端

为什么学习

  • 该节点会影响架构边界或故障判断;不能只会调 API,还要能解释核心机制、边界与典型错误。

如何检验理解

  • 能够用自己的话解释“Service 与业务边界”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“Service 与业务边界”的最小闭环
  • 能画出或口述「Service 与业务边界」的关键机制,解释边界并诊断一个典型错误

框架核心

请求生命周期全景

学习 请求生命周期全景,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“请求生命周期全景”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“请求生命周期全景”的最小闭环

关键概念

  • 请求生命周期全景
  • NestJS
  • 生产级后端

为什么学习

  • 该节点会影响架构边界或故障判断;不能只会调 API,还要能解释核心机制、边界与典型错误。

如何检验理解

  • 能够用自己的话解释“请求生命周期全景”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“请求生命周期全景”的最小闭环
  • 能画出或口述「请求生命周期全景」的关键机制,解释边界并诊断一个典型错误

ML 基础

机器学习基础概念(了解)

了解 ML 基础术语:模型、训练/推理、过拟合、损失函数、监督/无监督/强化学习的边界。

建议预留 120 分钟

学习目标

  • 能看懂 LLM 论文与文档中的 ML 术语
  • 能说清训练与推理的区别

关键概念

  • 训练与推理
  • 过拟合与损失函数
  • 监督/无监督/RL 边界

为什么学习

  • 本节点只建认知不深入——Nest 后端经验里的『模型=API』心智在此补全,为理解采样、微调与评测打底。

如何检验理解

  • 用自己的话解释训练与推理的区别
  • 给 3 个术语写一句话定义(训练/过拟合/损失)

ML 基础

模型微调概览(了解)

了解微调(Fine-tuning)的动机、流程与代价:为什么先提示工程后微调、RAG 与微调的分工。

建议预留 90 分钟

学习目标

  • 能说清微调与提示工程的适用边界
  • 能评估一个场景是否需要微调

关键概念

  • 微调流程与数据
  • 与提示工程/RAG 的分工
  • 成本与维护代价

为什么学习

  • 生产决策常涉及『要不要微调』,了解边界即可,深入微调属于后续主线。

如何检验理解

  • 为一个场景论证『应微调还是用 RAG/提示』
  • 列出微调的三大成本

ML 基础

向量与嵌入(了解)

了解嵌入(Embedding)的概念:文本如何变成向量、语义相似度计算、维度与模型选型的直觉。

建议预留 120 分钟

学习目标

  • 能解释嵌入在高维空间中的语义表示
  • 能说出相似度计算的直觉原理

关键概念

  • 嵌入与语义空间
  • 余弦相似度
  • 嵌入模型选型

为什么学习

  • 嵌入是 RAG 与向量记忆的基石,只要求建立直觉不要求推导数学。

如何检验理解

  • 用两个相似句子的向量演示语义相近
  • 解释为什么嵌入比词频更能代表语义

数据一致性

ORM 集成与 Repository 边界

学习 ORM 集成与 Repository 边界,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“ORM 集成与 Repository 边界”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“ORM 集成与 Repository 边界”的最小闭环

关键概念

  • ORM 集成与 Repository 边界
  • NestJS
  • 生产级后端

为什么学习

  • 该节点是可重复使用的工程能力;学习终点是脱离逐行照抄后仍能按可靠模式完成实现。

如何检验理解

  • 能够用自己的话解释“ORM 集成与 Repository 边界”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“ORM 集成与 Repository 边界”的最小闭环
  • 能独立完成「ORM 集成与 Repository 边界」的最小可运行实现,并用测试、请求或日志证明其行为

RAG

文档解析与分块策略

掌握文档解析与分块:Markdown/PDF 解析器选择、按标题/语义/固定长度的分块策略与元数据保留。

建议预留 180 分钟

学习目标

  • 能针对不同文档类型选择解析与分块方案
  • 能论证分块大小对检索质量的影响

关键概念

  • 文档解析器
  • 分块策略与元数据
  • 分块质量评估

为什么学习

  • 分块质量直接决定检索质量,是 RAG 中最容易被忽视却最影响效果的工程环节。

如何检验理解

  • 对同一文档用 3 种分块策略检索对比质量
  • 实现保留标题层级的分块

RAG

Prompt 组装与引用溯源

掌握生成侧工程:上下文组装、引用标注、『不知道就说不知道』的拒答设计与人机可验证性。

建议预留 150 分钟

学习目标

  • 能实现带引用标注的回答
  • 能设计拒绝回答与来源冲突处理

关键概念

  • 上下文组装与截断
  • 引用溯源
  • 拒答设计

为什么学习

  • RAG 的回答必须可溯源,这是生产产品与 Demo 的核心区别,也直接关系可信度。

如何检验理解

  • 实现带引用标注的问答应用
  • 设计来源冲突时的处理策略

RAG

Embedding 与向量数据库

掌握向量检索实践:嵌入模型选型、向量数据库(Chroma/Qdrant)接入、索引参数与过滤条件。

建议预留 180 分钟

学习目标

  • 能完成文档入库与相似度检索全流程
  • 能结合元数据过滤做精确检索

关键概念

  • 向量库接入
  • 索引与搜索参数
  • 元数据过滤

为什么学习

  • 向量库是 RAG 的存储核心,选型与参数直接影响检索质量与成本。

如何检验理解

  • 用向量库实现含元数据过滤的检索服务
  • 对比不同距离度量的检索结果差异

RAG

混合检索与重排序

掌握混合检索(关键词+向量)与重排序(RRF 融合、cross-encoder reranker)的完整链路。

建议预留 180 分钟

学习目标

  • 能实现混合检索与结果融合
  • 能接入 reranker 并评估质量提升

关键概念

  • 混合检索与 RRF
  • cross-encoder reranker
  • 检索质量评估

为什么学习

  • 社区共识:纯向量检索难以满足生产质量,混合检索+重排是 2026 年的标准配置。

如何检验理解

  • 实现混合检索并量化对比纯向量检索
  • 接入 reranker 前后做一次质量对比

RAG

RAG 评估与 RAGAS

掌握 RAG 评估体系:RAGAS 指标(忠实度/相关性/上下文精度/召回)、评估集构建与回归测试。

建议预留 180 分钟

学习目标

  • 能用 RAGAS 对 RAG 系统打分
  • 能构建评估集并建立回归机制

关键概念

  • RAGAS 四大指标
  • 评估集构建
  • 评估自动化

为什么学习

  • 没有评估就没有优化依据,社区路线明确把 RAG 评估列为深挖点,是工程师与玩具开发者的分界。

如何检验理解

  • 用 RAGAS 评估自己的 RAG 系统并给出优化点
  • 构建 20 条评估集并跑回归

RAG

查询改写与多查询检索

理解查询侧优化:查询改写(Rewrite)、多查询分解(Multi-Query)、HyDE 与查询意图理解。

建议预留 120 分钟

学习目标

  • 能实现查询改写与多查询扩展
  • 能评估查询优化带来的收益

关键概念

  • 查询改写
  • 多查询分解
  • HyDE 与意图理解

为什么学习

  • 用户查询与文档语言差异是检索失配的主因,查询侧优化是低成本高收益的杠杆。

如何检验理解

  • 实现改写+多查询并对比单查询检索质量
  • 分析一次失配检索的根因

RAG

Agentic RAG:检索进入 Agent 循环

理解 Agentic RAG:LLM 自主决定检索时机、检索工具化、多轮检索与自反思式检索(Self-RAG 思路)。

建议预留 150 分钟

学习目标

  • 能把检索封装为工具并接入 Agent 循环
  • 能设计『先查再答』的自主决策流程

关键概念

  • 检索工具化
  • 自主检索决策
  • Self-RAG 思路

为什么学习

  • 固定流程 RAG 无法应对复杂问题,Agentic RAG 是 2026 年社区公认的进阶方向。

如何检验理解

  • 实现检索工具接入 LangGraph 的 Agent
  • 对比固定流程与自主检索的问答质量

RAG

RAG 综合实战:知识问答 Agent

综合运用 RAG 全链路(解析→分块→混合检索→重排→生成→溯源)+ RAGAS 评估,构建文档问答 Agent。

建议预留 420 分钟

学习目标

  • 交付带评估报告的完整 RAG 问答系统
  • 具备混合检索、溯源、拒答全部能力

关键概念

  • 全链路集成
  • 评估与迭代闭环
  • 工程化打磨

为什么学习

  • 主线的第二个大型交付物,要求『先评估后优化』的工程闭环。

如何检验理解

  • 交付完整 RAG 问答应用+评估报告
  • 附 3 轮迭代的指标变化记录

RAG

RAG 架构与完整流程

理解 RAG 全流程:索引(解析→分块→嵌入→入库)与检索(查询→召回→重排→生成),以及各环节的失效风险。

建议预留 120 分钟

学习目标

  • 能画出 RAG 完整架构图
  • 能指出每个环节可能失效的位置

关键概念

  • 索引流水线
  • 检索-生成闭环
  • 失效风险分布

为什么学习

  • RAG 是知识型 Agent 应用的事实标准,官方课程与社区路线均独立成章且标注为深挖重点。

如何检验理解

  • 画 RAG 全流程图并标注每环节风险
  • 分析一个真实 RAG 产品的环节缺陷

API边界

Middleware

学习 Middleware,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“Middleware”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“Middleware”的最小闭环

关键概念

  • Middleware
  • NestJS
  • 生产级后端

为什么学习

  • 该节点是可重复使用的工程能力;学习终点是脱离逐行照抄后仍能按可靠模式完成实现。

如何检验理解

  • 能够用自己的话解释“Middleware”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“Middleware”的最小闭环
  • 能独立完成「Middleware」的最小可运行实现,并用测试、请求或日志证明其行为

RAG

RAG 失败模式与调优

掌握 RAG 的典型失败模式:召回不全、上下文冲突、幻觉残留、时序错乱,以及对应的调优手段。

建议预留 120 分钟

学习目标

  • 能诊断 RAG 失败并定位环节
  • 能给出针对性的调优方案

关键概念

  • 失败模式分类
  • 逐环节调优
  • 效果验证方法

为什么学习

  • 生产 RAG 问题大多可归因于少数已知模式,学会系统诊断比堆功能更有价值。

如何检验理解

  • 为 3 个失败案例做诊断并给出调优方案
  • 总结自己的 RAG 调优检查清单

API边界

DTO、Pipe、验证与转换

学习 DTO、Pipe、验证与转换,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“DTO、Pipe、验证与转换”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“DTO、Pipe、验证与转换”的最小闭环

关键概念

  • DTO、Pipe、验证与转换
  • NestJS
  • 生产级后端

为什么学习

  • 该节点是可重复使用的工程能力;学习终点是脱离逐行照抄后仍能按可靠模式完成实现。

如何检验理解

  • 能够用自己的话解释“DTO、Pipe、验证与转换”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“DTO、Pipe、验证与转换”的最小闭环
  • 能独立完成「DTO、Pipe、验证与转换」的最小可运行实现,并用测试、请求或日志证明其行为

API边界

Guard 与访问决策

学习 Guard 与访问决策,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“Guard 与访问决策”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“Guard 与访问决策”的最小闭环

关键概念

  • Guard 与访问决策
  • NestJS
  • 生产级后端

为什么学习

  • 该节点会影响架构边界或故障判断;不能只会调 API,还要能解释核心机制、边界与典型错误。

如何检验理解

  • 能够用自己的话解释“Guard 与访问决策”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“Guard 与访问决策”的最小闭环
  • 能画出或口述「Guard 与访问决策」的关键机制,解释边界并诊断一个典型错误

数据一致性

Migration、Seed 与 Schema 演进

学习 Migration、Seed 与 Schema 演进,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“Migration、Seed 与 Schema 演进”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“Migration、Seed 与 Schema 演进”的最小闭环

关键概念

  • Migration、Seed 与 Schema 演进
  • NestJS
  • 生产级后端

为什么学习

  • 该节点是可重复使用的工程能力;学习终点是脱离逐行照抄后仍能按可靠模式完成实现。

如何检验理解

  • 能够用自己的话解释“Migration、Seed 与 Schema 演进”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“Migration、Seed 与 Schema 演进”的最小闭环
  • 能独立完成「Migration、Seed 与 Schema 演进」的最小可运行实现,并用测试、请求或日志证明其行为

生产工程

模块化单体与领域边界

学习 模块化单体与领域边界,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“模块化单体与领域边界”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“模块化单体与领域边界”的最小闭环

关键概念

  • 模块化单体与领域边界
  • NestJS
  • 生产级后端

为什么学习

  • 该节点会影响架构边界或故障判断;不能只会调 API,还要能解释核心机制、边界与典型错误。

如何检验理解

  • 能够用自己的话解释“模块化单体与领域边界”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“模块化单体与领域边界”的最小闭环
  • 能画出或口述「模块化单体与领域边界」的关键机制,解释边界并诊断一个典型错误

API边界

异常与 Exception Filter

学习 异常与 Exception Filter,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“异常与 Exception Filter”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“异常与 Exception Filter”的最小闭环

关键概念

  • 异常与 Exception Filter
  • NestJS
  • 生产级后端

为什么学习

  • 该节点是可重复使用的工程能力;学习终点是脱离逐行照抄后仍能按可靠模式完成实现。

如何检验理解

  • 能够用自己的话解释“异常与 Exception Filter”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“异常与 Exception Filter”的最小闭环
  • 能独立完成「异常与 Exception Filter」的最小可运行实现,并用测试、请求或日志证明其行为

生产化

性能优化与成本治理

掌握 LLM 应用性能与成本:缓存(语义缓存/前缀缓存)、批处理、模型分级与用量治理。

建议预留 120 分钟

学习目标

  • 能设计缓存与批处理优化方案
  • 能建立成本治理机制

关键概念

  • 语义与前缀缓存
  • 批处理与并发
  • 成本治理与配额

为什么学习

  • LLM 应用的边际成本显著,成本治理是生产应用能否持续运营的关键。

如何检验理解

  • 为已有应用设计缓存与分级方案
  • 制定月度成本预算与超支告警

生产化

可观测性与日志追踪

理解 Agent 应用的可观测性:Token 用量与成本日志、LangSmith 类追踪、请求链路与异常监控。

建议预留 120 分钟

学习目标

  • 能追踪一次 Agent 调用的完整链路
  • 能设计成本与用量监控面板

关键概念

  • 链路追踪(LangSmith 等)
  • 成本与用量监控
  • 异常与告警

为什么学习

  • Agent 应用是异步多跳系统,没有可观测性就无法定位问题,与 NestJS 日志体系思路相通。

如何检验理解

  • 接入追踪工具查看一次调用的完整链路
  • 设计成本告警规则

生产化

评测工程化:离线与在线评估

掌握评测体系工程化:评估集管理、回归流水线、Golden Set、在线 A/B 与上线门槛。

建议预留 150 分钟

学习目标

  • 能搭建自动化评测流水线
  • 能制定上线质量门槛

关键概念

  • 回归流水线与 Golden Set
  • 在线 A/B 评估
  • 上线门槛设计

为什么学习

  • 从『能跑』到『能上线』的分界是评测体系,这是生产级工程师的必备能力。

如何检验理解

  • 为已有应用搭建评测回归流水线
  • 制定一份上线检查清单

生产化

生产安全与合规(了解)

了解 AI 应用的安全与合规基线:数据脱敏、日志隐私、内容过滤与合规红线(与后端安全课的对照)。

建议预留 90 分钟

学习目标

  • 能识别常见隐私与合规风险
  • 能说出安全基线清单

关键概念

  • 数据脱敏与隐私
  • 内容安全过滤
  • 合规红线

为什么学习

  • 安全要求已在 Agent 安全节点与 NestJS 课程覆盖细节,这里聚焦部署侧基线。

如何检验理解

  • 为应用做一次安全基线检查并输出清单
  • 列出 5 条合规红线

生产化

生产部署(了解)

了解生产部署要点:Docker 化、FastAPI 部署、并发与长连接、限流与扩容的基本思路。

建议预留 120 分钟

学习目标

  • 能理解部署拓扑并完成基础容器化
  • 能说出限流与扩容的基本策略

关键概念

  • 容器化与部署
  • 限流与扩容
  • 与 NestJS 部署的对照

为什么学习

  • 部署细节在 NestJS 项目深入,本节点建立 Python 侧的部署对照认知即可。

如何检验理解

  • 完成应用的 Docker 化并本地跑通
  • 对照 NestJS 部署列出异同表

毕业项目

项目复盘与毕业评估

系统复盘整个学习路径:各节点知识在毕业项目中的落点、薄弱环节识别、后续学习路线规划。

建议预留 180 分钟

学习目标

  • 能评估自己各领域的真实掌握程度
  • 能制定下一阶段学习计划

关键概念

  • 知识落点复盘
  • 薄弱环节识别
  • 后续路线规划

为什么学习

  • 复盘是主线收尾:把 74 个节点映射到项目中的实际落点,形成下一阶段路线。

如何检验理解

  • 输出学习复盘报告
  • 制定下一阶段 4 周学习计划

生产化

LLM 应用安全加固

综合应用安全实践:输入净化、输出审核、工具白名单、敏感操作二次确认与审计日志。

建议预留 120 分钟

学习目标

  • 能为 Agent 应用做端到端安全加固
  • 能设计安全测试方案

关键概念

  • 输入净化与输出审核
  • 工具白名单与二次确认
  • 审计与追溯

为什么学习

  • 把安全节点学到的原理落实为完整的生产加固方案,是交付前的必做项。

如何检验理解

  • 为实战应用做安全加固并演示攻击失败
  • 输出安全加固文档

毕业项目

毕业项目:成熟 AI Agent 应用

独立完成毕业项目:综合 Agent 核心 + MCP + LangGraph + RAG + 评测 + 生产化,交付一个成熟的 AI 应用。

建议预留 600 分钟

学习目标

  • 交付完整可部署的应用与文档
  • 具备评估报告与安全加固
  • 架构决策有依据

关键概念

  • 端到端产品设计
  • 全部技术栈综合运用
  • 工程文档与交付

为什么学习

  • 毕业项目是 2 个月主线的验收物:能用全部所学独立交付一个成熟 AI Agent 应用。

如何检验理解

  • 交付完整项目(代码+文档+评估报告+部署方案)
  • 做一次 15 分钟项目答辩演示

安全与测试

单元测试与依赖替换

学习 单元测试与依赖替换,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“单元测试与依赖替换”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“单元测试与依赖替换”的最小闭环

关键概念

  • 单元测试与依赖替换
  • NestJS
  • 生产级后端

为什么学习

  • 该节点是可重复使用的工程能力;学习终点是脱离逐行照抄后仍能按可靠模式完成实现。

如何检验理解

  • 能够用自己的话解释“单元测试与依赖替换”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“单元测试与依赖替换”的最小闭环
  • 能独立完成「单元测试与依赖替换」的最小可运行实现,并用测试、请求或日志证明其行为

API边界

Interceptor 与 AOP

学习 Interceptor 与 AOP,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“Interceptor 与 AOP”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“Interceptor 与 AOP”的最小闭环

关键概念

  • Interceptor 与 AOP
  • NestJS
  • 生产级后端

为什么学习

  • 该节点会影响架构边界或故障判断;不能只会调 API,还要能解释核心机制、边界与典型错误。

如何检验理解

  • 能够用自己的话解释“Interceptor 与 AOP”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“Interceptor 与 AOP”的最小闭环
  • 能画出或口述「Interceptor 与 AOP」的关键机制,解释边界并诊断一个典型错误

API边界

REST 资源建模与 API 契约

学习 REST 资源建模与 API 契约,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“REST 资源建模与 API 契约”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“REST 资源建模与 API 契约”的最小闭环

关键概念

  • REST 资源建模与 API 契约
  • NestJS
  • 生产级后端

为什么学习

  • 该节点会影响架构边界或故障判断;不能只会调 API,还要能解释核心机制、边界与典型错误。

如何检验理解

  • 能够用自己的话解释“REST 资源建模与 API 契约”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“REST 资源建模与 API 契约”的最小闭环
  • 能画出或口述「REST 资源建模与 API 契约」的关键机制,解释边界并诊断一个典型错误

生产工程

结构化日志与请求关联

学习 结构化日志与请求关联,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“结构化日志与请求关联”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“结构化日志与请求关联”的最小闭环

关键概念

  • 结构化日志与请求关联
  • NestJS
  • 生产级后端

为什么学习

  • 该节点是可重复使用的工程能力;学习终点是脱离逐行照抄后仍能按可靠模式完成实现。

如何检验理解

  • 能够用自己的话解释“结构化日志与请求关联”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“结构化日志与请求关联”的最小闭环
  • 能独立完成「结构化日志与请求关联」的最小可运行实现,并用测试、请求或日志证明其行为

API边界

自定义装饰器与 ExecutionContext

学习 自定义装饰器与 ExecutionContext,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“自定义装饰器与 ExecutionContext”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“自定义装饰器与 ExecutionContext”的最小闭环

关键概念

  • 自定义装饰器与 ExecutionContext
  • NestJS
  • 生产级后端

为什么学习

  • 该节点会影响架构边界或故障判断;不能只会调 API,还要能解释核心机制、边界与典型错误。

如何检验理解

  • 能够用自己的话解释“自定义装饰器与 ExecutionContext”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“自定义装饰器与 ExecutionContext”的最小闭环
  • 能画出或口述「自定义装饰器与 ExecutionContext」的关键机制,解释边界并诊断一个典型错误

API边界

OpenAPI / Swagger

学习 OpenAPI / Swagger,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“OpenAPI / Swagger”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“OpenAPI / Swagger”的最小闭环

关键概念

  • OpenAPI / Swagger
  • NestJS
  • 生产级后端

为什么学习

  • 该节点是可重复使用的工程能力;学习终点是脱离逐行照抄后仍能按可靠模式完成实现。

如何检验理解

  • 能够用自己的话解释“OpenAPI / Swagger”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“OpenAPI / Swagger”的最小闭环
  • 能独立完成「OpenAPI / Swagger」的最小可运行实现,并用测试、请求或日志证明其行为

数据一致性

事务、并发与幂等

学习 事务、并发与幂等,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“事务、并发与幂等”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“事务、并发与幂等”的最小闭环

关键概念

  • 事务、并发与幂等
  • NestJS
  • 生产级后端

为什么学习

  • 该节点是生产级后端的关键能力;需要在需求、流量、失败或安全约束改变时重新应用和验证。

如何检验理解

  • 能够用自己的话解释“事务、并发与幂等”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“事务、并发与幂等”的最小闭环
  • 能在约束变化或故障注入后重新设计「事务、并发与幂等」,并用自动化证据验证关键性质

数据一致性

序列化与数据泄漏防护

学习 序列化与数据泄漏防护,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“序列化与数据泄漏防护”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“序列化与数据泄漏防护”的最小闭环

关键概念

  • 序列化与数据泄漏防护
  • NestJS
  • 生产级后端

为什么学习

  • 该节点是可重复使用的工程能力;学习终点是脱离逐行照抄后仍能按可靠模式完成实现。

如何检验理解

  • 能够用自己的话解释“序列化与数据泄漏防护”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“序列化与数据泄漏防护”的最小闭环
  • 能独立完成「序列化与数据泄漏防护」的最小可运行实现,并用测试、请求或日志证明其行为

生产工程

外部 HTTP 集成与韧性

学习 外部 HTTP 集成与韧性,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“外部 HTTP 集成与韧性”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“外部 HTTP 集成与韧性”的最小闭环

关键概念

  • 外部 HTTP 集成与韧性
  • NestJS
  • 生产级后端

为什么学习

  • 该节点是生产级后端的关键能力;需要在需求、流量、失败或安全约束改变时重新应用和验证。

如何检验理解

  • 能够用自己的话解释“外部 HTTP 集成与韧性”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“外部 HTTP 集成与韧性”的最小闭环
  • 能在约束变化或故障注入后重新设计「外部 HTTP 集成与韧性」,并用自动化证据验证关键性质

安全与测试

身份认证:密码与 JWT

学习 身份认证:密码与 JWT,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“身份认证:密码与 JWT”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“身份认证:密码与 JWT”的最小闭环

关键概念

  • 身份认证:密码与 JWT
  • NestJS
  • 生产级后端

为什么学习

  • 该节点是可重复使用的工程能力;学习终点是脱离逐行照抄后仍能按可靠模式完成实现。

如何检验理解

  • 能够用自己的话解释“身份认证:密码与 JWT”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“身份认证:密码与 JWT”的最小闭环
  • 能独立完成「身份认证:密码与 JWT」的最小可运行实现,并用测试、请求或日志证明其行为

安全与测试

数据库集成测试

学习 数据库集成测试,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“数据库集成测试”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“数据库集成测试”的最小闭环

关键概念

  • 数据库集成测试
  • NestJS
  • 生产级后端

为什么学习

  • 该节点是可重复使用的工程能力;学习终点是脱离逐行照抄后仍能按可靠模式完成实现。

如何检验理解

  • 能够用自己的话解释“数据库集成测试”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“数据库集成测试”的最小闭环
  • 能独立完成「数据库集成测试」的最小可运行实现,并用测试、请求或日志证明其行为

生产工程

事件、定时任务与后台队列

学习 事件、定时任务与后台队列,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“事件、定时任务与后台队列”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“事件、定时任务与后台队列”的最小闭环

关键概念

  • 事件、定时任务与后台队列
  • NestJS
  • 生产级后端

为什么学习

  • 该节点是可重复使用的工程能力;学习终点是脱离逐行照抄后仍能按可靠模式完成实现。

如何检验理解

  • 能够用自己的话解释“事件、定时任务与后台队列”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“事件、定时任务与后台队列”的最小闭环
  • 能独立完成「事件、定时任务与后台队列」的最小可运行实现,并用测试、请求或日志证明其行为

生产工程

缓存与 Redis

学习 缓存与 Redis,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“缓存与 Redis”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“缓存与 Redis”的最小闭环

关键概念

  • 缓存与 Redis
  • NestJS
  • 生产级后端

为什么学习

  • 该节点是可重复使用的工程能力;学习终点是脱离逐行照抄后仍能按可靠模式完成实现。

如何检验理解

  • 能够用自己的话解释“缓存与 Redis”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“缓存与 Redis”的最小闭环
  • 能独立完成「缓存与 Redis」的最小可运行实现,并用测试、请求或日志证明其行为

延后分支

高级 DI、动态模块与作用域

按真实项目需求进入的高级分支:高级 DI、动态模块与作用域,不阻塞模块化单体主线。

建议预留 180 分钟

学习目标

  • 能够用自己的话解释“高级 DI、动态模块与作用域”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“高级 DI、动态模块与作用域”的最小闭环

关键概念

  • 高级 DI、动态模块与作用域
  • NestJS
  • 条件性高级能力

为什么学习

  • 该节点会影响架构边界或故障判断;不能只会调 API,还要能解释核心机制、边界与典型错误。

如何检验理解

  • 能够用自己的话解释“高级 DI、动态模块与作用域”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“高级 DI、动态模块与作用域”的最小闭环
  • 能画出或口述「高级 DI、动态模块与作用域」的关键机制,解释边界并诊断一个典型错误

延后分支

Hexagonal Architecture 与 DDD

按真实项目需求进入的高级分支:Hexagonal Architecture 与 DDD,不阻塞模块化单体主线。

建议预留 180 分钟

学习目标

  • 能够用自己的话解释“Hexagonal Architecture 与 DDD”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“Hexagonal Architecture 与 DDD”的最小闭环

关键概念

  • Hexagonal Architecture 与 DDD
  • NestJS
  • 条件性高级能力

为什么学习

  • 该节点会影响架构边界或故障判断;不能只会调 API,还要能解释核心机制、边界与典型错误。

如何检验理解

  • 能够用自己的话解释“Hexagonal Architecture 与 DDD”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“Hexagonal Architecture 与 DDD”的最小闭环
  • 能画出或口述「Hexagonal Architecture 与 DDD」的关键机制,解释边界并诊断一个典型错误

产品后端能力

模块边界、业务用例与 API 契约

把用户、会话、Agent 运行、工具、用量等能力分开;明确 HTTP 资源、状态码、分页、版本和稳定错误格式。 Controller、数据库与第三方 SDK 互相缠绕;一次模型或数据库变更扩散全局;客户端无法稳定集成。

建议预留 120 分钟

学习目标

  • 主要模块只有显式导出
  • 业务规则可脱离 HTTP 测试
  • OpenAPI 可驱动关键用户旅程
  • 破坏性契约变更会被测试阻止。

关键概念

  • A1
  • 模块边界、业务用例与 API 契约
  • 产品后端能力

为什么学习

  • 该节点是生产级后端的关键能力;需要在需求、流量、失败或安全约束改变时重新应用和验证。

如何检验理解

  • 主要模块只有显式导出
  • 业务规则可脱离 HTTP 测试
  • OpenAPI 可驱动关键用户旅程
  • 破坏性契约变更会被测试阻止。
  • 能在约束变化或故障注入后重新设计「模块边界、业务用例与 API 契约」,并用自动化证据验证关键性质

产品后端能力

输入验证、输出序列化与一致错误语义

把网络输入视为不可信;拒绝未知字段、限制大小和格式;不返回密码、密钥、内部堆栈或跨用户数据。 脏数据进入数据库;mass assignment;内部细节泄露;前端无法区分业务拒绝、暂时失败和系统故障。

建议预留 120 分钟

学习目标

  • 无效、超长和多余字段有负向测试
  • 错误响应含稳定 code/correlation id
  • 敏感字段永不出现在 API 与日志快照中。

关键概念

  • A3
  • 输入验证、输出序列化与一致错误语义
  • 产品后端能力

为什么学习

  • 该节点会影响架构边界或故障判断;不能只会调 API,还要能解释核心机制、边界与典型错误。

如何检验理解

  • 无效、超长和多余字段有负向测试
  • 错误响应含稳定 code/correlation id
  • 敏感字段永不出现在 API 与日志快照中。
  • 能画出或口述「输入验证、输出序列化与一致错误语义」的关键机制,解释边界并诊断一个典型错误

产品后端能力

关系数据建模、约束、事务与迁移

可靠保存用户、会话、run、消息、工具调用、用量和审计记录;用约束和事务维护跨表不变量。 重复扣费、孤儿消息、run 状态矛盾、并发更新丢失;生产数据库无法安全升级或回滚。

建议预留 120 分钟

学习目标

  • 空库可由 migration 重建
  • 并发测试证明唯一约束和状态转换有效
  • 故意中断事务后无半成品
  • 慢查询可由执行计划解释。

关键概念

  • A4
  • 关系数据建模、约束、事务与迁移
  • 产品后端能力

为什么学习

  • 该节点是生产级后端的关键能力;需要在需求、流量、失败或安全约束改变时重新应用和验证。

如何检验理解

  • 空库可由 migration 重建
  • 并发测试证明唯一约束和状态转换有效
  • 故意中断事务后无半成品
  • 慢查询可由执行计划解释。
  • 能在约束变化或故障注入后重新设计「关系数据建模、约束、事务与迁移」,并用自动化证据验证关键性质

安全与测试

Refresh Token、Session 与撤销

学习 Refresh Token、Session 与撤销,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“Refresh Token、Session 与撤销”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“Refresh Token、Session 与撤销”的最小闭环

关键概念

  • Refresh Token、Session 与撤销
  • NestJS
  • 生产级后端

为什么学习

  • 该节点会影响架构边界或故障判断;不能只会调 API,还要能解释核心机制、边界与典型错误。

如何检验理解

  • 能够用自己的话解释“Refresh Token、Session 与撤销”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“Refresh Token、Session 与撤销”的最小闭环
  • 能画出或口述「Refresh Token、Session 与撤销」的关键机制,解释边界并诊断一个典型错误

安全与测试

授权:RBAC、Claims 与资源权限

学习 授权:RBAC、Claims 与资源权限,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“授权:RBAC、Claims 与资源权限”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“授权:RBAC、Claims 与资源权限”的最小闭环

关键概念

  • 授权:RBAC、Claims 与资源权限
  • NestJS
  • 生产级后端

为什么学习

  • 该节点会影响架构边界或故障判断;不能只会调 API,还要能解释核心机制、边界与典型错误。

如何检验理解

  • 能够用自己的话解释“授权:RBAC、Claims 与资源权限”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“授权:RBAC、Claims 与资源权限”的最小闭环
  • 能画出或口述「授权:RBAC、Claims 与资源权限」的关键机制,解释边界并诊断一个典型错误

生产工程

健康检查、生命周期与优雅停机

学习 健康检查、生命周期与优雅停机,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“健康检查、生命周期与优雅停机”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“健康检查、生命周期与优雅停机”的最小闭环

关键概念

  • 健康检查、生命周期与优雅停机
  • NestJS
  • 生产级后端

为什么学习

  • 该节点是可重复使用的工程能力;学习终点是脱离逐行照抄后仍能按可靠模式完成实现。

如何检验理解

  • 能够用自己的话解释“健康检查、生命周期与优雅停机”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“健康检查、生命周期与优雅停机”的最小闭环
  • 能独立完成「健康检查、生命周期与优雅停机」的最小可运行实现,并用测试、请求或日志证明其行为

延后分支

CQRS 与领域事件

按真实项目需求进入的高级分支:CQRS 与领域事件,不阻塞模块化单体主线。

建议预留 180 分钟

学习目标

  • 能够用自己的话解释“CQRS 与领域事件”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“CQRS 与领域事件”的最小闭环

关键概念

  • CQRS 与领域事件
  • NestJS
  • 条件性高级能力

为什么学习

  • 该节点在当前路线中主要用于建立边界意识;现阶段应能识别它何时需要、何时可以延后。

如何检验理解

  • 能够用自己的话解释“CQRS 与领域事件”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“CQRS 与领域事件”的最小闭环
  • 面对需求或架构图时,能指出「CQRS 与领域事件」的用途、触发条件和可延后边界

延后分支

Nest Microservice 基础

按真实项目需求进入的高级分支:Nest Microservice 基础,不阻塞模块化单体主线。

建议预留 180 分钟

学习目标

  • 能够用自己的话解释“Nest Microservice 基础”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“Nest Microservice 基础”的最小闭环

关键概念

  • Nest Microservice 基础
  • NestJS
  • 条件性高级能力

为什么学习

  • 该节点在当前路线中主要用于建立边界意识;现阶段应能识别它何时需要、何时可以延后。

如何检验理解

  • 能够用自己的话解释“Nest Microservice 基础”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“Nest Microservice 基础”的最小闭环
  • 面对需求或架构图时,能指出「Nest Microservice 基础」的用途、触发条件和可延后边界

安全与测试

Web 安全基线

学习 Web 安全基线,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“Web 安全基线”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“Web 安全基线”的最小闭环

关键概念

  • Web 安全基线
  • NestJS
  • 生产级后端

为什么学习

  • 该节点会影响架构边界或故障判断;不能只会调 API,还要能解释核心机制、边界与典型错误。

如何检验理解

  • 能够用自己的话解释“Web 安全基线”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“Web 安全基线”的最小闭环
  • 能画出或口述「Web 安全基线」的关键机制,解释边界并诊断一个典型错误

安全与测试

E2E 与契约测试

学习 E2E 与契约测试,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“E2E 与契约测试”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“E2E 与契约测试”的最小闭环

关键概念

  • E2E 与契约测试
  • NestJS
  • 生产级后端

为什么学习

  • 该节点是可重复使用的工程能力;学习终点是脱离逐行照抄后仍能按可靠模式完成实现。

如何检验理解

  • 能够用自己的话解释“E2E 与契约测试”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“E2E 与契约测试”的最小闭环
  • 能独立完成「E2E 与契约测试」的最小可运行实现,并用测试、请求或日志证明其行为

生产工程

Metrics、Tracing 与可观测性

学习 Metrics、Tracing 与可观测性,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“Metrics、Tracing 与可观测性”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“Metrics、Tracing 与可观测性”的最小闭环

关键概念

  • Metrics、Tracing 与可观测性
  • NestJS
  • 生产级后端

为什么学习

  • 该节点是生产级后端的关键能力;需要在需求、流量、失败或安全约束改变时重新应用和验证。

如何检验理解

  • 能够用自己的话解释“Metrics、Tracing 与可观测性”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“Metrics、Tracing 与可观测性”的最小闭环
  • 能在约束变化或故障注入后重新设计「Metrics、Tracing 与可观测性」,并用自动化证据验证关键性质

延后分支

消息语义与 Broker 可靠性

按真实项目需求进入的高级分支:消息语义与 Broker 可靠性,不阻塞模块化单体主线。

建议预留 180 分钟

学习目标

  • 能够用自己的话解释“消息语义与 Broker 可靠性”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“消息语义与 Broker 可靠性”的最小闭环

关键概念

  • 消息语义与 Broker 可靠性
  • NestJS
  • 条件性高级能力

为什么学习

  • 该节点会影响架构边界或故障判断;不能只会调 API,还要能解释核心机制、边界与典型错误。

如何检验理解

  • 能够用自己的话解释“消息语义与 Broker 可靠性”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“消息语义与 Broker 可靠性”的最小闭环
  • 能画出或口述「消息语义与 Broker 可靠性」的关键机制,解释边界并诊断一个典型错误

安全与测试

限流与滥用防护

学习 限流与滥用防护,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“限流与滥用防护”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“限流与滥用防护”的最小闭环

关键概念

  • 限流与滥用防护
  • NestJS
  • 生产级后端

为什么学习

  • 该节点是可重复使用的工程能力;学习终点是脱离逐行照抄后仍能按可靠模式完成实现。

如何检验理解

  • 能够用自己的话解释“限流与滥用防护”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“限流与滥用防护”的最小闭环
  • 能独立完成「限流与滥用防护」的最小可运行实现,并用测试、请求或日志证明其行为

生产工程

性能、Fastify 与负载测试

学习 性能、Fastify 与负载测试,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“性能、Fastify 与负载测试”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“性能、Fastify 与负载测试”的最小闭环

关键概念

  • 性能、Fastify 与负载测试
  • NestJS
  • 生产级后端

为什么学习

  • 该节点是生产级后端的关键能力;需要在需求、流量、失败或安全约束改变时重新应用和验证。

如何检验理解

  • 能够用自己的话解释“性能、Fastify 与负载测试”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“性能、Fastify 与负载测试”的最小闭环
  • 能在约束变化或故障注入后重新设计「性能、Fastify 与负载测试」,并用自动化证据验证关键性质

延后分支

WebSocket 与 SSE

按真实项目需求进入的高级分支:WebSocket 与 SSE,不阻塞模块化单体主线。

建议预留 180 分钟

学习目标

  • 能够用自己的话解释“WebSocket 与 SSE”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“WebSocket 与 SSE”的最小闭环

关键概念

  • WebSocket 与 SSE
  • NestJS
  • 条件性高级能力

为什么学习

  • 该节点是可重复使用的工程能力;学习终点是脱离逐行照抄后仍能按可靠模式完成实现。

如何检验理解

  • 能够用自己的话解释“WebSocket 与 SSE”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“WebSocket 与 SSE”的最小闭环
  • 能独立完成「WebSocket 与 SSE」的最小可运行实现,并用测试、请求或日志证明其行为

延后分支

GraphQL 与 Federation

按真实项目需求进入的高级分支:GraphQL 与 Federation,不阻塞模块化单体主线。

建议预留 180 分钟

学习目标

  • 能够用自己的话解释“GraphQL 与 Federation”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“GraphQL 与 Federation”的最小闭环

关键概念

  • GraphQL 与 Federation
  • NestJS
  • 条件性高级能力

为什么学习

  • 该节点在当前路线中主要用于建立边界意识;现阶段应能识别它何时需要、何时可以延后。

如何检验理解

  • 能够用自己的话解释“GraphQL 与 Federation”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“GraphQL 与 Federation”的最小闭环
  • 面对需求或架构图时,能指出「GraphQL 与 Federation」的用途、触发条件和可延后边界

延后分支

gRPC 与类型化服务契约

按真实项目需求进入的高级分支:gRPC 与类型化服务契约,不阻塞模块化单体主线。

建议预留 180 分钟

学习目标

  • 能够用自己的话解释“gRPC 与类型化服务契约”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“gRPC 与类型化服务契约”的最小闭环

关键概念

  • gRPC 与类型化服务契约
  • NestJS
  • 条件性高级能力

为什么学习

  • 该节点在当前路线中主要用于建立边界意识;现阶段应能识别它何时需要、何时可以延后。

如何检验理解

  • 能够用自己的话解释“gRPC 与类型化服务契约”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“gRPC 与类型化服务契约”的最小闭环
  • 面对需求或架构图时,能指出「gRPC 与类型化服务契约」的用途、触发条件和可延后边界

产品后端能力

身份认证、授权与多用户数据隔离

确认“谁在调用”、能操作哪个资源;每次查询和写入都受资源所有权或角色/权限约束。 跨用户读取会话、越权调用工具、普通用户执行管理操作;AI 的 system prompt 不能弥补这些漏洞。

建议预留 120 分钟

学习目标

  • 缺失/过期/伪造凭证均被拒
  • 用户 A 无法用枚举 ID 访问用户 B 的会话和运行
  • 工具端再次校验权限而非信任模型决定。

关键概念

  • A2
  • 身份认证、授权与多用户数据隔离
  • 产品后端能力

为什么学习

  • 该节点是生产级后端的关键能力;需要在需求、流量、失败或安全约束改变时重新应用和验证。

如何检验理解

  • 缺失/过期/伪造凭证均被拒
  • 用户 A 无法用枚举 ID 访问用户 B 的会话和运行
  • 工具端再次校验权限而非信任模型决定。
  • 能在约束变化或故障注入后重新设计「身份认证、授权与多用户数据隔离」,并用自动化证据验证关键性质

产品后端能力

配置、密钥与环境隔离

让同一构建产物安全运行于开发、测试、预发布和生产;密钥由外部注入并可轮换。 密钥进 Git/镜像/日志;错误环境连接生产库;缺配置后以隐蔽方式运行到一半才失败。

建议预留 120 分钟

学习目标

  • 缺必需配置时启动即失败
  • 仓库与镜像扫描不含秘密
  • 轮换模型/API 密钥无需重新编译
  • 测试环境不能访问生产资源。

关键概念

  • A5
  • 配置、密钥与环境隔离
  • 产品后端能力

为什么学习

  • 该节点是可重复使用的工程能力;学习终点是脱离逐行照抄后仍能按可靠模式完成实现。

如何检验理解

  • 缺必需配置时启动即失败
  • 仓库与镜像扫描不含秘密
  • 轮换模型/API 密钥无需重新编译
  • 测试环境不能访问生产资源。
  • 能独立完成「配置、密钥与环境隔离」的最小可运行实现,并用测试、请求或日志证明其行为

产品后端能力

可观测性、健康检查与故障诊断

回答“哪个用户请求、哪个 run、哪次模型/工具调用在哪里慢或失败”;区分存活与就绪。 线上只能猜;日志无法关联;实例失去数据库/队列后仍接流量;故障发现晚、恢复慢。

建议预留 120 分钟

学习目标

  • 一次用户请求可沿 HTTP→DB→模型→工具完整追踪
  • 仪表盘呈现错误率、p95、队列深度
  • 依赖失效会让 readiness 失败并触发告警。

关键概念

  • A8
  • 可观测性、健康检查与故障诊断
  • 产品后端能力

为什么学习

  • 该节点是生产级后端的关键能力;需要在需求、流量、失败或安全约束改变时重新应用和验证。

如何检验理解

  • 一次用户请求可沿 HTTP→DB→模型→工具完整追踪
  • 仪表盘呈现错误率、p95、队列深度
  • 依赖失效会让 readiness 失败并触发告警。
  • 能在约束变化或故障注入后重新设计「可观测性、健康检查与故障诊断」,并用自动化证据验证关键性质

生产工程

构建、Docker、CI/CD 与部署

学习 构建、Docker、CI/CD 与部署,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 90 分钟

学习目标

  • 能够用自己的话解释“构建、Docker、CI/CD 与部署”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“构建、Docker、CI/CD 与部署”的最小闭环

关键概念

  • 构建、Docker、CI/CD 与部署
  • NestJS
  • 生产级后端

为什么学习

  • 该节点是可重复使用的工程能力;学习终点是脱离逐行照抄后仍能按可靠模式完成实现。

如何检验理解

  • 能够用自己的话解释“构建、Docker、CI/CD 与部署”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“构建、Docker、CI/CD 与部署”的最小闭环
  • 能独立完成「构建、Docker、CI/CD 与部署」的最小可运行实现,并用测试、请求或日志证明其行为

产品后端能力

外部依赖可靠性:超时、退避重试、幂等与故障隔离

数据库、模型、支付、邮件和外部工具都会超时、限流或部分失败;请求必须有截止时间并安全重试。 请求无限挂起;重试风暴;同一工具动作执行两次;依赖故障拖垮全部 worker。

建议预留 120 分钟

学习目标

  • 注入 timeout、429、5xx、连接中断后在预算时间内结束
  • 重放相同 key 不产生重复副作用
  • 重试次数和最终原因进入指标。

关键概念

  • A6
  • 外部依赖可靠性:超时、退避重试、幂等与故障隔离
  • 产品后端能力

为什么学习

  • 该节点是生产级后端的关键能力;需要在需求、流量、失败或安全约束改变时重新应用和验证。

如何检验理解

  • 注入 timeout、429、5xx、连接中断后在预算时间内结束
  • 重放相同 key 不产生重复副作用
  • 重试次数和最终原因进入指标。
  • 能在约束变化或故障注入后重新设计「外部依赖可靠性:超时、退避重试、幂等与故障隔离」,并用自动化证据验证关键性质

产品后端能力

限流、配额与滥用防护

限制单用户、单 IP、单组织的请求、并发、工具动作和资源消耗,保护共享容量与预算。 一个用户耗尽模型配额;暴力登录;无限循环工具调用造成成本或下游破坏。

建议预留 120 分钟

学习目标

  • 超限得到可解释 429 与重试信息
  • 用户 A 的配额不影响 B
  • 管理员可查看并冻结异常主体
  • 压力测试下系统有界退化。

关键概念

  • A7
  • 限流、配额与滥用防护
  • 产品后端能力

为什么学习

  • 该节点是生产级后端的关键能力;需要在需求、流量、失败或安全约束改变时重新应用和验证。

如何检验理解

  • 超限得到可解释 429 与重试信息
  • 用户 A 的配额不影响 B
  • 管理员可查看并冻结异常主体
  • 压力测试下系统有界退化。
  • 能在约束变化或故障注入后重新设计「限流、配额与滥用防护」,并用自动化证据验证关键性质

生产工程

生产级后端综合项目

学习 生产级后端综合项目,建立可测试、可维护、可部署的 NestJS 后端能力。

建议预留 480 分钟

学习目标

  • 能够用自己的话解释“生产级后端综合项目”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“生产级后端综合项目”的最小闭环

关键概念

  • 生产级后端综合项目
  • NestJS
  • 生产级后端

为什么学习

  • 该节点是生产级后端的关键能力;需要在需求、流量、失败或安全约束改变时重新应用和验证。

如何检验理解

  • 能够用自己的话解释“生产级后端综合项目”解决的问题与适用边界
  • 能够在 NestJS 后端中实现并验证“生产级后端综合项目”的最小闭环
  • 能在约束变化或故障注入后重新设计「生产级后端综合项目」,并用自动化证据验证关键性质

测试与质量门禁

真实 UI、网络帧、日志与数据库事件的证据链

API 返回 200 不等于用户界面真的可用。真实验收要从 DOM 识别和点击开始,发送实际消息,抓 WebSocket/SSE 网络帧,再把请求、Session CID、Pi PID、服务日志、session_events 和页面状态串成一条证据链。还要识别日志语义的误导,例如主动 kill 产生的退出码 143 可能被旧代码记录成 pi_crash,不能直接当成系统崩溃。

建议预留 120 分钟

学习目标

  • 能用真实浏览器完成 DOM/UI 级端到端测试
  • 能把一次用户操作关联到网络帧、服务日志、进程和数据库事件
  • 能区分真实崩溃、主动 TTL 回收、OOM/SIGKILL 和连接重连

关键概念

  • Browser Harness 与真实 DOM
  • 网络帧/日志/数据库事件关联
  • 故障语义与可观测性

为什么学习

  • 该能力要求把浏览器、后端进程、持久化事件和日志关联起来,适合用真实故障复现而不是只看接口返回。

如何检验理解

  • 能抓到浏览器周期性 ping 并与服务端 timeout 时间对齐
  • 能从 session_events 解释 Pi timeout 与 code 143 的关系
  • 能在不依赖 API 直测的情况下证明标题、消息和连接状态在真实 UI 中正确

产品后端能力

自动化测试、供应链门禁、可重复部署与回滚

每次变更都能验证类型、业务规则、数据库集成、关键 E2E 和安全边界;部署失败可恢复。 只能手工点页面;mock 掉所有真实边界;依赖投毒;线上版本不可复现、无法回滚。

建议预留 120 分钟

学习目标

  • CI 从干净环境重建并跑完整测试
  • 关键负向权限路径受 E2E 覆盖
  • 发布可追溯到 commit
  • 失败部署和数据库变更有演练过的回滚/前滚路径。

关键概念

  • A10
  • 自动化测试、供应链门禁、可重复部署与回滚
  • 产品后端能力

为什么学习

  • 该节点是生产级后端的关键能力;需要在需求、流量、失败或安全约束改变时重新应用和验证。

如何检验理解

  • CI 从干净环境重建并跑完整测试
  • 关键负向权限路径受 E2E 覆盖
  • 发布可追溯到 commit
  • 失败部署和数据库变更有演练过的回滚/前滚路径。
  • 能在约束变化或故障注入后重新设计「自动化测试、供应链门禁、可重复部署与回滚」,并用自动化证据验证关键性质

产品后端能力

数据生命周期、审计、备份与恢复

定义会话、prompt、工具参数、上传文件、审计记录保存多久;支持导出/删除;数据库误删或损坏后恢复。 敏感数据无限保留;无法回应删除请求或调查事故;有备份却从未验证可恢复。

建议预留 120 分钟

学习目标

  • 用户删除流程覆盖主库、对象和索引
  • 审计能回答谁在何时执行何工具
  • 从备份恢复到新环境并验证 RPO/RTO。

关键概念

  • A9
  • 数据生命周期、审计、备份与恢复
  • 产品后端能力

为什么学习

  • 该节点是生产级后端的关键能力;需要在需求、流量、失败或安全约束改变时重新应用和验证。

如何检验理解

  • 用户删除流程覆盖主库、对象和索引
  • 审计能回答谁在何时执行何工具
  • 从备份恢复到新环境并验证 RPO/RTO。
  • 能在约束变化或故障注入后重新设计「数据生命周期、审计、备份与恢复」,并用自动化证据验证关键性质

AI运行时必需

模型网关与供应商隔离

在业务用例和模型 SDK 之间建立稳定接口,统一认证、模型选择、参数、错误、用量和供应商能力差异。 供应商 SDK 渗透所有模块;模型弃用或区域故障时全局重写;无法比较模型版本的质量、成本和延迟。

建议预留 120 分钟

学习目标

  • 业务服务不导入供应商 SDK
  • fake adapter 可测试
  • 一次配置切换能做小流量模型版本对比且记录实际 model id。

关键概念

  • B1
  • 模型网关与供应商隔离
  • AI运行时必需

为什么学习

  • 该节点会影响架构边界或故障判断;不能只会调 API,还要能解释核心机制、边界与典型错误。

如何检验理解

  • 业务服务不导入供应商 SDK
  • fake adapter 可测试
  • 一次配置切换能做小流量模型版本对比且记录实际 model id。
  • 能画出或口述「模型网关与供应商隔离」的关键机制,解释边界并诊断一个典型错误

生产工程

镜像与运行时数据迁移边界

生产部署不是只复制源码或镜像;必须区分不可变镜像、运行容器和外置 runtime-data。镜像包含程序与依赖,server.db、global_config 中的 agents_prefix_global、Provider/模型配置、MCP、密钥、uploads、skills 等由挂载或外部注入提供。运行数据库漏迁移会导致版本正确,但提示词、模型、工具、文件或历史行为不一致。

建议预留 120 分钟

为什么学习

  • 这是把构建、配置隔离、数据迁移和真实部署验收串成闭环的生产能力;需要在理解基础部署后,能迁移到新环境并处理约束变化。

如何检验理解

  • 能画出源码、镜像、容器和 runtime-data 的边界并说明遗漏后果
  • 能完成一次不复制敏感业务数据的跨环境迁移清单
  • 能用脱敏证据核对镜像 digest、实际挂载、关键配置键和真实业务冒烟
  • 能说明为什么 seed 不是历史配置迁移工具,并设计失败后的回滚组合

生产工程

Agent 平台完整迁移与现场验收

完整迁移不是只复制源码、Docker 镜像或正在运行的容器。必须分别核对不可变镜像及 digest、Compose/启动参数、容器资源限制、外置 runtime-data(server.db、uploads、logs、skills、MCP 配置、加密密钥)、环境注入、端口与 FRP/反向代理,并确认测试实例与生产实例的数据和凭据隔离。迁移后要用 docker inspect、健康检查、真实浏览器冒烟、服务日志和数据库事件做证据闭环,并保留可执行回滚组合。

建议预留 150 分钟

学习目标

  • 能画出源码、镜像、容器、runtime-data、网络入口和主机资源的边界
  • 能编写不复制秘密和生产业务数据的完整迁移清单
  • 能用镜像 digest、挂载、端口、健康检查和真实 UI 冒烟证明迁移结果

关键概念

  • 镜像/容器/runtime-data 分层
  • 配置、密钥与业务数据隔离
  • 迁移验收与回滚组合

为什么学习

  • 这是从“能部署”走向“能可靠迁移和验收”的生产工程能力,必须在环境边界和故障证据上复用。

如何检验理解

  • 能说明只换镜像为什么不会迁移 server.db、uploads、skills 或 Provider 配置
  • 能核对测试容器与生产容器的端口、内存上限和挂载路径
  • 能在迁移失败时按 release、镜像、Compose 和 runtime 备份恢复

生产工程

容器资源边界:主机、Docker VM 与 Container

资源限制至少有三层:Mac 主机物理内存、Docker Desktop/虚拟机上限、单个容器的 hard limit/reservation。容器的 6 GiB 或 3 GiB 上限是该容器可使用的天花板,不代表主机一定预留同等内存;多个容器会动态争用 Docker VM 的可用资源。并发容量更接近同时运行的 Agent Run 数,而不是打开的 WebSocket 或 Session 数。

建议预留 110 分钟

学习目标

  • 能区分主机、Docker VM 和容器三层资源上限
  • 能用 docker inspect 与 docker stats 区分配置上限和实时占用
  • 能用 Active Runs、内存、CPU 和外部 Provider 延迟估算并发风险

关键概念

  • hard limit 与 reservation
  • Docker VM 动态资源分配
  • Active Runs 与并发容量

为什么学习

  • 该节点把 Docker 资源配置和 Agent 运行时并发联系起来,是压测前判断“上限、保留和实际占用”差异的基础。

如何检验理解

  • 能解释为什么关闭浏览器标签不会释放服务端 Agent Process
  • 能核对 6 GiB 生产上限与 3 GiB 测试上限是否真实生效
  • 能在压测中关联容器资源、Pi 进程数、请求延迟和 OOM/SIGKILL 日志

AI运行时必需

Prompt、上下文预算与结构化输出

可版本化地组装 system 指令、用户输入、历史、检索内容和工具结果;在上下文窗口内获得机器可校验输出。 prompt 改动不可追溯;历史无限增长;文本解析脆弱;模型输出直接进入数据库或工具执行。

建议预留 120 分钟

学习目标

  • 每次 run 记录 prompt/config 版本但不泄露秘密
  • 超预算有确定裁剪策略
  • 无效结构无法进入业务层
  • 回归集能对比版本。

关键概念

  • B2
  • Prompt、上下文预算与结构化输出
  • AI运行时必需

为什么学习

  • 该节点是生产级后端的关键能力;需要在需求、流量、失败或安全约束改变时重新应用和验证。

如何检验理解

  • 每次 run 记录 prompt/config 版本但不泄露秘密
  • 超预算有确定裁剪策略
  • 无效结构无法进入业务层
  • 回归集能对比版本。
  • 能在约束变化或故障注入后重新设计「Prompt、上下文预算与结构化输出」,并用自动化证据验证关键性质

AI运行时必需

流式事件协议与连接生命周期

把 token、工具开始/结束、阶段进度、错误和最终结果增量传给客户端;处理断线、取消、背压和最终一致状态。 长响应像“卡死”;断线后后台继续烧钱;客户端把半截输出当成功;代理缓冲或事件丢失难排查。

建议预留 120 分钟

学习目标

  • 客户端中断会取消或转后台策略
  • 事件序号单调且只有一个终态
  • 慢消费者不致内存无限增长
  • 重连后可查询最终 run。

关键概念

  • B3
  • 流式事件协议与连接生命周期
  • AI运行时必需

为什么学习

  • 该节点是生产级后端的关键能力;需要在需求、流量、失败或安全约束改变时重新应用和验证。

如何检验理解

  • 客户端中断会取消或转后台策略
  • 事件序号单调且只有一个终态
  • 慢消费者不致内存无限增长
  • 重连后可查询最终 run。
  • 能在约束变化或故障注入后重新设计「流式事件协议与连接生命周期」,并用自动化证据验证关键性质

条件能力

计费、订阅、权益与用量结算

商业产品按席位、请求、token、功能层级或额度收费。 重复扣费;支付成功但未开权益;成本与收入脱节;客户端伪造付费状态。

建议预留 150 分钟

学习目标

  • 重复/乱序 webhook 结果一致
  • 权益由服务端判断
  • 用量可对账
  • 退款/降级有确定状态转换。

关键概念

  • C3
  • 计费、订阅、权益与用量结算
  • 条件能力

为什么学习

  • 该节点是生产级后端的关键能力;需要在需求、流量、失败或安全约束改变时重新应用和验证。

如何检验理解

  • 重复/乱序 webhook 结果一致
  • 权益由服务端判断
  • 用量可对账
  • 退款/降级有确定状态转换。
  • 能在约束变化或故障注入后重新设计「计费、订阅、权益与用量结算」,并用自动化证据验证关键性质

AI运行时必需

持久化会话、Run 与工具调用状态机

明确 run 的 queued/running/waiting-approval/succeeded/failed/cancelled 等状态及合法转换;会话历史与执行状态可恢复。 刷新页面丢进度;同一 run 重复执行;失败后无法判断发生到哪一步;内存中的状态随进程重启消失。

建议预留 120 分钟

学习目标

  • 非法状态转换被拒
  • 进程在任意 step 崩溃后可恢复或明确失败
  • 相同 run id 不会产生两个并行执行
  • 用户可查询完整时间线。

关键概念

  • B4
  • 持久化会话、Run 与工具调用状态机
  • AI运行时必需

为什么学习

  • 该节点是生产级后端的关键能力;需要在需求、流量、失败或安全约束改变时重新应用和验证。

如何检验理解

  • 非法状态转换被拒
  • 进程在任意 step 崩溃后可恢复或明确失败
  • 相同 run id 不会产生两个并行执行
  • 用户可查询完整时间线。
  • 能在约束变化或故障注入后重新设计「持久化会话、Run 与工具调用状态机」,并用自动化证据验证关键性质

AI运行时必需

动态上下文:静态设定、会话状态与 Prompt 投影

动态场景不应靠模型反复改写原始 scenario 字符串来维持。更稳的模型是:角色卡和初始 scenario 作为不可变基线;会话状态保存地点、人物关系、任务、物品、已知事实等可变事实;每轮由运行时把基线、状态、摘要和最近消息投影成当前 Prompt。模型只能提出结构化 state_delta,服务端校验后提交状态,再生成下一轮投影。

建议预留 150 分钟

学习目标

  • 能区分 card/scenario 基线、session state 和当前 Prompt 投影
  • 能设计一个包含事实、事件和版本号的会话状态
  • 能让模型只提出结构化状态增量而不是直接改写权威状态
  • 能在上下文裁剪或 Worker 回收后依据持久化状态重建同一会话

关键概念

  • 不可变初始设定
  • 会话状态
  • 状态增量 state_delta
  • 每轮上下文投影
  • 历史与摘要
  • 服务端校验与提交

为什么学习

  • 这是从静态角色卡走向可持续模拟器的核心运行时抽象,需要同时理解状态所有权、上下文预算和模型不可靠性。

如何检验理解

  • 画出“用户输入→读取状态→编译上下文→模型输出→解析增量→校验提交→下一轮”的闭环,并说明 scenario 原文、状态和投影各自是否可变

Agent 运行时

WebSocket 心跳、连接状态与 Agent TTL

WebSocket 是浏览器与服务端的双向长连接,SSE 更接近服务端单向事件流;连接层的 ping 只证明传输仍在,不等于用户发起了业务请求,也不等于 Agent 正在运行。若服务端先 resetTimeout 再判断 ping,浏览器每 30 秒的心跳就会不断延长 Pi 的 TTL;正确做法是过滤 ping 后只让真实 prompt 或明确的运行时活动刷新回收计时器。页面连接可以继续存在,而 Pi 子进程已经因 TTL 退出,下一条消息再按需恢复。

建议预留 120 分钟

学习目标

  • 能区分 WebSocket/SSE 的连接语义、ping 心跳和 Agent Run
  • 能解释为什么 ping 不应延长 Agent Process 的业务 TTL
  • 能设计断线、重连、Pi 退出后会话恢复的测试

关键概念

  • WebSocket 双向连接与 ping
  • 业务活动与连接保活分离
  • Pi Process TTL 与懒启动

为什么学习

  • 该概念需要把传输协议、Agent 生命周期和资源回收放在同一条证据链中分析,并能用真实浏览器复现与验证。

如何检验理解

  • 能从真实浏览器网络事件抓到周期性 ping
  • 能从服务端日志看到 300 秒 timeout 后 Pi 退出且 Session 保留
  • 能证明页面 WebSocket 保持连接不代表 Pi 子进程仍在运行

AI运行时必需

异步任务、重试、死信、取消与资源控制

长模型调用、资料处理和工具工作不能绑定单次 HTTP 生命周期;任务需排队、限并发、续租、取消和人工重放。 请求超时但任务仍运行;进程重启丢任务;毒任务无限重试;高峰压垮模型和数据库。

建议预留 120 分钟

学习目标

  • API 快速返回 run id
  • 杀死 worker 后任务可安全重取
  • 超过重试阈值进入 DLQ
  • 用户取消能阻止未开始步骤并停止可中断调用。

关键概念

  • B5
  • 异步任务、重试、死信、取消与资源控制
  • AI运行时必需

为什么学习

  • 该节点是生产级后端的关键能力;需要在需求、流量、失败或安全约束改变时重新应用和验证。

如何检验理解

  • API 快速返回 run id
  • 杀死 worker 后任务可安全重取
  • 超过重试阈值进入 DLQ
  • 用户取消能阻止未开始步骤并停止可中断调用。
  • 能在约束变化或故障注入后重新设计「异步任务、重试、死信、取消与资源控制」,并用自动化证据验证关键性质

AI运行时必需

工具契约、执行隔离与确定性授权

工具拥有严格 schema、最小功能和最小权限;模型只“提议”调用,后端在执行前校验身份、参数、策略和资源归属。 模型幻觉或注入导致删数据、发消息、越权读取;通用 shell/SQL 工具把模型错误放大成系统事故。

建议预留 120 分钟

学习目标

  • 未授权工具与参数在模型之外被拒
  • 凭证是用户/工具最小 scope
  • 每次调用关联 user/run/decision
  • 故障工具不会终止整个 worker。

关键概念

  • B6
  • 工具契约、执行隔离与确定性授权
  • AI运行时必需

为什么学习

  • 该节点是生产级后端的关键能力;需要在需求、流量、失败或安全约束改变时重新应用和验证。

如何检验理解

  • 未授权工具与参数在模型之外被拒
  • 凭证是用户/工具最小 scope
  • 每次调用关联 user/run/decision
  • 故障工具不会终止整个 worker。
  • 能在约束变化或故障注入后重新设计「工具契约、执行隔离与确定性授权」,并用自动化证据验证关键性质

AI运行时必需

高风险动作确认、审批与补偿

把“读”和“写/支付/删除/发送/发布”分级;高影响动作必须展示将发生什么并由人确认;失败后可补偿或人工处置。 模型在不确定或被操纵时直接产生不可逆副作用;用户不知道实际执行内容;重试造成重复动作。

建议预留 120 分钟

学习目标

  • 危险工具在无审批时绝不执行
  • 确认页展示规范化参数
  • 审批过期或参数变化需重新确认
  • 重复确认只执行一次。

关键概念

  • B7
  • 高风险动作确认、审批与补偿
  • AI运行时必需

为什么学习

  • 该节点是生产级后端的关键能力;需要在需求、流量、失败或安全约束改变时重新应用和验证。

如何检验理解

  • 危险工具在无审批时绝不执行
  • 确认页展示规范化参数
  • 审批过期或参数变化需重新确认
  • 重复确认只执行一次。
  • 能在约束变化或故障注入后重新设计「高风险动作确认、审批与补偿」,并用自动化证据验证关键性质

条件能力

文件/媒体摄取与对象存储

用户上传文档、图片、音频或需要保存大型生成物。 大文件压垮 API 内存;恶意文件;对象越权访问;数据库膨胀;处理状态和原文件失配。

建议预留 150 分钟

学习目标

  • API 不代理大文件主体
  • 对象 key 不可枚举越权
  • 超限/恶意文件被拒
  • 删除和生命周期策略可验证。

关键概念

  • C2
  • 文件/媒体摄取与对象存储
  • 条件能力

为什么学习

  • 该节点是可重复使用的工程能力;学习终点是脱离逐行照抄后仍能按可靠模式完成实现。

如何检验理解

  • API 不代理大文件主体
  • 对象 key 不可枚举越权
  • 超限/恶意文件被拒
  • 删除和生命周期策略可验证。
  • 能独立完成「文件/媒体摄取与对象存储」的最小可运行实现,并用测试、请求或日志证明其行为

规模化高级

服务拆分、事件驱动、CQRS/Saga 与多团队边界

独立部署/扩缩容/故障隔离或团队所有权已成为可测瓶颈;模块化单体不能满足。 消息契约、outbox、at-least-once 下的幂等、schema evolution、事件最终一致性、补偿流程。 网络和消息新增大量失败模式;本地事务变成分布式一致性问题;运维负担上升。

建议预留 180 分钟

学习目标

  • 拆分理由有指标
  • 契约兼容测试
  • 重复/乱序/延迟消息测试
  • 端到端 trace
  • 故障隔离演练。

关键概念

  • D2
  • 服务拆分、事件驱动、CQRS/Saga 与多团队边界
  • 规模化高级

为什么学习

  • 该节点涉及系统级权衡与规模化演进;需要能分析底层机制、比较方案并用实验支撑重新设计。

如何检验理解

  • 拆分理由有指标
  • 契约兼容测试
  • 重复/乱序/延迟消息测试
  • 端到端 trace
  • 故障隔离演练。
  • 能为「服务拆分、事件驱动、CQRS/Saga 与多团队边界」比较至少两种方案,完成简化实现或容量/故障实验,并说明权衡

AI运行时必需

Prompt injection、不可信内容隔离与输出处理

用户输入、网页、邮件、文档和工具结果都可能携带恶意指令;模型输出也必须像外部输入一样验证后再渲染或执行。 间接注入窃取会话/秘密、调用越权工具;模型生成 HTML/SQL/命令被盲目执行;RAG 和 fine-tuning 不能自动消除风险。

建议预留 120 分钟

学习目标

  • 注入攻击集不能越过工具授权
  • 外部文本无论措辞都不能提升权限
  • 恶意输出在 sink 前被拒
  • 红队用例纳入 CI/定期评测。

关键概念

  • B8
  • Prompt injection、不可信内容隔离与输出处理
  • AI运行时必需

为什么学习

  • 该节点是生产级后端的关键能力;需要在需求、流量、失败或安全约束改变时重新应用和验证。

如何检验理解

  • 注入攻击集不能越过工具授权
  • 外部文本无论措辞都不能提升权限
  • 恶意输出在 sink 前被拒
  • 红队用例纳入 CI/定期评测。
  • 能在约束变化或故障注入后重新设计「Prompt injection、不可信内容隔离与输出处理」,并用自动化证据验证关键性质

AI运行时必需

AI 评测、回归门禁与线上反馈闭环

模型是非确定依赖,普通单元测试不足以证明正确性;prompt/model/tool 变化需在代表性任务集上比较质量与安全。 模型升级悄悄降低任务成功率;只凭几个 demo 判断;安全回归直到用户事故才被发现。

建议预留 120 分钟

学习目标

  • 每次 prompt/model 变更生成质量、安全、延迟和成本报告
  • 关键阈值阻止发布
  • 线上失败可回放为新回归样本。

关键概念

  • B10
  • AI 评测、回归门禁与线上反馈闭环
  • AI运行时必需

为什么学习

  • 该节点是生产级后端的关键能力;需要在需求、流量、失败或安全约束改变时重新应用和验证。

如何检验理解

  • 每次 prompt/model 变更生成质量、安全、延迟和成本报告
  • 关键阈值阻止发布
  • 线上失败可回放为新回归样本。
  • 能在约束变化或故障注入后重新设计「AI 评测、回归门禁与线上反馈闭环」,并用自动化证据验证关键性质

AI运行时必需

内容安全、隐私与数据最小化

按产品政策处理伤害性内容、PII/秘密、未成年人或高风险领域;只把完成任务所需数据发送给模型和工具。 敏感数据泄露给模型供应商、日志或其他用户;不合规输出;安全策略只写在 system prompt 中而可绕过。

建议预留 120 分钟

学习目标

  • 明确测试集覆盖允许/拒绝/升级人工
  • 敏感字段不进入 prompt/trace
  • 用户可获知数据用途
  • 策略决策可审计且有误杀处理。

关键概念

  • B9
  • 内容安全、隐私与数据最小化
  • AI运行时必需

为什么学习

  • 该节点会影响架构边界或故障判断;不能只会调 API,还要能解释核心机制、边界与典型错误。

如何检验理解

  • 明确测试集覆盖允许/拒绝/升级人工
  • 敏感字段不进入 prompt/trace
  • 用户可获知数据用途
  • 策略决策可审计且有误杀处理。
  • 能画出或口述「内容安全、隐私与数据最小化」的关键机制,解释边界并诊断一个典型错误

条件能力

代码、浏览器与远程工具沙箱

Agent 要执行不可信代码、访问网页、文件系统或用户网络资源。 远程代码执行、SSRF、凭证/文件窃取、持久化恶意进程、资源耗尽。

建议预留 150 分钟

学习目标

  • 逃逸、内网探测、fork bomb、超时和秘密读取测试被阻止
  • 环境任务后销毁
  • 完整审计记录不含秘密。

关键概念

  • C6
  • 代码、浏览器与远程工具沙箱
  • 条件能力

为什么学习

  • 该节点是生产级后端的关键能力;需要在需求、流量、失败或安全约束改变时重新应用和验证。

如何检验理解

  • 逃逸、内网探测、fork bomb、超时和秘密读取测试被阻止
  • 环境任务后销毁
  • 完整审计记录不含秘密。
  • 能在约束变化或故障注入后重新设计「代码、浏览器与远程工具沙箱」,并用自动化证据验证关键性质

AI运行时必需

Token、成本、延迟与 AI 专属追踪

按用户/run/model/工具记录 token、请求数、延迟、重试和成本;定位慢在模型、检索、队列还是工具。 账单暴涨才发现循环;无法设置预算或解释用户体验;通用 HTTP 日志看不见 Agent 内部步骤。

建议预留 120 分钟

学习目标

  • 一个 run 的供应商用量与内部账本可对账
  • 达到预算立即停止或降级
  • trace 展示每步耗时和 token
  • 无 prompt 明文泄露。

关键概念

  • B11
  • Token、成本、延迟与 AI 专属追踪
  • AI运行时必需

为什么学习

  • 该节点是生产级后端的关键能力;需要在需求、流量、失败或安全约束改变时重新应用和验证。

如何检验理解

  • 一个 run 的供应商用量与内部账本可对账
  • 达到预算立即停止或降级
  • trace 展示每步耗时和 token
  • 无 prompt 明文泄露。
  • 能在约束变化或故障注入后重新设计「Token、成本、延迟与 AI 专属追踪」,并用自动化证据验证关键性质

条件能力

RAG:摄取、检索、权限过滤、出处与删除传播

产品承诺回答私有/动态知识,而不是只依赖模型已有知识。 过时或跨用户文档被检索;答案无出处;原文删除后向量仍可被召回;检索内容携带间接注入。

建议预留 150 分钟

学习目标

  • 用户 A 永不检索 B 的文档
  • 答案可追到 chunk/版本
  • 删除会传播到对象、元数据和索引
  • 检索质量有离线集合。

关键概念

  • C1
  • RAG:摄取、检索、权限过滤、出处与删除传播
  • 条件能力

为什么学习

  • 该节点是生产级后端的关键能力;需要在需求、流量、失败或安全约束改变时重新应用和验证。

如何检验理解

  • 用户 A 永不检索 B 的文档
  • 答案可追到 chunk/版本
  • 删除会传播到对象、元数据和索引
  • 检索质量有离线集合。
  • 能在约束变化或故障注入后重新设计「RAG:摄取、检索、权限过滤、出处与删除传播」,并用自动化证据验证关键性质

条件能力

实时语音、双向交互或多人协作

产品需要低延迟语音、打断、双向事件或共享房间;普通文字流式不需要。 连接状态与业务状态混淆;重连重复事件;音频成本无界;水平扩展后房间状态丢失。

建议预留 150 分钟

学习目标

  • 重连、乱序、打断和多端登录测试通过
  • 连接断开不破坏持久 run
  • 延迟与每分钟成本可观察。

关键概念

  • C4
  • 实时语音、双向交互或多人协作
  • 条件能力

为什么学习

  • 该节点是生产级后端的关键能力;需要在需求、流量、失败或安全约束改变时重新应用和验证。

如何检验理解

  • 重连、乱序、打断和多端登录测试通过
  • 连接断开不破坏持久 run
  • 延迟与每分钟成本可观察。
  • 能在约束变化或故障注入后重新设计「实时语音、双向交互或多人协作」,并用自动化证据验证关键性质

条件能力

多 Agent 编排

单 Agent 因工具过载、不同安全边界或真正可并行的专门任务无法可靠满足需求;“更酷”不是理由。 协调、延迟、成本和失败面成倍增加;Agent 互相传递不可信内容;责任与权限边界模糊。

建议预留 150 分钟

学习目标

  • 基准证明优于单 Agent
  • 任一步可独立重试/超时
  • 循环受最大步数限制
  • handoff 有 schema 和身份/权限上下文。

关键概念

  • C5
  • 多 Agent 编排
  • 条件能力

为什么学习

  • 该节点在当前路线中主要用于建立边界意识;现阶段应能识别它何时需要、何时可以延后。

如何检验理解

  • 基准证明优于单 Agent
  • 任一步可独立重试/超时
  • 循环受最大步数限制
  • handoff 有 schema 和身份/权限上下文。
  • 面对需求或架构图时,能指出「多 Agent 编排」的用途、触发条件和可延后边界

规模化高级

缓存、批处理、动态路由与容量工程

已有流量、延迟和成本基线显示重复工作或供应商容量成为瓶颈。 语义/普通缓存的安全 key 与失效;prompt caching;批处理;模型按任务路由;load test 和容量模型。 缓存跨用户泄漏或过期答案;路由降低质量;优化复杂度超过收益。

建议预留 180 分钟

学习目标

  • 真实基准显示 SLO/成本改善
  • 缓存包含 tenant/权限/版本维度
  • 质量 eval 证明路由不退化。

关键概念

  • D1
  • 缓存、批处理、动态路由与容量工程
  • 规模化高级

为什么学习

  • 该节点涉及系统级权衡与规模化演进;需要能分析底层机制、比较方案并用实验支撑重新设计。

如何检验理解

  • 真实基准显示 SLO/成本改善
  • 缓存包含 tenant/权限/版本维度
  • 质量 eval 证明路由不退化。
  • 能为「缓存、批处理、动态路由与容量工程」比较至少两种方案,完成简化实现或容量/故障实验,并说明权衡

规模化高级

多实例/多区域高可用、灾难恢复与合规隔离

明确 SLO、RTO/RPO、地域/数据驻留、峰值容量或企业合规要求。 无状态水平扩展、分区/副本、跨区故障转移、流量切换、灾难恢复、降级模式、混沌/恢复演练。 跨区域数据一致性与成本激增;未经演练的“高可用”只是架构图。

建议预留 180 分钟

学习目标

  • 容量与故障注入验证 SLO
  • 区域故障演练在 RTO 内恢复
  • 备份满足 RPO
  • 依赖不可用时有明确降级。

关键概念

  • D3
  • 多实例/多区域高可用、灾难恢复与合规隔离
  • 规模化高级

为什么学习

  • 该节点涉及系统级权衡与规模化演进;需要能分析底层机制、比较方案并用实验支撑重新设计。

如何检验理解

  • 容量与故障注入验证 SLO
  • 区域故障演练在 RTO 内恢复
  • 备份满足 RPO
  • 依赖不可用时有明确降级。
  • 能为「多实例/多区域高可用、灾难恢复与合规隔离」比较至少两种方案,完成简化实现或容量/故障实验,并说明权衡

前置关系与知识联系

结合互动地图查看具体关系类型,再选择下一步。