📘 本文档是站点的产品设计文档。如有疑问欢迎在 GitHub Discussions 提出。
人工智能训练师备考站 · 产品设计文档
一个为「上海人工智能训练师三级(高级)」考生设计的、系统化、原理化、AI 辅助的开源备考站。 当前阶段:内容打磨 → 公开开源 → 社区共建。
一、项目背景
1.1 站长是谁、为什么做这个
我是一个有 Python 后端和爬虫开发经验的工程师,之前没接触过 AI / 机器学习 / 深度学习。 2026 年报考了上海人工智能训练师三级,把"备考"作为一个抓手——逼自己真正学进这个领域。
考完之后,我有两个朴素的愿望:
- 把学到的东西沉淀下来,将来再做 AI 相关项目时不用重新刨一遍
- 做点真有用的东西——既能帮自己梳理知识,也能帮其他和我一样从零起步的人
这就是这个项目的起点。它不是一个专家做的科普站,而是一个学习者一边学、一边整理、一边写的开源笔记。
1.2 我观察到的真实痛点
备考过程中遇到的几个让我难受的问题,也是这个项目要解决的:
- 资料零散:官方教材薄、市面教辅水平参差、社区讨论分散在零散贴子里
- 培训机构靠"背"不靠"懂":讲师让学员背题、背答案,不讲原理,导致考生离开考场就忘
- 代码题分值高、讲解少:6 道大题中代码相关占比重,但市面上几乎没有按"套路 + 模板"系统化讲解的资料
- 难度梯度混乱:教程不区分先后,新手一上来就被难题劝退;其实 3.1 模块最简单、最容易拿分,应该最先学
- 对零基础不友好:我自己就是从 Python 后端跨过来的,深知"已经懂的人写给已经懂的人看"的资料对初学者多不友好
1.3 目标用户
- 主要用户:准备报考 / 正在备考人工智能训练师三级的在职人员、转行者、学生
- 特别欢迎:和我背景类似的人——有点代码基础、但 AI/ML 是从零起步
- 次要用户:考完想系统回顾的从业者;对 AI 训练师这个职业感兴趣的旁观者
- 使用场景:
- 在家坐下来系统学习(看 + 练)
- 通勤、家务、睡前的碎片时间(听)
- 考前一周的高强度突击(背)
1.4 产品愿景
让备考从"背题"变成"懂题",从"必须坐下看"变成"随时能听"。同时,让站长自己真正掌握 AI 这个领域。
做一个开源、免费、原理优先、AI 辅助、学习者视角的备考站,建立这个考试方向的事实标准内容库。
二、核心设计原则
- 学习者视角优先:站长自己就是从零开始学 AI 的人,所有内容假设读者也没有 ML/DL 背景;如果一个概念站长第一次看不懂,那就要再写一遍
- 原理优先于答案:每个知识点先讲为什么、再讲怎么用,最后才是答案
- 数据单源、多端复用:题目、答案、解释、图解只写一份,自动渲染成详解页 / 听题播放器 / 背诵卡片 / 播客脚本
- 按真实使用场景分阶段:引入 → 详解 → 背诵应试 → 听题,分别对应"了解 / 学习 / 突击 / 碎片"四种心智
- 静态优先:纯静态站,GitHub Pages 直接托管,零后端、零成本、可永久存活
- 可贡献、可分叉:内容采用 CC BY-SA、代码采用 MIT,鼓励他人补充、纠错、二创
- AI 辅助生产:用 Claude 等模型批量生成图解、一句话解释、背诵卡片,人审核把关
三、信息架构
3.1 顶级导航
首页 Home
├─ 一、考试引入 Intro
├─ 二、考点详解 Modules
├─ 三、背诵应试 Cram
├─ 四、🎧 听题模式 Listen
└─ 五、资源与社区 Resources3.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 知识点页面(详解模块)
每个知识点页面采用统一模板,让读者形成肌肉记忆,写起来也快:
## 知识点: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 题目数据结构
这是整个站最重要的架构决定——一份数据,渲染所有视图。数据结构分基础层和深度层两部分。
---
# ===== 基础层 =====
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.x | Python 与理论二选一抽题 | 25 | 抽到哪个考哪个 |
| 第二部分 | 2.1.x | Python 数据预处理 | 15 | |
| 2.2.x | Python 建模 | 20 | ||
| 第三部分 | 3.1.x | Excel 操作 | 15 | ⭐ 最易拿分 |
| 3.2.x | Python 图像识别 | 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.md | SVG 静态图解 | 一张图 | 单选题答案对比、概念结构图 |
prompts/diagram-mermaid.md | Mermaid 流程图 | 一张图 | 流程类、决策树 |
prompts/code-question.md | 代码题逐行讲解 | 视题目而定 | 必须实际跑一遍验证 |
深度层(差异化资产,每题都跑)
| 文件 | 用途 | 输出格式 | 关键约束 |
|---|---|---|---|
prompts/exam-design.md | 出题人视角 | YAML 三字段 | 核心考点 / 难度定位 / 干扰策略 |
prompts/elimination.md | 排除法解析(只讲错误选项) | YAML 数组 | 每个错误选项标注排除类型 + 排除理由 |
prompts/related.md | 知识图谱关联 | YAML 四字段 | 同考点 / 易混 / 前置 / 进阶题目 ID |
为什么深度层重要: 差的解析说"答案是 B,因为 B 对"。好的解析进入出题人脑子——这道题为什么被设计出来?错误选项怎么挖坑的?这道题在知识网络里位置在哪?深度层的三个 prompt 就是把这种思考显式化。
深度层字段示例
题目数据 frontmatter 增加以下字段(与第 5.3 节的基础数据结构合并使用):
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,再放量。 建议流程:
- 用 10 道题反复迭代 prompt,直到输出质量稳定
- 用 50 道题做小批量验证,估算成本
- 验证通过后再批量跑剩余题目
- 每批入库后做抽样质量复核
深度层 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 解析深度的设计原则
这是本站和其他备考资料拉开差距的地方。每道题的解析都要回答以下五个问题:
- 是什么(What)—— 正确答案是什么 →
oneliner+explanation - 为什么(Why)—— 为什么这是答案 →
explanation - 怎么用(Where)—— 在真实工作中长什么样 →
context - 出题人在想什么(Design)—— 这题想考什么、坑在哪 →
exam_design - 怎么排除错的(Eliminate)—— 错误选项的陷阱类型 →
elimination - 它和谁有关(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、可被社区复用。
仓库目录结构
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 关键内容
# 依赖与构建产物
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.shape、len(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 |
|---|---|
| 模型定义与训练 | LogisticRegression、RandomForestRegressor、xgb.XGBRegressor、model.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] * 100、name.strip()、makedirs() |
C.5 1.2.x 理论问题对策(套路化模板)
| 问题类型 | 对策方向 | 具体抓手 |
|---|---|---|
| 准确性不高 | 优化数据质量 | 数据清洗、数据扩充、数据标注 |
| 优化模型算法 | 升级模型、调整参数 | |
| 响应慢 / 延迟高 | 优化模型算法 | 升级模型、调整参数 |
| 优化系统性能 | 升级硬件、并行计算、增加缓存 | |
| 缺乏个性化 / 服务单一 | 优化用户体验 | 改进界面、优化交互、增加个性化功能 |
记忆口诀:「准确不高靠数据 + 算法,响应慢靠算法 + 系统,单一靠体验」。
C.6 第三部分 Excel(3.1.x,15 分)
待站长根据真题回忆补充。这是性价比最高的部分,应优先建设。
本文档随项目演进持续更新。最近一次更新:2026-04-27(v4:基于站长考试结构整理图融入考点骨架)