Skip to content

📘 本文档是站点的产品设计文档。如有疑问欢迎在 GitHub Discussions 提出。

人工智能训练师备考站 · 产品设计文档

一个为「上海人工智能训练师三级(高级)」考生设计的、系统化、原理化、AI 辅助的开源备考站。 当前阶段:内容打磨 → 公开开源 → 社区共建。


一、项目背景

1.1 站长是谁、为什么做这个

我是一个有 Python 后端和爬虫开发经验的工程师,之前没接触过 AI / 机器学习 / 深度学习。 2026 年报考了上海人工智能训练师三级,把"备考"作为一个抓手——逼自己真正学进这个领域

考完之后,我有两个朴素的愿望:

  1. 把学到的东西沉淀下来,将来再做 AI 相关项目时不用重新刨一遍
  2. 做点真有用的东西——既能帮自己梳理知识,也能帮其他和我一样从零起步的人

这就是这个项目的起点。它不是一个专家做的科普站,而是一个学习者一边学、一边整理、一边写的开源笔记

1.2 我观察到的真实痛点

备考过程中遇到的几个让我难受的问题,也是这个项目要解决的:

  • 资料零散:官方教材薄、市面教辅水平参差、社区讨论分散在零散贴子里
  • 培训机构靠"背"不靠"懂":讲师让学员背题、背答案,不讲原理,导致考生离开考场就忘
  • 代码题分值高、讲解少:6 道大题中代码相关占比重,但市面上几乎没有按"套路 + 模板"系统化讲解的资料
  • 难度梯度混乱:教程不区分先后,新手一上来就被难题劝退;其实 3.1 模块最简单、最容易拿分,应该最先学
  • 对零基础不友好:我自己就是从 Python 后端跨过来的,深知"已经懂的人写给已经懂的人看"的资料对初学者多不友好

1.3 目标用户

  • 主要用户:准备报考 / 正在备考人工智能训练师三级的在职人员、转行者、学生
  • 特别欢迎:和我背景类似的人——有点代码基础、但 AI/ML 是从零起步
  • 次要用户:考完想系统回顾的从业者;对 AI 训练师这个职业感兴趣的旁观者
  • 使用场景
    • 在家坐下来系统学习(看 + 练)
    • 通勤、家务、睡前的碎片时间(听)
    • 考前一周的高强度突击(背)

1.4 产品愿景

让备考从"背题"变成"懂题",从"必须坐下看"变成"随时能听"。同时,让站长自己真正掌握 AI 这个领域。

做一个开源、免费、原理优先、AI 辅助、学习者视角的备考站,建立这个考试方向的事实标准内容库。


二、核心设计原则

  1. 学习者视角优先:站长自己就是从零开始学 AI 的人,所有内容假设读者也没有 ML/DL 背景;如果一个概念站长第一次看不懂,那就要再写一遍
  2. 原理优先于答案:每个知识点先讲为什么、再讲怎么用,最后才是答案
  3. 数据单源、多端复用:题目、答案、解释、图解只写一份,自动渲染成详解页 / 听题播放器 / 背诵卡片 / 播客脚本
  4. 按真实使用场景分阶段:引入 → 详解 → 背诵应试 → 听题,分别对应"了解 / 学习 / 突击 / 碎片"四种心智
  5. 静态优先:纯静态站,GitHub Pages 直接托管,零后端、零成本、可永久存活
  6. 可贡献、可分叉:内容采用 CC BY-SA、代码采用 MIT,鼓励他人补充、纠错、二创
  7. AI 辅助生产:用 Claude 等模型批量生成图解、一句话解释、背诵卡片,人审核把关

三、信息架构

3.1 顶级导航

首页 Home
├─ 一、考试引入 Intro
├─ 二、考点详解 Modules
├─ 三、背诵应试 Cram
├─ 四、🎧 听题模式 Listen
└─ 五、资源与社区 Resources

3.2 完整目录结构

首页(Landing)
├─ 项目介绍 + 站长故事 + 痛点
├─ 三个场景大入口
│   ├─ "我刚知道这考试" → 引入
│   ├─ "我在系统学习" → 详解
│   └─ "我下周就考" → 背诵
├─ 推荐学习路径(按性价比:第三部分 Excel → 通用 import → 数据预处理 → 建模 → 图像识别 → 理论)
├─ 最近更新 / 内容看板
└─ 加入我们 / 反馈入口

