GrowPIP
← 返回所有规则

RULE

真实世界语义保持

[RULE] 真实世界语义保持

  • 类型: 原则
  • 强度: 8/10
  • 验证: ✓1 / ✗0

定义

IF: 设计系统行为或数据模型

THEN: 确保系统行为反映真实世界的因果关系,而非技术实现的偶然

  • 用户看到的应该是"世界发生了什么",而非"系统做了什么"
  • 技术细节不应泄漏到用户体验层

原理

系统是世界的镜子,不是自己的回声。

用户在使用产品时,心智模型是"真实世界"——邮件是别人发来的,日历是事件发生的时间,消息是朋友说的话。

当系统行为违背这个心智模型时(比如把"标签变更"当作"新邮件"),用户会困惑、不信任,最终放弃使用。

语义保持的核心:系统的输出应该对应真实世界的输入,而非技术层的中间状态。

示例

场景违背语义保持语义
Email 标签变更触发"新邮件"通知不通知,或仅在设置中可选
补录历史数据当作新数据推送静默补录,标记为"已同步"
消息撤回仍显示"有新消息"同步撤回状态
时区变更会议时间显示错乱始终显示用户本地时间

检验方法

问自己:

  1. 用户会怎么理解这个行为? 如果用户会困惑"为什么会这样",可能违背了语义。
  2. 真实世界发生了什么? 系统行为应该对应真实事件,而非技术事件。
  3. 如果我是用户,我会期望什么? 用常识判断。

与其他规则的关系

  • RULE-先Spec后代码 的补充——Spec 应该用真实世界语义描述
  • RULE-一句话检验 的应用——能用日常语言解释的行为才是对的
  • 补充 NODE-用户认知图谱(INFO-117)——理解用户心智模型

反模式

  • 技术泄漏:"因为数据库更新了所以通知你"
  • 实现驱动:"这样写代码更方便"
  • 内部视角:用系统术语而非用户语言

证据

支持

  • INFO-117:用户认知图谱(第一人称视角 vs 第三人称视角)

反例

  • 调试/开发模式:有时需要暴露技术细节以便排查问题
  • 专业工具:面向技术用户的产品可以使用技术语义

触发检查

设计系统行为时问自己:

  1. 这个行为对应真实世界的什么事件?
  2. 用户会怎么解读这个行为?
  3. 有没有技术细节泄漏到用户体验层?

关联

  • INFO: INFO-117(用户认知图谱)
  • RULE: RULE-先Spec后代码
  • RULE: RULE-一句话检验
  • NODE: NODE-AI-Agent(Agent 行为设计)