# 系统设计理念 (https://21notion.com/docs/faq/system-design)

import { Accordion, Accordions } from 'fumadocs-ui/components/accordion';
import { Steps, Step } from 'fumadocs-ui/components/steps';
import { Card, Cards } from 'fumadocs-ui/components/card';
import { BlogCTA } from '@/components/blog/blog-cta';

本页面整理 FLO.W 模板的核心设计理念，重点回答「为什么这样设计」以及「遇到新信息时应该放在哪里」。

<BlogCTA title="📖 FLO.W 设计初衷" description="了解 FLO.W 模板为什么这样设计，背后的产品理念和信息架构哲学。" highlights={[]} buttonText="阅读设计初衷" href="/flow/design-philosophy" variant="minimal" />

<Cards>
  <Card title="理解何为领域" href="/docs/basic-feature/area" />
</Cards>

## 先看简短结论

FLO.W 的系统设计围绕四类信息展开：领域、项目、任务和笔记。

领域代表长期经营的方向，项目代表一段时间内要完成的目标，任务代表可以执行的具体动作，笔记代表可以沉淀和复用的知识内容。它们分开存放，是为了避免字段混在一起，也为了让每一种信息都能用最合适的视图、关联和函数来管理。

所以在 FLO.W 里，项目和任务会放在不同数据库，领域不会无限分层，暂时没归属的笔记也不会被强行塞进某个分类。系统的重点是保持结构清楚，让信息可以流动，同时降低日常维护成本。

## 新信息应该放在哪里

使用 FLO.W 时，可以先判断这条信息的性质，再决定它应该进入哪个模块。

| 信息类型         | 放在哪里    | 判断方式            |
| ------------ | ------- | --------------- |
| 长期经营的方向      | 领域      | 没有明确结束时间，需要持续投入 |
| 一段时间内要完成的目标  | 项目      | 有开始和结束，需要拆成多步推进 |
| 可以执行的具体动作    | 任务      | 能安排排期，完成后可以打勾   |
| 想法、资料、方法、复盘  | 笔记      | 需要沉淀、引用或反复查看    |
| 临时还没想清楚归属的内容 | 先放未分类视图 | 等数量变多后，再统一整理    |

如果一条信息同时涉及多个模块，优先保留它最核心的类型，再用关联把其他内容连起来。比如「学习 Python」更适合作为项目，「Python 学习资料」更适合作为笔记，两者可以通过项目的关联笔记字段连接。

## 元信息架构

<Accordions type="single">
  <Accordion title="为什么任务和项目的数据库要分开创建？" id="task-project-database">
    **读者提问：**
    请问为何不将项目数据库与任务数据库合并管理呢？数据库本身就具有子任务功能，在同一个数据库中就可以实现嵌套，理论上不需要第二个数据库。是怕任务数据库太复杂吗？还是说有函数或者属性之类的会与任务冲突？

    **我的回答：**
    这个问题其实也可以这么问，为什么【一级领域】和【二级领域】这两个数据库不合并在一起？或者当你有「A 和 B 数据库为什么不放在一起」的疑问时，都可以参考下面的回答，你也能了解我设计这套模板的一些思路。

    <Steps>
      <Step>
        <h4>
          原因 1: 元信息
        </h4>

        <p>
          首先 FLO.W 这个系统的建立是以 4 种元信息为基础的，理解什么是「元信息」是回答这个问题的关键。非常推荐你阅读下面这篇文章，并搜索关键词「有限的元信息类型」。
        </p>

        <p>
          文章链接： 

          <a href="/blog/notion-7-year-reflection">重新审视 Notion，我的七年心得感悟</a>
        </p>

        <img src="https://pic.eryinote.com/PicGo/202509130133919.png" alt="元信息示意图" />

        <p>
          <strong>项目：</strong>
        </p>

        <ul>
          <li>
            是一个目标容器，代表一个需要通过多个步骤才能实现的、有明确开始和结束的成果
          </li>

          <li>
            它的用途是「定义方向」和「衡量进展」，因此它的核心属性是「进度条」、「项目周期」、「所属领域」等战略性字段
          </li>
        </ul>

        <p>
          <strong>任务：</strong>
        </p>

        <ul>
          <li>
            是一个行动单元，代表一个可以立即着手去做的、具体的的动作
          </li>

          <li>
            它的用途是「驱动执行」。因此它的核心属性是「下一步做什么?」、「排期」、「状态」等执行性字段
          </li>
        </ul>

        <p>
          不同的数据库作为不同的信息容器，通过互相关联，来定义信息的类型和流动方向，这一点在上面的文章有详细介绍，有时间的话建议稍微读一下，能系统了解本套模板的构建思路。
        </p>
      </Step>

      <Step>
        <h4>
          原因 2: 字段混淆
        </h4>

        <p>
          基于元信息的定义，【任务】和【项目】的数据库必然需要各自独立，否则字段就会混在一起，使得每个字段都需要承载两套使用逻辑。一个具体的「任务」条目里，会出现「项目进度条」这种无效字段；一个「项目」条目里，又会出现「下一步做什么?」这种执行字段。
        </p>

        <p>
          这会让数据库变得异常臃肿和混乱，也会增加记录时的工作量，需要重复翻找才能找到合适的那个字段。
        </p>
      </Step>

      <Step>
        <h4>
          原因 3: 子任务的视图并不自由
        </h4>

        <p>
          如果把【任务】作为 sub-item 放在【项目】之下，那么以我长久以来的实践经验来看，未来必然会遇到非常多的【视图过滤筛选】问题。
        </p>
      </Step>

      <Step>
        <h4>
          原因 4: 函数统计
        </h4>

        <p>
          现在【任务】和【项目】都有各自的函数统计报表，必须分开在不同的数据库内存放，函数统计才可以良好运行，降低复杂度，也能减少函数统计时的性能开销。
        </p>

        <p>
          函数统计参考：

          <a href="https://leon21.notion.site/2200e68aa046808aaa86ebd2f45fa07f?v=2200e68aa04680ce9657000c1e713a40&source=copy_link">点我</a>
        </p>
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="没有项目的任务如何管理" id="task-without-project">
    **问题**：我每天的工作都比较琐碎，并且都不足以归类到某一个具体的项目上，但又属于某一个特定的工作领域，这种情况该怎么做才能更好地管理这些任务？

    **参考方法**：

    1. 创建一个「六月工作汇总」的项目
    2. 将这个月所有琐碎任务都关联到这个项目上
    3. 将这个项目关联到特定的二级领域
    4. 实现以下层级结构
       * 二级领域 XXX
         * 202506 - 工作汇总
           * 琐碎任务 1
           * 琐碎任务 2
  </Accordion>