一、考试引入(Why & What)
├─ 1.1 人工智能训练师是什么职业
├─ 1.2 三级(高级)考试概览
│   ├─ 报名条件
│   ├─ 考试形式与流程
│   ├─ 通过标准
│   └─ 上海考点亲历记
├─ 1.3 实践考试结构(四部分制)
│   ├─ 第一部分:Python 与理论二选一(25 分)
│   ├─ 第二部分:Python 数据预处理 + 建模(35 分)
│   ├─ 第三部分:Excel + Python 图像识别(35 分)
│   ├─ 第四部分:理论简答(5 分)
│   └─ 一张分值地图(SVG)
├─ 1.4 备考性价比分析
│   ├─ 70 分都在 Python 编程 → 重点在这
│   ├─ Excel 题(3.1.x)最易拿分 → 优先吃透
│   ├─ 理论 5 分性价比最低 → 最后看
│   └─ 通用策略:只背 import 语句(题目不提供代码框架)
└─ 1.5 推荐学习路径与时间规划
    ├─ 30 天系统计划
    ├─ 14 天加速计划
    └─ 7 天突击计划

二、考点详解(How)—— 主体内容
├─ 通用考试策略
│   ├─ import 语句速查
│   └─ 答题顺序与时间分配

├─ 第三部分:Excel 部分(3.1.x,15 分)⭐ 优先学
│   └─ Excel 高频操作(具体题型待补充)

├─ 第二部分 + 第一部分 Python:数据预处理(对应 1.1.x、2.1.x)
│   ├─ 数据读取(read_csv / read_excel)
│   ├─ 数据理解(head / shape / info / len)
│   ├─ 数据生成与转换(np.where / pd.cut / get_dummies / apply)
│   ├─ 数据计算与分组(value_counts / groupby.agg)
│   ├─ 数据检查与清洗(isnull / duplicated / fillna / drop / dropna / rename)
│   ├─ 条件筛选(isin / between)
│   ├─ 类型转化(astype / pd.to_numeric)
│   ├─ 标准化与异常值(mean/std / quantile / scaler.fit_transform)
│   ├─ 数据集分割与保存(train_test_split / pd.concat / to_csv)
│   └─ 绘图(plot.bar / plot.pie / plt.scatter)

├─ 第二部分 Python:建模(对应 2.2.x,20 分)
│   ├─ 模型定义与训练(LogisticRegression / RandomForestRegressor / XGBRegressor / fit / dump)
│   ├─ 预测与样本平衡(predict / SMOTE.fit_resample)
│   └─ 模型评估(score / mean_squared_error / r2_score)

├─ 第三部分 Python:图像识别(对应 3.2.x,20 分)
│   ├─ 模型加载(ort.InferenceSession)
│   ├─ 图像处理(Image.open.convert / cv2.imread / resize / asarray / expand_dims)
│   ├─ 模型应用与输出(get_inputs / session.run / softmax / argsort / argmax)
│   └─ 结果处理与文件操作(dict.keys / open / strip / makedirs)

├─ 第一部分理论 + 第四部分理论(1.2.x、4.1.x、4.2.x)
│   ├─ 1.2.x 理论问题对策三大类(套路化模板)
│   │   ├─ 准确性不高 → 优化数据质量 / 优化模型算法
│   │   ├─ 响应慢/延迟高 → 优化模型算法 / 优化系统性能
│   │   └─ 缺乏个性化/服务单一 → 优化用户体验
│   └─ 4.x 理论考点(待补充)

└─ 每个知识点的页面结构
    ├─ 这是什么(一句话定义)
    ├─ 为什么重要(业务/工作意义)
    ├─ 实际工作场景(真实例子)
    ├─ 核心 API 与背诵口诀
    ├─ 原理图解(SVG / Mermaid)
    ├─ 真题精讲
    ├─ 背诵卡片(精简版)
    └─ 易错点

三、背诵应试(考前 7 天)
├─ 3.1 import 语句速查表(必背)
├─ 3.2 API 速查表(按场景分类,对应附录 C)
├─ 3.3 1.2.x 理论问题对策模板(三大类套路)
├─ 3.4 主观题模板(套路化答题框架)
├─ 3.5 高频考点速查表
├─ 3.6 易混淆概念对比
└─ 3.7 考前一天 checklist

四、🎧 听题模式(碎片时间)
├─ 4.1 全部题库播放
├─ 4.2 按部分听(一 / 二 / 三 / 四)
├─ 4.3 按场景听(数据预处理 / 建模 / 图像识别 / 理论)
├─ 4.4 错题循环
├─ 4.5 高频考点精选(30 分钟版)
└─ 4.6 设置(语速、停顿、音色)

五、资源与社区
├─ 5.1 官方资料汇总
├─ 5.2 推荐书籍 / 论文
├─ 5.3 配套播客 / 视频
├─ 5.4 社区讨论入口
├─ 5.5 贡献指南
└─ 5.6 关于本站

四、用户旅程

阶段用户状态入口主要使用模块时长
探索"听说有这个考试,想了解"首页 / 引入一、考试引入10–30 分钟
系统学习"已报名,开始学"详解 / 推荐路径二、考点详解4–8 周
突击"下周就考"背诵三、背诵应试3–7 天
碎片"通勤、家务路上想听"听题模式四、听题模式随时
复盘"考完想总结"详解 / 社区二 + 五1–2 小时

