Foundation

对象模型与系统原则

对象模型与系统原则

本文定义长期对象词汇和系统设计原则。它用于表达 MOSS 未来可能需要理解的对象,不定义数据库表,也不要求第一阶段为全部对象预留字段或实现。

长期对象模型

长期系统不应把所有东西都硬塞成文章。以下是可逐步采用的长期对象词汇:

  • Content:文章、笔记、收藏、订阅内容。
  • Bookmark:用户主动收藏的外部内容及其原始引用。
  • Candidate:从外部来源读取、尚未进入每日推荐队列的候选内容。
  • InterestProfile:从书签和反馈推导出的主题、作者、形式和语言偏好。
  • RecommendationBatch:某次推荐的内容集合、排序依据和生成时间。
  • Source:RSS、Newsletter、网站、作者、社交账号、输入来源。
  • Topic:主题、领域、概念聚类、长期关注方向。
  • Person:联系人、作者、合作方、会议参与者。
  • Project:工作项目、个人项目、研究主题、长期事项。
  • Decision:重要判断、选择、依据、结果复盘。
  • Goal:长期目标、阶段目标、原则、价值约束。
  • Feedback:有用/无用、状态、归属、重要性判断、人工修正。
  • Event:日程、会议、提醒、时间块。
  • Task:任务、计划、习惯、行动项。
  • Media:图片、截图、票据、音频、视频。
  • Asset:预算、持仓、财务目标、支出、投资资料。
  • Learning:课程、书籍、技能、学习计划、练习。
  • Output:文章、代码、报告、设计稿、发布内容。
  • Message:邮件、聊天摘录、会议纪要、评论。
  • Health:睡眠、运动、精力、体检、习惯数据。
  • Account:数字服务、订阅、域名、工具配置和续费信息。
  • Place:地点、出行、生活事务。
  • IdentityDoc:证件、合同、保险、税务、法律文件。
  • Commitment:承诺、义务、责任、约定。
  • Purchase:消费、采购、愿望清单、保修、退换。
  • PhysicalAsset:设备、物品、库存、实物资产。
  • LifeEvent:人生事件、阶段变化、重要里程碑。
  • Journal:日记、情绪、反思、复盘。
  • Opportunity:机会、想法、线索、候选项目。
  • Rule:个人原则、偏好、自动化边界。
  • Memory:偏好、反馈、长期事实、个人画像。

Phase 1a 可以只实现 Bookmark / Candidate / InterestProfile / Feedback 的最小子集。其余对象在真实使用验证前只作为长期词汇,不构成 Phase 1a 的 schema 要求。

不在第一阶段范围内

第一阶段不做以下内容:

  • 自动提醒
  • 自动改日程
  • 自动生成完整计划
  • 自动处理图片库
  • 自动理财分析
  • 自动交易或任何高风险执行动作
  • 全量接入所有信息源
  • 全量接入聊天记录、健康数据、账号服务、地点和生活事务
  • 全量接入证件、合同、日记、消费流水、实物资产和家庭事务

Phase 1a 只打穿一个闭环:X 书签 → 本地兴趣画像 → 候选内容 → 每日推荐 → 人工反馈 → 画像更新

系统原则

1. Local-first

个人知识、日程、图片和理财都属于高敏感数据。系统应默认本地优先:

  • 原始数据优先保存在本地
  • 本地数据库是核心索引
  • 云端模型或 API 只能作为可替换能力
  • 敏感模块进入前必须设计权限和审计
  • 兴趣画像、反馈和推荐历史属于敏感数据,默认不进入云端模型

2. Notion 和 Obsidian 不是唯一真相源

Notion 和 Obsidian 是重要工具,但不能作为系统的唯一核心。

  • Obsidian 适合长期知识沉淀、Markdown、项目笔记和复盘。
  • Notion 适合轻量 Dashboard、表格、看板和状态管理。
  • 真正的长期核心应是独立的本地索引层。

3. MVP 小,长期词汇清晰

