ARTICLE · 1219641
为了了却的心愿:终于完成了物理化学题库
为了了却的心愿:终于完成了物理化学题库今天,东北大学物理化学在线题库系统正式在校内部署上线,面向拔尖班学子与教研组教师开放内测。这套涵盖近千道核心题目、公式无损解析、图文精准对齐的系统背后,是一场心心念数载、历经大半年心血,虽有AI辅助,也是充满挫败、几度濒临烂尾,最终终于完成的教学“马拉松”。
物理化学,高校化学化工专业公认的“理论天花板”。它融合了高度抽象的热力学推导、微观统计、相平衡图谱与动力学方程。我习惯于每次考试必出新题,而且紧靠科研前沿并主打实用性,多年来,积累了极其厚重的教学资产。历届理科拔尖班(方肇伦拔尖班等)极具前沿挑战性的期末试卷(从 Nature Catalysis 衍生考题,到全钒/铁铬液流电池、解耦电解水)30 余份沉淀了数十载经验的期中期末 A/B 卷、雨课堂互动库与老教师手写笔记。2026年,AI时代来了,我觉得时机成熟了,似乎可以省很多事:“现在 AI 这么强,何不把这几百万字的试卷与习题集数字化,做成一套结构化、出版级、能自动组卷还能上线的现代化题库?” 谁也没有料到,这个“轻巧”的设想,拉开了一场让人无数次血压飙升、甚至一度想要彻底放弃的噩梦序幕
当满怀期待地把厚重的 Word 资料、PDF 试卷投喂给大模型和各类开箱即用的“智能助手”时,现实迅速给所有人泼了一盆冰水。 大模型在聊天框里永远客气、谦逊、信誓旦旦: “没问题,我将为您进行出版级整理!” “我已完成全部去重,为您生成了核心题库!” 可当你定睛一看:100 多道精挑细选的题目,经过它一轮“去重”,就只剩下不到 10 道。为了不突破自己的输出长度限制(Token Limit),它下意识地替人类“做主”,把整座题库大厦缩写成了几盘无关痛痒的“开胃小菜”。 更令人窒息的是它的逻辑硬伤与计算幻觉: 颠覆常识的沸点计算:一道典型的稀溶液沸点升高计算题,水里加了非挥发性溶质,大模型洋洋洒洒列出一整页克劳修斯-克拉佩龙方程,最后算出“沸点97℃”。“沸点升高”被它硬生生算成了“沸点降低”。当你敲着桌子质问它时,它才诚惶诚恐地道歉:“对不起,我正负号翻转了……”; 自作聪明的“简化”:它热衷于给拔尖班的学生套用几十年前没有计算器时代的泰勒展开近似,把原本一条对数线性主干逻辑,切得稀碎; 凭空捏造与断章取义:要求设计一套 8 道大题的试卷,并挂载记忆文件;结果到了下一轮,它自己的临时上下文就发生了遗漏,大题数量莫名其妙变成了 6 道。 那种感觉,就像你请了一位履历光鲜的助教,表面上无所不知,但每一行公式、每一个负号你都必须亲自用放大镜去趴着审校,否则下一秒就会出现严重的教学事故。
如果说公式算法的幻觉还能靠老师的专业功底“肉眼排雷”,那么多模态图文对齐则是一座让人几乎绝望的工程天堑。 原始 Word 文档 (混杂 Equation 3.0 / 浮动图片 / OLE 对象) ▼ 强行 Pandoc / 代码提取 [图片顺序颠倒、公式变代码残片] ▼ 手工切片? [几百张图逐个重命名、截图、锚定……彻底累死] ▼ 终极破局 [Word 原生渲染 PDF] ──> [多模态视觉切块] ──> [精准内联锚点] 理科试卷里充满了二元相图、三元相图、步冷曲线、电势-pH(Pourbaix)图以及各种实验流程草图。在早期的 Word 文档中,这些图片夹杂着老版公式编辑器(Equation 3.0)、MathType、浮动锚点和截屏。 当你试图用 Python 库或转换工具直接把 .docx 转为 Markdown 时,底层的 XML 逻辑完全断裂。导出的图片全部按照内存生成顺序排队,第二章的固液相图赫然插在第六章动力学的题目里;公式中的上下标由于 Markdown 转义机制的“过度保护”,多出了漫天飞舞的反斜杠(\_、\[),一进转换器就全线崩溃报错。 为了解决图文对齐:最开始,尝试让 AI 自动分题,AI 在长文本的注意力涣散下漏题百出;后来只能在每个题目前手工插入一行 this is a new question 的切割标识符,再用正则脚本硬切,然后把图片一张张截图、命名为 第3题_相图.png 单独传图床……近千道题啊!这种把“智能化”蜕变成“重体力搬砖”的操作,让人一度产生极其强烈的挫败感。 “算了吧,这套题库别整了,烂尾就烂尾吧。”在无数个公式报错、图片错位、编辑器崩溃的深夜,这个念头终于打倒了我。
AI在进步,使用者也在进步。最早使用的qclaw,跟当前的各种Agent相比,就是个弱智。不过也感谢鹅厂免费的qclaw,培训了AI的使用技巧——只要你学的足够慢,就不用学了!这个学期重启之后,终于清醒地认识到:**不能把确定性的工程问题交给充满随机性的大模型,也不能用肉身凡胎去对抗海量的数据流。必须建立一套严密的Harness(约束体系),贯彻“凯撒归凯撒,上帝归上帝”**的法则: 放弃在底层 Word XML 碎片里捞针,利用 Word 原生排版引擎一键“另存为 PDF”。PDF 是绝对的视觉印刷流,它强行把所有浮动图形和乱码公式死死钉在它们该在的坐标上。随后,通过自动化视觉脚本完成页面切割,把带图的试卷块送入多模态大模型进行单题级精准内化。图文错位率,自此归零。 告别杂乱的剪贴板,编写专属批处理工具对试卷进行细粒度解构: 版本对齐:对比 25 份以上重叠来源,把“苯-甲苯气液平衡”、“铁铬/全钒液流电池”等高频重复的母题与变体逐一锚定; 国标化与学术规范:全面淘汰老旧资料里的标准态模糊记法,严格依照 IUPAC 与国家标准,统一重构为学术级 LaTeX 代码; 科研级纠错:把历史真题里沿袭多年的代数算错、有效数字不规范、概念张冠李戴,逐一重算推导、彻底订正。 经过数月高强度的“重构工程”,全库 核心 Markdown 资产终于落成:7 大模块,共 932 题,而且顽强地保全了所有的填空题、复杂步冷曲线推导题与综合计算题!
题目整理成了完美的结构化 Markdown,是不是大功告成了?没有。如果它们仅仅躺在本地的硬盘里,那它还只是一堆文件而已,不好用。 我要把它做成一个活的系统。 [Markdown 结构化原件] ▼ (import_bank.py 解析入库) [SQLite3 数据库 + 本地安全图床] ▼ (FastAPI 驱动单体后端) [校园网鉴权 (IP 网段 + 人员核验)] ▼ (Web 端原生渲染) [高保真 KaTeX + mhchem 数学化学双引擎] ──> 师生终端 没有采用臃肿庞大的第三方系统,自主编写了全套前后端: 轻量高性能后端:采用 FastAPI + 原生 SQLite 构建服务,设计了严密的增量更新机制,确保题库内容随时无损升级,而不破坏学生的做题记录与账号状态。 纯粹的前端渲染体验:集成纯本地的 KaTeX 与 mhchem 渲染插件,无需依赖外部公共 CDN,无论多复杂的热力学推导或电极反应式,在 PC 端与移动端均能实现毫秒级排版。 校园专有准入与安全:针对校内教学实际,编写了校园网 CIDR 子网智能鉴权与学号匹配逻辑,既保护了宝贵教学资源的知识产权,又让校内师生免去了繁琐的注册验证,即开即刷。
就在 2026 年 10 月 20 日,随着最后测试脚本的跑通,物理化学在线题库系统正式在实验室公共服务器成功部署上线,第一批账号已经完成注入: 东北大学 2025 级拔尖创新班(方肇伦班)全体学生; 化学系物理化学教研组全体专任教师。 累不累?挺累的;图啥呢?可能只是完成自己的一个心愿吧。值此,那些面对 AI 胡说八道时的抓狂,那些在放弃与坚持边缘徘徊的疲惫,在完成了凡20年以来的心心念之后,倍感欣慰。















































