五、核心功能详解

5.1 知识点页面(详解模块)

每个知识点页面采用统一模板,让读者形成肌肉记忆,写起来也快:

markdown
## 知识点:XXX

> **难度** ★☆☆ | **分值权重** 高 | **是否必考**

### 这是什么
一句话定义。

### 为什么重要
业务 / 工作中的意义。

### 实际场景
一个具体的例子,最好是真实工作里见过的。

### 原理图解
(SVG 或 Mermaid 图)

### 真题示范
- 题目
- 图解
- 解析
- 答案

### 背诵卡片
精简到一张卡片大小,给"突击"场景用。

### 易错点
常见误区与陷阱。

5.2 听题模式

设计理念

听题模式的用户手是不空的——通勤、洗碗、健身、睡前。所以一切设计要为"不看屏幕"服务。

朗读节奏(默认)

读题目 → 停 3 秒(思考)→ 读"答案是 X" → 读一句话解释 → 下一题

功能清单

功能说明
音频生成MVP 用 Web Speech API(零成本、纯前端);后期高频题用 Edge TTS 预生成 mp3
一句话解释每题 30 字以内的口语化解释,专为"听"设计
速度控制0.8x / 1.0x / 1.25x / 1.5x
思考停顿3s / 5s / 10s / 关闭
循环模式单题 / 错题 / 整章
标记错题一键加入错题本(不用打字)
后台播放用 Media Session API,锁屏可控
耳机线控双击下一题、单击暂停

UI 要点

  • 大播放按钮(手机锁屏前最后一眼能点中)
  • 当前题目文字也在屏幕上(万一想看一眼)
  • 进度条(知道还要多久)
  • 极简、无干扰

5.3 题目数据结构

这是整个站最重要的架构决定——一份数据,渲染所有视图。数据结构分基础层深度层两部分。

yaml
---
# ===== 基础层 =====
id: 3.1.012
type: single                  # single / multi / judge / code / essay
module: 3.1
difficulty: 1                 # 1–3
tags: [机器学习, 基础概念]
question: 下列哪种学习方式不需要标签数据?
options:
  A: 监督学习
  B: 无监督学习
  C: 强化学习
  D: 半监督学习
answer: B
oneliner: 无监督学习不用标签,直接找数据里的规律。
explanation: |
  详细解析(只讲为什么 B 是对的)……
context: |
  这个知识点在实际工作中常见于聚类、降维、异常检测场景……
diagram: /images/3.1.012.svg
mnemonic: |
  背诵记忆口诀(用于"背诵"页)……

# ===== 深度层(差异化内容) =====
exam_design:
  core_concept: 监督学习与无监督学习的本质区别
  difficulty_role: 区分题      # 送分 / 区分 / 压轴
  trap_design: 用"半监督"作为干扰,考生若只记"无标签"会犹豫

elimination:
  - option: A
    type: 概念混淆
    reason: 监督学习需要标签,与题干"不需要标签"直接矛盾
  - option: C
    type: 范围错
    reason: 强化学习有奖励信号但不属于"标签"概念
  - option: D
    type: 不完整
    reason: 半监督学习仍部分依赖标签

related:
  same_concept: [3.1.015, 3.1.023]
  contrast: [3.1.018]
  prerequisite: [3.1.005]
  next_step: [3.2.002]
---
字段用于
question + options基础详解页 / 听题朗读 / 背诵
answer基础详解页 / 听题朗读
oneliner基础听题朗读(必须口语化)
explanation基础详解页(只讲正确选项)
context基础详解页(实际场景)
diagram基础详解页(视觉辅助)
mnemonic基础背诵卡片
exam_design深度详解页"出题人视角"模块
elimination深度详解页"排除法"模块 + 训练考场策略
related深度详解页"相关题目"卡片 + 知识图谱可视化

5.4 实践考试结构与备考性价比

这是产品设计的事实底座——所有学习路径、内容优先级、推荐策略都基于这张分值表。

四部分制结构(总分 100)

部分题号范围内容分值备注
第一部分1.1.x 或 1.2.xPython 与理论二选一抽题25抽到哪个考哪个
第二部分2.1.xPython 数据预处理15
2.2.xPython 建模20
第三部分3.1.xExcel 操作15⭐ 最易拿分
3.2.xPython 图像识别20
第四部分4.1.x、4.2.x理论简答5性价比最低

性价比分析(产品的核心叙事)

  • 70 分都在 Python 编程(2.1.x + 2.2.x + 3.2.x = 55 分;加上 1.1.x 命中的可能 = 70 分),所以 Python 是绝对重点
  • Excel 部分(3.1.x,15 分)是最高性价比内容——通常套路化、操作有限、最容易拿满分
  • 理论部分总共最多 30 分(1.2.x 可能 25 + 4.x 的 5),但有套路化模板可背
  • 第四部分只有 5 分,性价比最低,时间紧的考生可以最后看

