给任何想学的东西,请一位私人 AI 导师。
AI 读懂你真实的理解程度,再为你一个人定制下一篇课文。
源自 Bloom 的 2σ 研究:一对一辅导 = 冲进前 2%。
1984 年,教育心理学家 Benjamin Bloom 发现:接受一对一导师指导的学生,成绩比传统课堂学生高出 2 个标准差(+2σ)——直接跃升到前 2%。Bloom 称之为"2 Sigma Problem":效果已被证明,但私人导师太贵、无法规模化。
Bloom 用 AI 解决这个问题。 它生成结构化大纲,逐篇递送课文,读取你的批注和反馈,然后根据你的实际理解水平定制下一篇——就像一个真正的导师一样。
| 方式 | 配置 | 适合 |
|---|---|---|
| CLI 模式 | Claude Code + 终端 | 喜欢用 Markdown 编辑器的人 |
| Web 模式 | 浏览器(React + FastAPI) | 偏好可视化界面的人 |
两种模式遵循相同流程:大纲 → 课文 → 批注 → 反馈 → 下一篇 → 评估 → 总结。
只需要 Claude Code,无需后端。
git clone https://github.com/Li-Evan/Bloom.git
cd Bloom
# 将导师 skill 安装到当前 clone 的本地 Claude Code skills 目录
mkdir -p .claude/skills
cp -R skills/bloom-tutor .claude/skills/
claude然后说:开一个新的文件夹,帮助我学习 [任意课题]
或者作为插件安装(打包了 bloom-tutor 和全部 learn-* skill)—— 在 Claude Code 里:
/plugin marketplace add Li-Evan/Bloom
/plugin install bloom@li-evan
详见 GUIDE.zh.md。
git clone https://github.com/Li-Evan/Bloom.git
cd Bloom
# 配置
cp .env.example .env
# 编辑 .env,填入 LLM_API_KEY
# 后端
cd backend && uv sync && uv run uvicorn app.main:app --reload --port 8000
# 前端(新终端)
cd frontend && npm install && npm run dev打开 http://localhost:5173,点击「新建课程」,选择「主题生成」「上传原文」或「项目文件」,开始学习。
cp .env.example .env # 填入 API Key
docker compose up -d # 访问 http://localhost:3000创建课程 → AI 生成大纲 + 首篇课文
↓
阅读课文 → 选中文字 → 添加批注
↓
写反馈 → 回答思考题
↓
点击「我读完了」→ AI 生成下一篇
(包含:思考题复盘 + 批注解答 + 新内容)
↓
重复,直到大纲所有掌握项全部 ✅
↓
自动生成评估篇 → 然后生成总结
上传 PDF / TXT / MD → AI 根据全文生成大纲 + 原文阅读章
↓
阅读原文 → 选中文字 → 即时提问并得到回答
↓
点击「我读完原文了」→ AI 读取全文 + 划线问答,生成下一篇
↓
后续按主题生成模式继续推进
上传单个文件 / 多个文件 / 整个文件夹 → 每个文件直接渲染成一篇
↓
逐个文件阅读 → 选中文字 → 即时提问并得到回答
↓
不生成大纲、不生成下一篇;文件与划线问答会进入「下一步学习」推荐
- 三种课程模式 — 主题生成、上传 PDF/TXT/MD 原文、或「项目文件」(上传文件 / 文件夹直接渲染、随时划线提问、不生成大纲与下一篇)
- 学习深度 — 创建课程时选择简单、标准或深入,控制大纲展开颗粒度;课程卡片上标明所选深度
- 参考材料 — 创建主题课程时粘贴课本、论文、笔记,AI 据此设计课程
- 下一步学习推荐 — 根据完整学习历史生成 3 个可直接创建课程的主题,支持刷新、收藏到待学习清单、或直接进入“大纲 → 课文”的学习流程
- 划线问答会话 — 任意课文(或原文)中选中文字后会冒出一个小图标,点它再提问;划线处持续标黄,AI 立即作答,可在同一会话中持续追问。窗口可拖动,可缩小为右侧小圆点、随时点开。每条会话的上下文 = 整篇课文 + 划线那段 + 本会话对话;你的提问仍会喂入下一篇课文生成
- 自适应课文 — 每篇新课文针对你上一篇的薄弱点定制
- 章节导航 — 右侧侧栏快速跳转
- 可折叠大纲 — 随时查看掌握进度
- 流式生成 — 实时看 AI 写下一篇课文
- 个人中心与学习日历 — 顶栏进入个人中心,月历按强度着色展示每天学习量,点某天即可看到当天学了哪些课程、第几篇、提了几条划线;配学习概览统计卡与近半年学习足迹热力图(连续天数等口径统一按本地日期)
Bloom 在 skills/ 里附带一组可移植的 Claude Code skill —— 自包含的能力包,拷进 ~/.claude/skills/(全局)或任意项目的 .claude/skills/ 即可随处使用。
| Skill | 作用 |
|---|---|
| bloom-tutor | 把整套交互式学习系统封装成一个 skill —— 大纲 → 自适应课文 → ??? 批注 → 评估 → 总结。就是 CLI 模式,打包成可移植形态 |
| learn-deep | 深度学习默认入口 —— 一次跑完下面五种视角,再帮你选深入方向 |
| learn-crossover | 用你已掌握的知识撬动新概念(结构类比) |
| learn-occam | 判断某个东西该不该学、学到什么程度(ROI、够用就好) |
| learn-graph | 为一个领域建知识图谱地图 + 学习路径 |
| learn-prototype | 用「先做最垃圾的能跑原型再迭代」来学 |
| learn-feynman | 用「讲给别人听」自查是否真懂 |
每个文件夹都零依赖:拷进任意 skills 目录,然后直接对 Claude Code 说话(如 「帮我学 X」、「我读完了」)。
| 层 | 技术 |
|---|---|
| 后端 | Python, FastAPI, SQLAlchemy, SQLite |
| 前端 | React, Vite, Tailwind CSS |
| AI | 任意 OpenAI 兼容 LLM API |
| 容器 | Docker, docker-compose |
| 字体 | Outfit, JetBrains Mono |
make dev-backend # 启动后端(热重载)
make dev-frontend # 启动前端
make test # 运行测试
make up / make down # Docker 启动 / 停止| 概念 | 含义 |
|---|---|
| Bloom 2 Sigma | 一对一导师 vs 课堂 = +2σ 成绩提升 |
| 掌握学习法 | 真正掌握后才推进到下一个概念 |
| 苏格拉底式教学 | 用提问引导,不直接给答案 |
| 间隔检索 | 每篇课文开头的思考题复盘强化记忆 |
| 自适应路径 | 内容根据个体反馈实时调整 |
