我有很多想法,有时候有用,有时候没用。更常见的情况是,我正在做一件完全不相干的事,突然冒出一个想记住的念头。

打开网易新闻 查看精彩图片

问题在于,停下来整理这些念头,本身就是另一项任务。给笔记起标题、决定放哪个文件夹、加标签、也许再设个提醒——那个本来只想随手存下的小想法,突然就有了作业。

所以这周的挑战要求做点奖励懒惰的东西时,我很清楚自己想躲开哪件家务。于是有了 Mimu:一个语音笔记小工具,我负责说,它负责整理。

因为想试试开放模型,AI 跑在我自己控制的设备上,而不是走付费的 AI 接口。

它到底怎么运转

在手机上点一下麦克风,随口说几秒,看一眼转写文本,保存。Whisper 在浏览器里完成转写。之后,跑在我电脑上的一个小号 Gemma 模型,把这段原始念头变成一条笔记:有用的标题、格式化好的 Markdown、分类和标签。

原始转写会完整保留,我随时能看到自己到底说了什么。不想说话的时候,也可以直接打字。

比如我说“周四下午两点要给牙医打电话”,Mimu 能把它存成一条带截止日期的整理好的笔记,而不是让我自己去猜,牙医预约到底躺在我那 47 条散落笔记中的哪一条里。

基础流程跑通后,我又加了几样东西:

  • 问 Mimu:问“我需要给谁打电话”,它会基于已保存的笔记回答,并附上引用到的笔记链接。
  • 晨间摘要和提醒:桌面端模型会准备一份简短摘要,说明今天有什么到期、昨天我存了什么。到期提醒可以发到手机,不需要桌面端一直开着。
  • 搜索和编辑:按词、分类、标签找笔记,也可以自己动手改,模型之后不会覆盖掉。
  • 离线记录:断网时笔记先在手机上等着,恢复连接后同步。
  • Markdown 导出:单条存成 .md,或者把全部笔记打包成 Markdown 文件的 ZIP。我的笔记不必永远困在 Mimu 里。

它是一个响应式网页应用,手机上记录和浏览,大屏幕上整理笔记库。我还给它配了个小吉祥物——显然我做不到做一个没有脸的 App。

更大的模型并没有更好

定下 Gemma 之前,我用十条杂乱的真实笔记测了三个尺寸,通过 Ollama 走结构化 JSON 输出。

有意思的是,只要指令给得含糊,三个尺寸在分类上都更差。我让它们“宽松地”复用已有分类,结果一张购物清单被归成了“一般想法”,一个失败的 CI 构建被塞进了软件创意里。

换成一条关于笔记类型的、具体得多的规则,问题就解决了。那轮测试里,E4B 给出了六个合理的分类,还省掉了 12B 模型的额外等待。这提醒我:提示词含糊,换个更大的模型也救不回来。

我一开始试的是 WebGPU 版 Whisper,看起来很有希望,直到在 iPhone 上实测:模型下载到 100%,Safari 重新加载,然后我把整个体验又经历了一遍。没有可见报错,就是直接再见。

我加了一些能扛过刷新的诊断标记,把崩溃定位到 ONNX 会话初始化。浏览器能检测到 WebGPU 适配器,不代表模型真的能在上面跑。

换到 WASM 后问题消失。同一台手机上,模型加载约 3.3 秒,转写一段三秒音频约 1.8 秒。对这个尺寸的模型来说,WASM 在我的桌面端也很有竞争力,于是我把它设成了所有环境的默认。

在真机上测试学到的东西,比一堆顺利路径的桌面测试多得多。

最难的不是排版,是不让它编

有一次,Whisper 听错了一个短语,Gemma 自信地把它“清理”成了意思完全相反的内容。生成的笔记看起来漂亮极了,但它是错的。

对一个号称替我记住事情的 App 来说,这是危险的失败。

我试了几种办法,让 Gemma 标出可疑的转写片段,而不是悄悄修补。在一组故意打乱和干净短语的小规模重复测试里,把“不确定”塞进主整理调用,只抓到一部分错误;单独给不确定性检测一次小模型调用,那轮测试里十段乱码示例全部抓到,没有误报,每条笔记多花约 0.6 秒。

现在 Mimu 里有一个“Mimu 不太确定”的小区块,App 会核验被标记的短语确实出现在转写里。它不能消灭所有转写错误,但至少给我一个修正含糊内容的机会,而不是去信一个非常有说服力的发明。

日期解析也测了。给 Gemma 传入记录时间和时区后,16 个短语跑两遍,得到 32/32 正确的日期时间结果。加一份日历速查表反而更差,这个结果出乎我意料。

问 Mimu 先用全文搜索,再让 Gemma 基于检索到的笔记作答,引用会对照收到的笔记核验。搜索什么都没找到时,它会直说,而不是即兴发挥。

最终成品比我最初“让我说就行”的想法多了不少活动部件。但它们动起来,是为了我能不动。

代价也得说清楚

用开放模型让我能决定活儿在哪儿干。Whisper 跑在浏览器里,音频不必离开手机;Gemma 通过 Ollama 跑在我自己的电脑上,我可以试提示词、换模型尺寸,不用按条或按问题付费。

代价是:你需要一台跑得动模型的电脑,桌面端 worker 没连上时部分功能不可用。App 也用云存储在设备间同步文本,所以我不声称整套系统默认私密或完全离线。但音频留在手机上,推理在本地发生,你也可以部署在自己的账号下。笔记随时能以 Markdown 形式带走。

我没做过正式的时间节省研究,也不打算假装 Mimu 每天省下多少分钟。我想要的好处更小也更熟悉:去掉那些让我干脆懒得记下来的小摩擦。

不用停下来决定标题、文件夹、标签和提醒,直接说就行。之后想找那个念头,也不必记得自己当初怎么命名的。

完整流程我在真手机和笔记本上测过:开演示、连 worker、配对手机、说一条笔记、看 Gemma 整理。离线记录和重新同步也测了,不是原型图里的假设功能。

我还想继续测的,是它在长期、日常的真实笔记上表现如何。几个示例撑起来的干净演示是一回事,我脑子里不断长出来的一堆随机念头,是完全不同的工作量。

而这个,我恰好能大量提供。