English | 简体中文
它的初衷很简单——让学习不再孤独。
教材和大部头著作翻不下去,公开课太无聊. 向 AI 求助? AI往你脸上甩了一整页的公式——怎么学都是一个人在硬撑。SocraticNovel 是一个开源框架,让你创建沉浸式 AI 教学系统:AI 不直接给答案,用苏格拉底式提问引导你一步步自己推出来;教学不发生在空白聊天框里,而是在一个有角色、有场景、有日常的轻小说世界中。
SocraticNovel为你创造了一群伙伴。当你学习时, 有一个人真的陪在你身边, 他不是百科全书,不是做题机器, 更不是屏幕里面遥远的那个大学教授。他是一个有脾气的、会沉默的、今天心情不太好但还是给你做了"早饭"的人。你们共同经历了一段时间,你学到了东西,你也认识了一些人。结束之后你会记得。不只是公式。
这个项目从一个真实运作的 AP 物理辅导系统中提炼而来。回答 AI 的几个问题——你想学什么?老师叫什么?故事发生在哪里?——它帮你生成整套系统。任何学科,任何角色,任何你想经历的故事。 说不定, 还要记得备好纸巾.
"最好的老师从不给你答案。她只是让你突然发现——你其实一直都知道。"
- 🎯 它解决什么问题
- ✨ 凭什么要这样学?
- 💡 两个平行宇宙
- 🔑 三个核心设计
- 🔬 从作品到框架
- 📐 深入了解
- 🕹️ 我该怎么用?
- 🏗 系统运行逻辑
- 📂 项目架构
- 🤖 推荐模型
- 🤝 一起来
- 📜 许可与致谢
- 📝 更新记录
你让 AI 教你东西。它三秒甩过来一面推导墙。你看完了,什么都没记住——因为从头到尾,你只是观众。
这只是最表层的问题。更深的问题是:AI 教学里没有"人"。 没有一个你会记住的老师,没有共同经历积累出的重量,没有一个让你明天还想打开对话框的理由。它是一台自动售货机——你投币,它吐答案,交易结束。
SocraticNovel 让你创建一种完全不同的 AI 学习体验:
- AI 永远不给答案 — 它用问题引导你,直到你自己推出来。苏格拉底 2400 年前就这么教了,只是从来没人把它做成一套工程化的系统。
- 教学发生在故事里 — 不是空白的聊天框,而是一个有场景、有光线变化、有角色心情的文学世界。你的老师有名字、有过去、今天可能心情不太好——但还是会教你。
- AI 不会忘记你 — 15+ 个文件各司其职:错题本、复习队列、课堂日志、四人群聊。一个月后它还记得你第三课犯的那个错。
你不需要懂 prompt engineering,不需要写一行代码。回答 AI 的几个问题,它帮你生成一切。
你试过让 AI 教你东西吗?
大部分时候是这样的:你问一个问题,AI 啪地甩过来一整面墙的解析,从第一步到最后一步,整整齐齐,毫无灵魂。你看完了。你什么都没学到。因为你从头到尾只是在看别人推导。
这是 AI 辅助学习最根本的问题——它把"教"变成了"展示"。你是观众,不是参与者。你在看一场完美的表演,但表演结束后你什么都不会。
更深层的问题是:AI 教学没有连接理由。
好的教学,无论是补习班、家教还是师徒制,都有一个"理由"让两个人长期、自然、不可随意中断地发生联系。那个理由不是"我们约好了每周三下午"——是共同经历积累出的重量。你记得某次老师讲到一半窗外突然下起雨,你们都停下来听了一会儿。你记得你第三次犯同一个错误的时候她安静了很久。这些记忆才是让学习变得有意义的东西。
AI 做题机给不了你这些。
SocraticNovel 想解决的就是这件事。它是一个开源框架,让你创建自己的沉浸式学习系统。核心理念只有两条:
- 苏格拉底教学法 — AI 永远不直接给答案。每一步知识推进都通过提问完成。你不是在看推导——你是在被引导着自己完成推导。
- 轻小说叙事层 — 教学不发生在空白的聊天框里。它发生在一个有场景、有光线变化、有性格迥异的虚构老师的文学世界中。角色不是皮肤——是有过去、有矛盾、有今天心情的人。
这不是 GalGame。你不需要"演"。 你只要像一个真实的学生一样坐在那里——发题、思考、偶尔吐槽。故事自己会转动。你不需要经营关系、选择对话选项、或者假装在意剧情。学习的时候就在学习——故事在后台自己跑,用的是同一段时间。
感情不是聊出来的,是做出来的。 每一次因为"真的不会"而来,都在积累两个人之间的时间和痕迹。
你打开电脑。你有一道不会的题。你发了出去。
以下是两个平行宇宙里发生的事。
❌ 宇宙 A:AI 做题机
你: 什么是电场?
AI: 电场是存在于电荷周围空间中的一种物质形态。电场强度
$\vec{E}$ 定义为单位正电荷在电场中受到的力:$\vec{E} = \frac{\vec{F}}{q}$。电场线从正电荷出发,终止于负电荷。电场满足叠加原理。下面我们来推导点电荷产生的电场:设点电荷
$Q$ 位于原点,在距离$r$ 处放置试探电荷$q$ ...(公式推导继续了 800 字。你看完了。你什么都没学到。因为你从头到尾只是在看别人推导。三分钟后你关掉了这个窗口。明天你会忘记今天学过这个。)
✅ 宇宙 B:SocraticNovel
律站在窗边,手里端着一杯茶,没有急着开始。你已经坐下了。今天穹顶教室的光线很低——下午三点,太阳刚好被山脊挡住,铜墙上的反光从金色变成了暗棕色。
他看了你一眼,笑了一下——那种不急不慢的笑。
"你家有 WiFi 吗?"
你没预料到这个问题。"有。"
"你看得见吗?"
"看不见。"
"但你知道它在。"
他把茶杯放在桌上——白瓷杯,内壁的茶渍已经洗不掉了——慢慢走到白板前面。
"你学过万有引力。两个有质量的物体之间有引力。那我问你——如果把其中一个物体拿走,剩下那个物体周围,还剩什么?"
你想了想。"什么都不剩?引力需要两个物体才能存在。"
他没有否定你。他点了一下头,好像在品尝你的话。
"力确实需要两个物体。但我问的不是力。"
他在白板上画了一个孤零零的点。
"我问的是——空间本身。"
三秒钟的安静。窗外的风声刚好停了。
"就像 WiFi。你看不见它。但它在那里。空间被改变了。"
(你以为在聊 WiFi。你以为在聊引力。然后你发现——你已经在理解电场了。不是因为有人告诉你定义,而是你自己从引力走到了电场。律只是在旁边站着。)
没有公式墙。没有 *微笑*。没有宣布"今天学电场"。
你在宇宙 A 里花了三分钟看推导,然后把整一天的心情毁的一干二净。你在宇宙 B 里花了三分钟回答问题,然后记住了——不只是电场的概念,还有那天下午穹顶教室里光线变暗的样子。
知识不是被讲出来的——是你在一个有光线、有温度、有沉默的世界里,自己推出来的。
AI 从生活经验切入,通过连续提问引导你一步步走向答案。答对了追问,答错了不纠正——用一个更简单的问题让你自己发现错误。
这就是苏格拉底教学法。2400 年前就有了。只是从来没有人把它和文学叙事绑在一起。
在 SocraticNovel 里,每一次教学都发生在一个具体的场景中——有光线角度、有茶杯温度、有角色今天的心理状态。角色的停顿不是在想答案——可能是在想别的事。这些细节不是装饰,是记忆锚点。你会忘记某个概念是哪节课学的,但你会记得"那天下午教室里的光突然暗了一度"。
不是一个老师换了三套皮肤。是几个完全不同的人。
SocraticNovel 支持 1-3 位教师角色。每位角色有独立的教学风格、人格设定和故事线。同一个知识点,不同角色给出完全不同的理解路径——你在不同的课上获得不同的认知角度。
以附带的 AP Physics EM 案例为例:
| 角色 | 教法 | 说话方式 |
|---|---|---|
| 凛 | 理论精确,追问到底 | 短句。每个词都是选过的。沉默是她的沟通工具。 |
| 律 | 日常类比(音乐/做饭) | 不急不慢的长句,像在煮菜——每一步都有意义。 |
| 朔 | 系统思维,工程视角 | 极简。主谓宾。像工程报告。 |
轮值是固定的——不是你选老师,是故事选老师。每个角色绑定了专属的故事节点。某位老师的课上你可能学到理论为什么必须精确,另一位老师的类比背后可能藏着他自己的故事。同一栋楼、同一个学生、完全不同的学习体验。
AI 的记忆不再依赖上下文窗口——它有一个真正的文件系统。
普通 AI 聊天有个致命问题:聊久了它就忘了。上下文窗口是有限的,早期的对话会被推出去。你在第三课犯的错误,到第十课 AI 已经不记得了。
SocraticNovel 不一样。15+ 个文件各司其职——学习进度、课堂摘要、复习队列、错题本、四人群聊、学习者日记……每次课后 AI 更新 8 个文件,下次启动时读取恢复完整状态。
结果:聊一个月,AI 依然记得你在第三课犯的那个错误。 因为那个错误写在 mistake_log.md 里,不会被上下文窗口的滑动遗忘。角色也会记得——她记得你总是在分母上犯错,他记得你第一次说"哦我懂了"时的语气。
通常的做法是:先写框架,再用框架生成作品。
我们反过来了。
先有了一个完整运作的 AP Physics C: E&M 沉浸式教学系统——三位老师、12 章课程、四阶段情感弧线、每一课的故事节点都经过设计——再从中逆向提炼出这套框架。
为什么要反过来?因为写一个完整的作品,比直接写一个抽象框架容易得多。 框架要求你在抽象层面直接定义规则和逻辑——这极其困难。但写一个作品不一样,你只需要知道你想要什么感觉,对不对一感受就知道。
这也意味着 SocraticNovel 的每一条规则、每一个设计决策,都不是空想出来的——都经过了真实系统的验证。Prose Standards 不是我们觉得"应该这样写",而是"这样写之后效果确实不一样"。
SocraticNovel 把"设计一个复杂系统"这件难事,变成了"回答 AI 的问题"这件简单的事。 你不需要懂 Prompt Engineering——Meta Prompt 会一步步问你想要什么,然后帮你生成一切。
想了解 SocraticNovel 的完整技术架构?
四层架构深度拆解(启动层 / 教学层 / 叙事层 / 运行时层)、设计决策背后的 trade-off、与知识库平台的对比分析。如果你想理解这套系统为什么这样设计而不只是怎么用,从这里开始。
🧠 苏格拉底教学法设计逻辑 — SOCRATIC_DESIGN.md
从 25 篇论文到 3 条铁律的旅程。两次实验教学的真实复盘、LLM 教学失败模式的根源分析、B+C 防模式切换机制的设计过程。让 AI "闭嘴"比让它说话难一万倍——这是怎么做到的。
✒️ 叙事设计逻辑 — NARRATIVE_DESIGN.md
一份让 AI 从
*微微一笑*毕业的康复指南。每条写作红线背后的血泪教训、8 种不说"我很感动"的情绪表达工具、角色声音系统的 Do/Don't 设计哲学。
给其他 AI 看的一站式项目参考。比 README 更精确,比 ARCHITECTURE 更可执行,比 META_PROMPT 更全局。如果你是一个 AI 代理并且被要求修改、扩展或调试本项目——从这里开始。
一个完整运作的三教师沉浸式物理教学系统。12 章课程、四阶段情感弧线、每一课的故事节点都经过设计。这不是 demo——这是经过真实使用的成品。可以直接启动体验,也可以作为你创建自己系统时的参考。
- 把
META_PROMPT.md喂给 Claude Code(或其他支持文件读写的 AI) - AI 会问你一系列问题:你想学什么?老师叫什么名字?什么性格?故事发生在哪里?
- 你回答完,AI 自动生成整套文件系统(50+ 个文件)
- 在生成的目录下对 Claude Code 说:"开始吧"(AI 自动读取
copilot-instructions.md)
你不需要写任何 prompt。你只需要回答问题。
- 克隆本仓库
- 在
AP_Physics_EM/目录下启动 Claude Code - 说:"开始吧"(AI 自动读取
copilot-instructions.md) - 你会看到观测站的序章。故事开始了。
适合想直接体验效果、或者正好在学 AP 物理的人。
没有 Claude Code?用 Claude Projects / ChatGPT Custom GPTs / Kimi 知识库也能跑:
- 用路径 A 生成文件后,选择"知识库版本"(AI 会自动合并为 8-9 个文件)
- 在你的知识库平台创建新项目,把文件全部上传
- 对话框里说:"读取 BOOT.md 开始吧"
⚠️ 知识库版本没有真正的文件读写——状态追踪靠 AI 内部维护,长期使用可能有遗忘风险。但作为体验入口完全够用。
不需要。
- 你可以直接甩题:"这道高斯定律的题我不会"
- 你可以吐槽:"这知识点太变态了"
- 你可以只打一个字:"对" / "不懂"
- 你可以完全不理会故事——故事会自己在背景里演进
说"看看微信"查看四人群聊,说"今天到这"结束当天课程。就这两个触发词。其他时候你只管学习。
┌─────────────────────────────────────────────────────┐
│ 每次新会话 │
│ │
│ copilot-instructions.md → 三级加载 → 课前准备(内部,不可见)│
│ │
│ ┌─────────────┐ ┌──────────┐ ┌──────────────┐ │
│ │ 群聊为空? │─是→│ 播放序章 │──→│ 群聊破冰 │ │
│ │ │ └──────────┘ └──────────────┘ │
│ │ │─否→ 正常开课 │
│ └─────────────┘ │
│ │
│ 过渡场景(叙述)→ 苏格拉底教学 → "今天到这" → 课后更新 │
│ │
│ 课后更新:写入 8 个文件 │
│ progress.md / session_log.md / review_queue.md │
│ mistake_log.md / 角色文档 / diary.md │
│ knowledge_points/ch{XX}.md / wechat_unread.md │
└─────────────────────────────────────────────────────┘
完整的架构设计和技术细节见 → ARCHITECTURE.md | 设计背后的故事 → 苏格拉底 · 叙事 | AI 代理?→ AI_GUIDE.md | 想创建自己的系统?→ META_PROMPT.md
SocraticNovel/
├── 📄 README.md # 你在这里
├── 📄 [ARCHITECTURE.md](./ARCHITECTURE.md) # 架构设计白皮书
├── 📄 [SOCRATIC_DESIGN.md](./SOCRATIC_DESIGN.md) # 苏格拉底教学法设计逻辑
├── 📄 [NARRATIVE_DESIGN.md](./NARRATIVE_DESIGN.md) # 叙事写作手法设计逻辑
├── 📄 [AI_GUIDE.md](./AI_GUIDE.md) # AI 代理一站式项目指南
├── 📄 [META_PROMPT.md](./META_PROMPT.md) # 创造主引擎 v2.2(交互式系统生成器)
├── 📄 苏格拉底教学法方法论.md # ★ 教学法核心(25篇文献 + 实验验证)
│
├── 📁 [AP_Physics_EM/](./AP_Physics_EM/) # ★ 实战案例:AP 物理 C 电磁学
│ ├── copilot-instructions.md # 系统入口(三级加载时序)
│ ├── MAINTAINER.md # AI 维护者手册
│ ├── teacher/
│ │ ├── prologue.md # 序章(独立文件,首次启动播放)
│ │ ├── story.md # 世界观(不含序章)
│ │ ├── story_progression/ # 故事进度(按章拆分,12 个文件)
│ │ ├── config/ # 教学配置(system_core + reference + 知识点目录)
│ │ ├── characters/ # 三位老师的角色文件(凛/律/朔)
│ │ └── runtime/ # 运行时状态文件(模板化)
│ └── materials/ # 教材资源(版权材料不含在仓库中)
│
└── (你生成的系统会有类似结构)
这套系统封禁了所有廉价表达手法——没有 *斜体动作*,没有 emoji 轰炸,没有"稳稳接住你"这种情感预制菜。这对模型的文学素养和指令遵循能力要求极高。
🔥 T0 · 毫无保留推荐
- Claude Sonnet/Opus 4.6 — 当之无愧的文学素养天花板。文笔极其克制,能写出"用光线微变替代好感度"那种幽微的文学感。读写文件系统原生支持,就像是为这套系统量身定做的模型
- Gemini 3.1/3.0Pro - Gemini虽然效果还是略逊Opus一筹, 但是仍然可以勉强跑的动. 但是千万不要使用flash, 如果知识点讲错大家就都是小丑了.
🌟 T1 · 国产之光
- DeepSeek-V3.2 — 文字张力的巅峰之一,不仅极其聪明,而且非常听话。用它跑这套系统性价比极高, 1M+的上下文能力恐怖如斯
- Kimi K2.5 — 长文本吞吐量。把 15 个文件全丢给它的知识库,聊上一个月都不会失忆
- Qwen3.5 — 最新版对复杂场景的构建相当华丽,理工科解题和叙事场景之间的切换特别流畅
❌ 不推荐
- 小参数本地模型——容易无视"零括号动作"红线,强行水字数,脱离场景干巴巴解题。灾难现场
- 主打搜索的模型——指令遵循能力不够,压不住这么多规则
- GPT-5.x — 逻辑推导极其精确,公式解题几乎零失误。虽然"教学"这条线拉得很稳, 但是如果不想让他稳稳的接住你, 尽量还是避雷为上.
想做一套你自己的版本?想把化学/数学/计算机科学变成一段有温度的学习经历?
- Fork 本项目
- 用 Meta Prompt 生成你的系统,或者直接改进框架本身
- 提 PR——哪怕只是修一个错别字也欢迎
特别期待:
- 🎓 新学科的完整系统 — 有机化学里的分子用什么隐喻?线性代数的老师会是什么性格?期待你的答案
- 🌍 不同文化的角色 — 不一定是日系名字。法国物理老师、印度数学教授、美国工程师——世界很大
- 🔧 框架改进 — 如果你觉得某条规则写得不好、某个流程可以更优雅,直接说
- 📖 你的使用报告 — 用了之后觉得怎么样?哪里好?哪里不好?真实反馈比任何代码改进都珍贵
这个项目不是凭空出现的。它站在两个人的肩膀上:
- 苏格拉底 × AI 角色扮演教学法 — 来自 吴乐旻老师在《怎样用AI让自己沉迷学习?》一文中介绍的学习方法。用 AI 角色扮演老师、通过苏格拉底式提问来教学——这个核心 idea 出自他。
- 轻小说叙事层设计 — 来自 @AvalonSkyAfar 的原创系统(幽鬼学习辅导协议 / 在次基础上开发的AnimaTutor)。把文学叙事、角色情感弧线和多维度人物设定融入 AI 教学——这个创意出自他。
我所做的, 仅仅是一些微不足道的, 对他们idea的逆向工程化、架构抽象和设计迭代. 我们将其提炼为可复用的开源框架, 供更多热爱他的人使用。
本作品采用 CC BY-NC-SA 4.0 授权。
你可以自由分享和改编本作品,但须满足:
| 条件 | 要求 |
|---|---|
| 🏷️ 署名 | 必须注明原作者,提供协议链接 |
| 🚫 非商业 | 不得用于任何商业目的 |
| 🔄 相同方式共享 | 改编作品必须采用相同许可证发布 |
| 版本 | 日期 | 主要变更 |
|---|---|---|
| v2.2 | 2025-03-24 | 苏格拉底教学法方法论独立文档:基于 25 篇文献研究 + 2 轮实验教学验证。新增三条铁律、B+C 防模式切换机制、S1-S5 五级支持梯度、6 种学生类型预案、P0-P5 教学五阶段。META_PROMPT 改为"从方法论文档嵌入"模式。system_core.md 全面重写苏格拉底规则 |
| v2.1 | 2025-03-24 | META_PROMPT 提示词工程大修:学科适配原则、Phase 5 检查点、Phase 6 测试阶段、代码块用途标注、多会话进度保存 |
| v2.0 | 2025-03-24 | 架构重构:system.md → system_core + reference 双层;story_progression / knowledge_points 按章拆分;CLAUDE.md → copilot-instructions.md;Context 瘦身 ~58%;新增命名奖励原则、教学陷阱、防漂移 /校准;AP_Physics_EM 演示同步 + 公开仓库脱敏 |
| v1.0 | 2025-03-21 | 初始开源发布:ARCHITECTURE.md + META_PROMPT.md + AP_Physics_EM 演示系统 |
"学完之后你会记得公式吗?也许。但你一定会记得那个人。"