ZMonster's Blog 巧者劳而智者忧,无能者无所求,饱食而遨游,泛若不系之舟

我给自己建了一个数据库

2020 年,我写过一篇《数字独立与自由》,谈的是个人在数字空间中应该享有哪些权利,以及我们可以怎样通过自己的认知、方法和工具去保障这些权利。在那之后我也尝试过做一些数据备份和收回(其实在那之前我已经开始做一些尝试),但是抓数据、处理数据这种体力活是非常耗费精力的,哪怕我具备编程能力。

六年后,在 AI 的帮助下,我终于将这个事情启动了起来,在一周左右的时间里,我把我的日记、工作日志、博客、微博、读书记录、游戏记录、观影记录、播客记录、Apple Health 数据、和 AI 的对话以及 LifeCycle/Rond 里的位置和活动记录,全部收集了起来然后放到了本地的一个 SQLite 数据库里。

data-landscape.png

写这篇文章时,数据库里有 25 个来源渠道、70178 条统一时间线事件,覆盖 2010 年 5 月到 2026 年 7 月。其中有 11082 条日记、flomo、博客和微博记录,29162 条活动与位置记录,1863026 条 Apple Health 测量样本。十个 AI 工具合计有 1466 个会话、91589 条消息。

这些数字以后还会变化,所以图和正文里的统计都由一段脚本直接从数据库生成。数据库当前大约 2.46 GiB,保留的原始文件和中间文件大约 2.17 GiB。它不算小,但 SQLite 暂时处理得很好,而且使用单个文件保存和备份很方便。

coverage-timeline.png

把数据收回来

在我处理的这些数据里,有些是天然就容易解析的,比如说我的日记和工作日志,本来就是一堆纯文本文件。除此之外的各种平台、工具有些则提供了导出功能有些则没有,这里列一个表说下,如果读者有兴趣的话也可以去导出自己的数据:

数据渠道 导出支持情况 数据格式 获取方式
flomo 支持 HTML 设置 -> 导入导出 -> 导出笔记
豆瓣 不支持    
微博 不支持    
微信读书 部分支持 JSON API/Agent Skill
哔哩哔哩 不支持    
豆包 不支持    
DeepSeek 支持 JSON 系统设置 -> 数据管理 -> 导出所有历史对话
Gemini 支持 JSON Google Takeout
ChatGPT 支持 JSON, HTML Settings -> Data controls -> Export data
Claude 支持 JSON Settings -> Privacy -> Export data
Apple Health 支持 ZIP(含 XML/CSV 等多种格式内容) 手机上进 APP 点头像,下方“导出所有健康数据”

能导出数据的平台或工具非常棒,但不支持的就麻烦了,以前还尝试过自己抓包写代码,但也很容易被反爬,现在就好了,直接让 AI 操作浏览器抓下来,行为也和一个真实用户差不多,完全没有问题。

拿到原始数据后,再就是进行处理然后入库,我现在是原始数据存一份,然后对各个渠道的数据写了导入器尽量统一格式再写入数据库。这么多个渠道,以前要是我自己写,怎么着也得十天半月的,现在有 AI 帮助,基本上利用下班后的业余时间也不过花了一周左右就基本搞好了。

pipeline.png

数据入库后可以配合一些可视化页面查询、展示,也可以直接让 AI 来读取使用,具体怎么用我在后面再说。

整个过程最麻烦的地方无疑还是第一步导出原始数据这里,后面的处理基本上让 AI 自己搞就行。所以以后选择软件和平台时,我会觉得他们能否便利、完整地导出数据,和他们的界面、功能、价格是同等重要的。

Agent 应该建立在谁的数据上

现在很多平台都在给自己的产品增加 agent。这当然有合理之处,如果 agent 深入到了平台的业务逻辑里,能替用户完成只有这个平台才能完成的操作,那么平台本身掌握的数据和能力就是优势。

