← Back to 文字

4 周学习节奏表

本文来自《AI 应用开发课程》月份 1 课程文档,已整理为网站文章版本。

1. 使用方法

本文件回答两个问题:

  • 按知识体系组织的课程,应该如何映射回 4 周学习节奏。
  • 每一周的最低交付是什么,如何判断自己没有掉队。

你不需要严格按自然周推进,但必须按阶段完成验收。

2. 4 周映射总览

周次学习模块核心目标最低成果
第 1 周00 + 01 + 02补齐 Python 和工程化最小能力llm_api_lab 项目骨架
第 2 周03 + 04跑通 DeepSeek API、结构化输出、Tool Callingprompt_lab 和工具调用实验
第 3 周05 + 06起 FastAPI 服务,理解 LangChain 核心抽象fastapi-ai-service 最小服务
第 4 周07完成研发助手双入口项目rd-assistant 可录屏 Demo

3. 第 1 周:Python 补位与工程化起步

本周目标

  • 理解 Python 基础语法和模块组织。
  • 学会类型注解、异常处理、文件与 JSON 读写。
  • 理解异步函数的基本写法。
  • uv 建立项目。
  • 配好 ruff.env、日志和 pytest

必学文档

  • 00-课程总纲与学习说明/02-环境准备与学习方法.md
  • 01-Python语言补位/ 全部文档
  • 02-Python工程化基础/ 全部文档

本周必须完成的实操

  1. 创建一个新的 Python 项目。
  2. 写出一个 ChatMessage 的 Pydantic 模型。
  3. 写出一个带重试和超时的异步函数。
  4. 给正常路径和异常路径各写至少 1 个测试。

本周验收

  • 能解释 venvuvpyproject.toml 的作用差异。
  • 能区分同步函数和异步函数。
  • 能解释为什么项目里不能把所有逻辑都塞进一个文件。

4. 第 2 周:LLM API、Prompt 与 Tool Calling

本周目标

  • 理解 LLM 请求的输入输出结构。
  • 学会使用 DeepSeek OpenAI 兼容接口发送请求。
  • 能拿到结构化输出。
  • 能做流式输出。
  • 能做完整 Tool Calling 循环。

必学文档

  • 03-LLM_API与Prompt基础/ 全部文档
  • 04-Tool_Calling基础/ 全部文档

本周必须完成的实操

  1. 发送一次最小聊天请求。
  2. 实现结构化输出并做校验。
  3. 实现一次流式输出。
  4. 实现工具注册、模型决定调用、执行工具、回填结果、二次推理的闭环。

本周验收

  • 能解释 system prompt 的作用。
  • 能解释结构化输出和普通文本输出的差异。
  • 能说明工具调用里模型负责什么、程序负责什么。

5. 第 3 周:FastAPI 与 LangChain

本周目标

  • 使用 FastAPI 起一个最小 AI 服务。
  • 理解请求模型、响应模型、错误模型。
  • 实现 /health/chat/tools/run
  • 使用 LangChain 重构部分纯 API 调用链。

必学文档

  • 05-FastAPI服务化基础/ 全部文档
  • 06-LangChain核心抽象入门/ 全部文档

本周必须完成的实操

  1. 起一个 FastAPI 项目。
  2. 为核心接口设计请求和响应模型。
  3. 做一个最小流式响应。
  4. 用 LangChain 的 PromptTemplate + Runnable + OutputParser 重构纯 API 逻辑。

本周验收

  • 能解释为什么 CLI 与 API 不应该各写一套业务逻辑。
  • 能解释 LangChain 和 LangGraph 的角色差异。
  • 能解释为什么 API 层只做协议处理,核心逻辑应放在 service 层。

6. 第 4 周:综合项目

本周目标

  • 完成一个最小可用的研发助手。
  • 同时提供 CLI 与 FastAPI 两种入口。
  • 能记录日志、成本和错误。
  • 输出 README、录屏说明和验收文档。

必学文档

  • 07-综合项目-研发助手/ 全部文档

本周必须完成的实操

  1. 明确项目需求边界。
  2. 抽出核心服务层。
  3. 接上 CLI 入口。
  4. 接上 FastAPI 入口。
  5. 完成 README 和验收录屏。

本周验收

  • 一个真实有用工作流可以跑通。
  • CLI 和 API 共用同一套核心服务。
  • 至少记录一次真实调用日志和一次错误日志。

7. 每周复盘模板

每周结束时,固定回答这 5 个问题:

  1. 本周做成了什么。
  2. 哪些内容只是“看懂”,哪些内容已经“做会”。
  3. 本周出现过什么错误,最终怎么解决。
  4. 当前代码结构里最混乱的地方是什么。
  5. 下周最关键的一个交付是什么。

8. 掉队判断标准

如果出现以下情况,说明你已经掉队,需要回补:

  • 第 1 周结束还没跑通测试。
  • 第 2 周结束还不能稳定拿到结构化输出。
  • 第 3 周结束还没有独立跑起 FastAPI 服务。
  • 第 4 周结束项目仍然是“能跑一点点 demo,但无法讲清结构”。

9. 学习建议

  • 每天学习前先回看昨天的命令和代码。
  • 每天学习结束后写 5 分钟总结。
  • 如果卡住超过 30 分钟,先记录现象、命令、报错,再去排查。
  • 不要在月份 1 提前跳去学 RAG 或 Agent。当前阶段核心任务是底盘。