通用考试策略(必须显眼放在引入页)

题目不提供代码框架,只需要背诵 import 语句和核心 API 调用。

这是整个 Python 部分的最重要技巧。考生要练的不是"写完整程序",而是"在空白编辑器里默写出常用的 10 行 Python"。这个认知会颠覆很多人的备考方式。

推荐学习路径(基于性价比)

第 1 步:通用 import 语句速查(必背,1 天)

第 2 步:第三部分 Excel 题(3.1.x,2-3 天)⭐ 先吃下 15 分

第 3 步:数据预处理(对应 1.1.x + 2.1.x,1 周)⭐ 覆盖 40 分

第 4 步:建模(2.2.x,3-5 天)⭐ 再覆盖 20 分

第 5 步:图像识别(3.2.x,3-5 天)⭐ 再覆盖 20 分

第 6 步:理论问题对策模板(1.2.x + 4.x,2 天)⭐ 兜底分

第 7 步:考前一周冲刺(背 import + 速查表 + 听题)

走完这条路径,理论上 70+ 分通过没问题。


六、内容生产工作流

6.1 总体流程

原始题目(OCR / 手录 / 回忆)

按数据结构整理成 Markdown / YAML(data/raw/)

Claude Code 批量处理(按 prompts/ 模板)
   - oneliner(一句话解释)
   - explanation(详解)
   - context(实际场景)
   - diagram(SVG / Mermaid 图)
   - mnemonic(背诵口诀)

人工审核(最关键的一步,永远不能省略)

入库到 data/questions/{module}/ → 自动渲染到详解页 / 听题 / 背诵

6.2 为什么用 Claude Code 而不是网页版

内容生产是结构化、批量、可模板化的任务——每道题输入格式一样、输出格式一样、数据存在文件系统里、要处理几百到上千道题。这正好是 Claude Code 的主场:

  • 能读仓库里的题目文件、按 prompt 模板生成、直接写回文件
  • 能批量跑、能版本控制、能 diff review
  • 涉及代码题时,能实际执行代码验证答案
  • 比网页版手动一道道粘贴效率高一个数量级

6.3 标准 prompt 模板

仓库 prompts/ 目录下维护标准 prompt 集合。这是项目的差异化资产之一——别人想做类似的备考站,可以直接 fork 这套模板。

模板分两层。基础层生成所有题都需要的内容,深度层专门生成区分本站和其他备考资料的"高质量解析"。

基础层(每题必跑)

文件用途输出长度关键约束
prompts/oneliner.md一句话解释≤ 30 字口语化、为"听"设计、不用书面套话
prompts/explanation.md详解(只讲正确选项)200–500 字解释"为什么"不只"是什么"、有例子
prompts/context.md实际工作场景100–200 字具体例子、避免泛泛而谈
prompts/diagram-svg.mdSVG 静态图解一张图单选题答案对比、概念结构图
prompts/diagram-mermaid.mdMermaid 流程图一张图流程类、决策树
prompts/code-question.md代码题逐行讲解视题目而定必须实际跑一遍验证

深度层(差异化资产,每题都跑)

文件用途输出格式关键约束
prompts/exam-design.md出题人视角YAML 三字段核心考点 / 难度定位 / 干扰策略
prompts/elimination.md排除法解析(只讲错误选项)YAML 数组每个错误选项标注排除类型 + 排除理由
prompts/related.md知识图谱关联YAML 四字段同考点 / 易混 / 前置 / 进阶题目 ID

为什么深度层重要: 差的解析说"答案是 B,因为 B 对"。好的解析进入出题人脑子——这道题为什么被设计出来?错误选项怎么挖坑的?这道题在知识网络里位置在哪?深度层的三个 prompt 就是把这种思考显式化。

深度层字段示例

题目数据 frontmatter 增加以下字段(与第 5.3 节的基础数据结构合并使用):

yaml
exam_design:
  core_concept: 监督学习与无监督学习的本质区别
  difficulty_role: 区分题      # 送分 / 区分 / 压轴
  trap_design: 用"半监督"作为干扰,考生若只记"无标签"会犹豫

elimination:
  - option: A
    type: 概念混淆           # 见下表
    reason: 监督学习需要标签,与题干"不需要标签"直接矛盾
  - option: C
    type: 范围错
    reason: 强化学习有奖励信号但不属于"标签"概念
  - option: D
    type: 不完整
    reason: 半监督学习仍部分依赖标签,不符合"不需要标签"

