弟弟在准备GATE,印度那场工程类大考,相当于IIT硕士的入学门槛。计算机卷子几乎把大学四年的东西全塞进去了,离散数学、操作系统、网络,一门都跑不掉。
一个人啃这些很难。不是因为哪个知识点过不去,而是身边没人会拍你一下说"你在变好"。于是我给他做了inkwand,一个免费的学习笔记本,想当那一点点鼓励。
它长得像我们小时候用的方格本。里面有什么?贴纸、绿勾、日历,还有页面最底下的一间教室。
贴纸和绿勾,听着挺傻的
我知道这听起来有点幼稚。但一个人学习的时候,没人会对你说"干得好"。现在至少还有一颗金星会说。
打开操作系统,选死锁,读笔记,做练习卷,收一张贴纸,再翻翻闪卡。回到书架,把鼠标悬停在日历上的今天。一路滚到底,有一间小教室在等你。
练习卷和闪卡必须返回规范的JSON:正好四个选项、一个正确答案、一段解析。服务器用Pydantic检查每一次回复。不对就换更严格的提示再问一次,还是不行,你看到的就是一句友好的提示,而不是一个崩掉的页面。
第一版慢到没人愿意等
最初的做法是:谁打开一个页面,就让Gemma现写笔记。能跑,但慢得让人难受。Gemma 4回答前要先想,免费额度下这一想就是45到90秒。有一次它想得太用力,把整个token预算耗光了,回过来的是……一片空白。
没人愿意为一页笔记等90秒。所以我把顺序倒了过来。
一个小脚本提前让Gemma把整个库写完:全部86章的笔记、练习卷和闪卡,一共258份内容。它一次发8个请求,免费额度抽风就重试,中途停掉也能接着上次的地方继续。最后变成仓库里大约744 KB的JSON。
现在章节秒开,不花钱,就算API密钥丢了也照样能用。Gemma只在两个地方被实时调用:"随便问点什么"的输入框,和"给我出一份新卷子"的按钮。页面上也老老实实写着,这两件事大概要等一分钟。
写库的过程中,Google的API朝我扔了74次临时服务器错误。到了部署那天,26B模型每一个请求都失败,而31B那个完全正常。所以现在如果一个Gemma模型状态不好,inkwand会悄悄去问另一个。换模型只是一个设置项,这也是开源模型在这里特别好用的原因之一。
他一个字都没说
我想让它像坐在自己书桌前,而不是又打开一个App。所以背景是方格纸,标题像钢笔写的,笔记里有荧光笔的痕迹。最底下是一间空教室:黑板上放着白、粉、黄三色粉笔,一排排长凳,一个时钟,一扇窗,太阳在里面发着光,云慢慢飘过去。手机上也能用,也会尊重系统的减弱动态效果设置。
闭源模型可能更快。但在这里,免费、可fork、谁都能修,比省下那几秒更重要。
我弟弟不是个爱说话的人。我把链接发给他,没收到"谢谢",没有"不错",连个表情都没有。说实话,我早料到了。
但inkwand记住的所有东西都存在他自己的浏览器里:贴纸、绿勾,还有那个标记你每天学习的日历。所以过了一会儿,我从他肩膀后面瞄了一眼。
日历不再是空的了。上面有绿勾,他那张纸上有贴纸,鼠标悬停在打勾的日子上,会显示他那天在学什么。
他到现在还是一个字没提。
在我们家,这就是好评。
热门跟贴