Building
Reso 的一位早期使用者跟我说过一句话:“我有 200 条语音笔记,但一半都想不起在讲什么。”
我听完只觉得太熟了,因为我自己的语音库也有同样的问题。capture 型工具让记录很容易,然后你很快会被数据淹没。
我希望 Reso 能帮我和其他使用者在时间线上发现思维模式,而不要求手动打标签或整理文件夹。
核心思路
每条转写文本都会转成语义表示(embedding)。embedding 相近的笔记,语义上就相关。
当相关笔记积累到一定数量,它们会自动浮现为一个“主题”,并附带自动生成的名字。
例子:两周内我录了五条关于“API design”的想法。Reso 会自动把它们归为一组,并标注成 “API Design Patterns”。
聚类难点
算法本身并不复杂,难的是调参:
- 太激进:所有东西都被并成一个大主题(“工作杂项”)
- 太保守:每条笔记都是单独主题(几乎没用)
我花了好几天调相似度阈值,后来才意识到:不存在完美阈值。
真正有效的是:Adaptive clustering。
不用固定阈值,而是看相似度分布本身。如果数据里存在自然断层(比如分数要么 >0.75,要么 <0.3),就拿这个断层当切分点。
这样“正确阈值”来自这批数据本身,而不是来自我的主观拍脑袋。
主题命名
这部分意外地难。如何从多条笔记内容里生成一个靠谱主题名?
我试过:
1. LLM summaries:准,但慢且贵
2. 关键词提取:快,但很泛(“Project Update #47”)
3. 第一条笔记标题:简单,但常常误导
最后我用了:Hybrid approach。
先提取高频关键词,再用轻量 LLM 调用把它们合成为可读短语。成本大约每个主题 ~$0.001,足够快,可以按需触发。
我学到的
最好的 AI 功能,不会让你觉得“这很 AI”。它更像应用在静静地留意你。
当主题浮现时,使用者不会想“哇,聚类算法真酷”。他们会想:“原来我最近真的一直在想这个。”
这就是魔法:把看不见的东西变得可见。
这不是营销,是我们自己踩过的坑。