related:
  same_concept: [3.1.015, 3.1.023]   # 考同一个核心点的其他题
  contrast: [3.1.018]                 # 易混概念的辨析题
  prerequisite: [3.1.005]             # 不懂这题就先看这道
  next_step: [3.2.002]                # 学完这题之后该看的进阶

排除法分类(elimination[].type 取值)

类型含义
事实错误选项陈述本身违背事实
概念混淆选项是另一个相似概念的定义
不完整选项只对了一半或缺少关键条件
范围错选项超出或不到题目所问范围
偷换前提选项改变了题干的前提条件
绝对化选项使用"所有""一定""绝不"等绝对词

考生看多了,会形成模式识别——这是排除法真正的训练方式。

风格指南(每个模板开头都要包含)

风格要求:
- 用第二人称,口语化,像朋友讲解
- 不用"值得注意的是""综上所述""换言之"等套话
- 不超过 X 字
- 涉及不确定的事实必须明确标注 "[待核实]"
- 输出纯 markdown / YAML,不要包裹在代码块里

6.4 Claude Code 使用要点

事实准确性是最大风险。 Claude 生成的解释会有事实错误——尤其是涉及具体算法细节、版本号、参数名时。处理方式:

  • 每道题入库前必须人工 review,不能直接合并
  • prompt 里要求 Claude 标注"不确定"的地方(用 [待核实] 标签)
  • 涉及代码题时,让 Claude 把代码实际跑一遍验证
  • 站点显眼位置写明"内容由 AI 辅助生成、人工审核,如发现错误请提 issue"

别让 AI 写考试细节。 报名流程、考点信息、补贴政策、各地方政策差异——这些必须站长亲自写。Claude 训练数据里这种信息要么没有要么过期,错了会严重伤口碑。

先小批量验证 prompt,再放量。 建议流程:

  1. 用 10 道题反复迭代 prompt,直到输出质量稳定
  2. 用 50 道题做小批量验证,估算成本
  3. 验证通过后再批量跑剩余题目
  4. 每批入库后做抽样质量复核

深度层 prompt 串行 vs 合并: 让 Claude 一次输出 8+ 个不同视角的内容,每个都会变浅。建议:

  • MVP 阶段:基础 + 深度合一次跑(省钱、快)
  • 质量爬坡阶段:拆成多 pass 串行调用——Pass 1 基础层、Pass 2 出题人视角 + 排除法、Pass 3 知识图谱
  • 拆分的代价:成本翻倍、时间翻倍,但质量提升明显

知识图谱关联怎么生成: Claude 不知道你库里有哪些题。两种做法:

  • MVP 简单做法:每次给 Claude 喂一份"题库索引摘要"(每题 id + 一句话主题),让它从中挑相关题
  • 进阶做法:用 embedding 算相似度,自动推荐 top-5 候选给 Claude 二次筛选

题库小时(< 50 题)只能手动指定 related;题库大了之后再启用自动推荐。

成本预估: 几百道题的全部内容(基础 + 深度),按当前 API 价格大约几美元到几十美元,可控。深度层拆 pass 后翻倍。模板稳定再放量。

6.5 解析深度的设计原则

这是本站和其他备考资料拉开差距的地方。每道题的解析都要回答以下五个问题:

  1. 是什么(What)—— 正确答案是什么 → oneliner + explanation
  2. 为什么(Why)—— 为什么这是答案 → explanation
  3. 怎么用(Where)—— 在真实工作中长什么样 → context
  4. 出题人在想什么(Design)—— 这题想考什么、坑在哪 → exam_design
  5. 怎么排除错的(Eliminate)—— 错误选项的陷阱类型 → elimination
  6. 它和谁有关(Network)—— 在知识图谱中的位置 → related

不是每道题都需要 6 项全满,但简单题至少前 3 项,难题至少前 5 项

6.6 质量标准(入库 checklist)

每道题入库前必须满足:

基础项(必须全有)

  • [ ] 答案正确(至少两个来源交叉验证)
  • [ ] oneliner 不超过 30 字、口语化、可朗读
  • [ ] explanation 解释了"为什么",不只是"是什么"
  • [ ] 至少有一个实际工作场景例子(context)

深度项(强烈建议有)

  • [ ] exam_design 三字段填全:核心考点、难度定位、干扰策略
  • [ ] elimination 覆盖所有错误选项,每个都有排除类型和理由
  • [ ] related 至少有 1 条关联(same_concept / contrast / prerequisite / next_step 任一)

质量项(人工 review 时确认)

  • [ ] 有图解(除非完全文字题)
  • [ ] 已通过本人朗读测试(听起来自然)
  • [ ] 没有 [待核实] 残留标签
  • [ ] explanation 与 elimination 没有内容重复

七、技术栈

7.1 选型