</Accordions>

## 领域设计

<Accordions type="single">
  <Accordion title="暂时没有领域归属的笔记怎么记" id="unassigned-notes">
    **问题**

    经常遇到一些笔记它暂时不属于任何当前已建立的领域，但是又有留存的必要，为了它单独创建一个领域不值得，但不建立领域又少了一个分类的维度，怎么办？

    **回答**

    我在 FLO.W 系统的领域模块里，留存了一个「无领域笔记」视图，筛选出了所有「没有设置一级或二级领域」的笔记。这样一来你就可以集中查看那些没有设置领域的笔记，看看它们是否存在哪些共性，如果有的话，或许就可以为这些笔记创建一个「一级」或者「二级」领域了。
    ![FLO.W 领域专精导航，展示领域相关的各项视图和功能模块](https://pic.eryinote.com/PicGo/202509130216987.png)
    因此如果你觉得这个模块有必要显示出来的话，可以直接在导航条上 @ 这个页面。（方法参考 @导航条视频完整解读 ）
  </Accordion>

  <Accordion title="为什么领域不能无限制分级扩张" id="area-limit">
    **问题**
    模板里的领域有一级二级，如何创建三级四级呢

    **回答**
    本模板在「领域」模块中采用「一级」与「二级」的双层结构，是经过审慎设计的。其目的是在「宏观战略」与「具体行动」之间建立最清晰、最高效的连接。在考虑增加更多层级前，理解其设计初衷至关重要。
    首先你需要先阅读 [理解何为领域](/docs/basic-feature/area) 这篇文章，然后再往下阅读。

    限制地增加三级、四级领域，容易导致管理结构臃肿、决策负担加重，并可能让信息固化在某个角落，违背了信息流动的核心理念。当需要比二级领域更精细的分类时，不推荐直接创建新的数据库层级，而是建议根据其本质，选择以下两种更符合系统逻辑的路径。

    <Accordions type="single">
      <Accordion title="路径一：若它是一个「有始有终的目标」，请将其转化为「项目 (Project)」" id="turn-to-project">
        当一个想法的本质是「为了完成某件具体的事」时，它更适合作为项目进行管理。

        * **场景示例**：
          在一级领域「职业发展」和二级领域「数据分析能力」下，想要开始学习 Python。此时不应创建三级领域「Python学习」。
        * **推荐操作**：
          在 `Project｜项目管理` 数据库中，创建一个名为「学习 - Python 基础入门」的新项目，并将其关联到二级领域「数据分析能力」。
        * **核心优势**：
          项目天然具备目标和时限，能驱动具体任务的拆解和执行，形成行动闭环。项目完成后归档，能保持领域结构的长期清爽与战略性。
      </Accordion>

      <Accordion title="路径二：若它是一个「需长期积累的知识主题」，请将其转化为「专题笔记 」" id="turn-to-subject">
        当一个想法的本质是「长期持续的方向」时，它更适合作为项目进行管理。

        当一个想法的本质是「需要对某个特定知识领域进行深度梳理」时，它更适合作为知识网络的核心节点。

        * **场景示例**：
          在一级领域「个人心智成长」下，对「斯多葛主义哲学」产生了深厚兴趣，并希望系统整理。
        * **推荐操作**：
          1. 在 `笔记管理` 数据库中，创建一篇名为「专题：斯多葛主义哲学研究」的笔记。
          2. 将这篇笔记关联到一级领域「个人心智成长」。
          3. 所有关于此主题的更细分的笔记（如读书笔记、个人思考等），都通过「父/子级」关系链接到这篇「专题笔记」上。
        * **核心优势**：
          以笔记为核心构建知识网络，比创建僵化的层级更灵活、更轻便。专题笔记页面本身就成为该主题的思考中心与索引目录。
      </Accordion>

      <Accordion title="决策路径总览" id="strategy">
        \| --- | --- | --- |
        \| 一个**有明确目标、能在一段时间内完成**的事情 | 将其定义为一个 **`项目 (Project)`** | 用 **行动** 来定义目标 |
        \| 一个**需要长期学习和积累**的知识主题 | 将其创建为一篇 **`专题笔记 (Topic Note)`** | 用 **知识** 来组织知识 |
      </Accordion>
    </Accordions>
  </Accordion>

  <Accordion title="为什么原则是笔记而非领域" id="principle-note">
    **社群读者提问**

    我有一些需要长期践行的个人原则，想为它创建一个项目来不断完善。我感觉它应该属于【个人成长】这个一级领域之下，但又觉得它像一个二级领域。我该如何安放它，才能构建出【`个人成长 -> 践行原则 -> 完善原则的项目 -> 具体任务`】 这样的层级呢？

    **我的回答**

    **一、【领域】是房间，【笔记】是书**

    在开始操作前，我们首先要建立一个认知

    * **【领域 Area】是「房间」**：它代表你人生的一个长期责任区，是一个你需要持续打理和投入的空间，比如书房（个人成长）、厨房（健康管理）。它是结构，是容器。
    * **【笔记 Note】是「书」或「工具」**：它代表具体的知识、信息、方法论、参考资料。你的「个人原则」就是一本需要被反复阅读和修订的「人生指导手册」。它是内容，是实体。

    读者问题的核心困惑，就在于**试图将一本「书」，当成一个「房间」来对待**。

    **二、错误的做法：用层级硬塞**

    如果我们遵循传统文件夹的层级思维，就会像提问者那样，试图构建一个看似合理的层级链条：

    * 一级领域：个人成长 (房间)
      * 二级领域：践行原则 (试图把书当成一个小房间)
        * 项目：完善个人原则
          * 任务...

    这个结构的问题在于，【践行原则】本身并不具备【领域】的特性。它没有独立的、需要长期投入的目标，本质上是一份需要被参考的「内容」。强行把它设为二级领域，会让你的领域结构变得既有房间，又有书，造成混乱。

    **三、FLO.W 的解决方案**

    <Steps>
      <Step title="为「原则」正名，将它归入【笔记】">
        「践行原则」是高度浓缩的智慧结晶，是指导你行动的SOP，这正是【笔记】数据库存在的意义。

        1. 进入 `笔记管理` 数据库
        2. 创建一个新的笔记，标题可以是「我的个人践行原则」
        3. 在这篇笔记的页面内部，详细写下你的每一条原则
        4. 将这篇笔记关联到【一级领域】的「个人成长」

        现在，你的「书」已经放进了正确的「房间」。
      </Step>

      <Step title="用「关联」连接【项目】与【笔记】">
        现在，你可以为「完善原则」这个目标创建一个项目，并让它和你刚刚创建的原则笔记产生联动。

        1. 进入 `项目管理` 数据库
        2. 创建一个新项目，例如：「Q4 个人原则复盘与迭代」
        3. 将这个项目关联到【二级领域】的「个人心智模型建设」（或者其他你自定义的二级领域）下
        4. **最关键的一步**：在这个项目的「关联笔记」属性中，找到并关联上你那篇名为「我的个人践行原则」的笔记

        这样一来，我们就构建了一个全新的、更强大的结构：

        * **一级领域：** 个人成长
          * **二级领域：** 个人心智模型建设
            * **项目：** Q4 个人原则复盘与迭代
              * **关联的笔记** **【我的个人践行原则】**
              * **任务：** 1. 复盘上季度原则执行情况...

        【原则】这篇笔记不再是层级链条中僵化的一环，而是像一个外挂的知识 U 盘，灵活地插入到了需要它的项目中。
      </Step>
    </Steps>

    **这种做法的好处是：**

    * **结构清晰**：你的【领域】结构永远只存放责任区，保持着战略高度的纯粹性
    * **高度灵活**：同一篇「原则」笔记，未来还可以被「年度规划项目」、「人际关系复盘项目」等多个不同的项目所关联复用，真正实现知识的流动

    当你遇到一个新概念，不确定该如何安放时，可以问自己一个问题：它是一个我需要长期负责的「地方」，还是一个我需要参考或行动的「东西」？

    * 如果是「地方」，它应该是一个领域
    * 如果是「东西」，它很可能是一篇【笔记】或一个【项目】
  </Accordion>
</Accordions>

***

**想深入了解？** 阅读 [FLO.W 设计初衷](/flow/design-philosophy) 或 [重新审视 Notion，我的七年心得感悟](/blog/notion-7-year-reflection)。