但如果它提供的功能和业务逻辑并非不可替代的,我会更愿意把数据拿回来,交给自己选择的模型和 agent。平台里的 agent 通常只能看到平台内部的一小块数据,也很难理解一个人在其他地方做了什么。豆瓣知道我标记过哪些电影,却不知道我最近在听什么书;健康应用知道我几点睡觉,却不知道那一天是在旅行、加班还是玩游戏;笔记软件知道我写过什么,却不知道哪些想法后来真的变成了行动。

当数据在自己手里以后,模型、agent 和使用界面都可以替换。一个模型不合适,可以换另一个;一次分析的提示词不够好,可以重新写;某种交互方式不好用,也可以自己做一个页面。数据不需要跟着每一次工具变化重新迁移。

国内互联网环境让这件事显得更有必要。不同平台之间通常不会主动开放彼此的数据,完整的导出和稳定的 API 也不常见。每个平台都希望用户留在自己的边界里,然后在这个边界里提供一个声称了解用户的 agent。对平台来说这很自然,对我来说却未必是最好的安排。

我并不期待所有数据都必须公开流通。健康、位置、聊天和消费数据都很敏感,我希望它们首先由我控制,再由我决定在什么场景下让哪个工具读取哪些部分。数据可携带和保护隐私并不冲突;能够导出数据,也不等于必须把数据上传给另一家公司。

记录工具可能没那么重要了

我用过很多记录类工具:Org mode、flomo、日记应用、位置记录应用,以及各种带有统计功能的习惯工具。它们多少都有让我不满意的地方。有的输入很舒服但导出很差,有的数据很完整但浏览体验一般,有的统计图很好看却没办法挖掘细节之间的关联。

以前我会希望找到一个足够完美的工具,把记录、整理、统计和回顾全都做好。现在觉得这件事没有那么重要了。只要数据能够完整导出,一个工具可以只负责自己擅长的部分:笔记软件负责随手记录,健康应用负责采集,阅读器负责阅读,位置应用负责识别停留。统一、查询和长期保存由我自己的数据层完成。

这也降低了更换工具的成本。界面和功能仍然重要,因为它们决定每天愿不愿意使用;但一款工具不需要承担我全部的数字生活,也不应该通过扣住历史数据来强迫我一直使用。

数据可以拿来做什么

把数据收集起来后,最直接的用途当然是查询。例如某一天去了哪里、睡了多久、读了什么书、看了哪些视频、向 AI 提了多少个问题。这些查询大多不需要 AI,普通 SQL 就能准确完成,而这些 SQL(或者更进一步的查询界面) 则可以让 AI 帮我们提前写好。

Agent 更适合处理边界没那么清楚的问题。收集了各个渠道的数据后,我的第一个反应是让 AI 来梳理我的用户画像,得到的结果也还不错,不过限于个人隐私就不展示了。不过用户画像可能没什么用处,毕竟我对自己已经足够了解,我看总结的用户画像也和我对自己的认识没有太大的偏差,如果说要将这个用户画像用来指导 AI 怎么和我合作,似乎也没太大必要,毕竟我的日常还是以编程为主,在编程这个事情上,严格的代码规范和行为约束比所谓的用户画像要有用的多。

接着我尝试让 Agent 推荐一本我没读过的书、一款没玩过的游戏、一个没去过的地方和几部没看过的电影。

第一轮推荐,Agent 只是读了我的豆瓣、微信读书、Goodreads 上的记录然后进行推荐;第二轮,我要求 Agent 结合我其他的记录(日记、行动轨迹等)再次推荐;第三轮推荐,我要求推荐一些带给我新鲜感受的结果。这三轮推荐的结果如下表所示:

推荐轮次 领域 推荐名称 推荐逻辑
第一轮 书 《时间之子》 用非人类智能推演演化与文明发展,接续《盲视》与《群星》中的异质感
第一轮 游戏 Lorelei and the Laser Eyes 旧旅馆里的非线性硬核谜案,契合《动物井》式无明确指引的探索偏好
第一轮 地方 福建泉州 将对古建的偏好拓展至完整的城市历史,捞出曾经在笔记中提过的旅行念头
第二轮 书 《树上的男爵》 探讨怎样自主地活着,同时不离开世界,以奇怪但一致的约束,继续参与公共交往
第二轮 游戏 星际拓荒 (Outer Wilds) 把“从痕迹中建立自己的理解”变成机制,契合你“跨领域系统考古者”的认知倾向
第二轮 地方 福建泉州 看宗教、贸易与普通生活如何层层叠加,满足系统考古倾向,而非单纯的景点打卡
第三轮 书 《夏日之书》 保留对日常细节的敏感,暂时拿掉宏大解释,体验既不温情脉脉、也不需要被解决的关系
第三轮 游戏 Wandersong 保留探索,拿掉阴郁气质与深层机制,尝试一种不设防的真诚、滑稽与乐观
第三轮 地方 黔东南 (肇兴/堂安) 保留慢走观察,拿掉“看懂历史”的目的,短暂处在集体的声音和生活节律中

三轮推荐各有特色,但都非常对我的胃口。

作为对比,我去豆包、DeepSeek、Gemini、Deepseek 上又各自让他们做下推荐,结果如下:

平台 领域 推荐名称 推荐逻辑
豆包 书 《微光世界》 切中关注病痛缓慢侵蚀的体验,拿掉“寻找对策”,只描摹痛苦本身
豆包 游戏 COCOON 喜爱自成体系的内在运行规则,剥离文字与目标,纯靠直觉与空间探索
豆包 地方 茂兰原始森林 兴趣于实地系统观察自然结构,路况多变,无最优路线,打破预先规划
DeepSeek 书 《土星之环》 如同高度控制的系统遍历,拒绝论证闭环,承受联想中断
DeepSeek 游戏 Before Your Eyes 确定性的状态机与精确输入,强制放弃掌控时间线,体验错失
DeepSeek 地方 犬岛精炼所美术馆 废墟被精确转化为空间叙事系统,无操作说明,失去干预与反馈
Gemini 书 《索拉里斯星》 探索未知智能的底层机制,剥夺量化与优化视角,面对纯粹未知
Gemini 游戏 《极乐迪斯科》 技能树契合复杂系统调度偏好,移除最优解,强制体验失控与崩溃
Gemini 地方 丰岛美术馆 空间解耦与消除冗余的工程奇迹,抹去功能监控,切断解决问题的回路
ChatGPT 书 A Philosophy of Walking 散步观察自然,渴望规律而不规划,拿掉解题欲,将行走视为脱离目标的存续
ChatGPT 游戏 Kentucky Route Zero 偏好独立创作与信息架构,留下无法解释的空白,拒绝谜题
ChatGPT 地方 Fogo Island 关注人如何与环境技术共存,拿掉高密度刺激,允许不被完全理解
  • 豆包推荐的游戏还可以但我玩过了,书就胡扯(可能因为我拿来多问了点身体方面的问题),茂兰原始森林还不错但我不可能千里迢迢跑过去就徒步的。
  • DeepSeek 没有跨会话记忆功能,完全是基于我的提示词获得一个片面的对我的认识然后推荐的,忽略。
  • Gemini 推荐的书还可以但是已经看过了,游戏的话玩过但没什么特别的感觉,丰岛美术馆在日本看了下毫无兴趣。
  • ChatGPT 的三个推荐倒是意外的还可以,但也就是及格水平吧,没有惊喜。

除了推荐内容的话,还想到几个可能的用途:

  1. 从我的工作日志里提炼 SOP、工具偏好等;
  2. 提炼我长期关心的一些问题、主题(如人工智能、认知科学、投资等),然后做自动化的资料收集和追踪;
  3. 提炼我经常处理的问题、场景作为 FAQ,也就是作为个人知识库,当我再遇到类似问题的时候能直接查阅当时的回答、处理过程;
  4. 建立自己的行为预测模型,用来指导未来的行为(没有想很清楚,但有点大致思路)。