选择理由
静态站生成器VitePress轻、快、Markdown 直出、Vue 组件友好、中文社区资料多
部署GitHub Pages零成本、永久免费、与开源仓库天然集成
朗读Web Speech API(MVP)+ Edge TTS(精选)前者零成本兜底,后者音质更好
媒体控制Media Session API锁屏控制、耳机线控
状态存储LocalStorage进度、错题、设置纯前端存
题目数据Markdown + YAML frontmatter易写、易 review、Git diff 友好
图解SVG(静态)+ Mermaid(流程)VitePress 原生支持

7.2 仓库策略:公开内容优先

采用单仓库方案承载公开站点内容。 理由:

  • 编译产物(如 .vitepress/dist/)本来就不该进 Git——通过 .gitignore 忽略,由 GitHub Actions 在 CI 里构建后部署到 GitHub Pages。所以不存在"编译后代码要单独存一个仓库"的问题。
  • 一个仓库的协作和声誉效应更强:stars、commits、贡献者、issue、PR 都集中在一处。
  • 所有纳入版本控制的内容都应默认可公开、可 review、可被社区复用。

仓库目录结构

text
aitrainer-prep/
├─ docs/                            # 站点内容(VitePress 根目录)
│  ├─ index.md                      # 首页
│  ├─ intro/                        # 考试引入
│  ├─ modules/                      # 考点详解
│  ├─ cram/                         # 背诵速查
│  ├─ listen/                       # 听题模式
│  ├─ resources/                    # 资源汇总
│  ├─ about/                        # 关于本站
│  ├─ public/                       # 静态资源
│  └─ .vitepress/                   # 站点配置
├─ data/                            # 结构化题库
│  ├─ raw/                          # 原始未处理题目
│  └─ questions/                    # 处理完成的题目
├─ prompts/                         # 内容生成 prompt 模板
├─ .github/workflows/               # CI/CD
├─ README.md                        # 项目介绍
├─ CONTRIBUTING.md                  # 贡献指南
├─ LICENSE                          # MIT(代码)
└─ LICENSE-CONTENT                  # CC BY-SA(内容)

.gitignore 关键内容

text
# 依赖与构建产物
node_modules/
docs/.vitepress/dist/
docs/.vitepress/cache/

# 本地环境
.env
.env.local
.DS_Store

# 编辑器
.vscode/
.idea/

工作流要点

  • 只提交适合公开的站点内容、题库数据、构建配置和贡献文档。
  • 本地草稿、原始素材、账号信息、环境变量和构建产物不进入版本控制。
  • 开源前使用 git grep 和历史记录检查确认没有误提交敏感信息。

什么情况下才考虑分仓

只有一种情况:"内容站"和"配套工具/服务"演化出明显不同的生命周期。例如后期做了独立的"AI 训练师题库 API 服务"或"独立的听题 App",那个服务可以单独成仓。但那是 12 个月之后的事,现在不用考虑。


八、视觉与品牌

8.1 调性

  • 专业但不冰冷:是备考站,不是学术论文站
  • 克制不浮夸:不用大色块、不堆 emoji、不写营销词
  • 中文优先:所有中文用思源黑体 / 苹方,代码用 JetBrains Mono

