← Back to 文字

月份 1 学习导航

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

1. 文档定位

这是一套面向以下读者的课程文档:

  • 有其他编程语言经验。
  • 对 Python 基础不熟。
  • 对 AI 应用开发、LLM API、FastAPI、LangChain 没有系统经验。
  • 希望只靠文档学习和亲手操作,就完整完成月份 1 的能力建设。

本课程不是“资料链接集合”,而是一套可以逐步照做的训练手册。你需要边读边做,不能只阅读不操作。

2. 月份 1 的最终目标

完成本月后,你应当能够独立完成以下事情:

  1. 使用 uv 创建并管理 Python 项目。
  2. 理解并写出带类型注解、异常处理和异步逻辑的 Python 代码。
  3. 使用 DeepSeek 的 OpenAI 兼容接口完成普通对话、结构化输出、流式输出和 Tool Calling。
  4. 使用 FastAPI 暴露最小 AI 服务接口。
  5. 使用 LangChain 的核心抽象重写部分纯 API 逻辑。
  6. 完成一个“研发助手”项目,同时提供 CLI 和 FastAPI 两种入口。

3. 建议学习顺序

虽然目录按知识体系组织,但实际学习必须按下面顺序进行:

  1. 先读 02-环境准备与学习方法.md
  2. 再读 01-4周学习节奏表.md
  3. 然后进入 01-Python语言补位
  4. 完成 02-Python工程化基础
  5. 继续进入 03-LLM_API与Prompt基础
  6. 学完 04-Tool_Calling基础
  7. 再学 05-FastAPI服务化基础
  8. 接着学 06-LangChain核心抽象入门
  9. 最后完成 07-综合项目-研发助手
  10. 遇到名词、报错或命令问题时,回查 08-附录

4. 学习节奏原则

  • 本月预计总投入:60-72 小时。
  • 推荐节奏:每周 15-18 小时,每天 2-3 小时,至少保证 5 天学习。
  • 不建议把所有内容压缩到周末集中完成,因为 API、框架和项目化能力都依赖持续练习。

5. 学习方式

每一课都按同一结构编写:

  • 学习目标
  • 前置知识
  • 核心概念
  • 操作步骤
  • 代码讲解
  • 实验任务
  • 自测题
  • 作业与验收
  • 常见错误
  • 延伸阅读

你的执行方式也应固定:

  1. 先通读本课目标和前置知识。
  2. 按文档逐步输入命令和代码,不要跳步。
  3. 每完成一节就做实验任务。
  4. 每完成一个模块就做作业与验收。
  5. 将自己的问题、错误、结论记录到单独的学习笔记中。

6. 项目主线说明

本月所有例子和最终项目都围绕“研发助手”主线展开。原因有三个:

  • 你已有编程背景,研发场景更容易理解。
  • 研发助手天然适合 CLI、API、日志、工具调用等主题。
  • 后续月份 2 到月份 4 可以继续扩展为知识问答、Agent 工作流和完整系统。

本月的“研发助手”不是全能 AI 平台,而是一个最小可用工具,重点是练能力,不是堆功能。

7. 月份 1 能力地图

flowchart TD
    A["Python 语言补位"] --> B["Python 工程化"]
    B --> C["LLM API 与 Prompt"]
    C --> D["Tool Calling"]
    D --> E["FastAPI 服务化"]
    E --> F["LangChain 核心抽象"]
    F --> G["研发助手综合项目"]

你必须按这个方向推进。不要反过来先做项目,再倒逼补基础。那样通常会得到一个能跑但解释不清、维护不了的半成品。

8. 本月产出物

你至少应当输出以下成果:

  • 一个 llm_api_lab 练习项目
  • 一个 prompt_lab 练习项目
  • 一个 fastapi-ai-service 练习项目
  • 一个 rd-assistant 综合项目
  • 一份自己的学习记录
  • 一份问题复盘记录

9. 学习完成的判定标准

只有同时满足以下条件,才算真正完成月份 1:

  • 你可以从零创建项目并配置依赖。
  • 你可以解释主要代码结构,而不是只会复制。
  • 你可以独立调通一次 DeepSeek 请求并排查常见错误。
  • 你可以说明为什么某段逻辑应该放在核心服务层,而不是 CLI 或 API 层。
  • 你可以自己写出一个最小工具调用循环。
  • 你可以用自己的话说明 LangChain 帮你省了什么,也隐藏了什么。

如果只是“能运行教程代码”,不算学会。

10. 使用本课程时的纪律要求

  • 不要跳过 Python 补位单元。
  • 不要一开始就追求 UI。
  • 不要把文档当成博客扫读。
  • 不要因为一段代码能运行,就停止理解其结构。
  • 每次出错先看 常见报错排查.md

11. 下一步

02-环境准备与学习方法.md 开始。