Phase 1a 只实现 X 兴趣推荐的最小闭环,但需要知道未来可能关联哪些个人对象。完整对象见“长期对象模型”;下面的对象仅用于识别潜在关联,不要求在 Phase 1a 建表或预留字段:

  • Content:文章、笔记、收藏、订阅内容
  • Source:RSS、Newsletter、网站、作者、输入来源
  • Project:工作项目、个人项目、研究主题
  • Decision:重要判断、选择、依据、结果复盘
  • Feedback:有用/无用、状态、归属、重要性判断
  • Event:日程、会议、提醒
  • Task:任务、计划、习惯
  • Media:图片、截图、票据
  • Asset:预算、持仓、财务目标
  • Goal:长期目标、阶段目标
  • Memory:偏好、决策、反馈

后续是否扩展为独立对象,应由真实使用频率、关联价值和风险要求决定,而不是提前固化。

4. LLM 做感知,代码做决策

LLM 适合做:

  • 摘要
  • 标签
  • 主题识别
  • 内容理解
  • 图片描述
  • 相似内容候选

确定性代码负责:

  • 排序
  • 状态流转
  • 阈值判断
  • 去重规则
  • 权限控制
  • 执行动作

这样系统才可解释、可回测、可调整。

5. 反馈是核心资产

用户愿意每天投入时间整理和反馈,这是系统长期变聪明的基础。

反馈至少包括:

  • 有用 / 没用
  • 现在看 / 以后看
  • 属于哪个主题
  • 关联哪个项目
  • 是否转成任务
  • 是否归档
  • 为什么重要

这些反馈后续会成为个人画像、推荐和计划建议的依据。

6. 先定义准入标准

不是所有信息都应该进入系统。需要先定义什么内容值得进入:

  • 主动收藏的内容。
  • 和当前项目有关的内容。
  • 和长期目标有关的内容。
  • 来自高价值信源的内容。
  • 未来可能复用的内容。
  • 需要行动、判断或决策的内容。

否则系统会变成信息垃圾桶。

7. 状态流转比标签更重要

标签只能描述内容,状态才能推动处理。

每条内容至少应有一个明确状态:

inbox → reviewed → useful / ignored → linked → archived

后续不同对象也应有自己的状态流转,例如任务、项目、订阅源、决策和资产。

8. 原始数据和加工数据分离

必须保留原始数据。

AI 生成的摘要、标签、分类、评分、主题关联都只是加工结果,可能错误,也应该能重算。系统不能让 AI 结果覆盖原始内容。

9. 敏感度分级

不同信息域的敏感度不同,不能用同一套处理策略。

建议分级:

  • 普通:公开文章、网页收藏、公开资料。
  • 中敏:个人笔记、项目资料、日程、任务。
  • 高敏:图片、聊天记录、健康数据、财务数据、兴趣画像和反馈历史。
  • 极敏:账号、密钥、身份信息、家庭信息、完整持仓。

不同级别决定是否进入索引、是否允许云端模型处理、是否允许自动化。

10. 可迁移性

系统不能被任何单一平台锁死。

需要关注:

  • 原始数据是否能导出。
  • 元数据是否本地保存。
  • 标签和状态是否只存在 Notion。
  • 图片和附件是否有本地副本。
  • 数据库是否可备份、可恢复、可迁移。

11. 复盘机制

知识系统如果没有复盘,只会变成仓库。

建议固定复盘问题:

  • 这周新增了什么?
  • 哪些内容真正有用?
  • 哪些主题反复出现?
  • 哪些内容应该转成任务?
  • 哪些关注点其实是噪音?
  • 当前注意力是否偏离长期目标?

12. 自动化边界

自动化要分级控制。

系统可以逐步允许:

  • 通过浏览器只读地获取候选公开内容。
  • 自动生成每日推荐队列。
  • 自动生成摘要。
  • 自动生成计划草案。
  • 自动提醒。

系统不应默认允许:

  • 自动替用户承诺时间。
  • 自动做财务交易。
  • 自动删除高价值内容。
  • 自动公开或发送私人内容。