8.2 配色(建议)

  • 主色:墨蓝(#1B3A5C)—— 专业、稳重
  • 强调:橙黄(#E8A33D)—— 用于"重点 / 必考"标记
  • 灰阶:从 #F7F7F8 到 #2C2C2E
  • 难度标记:★ 用金色、★★ 用蓝色、★★★ 用红色

8.3 不使用的元素

  • 大段渐变背景
  • 立体阴影
  • 装饰性插画
  • 任何让"看内容"变慢的视觉元素

九、开源策略

9.1 许可证

  • 代码:MIT
  • 内容(题目、解析、图解、文档):CC BY-SA 4.0(署名 + 相同方式共享)

9.2 开源前准备清单

  • [ ] README.md 写清项目愿景、使用方法、贡献方式
  • [ ] CONTRIBUTING.md 说明如何提 issue / PR、内容质量标准
  • [ ] CODE_OF_CONDUCT.md 社区行为准则
  • [ ] Issue 模板:报错、补充题目、图解请求、新功能
  • [ ] PR 模板
  • [ ] GitHub Actions:自动构建、自动部署到 Pages
  • [ ] 内容审核流程(避免错误答案被合并)

9.3 开源后增长策略

  • 在小红书、知乎、B 站分享备考过程,引流到站点
  • 把"听题精选合集"导出 mp3,发小宇宙 / 喜马拉雅
  • 在 GitHub 上找类似的考试备考开源项目互推
  • 鼓励通过考试的考生在 PR 里加自己的真题

十、路线图(Roadmap)

Phase 0:MVP(4 周)

目标:跑通端到端体验,私有仓库内部用。

  • [ ] VitePress 骨架搭建
  • [ ] 信息架构落地(所有目录、空页面)
  • [ ] 首页 + "考试引入"全部内容(趁记忆新鲜,赶紧写)
  • [ ] 1 个完整知识点样板(按统一模板写)
  • [ ] 题目数据结构定稿
  • [ ] 听题播放器原型(Web Speech API 版)
  • [ ] Claude prompt 模板第一版
  • [ ] 部署到 GitHub Pages(私有仓库 + Pages)

Phase 1:内容铺量(8 周)

目标:核心模块内容完整,可以真给人用。

  • [ ] 模块 3.1 全部知识点
  • [ ] 模块 3.2 全部知识点
  • [ ] 模块 2.1 / 2.2 主要知识点
  • [ ] 代码题专题(含模板)
  • [ ] 背诵应试模块全部内容
  • [ ] 听题模式上线(含错题本、设置)

Phase 2:开源 + 分发(持续)

  • [ ] 开源前准备清单全部完成
  • [ ] 仓库公开
  • [ ] 在主要平台发起话题、分享
  • [ ] 配套播客(小宇宙)
  • [ ] 收集第一批用户反馈、迭代

Phase 3:长期演进

  • [ ] 多人协作机制成熟(issue / PR 流程顺畅)
  • [ ] 覆盖更多级别(四级 / 二级)
  • [ ] 引入题库 API、可被第三方应用调用
  • [ ] 探索社区驱动的题目更新机制

十一、关键指标(如何判断做得好)

不追求 DAU / 流量这种通用指标,而是关注对考生真有帮助

  • 内容指标
    • 知识点覆盖率:覆盖了官方考纲的多少 %
    • 题目库存量:可朗读题数、有图解题数、有 oneliner 题数
  • 质量指标
    • 错误率:被指出错误的题目数 / 总题数
    • 平均图解质量(人工评分)
  • 使用指标
    • GitHub stars / forks
    • 听题模式日均播放时长
    • 通过考试的用户反馈数(在 issue 里晒成绩)
  • 社区指标
    • 贡献者数量
    • 月均合并 PR 数
    • 真题补充贡献数

十二、潜在风险与应对

风险应对
答案错误误导考生双来源交叉验证 + 显眼位置标注"如发现错误请提 issue"
真题版权 / 泄题争议只收录考生回忆题,不收录任何官方原题电子版;明确标注"回忆版"
自己写不动了、项目荒废早开源、早建社区;把贡献门槛降到最低(一个 PR 加一道题也欢迎)
朗读音色不自然提供多音色切换;高频内容用 Edge TTS 预生成
内容被搬运到收费课程CC BY-SA 协议下,搬运者必须开源同样授权;不打官司,靠社区声誉

十三、站长的学习路径(同时也是建议路径)

这一章是这个项目的"元层"——站长自己怎么从 Python 后端 + 爬虫,学到能讲清楚 AI 训练师考点。 既是公开记录,也是给同路人的参考。如果你和我背景类似(会 Python、但 ML/DL 是零),可以照着走。

13.1 起点

  • ✅ Python 中级(写过后端、爬虫)
  • ✅ 工程基础(Git、命令行、数据库)
  • ❌ 没接触过机器学习、深度学习
  • ❌ 没系统学过线性代数、概率论(大学学过但忘了)
  • ❌ 没用过 NumPy / Pandas / Scikit-learn / PyTorch

13.2 学习策略

不追求一次学透,追求"能讲明白这道题"。

考试导向是个好抓手——它给学习划定了边界,避免无限发散。每道题就是一个具体的学习单元,搞懂这道题需要什么前置知识,就去补什么。

具体两条线并行:

  • 横向(广度):跟着考纲,从模块 3.1 开始,每个知识点都要能用自己的话讲一遍
  • 纵向(深度):每个知识点遇到不懂的概念就深挖一次,但只挖到"够用"为止;记下来"这里我还没真懂",回头补

13.3 阶段性目标

阶段目标输出
第 1 个月建立 ML 基础语感模块 3.1 全部知识点能用自己的话讲;本站 3.1 内容上线
第 2 个月拓展到 DL 入门模块 3.2 内容上线;能跑通一个简单的分类模型
第 3 个月业务侧补全模块 2.1 / 2.2 内容上线;理解 AI 训练师在真实工作中干啥
第 4 个月代码题专题攻坚6 类代码题模板沉淀;能徒手写出每类题的骨架
持续用 AI 做生活相关小项目每季度一个小项目(详见 13.5)

13.4 推荐资源(站长亲测会更新)

这一节会随着学习过程持续更新。先列一个初始版本,看完一本就标注 ✅。

  • 入门:吴恩达 Machine Learning(Coursera 经典版) / 李宏毅机器学习(B 站)
  • 动手:《动手学深度学习》(李沐,中文 PyTorch 版)
  • 工具:Scikit-learn 官方 tutorial、PyTorch 官方 60min blitz
  • 数学补课:3Blue1Brown 线性代数 / 概率论的本质(可视化好、不痛苦)
  • 业务侧:跟人工智能训练师这个职业相关的行业访谈、招聘 JD

13.5 顺便做点真有用的东西

学完不用,等于没学。每个阶段尝试做一个小项目(可以独立开源 / 也可以集成进本站):

  • 阶段 1 后:用 sklearn 给本站题库做一个"知识点聚类 / 难度预测"小工具
  • 阶段 2 后:用一个小型语言模型给题目自动生成一句话解释(替代 Claude API 调用)
  • 阶段 3 后:用本地 TTS 模型给听题模式做更自然的朗读
  • 阶段 4 后:做一个"我的薄弱点诊断"功能——根据用户的错题给出个性化复习计划

这些小项目反过来都能滋养本站,也能让站长真正"用起来"AI。

13.6 写给同路人

如果你和我一样,是从其他工程方向(后端、前端、数据、运维)跨进 AI 的,几句心里话:

  • 不要因为数学基础生疏就停下,先看可视化资料建立直觉,需要严谨证明时再回头
  • 写代码比看书有用 10 倍,每个概念都用 Python 跑一遍
  • 考试是手段不是目的,过了 3 级不代表你会做 AI;但过 3 级的过程能逼你过完一遍知识地图
  • 公开学习的速度更快,写下来、讲出来、教别人——这就是这个项目的另一个隐藏意义

附录 A:术语表

术语含义
oneliner一句话解释,专为"听"设计的 30 字以内口语化版本
模块 3.1 / 3.2 / 2.1 / 2.2人工智能训练师考纲下的考点模块
听题模式把题目做成播客式播放,碎片场景使用
三阶段引入 / 详解 / 背诵应试,对应不同备考阶段

附录 B:参考与致敬

  • VitePress 文档站设计
  • MDN Web Docs 的内容组织方式
  • 阮一峰《ES6 标准入门》的开源教学范式
  • 各类考试备考开源项目(待补充)

附录 C:考点速查表(v1,基于站长考试整理)

本表是站点早期最有价值的产品资产之一。完整版会发布在 docs/cram/api-cheatsheet.md 作为"考前必背清单"。

C.1 通用考试策略

  • 题目不提供代码框架,只需背诵 import 语句和核心 API 调用
  • 这是 Python 部分最重要的技巧

C.2 数据预处理(对应 1.1.x、2.1.x,约 40 分)

场景核心 API
数据读取pd.read_csv()pd.read_excel()
数据理解print(data.head())data.shapelen(data)data.info()
数据生成与转换np.where()pd.cut()pd.get_dummies()df['列名'].apply()
数据计算与分组value_counts()data.groupby().agg()
数据检查与清洗.isnull().sum().duplicated().sum()fillna()data.drop()dropna()data.rename()
条件筛选isin().between()
类型转化astype()pd.to_numeric()
标准化与异常值处理.mean().std().quantile()scaler.fit_transform()
数据集分割与保存train_test_split()pd.concat()data.to_csv()
绘图data.plot(kind='bar')data.plot.pie()plt.scatter()

C.3 建模(对应 2.2.x,20 分)

场景核心 API
模型定义与训练LogisticRegressionRandomForestRegressorxgb.XGBRegressormodel.fit().dump()
预测与样本平衡model.predict()smote.fit_resample()
模型评估model.score()mean_squared_error()r2_score()

C.4 图像识别(对应 3.2.x,20 分)

场景核心 API
模型加载ort.InferenceSession()
图像处理Image.open().convert()cv2.imread()image.resize()np.asarray()np.expand_dims()
模型应用与输出session.get_inputs()session.run()scipy.special.softmax()np.argsort()np.argmax()
结果处理与文件操作list(emotion_table.keys())open('labels.txt', 'r')accuracy[0, predicted_idx] * 100name.strip()makedirs()

C.5 1.2.x 理论问题对策(套路化模板)

问题类型对策方向具体抓手
准确性不高优化数据质量数据清洗、数据扩充、数据标注
优化模型算法升级模型、调整参数
响应慢 / 延迟高优化模型算法升级模型、调整参数
优化系统性能升级硬件、并行计算、增加缓存
缺乏个性化 / 服务单一优化用户体验改进界面、优化交互、增加个性化功能

记忆口诀:「准确不高靠数据 + 算法,响应慢靠算法 + 系统,单一靠体验」。

C.6 第三部分 Excel(3.1.x,15 分)

待站长根据真题回忆补充。这是性价比最高的部分,应优先建设。


本文档随项目演进持续更新。最近一次更新:2026-04-27(v4:基于站长考试结构整理图融入考点骨架)

内容采用 CC BY-SA 4.0 协议 · 代码采用 MIT 协议