12. 为什么这个月份 1 必须按课程文章的方式学习

很多人学 AI 应用开发时会犯一个常见错误:把学习资料当成“目录”,而不是“训练过程”。他们看很多博客、抄很多代码、收藏很多链接,但一个月后仍然无法回答这几个基础问题:

  • 为什么 Python 项目要拆成 clientserviceapi 三层?
  • 为什么 Tool Calling 不是“模型自己去执行工具”?
  • 为什么 FastAPI 路由层不应该直接发模型请求?
  • 为什么结构化输出既要写 Prompt,也要做程序校验?

如果这些问题答不上来,后面做 RAG 和 Agent 时会不断撞墙。原因不是缺少新知识,而是月份 1 的地基不够稳。

因此,这个月份 1 的使用方式不是“快速翻完”,而是“逐章读透、逐章动手、逐章复盘”。你应当把它当成一本实战型课程博客,而不是一组文档索引。

13. 本章与前文关系

这是月份 1 的总入口,没有前置课程内容,但它承接了路线图文档中“月份 1 做基础底盘”的要求,并把原始路线拆成可执行的课程路径。

如果你是从 AI应用技术学习路线图_v4.1.md 直接跳过来的,你需要理解一件事:

  • 路线图负责定义方向。
  • 本课程包负责把方向变成可以一步步执行的学习过程。

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

整个月份 1 的最终项目是“研发助手”。这意味着你学到的每一项基础能力,都不是孤立知识点,而是为项目中的某个构件服务:

当前模块在研发助手项目中的作用
Python 基础让你能读懂和改写项目代码
工程化让项目目录、配置、测试和日志不失控
LLM API让项目具备模型调用能力
Tool Calling让模型不止会说,还能触发程序能力
FastAPI让项目可以服务化对外暴露
LangChain让你理解抽象层,而不是只会手搓流程

如果你读某一章时觉得“这个知识点好像很独立”,请回到这个表格:几乎每章都对应了研发助手中的一个真实构件。

15. 本章完成后你应该具备的能力

读完本导航文档,你至少应该能做到:

  1. 明白月份 1 不是语言课,而是 AI 应用开发基础底盘课。
  2. 明白整个月份 1 的学习顺序和依赖关系。
  3. 明白为什么必须围绕一个主场景持续推进,而不是每周换项目题目。
  4. 明白“会运行示例”和“能解释结构”是两种完全不同的能力层级。

16. 如果你卡在这里,先回看哪几章

如果你看到后面某一节时突然迷路,优先回看:

17. 如何把这套课程真正学会,而不是看过

建议你固定采用下面这套执行节奏:

第一步:先做“阅读前定位”

每次开始一章之前,先回答:

  • 这一章解决什么问题?
  • 它承接了上一章的哪部分内容?
  • 它会为哪一章铺垫?

只要这 3 个问题答不清,说明你还没有进入正确学习状态。

第二步:边读边敲,不允许纯阅读

这类课程与理论教材不同。你的理解必须通过以下动作来固化:

  • 真的输入命令
  • 真的运行代码
  • 真的制造一次错误
  • 真的看懂报错

如果你只是“看懂了例子”,那么很可能还没有掌握。

第三步:写最小复盘

每一章结束后,强制写 5 分钟总结:

  • 本章真正学会了什么
  • 哪些地方仍然在照抄
  • 哪段代码最容易忘
  • 哪个错误最值得记住

这样的复盘,在月份 2 做实验和月份 3 做 Agent 时会非常有用。

18. 课程使用中的两个重要边界

不追求“看起来学得很快”

月份 1 的核心是底盘。底盘课程的学习体验通常不是炫目的,而是扎实的。你可能会觉得:

  • Python 基础不难,但细节很多
  • LLM API 不复杂,但边界容易乱
  • FastAPI 能很快起服务,但很容易写成一团

这都是正常现象。月份 1 的目标不是做出最酷的东西,而是做出以后能持续长大的东西。

不把“能跑通”误判成“学会了”

以下情况都不能算掌握:

  • 你能运行代码,但不能说出目录边界
  • 你能得到模型输出,但不能解释消息结构
  • 你能调用工具,但不能说明程序与模型各自职责
  • 你能起 FastAPI,但不能解释为什么 service 层独立存在

真正的掌握,是“你能自己重建一版最小实现”。

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

接下来请进入 02-环境准备与学习方法.md

原因很简单:月份 1 后续每一章都依赖稳定的本地环境、统一的目录组织和固定的学习记录方式。如果环境层不稳定,你后面遇到的每个问题都会混杂环境因素,导致你分不清:

  • 是自己 Python 没学会
  • 还是依赖没装对
  • 还是 API Key 没加载
  • 还是项目结构本身就混乱

先把环境和学习方式固定住,后面所有章节的认知负担都会下降。

Fin