10. 为什么课程按知识模块组织,却仍然保留 4 周节奏表

这是一个容易误解的点。

我们没有按“第 1 周文件夹、第 2 周文件夹”的形式组织课程,是因为知识本身有依赖关系,按知识模块组织更利于长期维护和查阅。但如果完全不保留时间节奏,你又会遇到另一个问题:不知道什么时候该停、什么时候该交付、什么时候已经拖延。

因此,本课程采用双层结构:

  • 目录按知识体系组织,方便长期学习和复查。
  • 学习节奏按 4 周推进,保证你不会无限制拖延。

你可以把它理解为:

  • 目录解决“东西放哪儿”。
  • 节奏表解决“我现在做什么”。

11. 每周为什么都必须有可展示成果

很多初学者会说:“我先学,学完再做成果。”这在 AI 应用开发里通常行不通,因为你在学习过程中很容易高估自己:

  • 看懂了,不等于能自己写
  • 跑通了,不等于能讲清结构
  • 模仿了,不等于能自己改

每周固定产出一个“可展示成果”,有两个重要作用:

第一,强迫你把知识落到可运行物上

比如第 1 周的 llm_api_lab,它不是项目终点,但它能迫使你真正处理:

  • 依赖管理
  • 配置读取
  • 最小测试
  • 项目目录结构

第二,给后续项目持续积累可复用资产

月份 1 不是 4 个孤立周,而是一个逐步搭积木的过程:

  • 第 1 周产出的模型和工程模板,会直接进第 2 周
  • 第 2 周产出的 LLM 调用与 Tool Calling,会直接进第 3 周
  • 第 3 周产出的 API 层,会直接进第 4 周综合项目

12. 第 1 周的真实学习重点是什么

表面上看,第 1 周在学 Python 和工程化;但从更高层看,第 1 周真正做的是三件事:

  1. 把“脚本式思维”改成“项目式思维”
  2. 把“我会一些语法”改成“我能组织可维护代码”
  3. 把“我能写同步小函数”改成“我能读懂后续异步模型调用”

这也是为什么第 1 周虽然看起来没有“AI 感”,但其实最重要。

13. 第 2 周的真实学习重点是什么

第 2 周不是单纯“学会调 API”。真正重点是建立 LLM 应用的输入输出观:

  • 输入不是一句 prompt,而是消息结构
  • 输出不是一段话,而可能是结构化对象
  • 模型不是黑盒,它的调用链路、参数、历史消息、工具结果都需要你组织

如果第 2 周没有学透,后面 FastAPI 和 LangChain 会变成“把不理解的逻辑包进框架”。

14. 第 3 周的真实学习重点是什么

第 3 周的核心不是“会起一个 HTTP 服务”,而是理解分层:

  • API 层负责协议
  • service 层负责业务
  • client 层负责外部调用
  • models 层负责数据形状

这是后面一切复杂系统的基础。RAG 也好,Agent 也好,本质都离不开这种分层。

15. 第 4 周的真实学习重点是什么

第 4 周综合项目的意义,不是把前面内容拼凑一次,而是验证你是否真的掌握了“整合能力”:

  • 你能否让 CLI 和 API 复用同一套核心逻辑?
  • 你能否让 LLM client 与 tool executor 清晰协作?
  • 你能否让项目既能跑,又能讲,又能演示?

如果前 3 周学的是零件,第 4 周学的就是装配。

16. 一个推荐的周内节奏

为了让 4 周节奏真正可执行,建议你在每周内部也维持固定节奏:

周一到周三

  • 通读本周课程
  • 跑通最小示例
  • 记录第一批疑问

周四到周五

  • 完成主要代码练习
  • 处理错误
  • 补测试和日志

周末

  • 整理 README 或实验记录
  • 做本周验收
  • 输出可展示成果

这样做的好处是:你不会把“学习”和“交付”完全割裂。

17. 如果某一周严重落后,怎么处理

如果你某周明显落后,不要盲目往后赶,而是按下面顺序处理:

  1. 保住本周最低成果
  2. 保住本周核心验收
  3. 删除加分项,不删除主线项

例如:

  • 第 2 周如果 Prompt 实验做不完,可以先保住“普通调用 + 结构化输出 + 一个 Tool Calling 闭环”
  • 第 3 周如果流式接口来不及,可以先保住 /health/chat/tools/run

你应当优先保证主线不断,而不是把精力分散到太多边角点上。

18. 本章在研发助手项目中的位置

这个节奏表其实就是研发助手项目的施工排期:

  • 第 1 周:打地基
  • 第 2 周:接模型与工具
  • 第 3 周:接服务化
  • 第 4 周:完成产品化最小闭环

如果你把这个节奏表当成“学习计划”,会有点抽象;但如果你把它当成“一个项目的 4 周建设计划”,很多安排就会变得非常自然。

19. 从本章过渡到下一章的桥接说明

接下来进入 02-环境准备与学习方法.md01-Python语言补位 模块。

原因是:节奏表只告诉你“什么时候该学什么”,但并不解决“如何开始”。真正的启动点仍然是环境准备和 Python 基础补位。只有把起步动作做对,4 周节奏才不会停留在纸面上。

Fin