错误状态:按用户后果分类而非按颜色分类
Schema-As-Code 阶段一"组件语义快照与模式诊断"的目标,是在AI生成内容之前建立可复用的界面语义检查方法。
我为此设计了6字段语义快照记录法:组件类型、视觉特征、文案内容、交互行为、使用场景、用户困惑。
其中"用户困惑"是诊断语义漂移的关键输入,记录用户面对组件时的真实疑问,指向语义层的缺失。
通过语义快照的采集与聚类,我发现AI产品在错误状态组件上存在共性失真:
系统用红色统一表达所有故障,但用户面对不同故障时的后果完全不同。
这种"颜色统一、后果分级缺失"的现象构成了错误状态组件的语义断层。
分类依据:用户后果,而非视觉颜色
错误状态的分类标准不应是"是否用了红色",而应是"用户遭遇该故障后的后果严重程度"。
红色只传达情绪,不传达信息。
用户的核心困惑是:这个错误是刷新即可恢复,还是数据已经丢失?
如果系统没有区分这些后果差异,用户只能依靠猜测行动。
分类法:四级后果分级
基于用户后果严重程度,我将错误状态划分为四个语义级别:
Fatal(系统级故障):对上下文可能已丢失,必须提供恢复路径,使用最高视觉权重(红色脉冲、八边形警告图标)。
Transient(网络层故障):系统可自动恢复,用户无需操作。使用中性视觉权重(灰色加载、旋转图标),显示自动重试进度。
Retryable(限流/流控):用户可自助恢复,通常只需等待或升级。使用黄色提示,明确显示剩余等待时间或升级路径。
Degraded(部分功能可用):核心流程仍可继续。使用蓝色提示,说明可用功能并提供替代方案。
诊断方法:三个判定问
诊断错误状态组件是否触发 ERR-001 语义断层模式,
需验证三个语义约束条件
用户恢复路径完整性、系统自动恢复标识、上下文持久性声明
任一约束校验未通过时,即判定该组件存在语义断层。
语义契约:ERR-001
基于上述分类法,我将错误状态的语义约束形式化为YAML契约
该契约定义了四种错误级别的语义令牌、视觉映射和用户行动。
当AI生成错误状态界面时,此契约可被编译为Prompt前缀注入生成指令,或被前端组件库消费为Props校验规则。
验证:语义分级器
我设计的在线语义分级器可输入任意错误文案,自动匹配语义级别并输出建议的视觉映射和用户行动。
例如输入"请求过于频繁,请稍后再试",系统匹配到retryable级别,建议黄色提示、时钟图标、等待倒计时或升级路径。
Schema-As-Code 阶段一"组件语义快照与模式诊断"的目标,是在AI生成内容之前建立可复用的界面语义检查方法。
我为此设计了6字段语义快照记录法:组件类型、视觉特征、文案内容、交互行为、使用场景、用户困惑。
其中"用户困惑"是诊断语义漂移的关键输入,记录用户面对组件时的真实疑问,指向语义层的缺失。
通过语义快照的采集与聚类,我发现AI产品在错误状态组件上存在共性失真:
系统用红色统一表达所有故障,但用户面对不同故障时的后果完全不同。
这种"颜色统一、后果分级缺失"的现象构成了错误状态组件的语义断层。
分类依据:用户后果,而非视觉颜色
错误状态的分类标准不应是"是否用了红色",而应是"用户遭遇该故障后的后果严重程度"。
红色只传达情绪,不传达信息。
用户的核心困惑是:这个错误是刷新即可恢复,还是数据已经丢失?
如果系统没有区分这些后果差异,用户只能依靠猜测行动。
分类法:四级后果分级
基于用户后果严重程度,我将错误状态划分为四个语义级别:
Fatal(系统级故障):对上下文可能已丢失,必须提供恢复路径,使用最高视觉权重(红色脉冲、八边形警告图标)。
Transient(网络层故障):系统可自动恢复,用户无需操作。使用中性视觉权重(灰色加载、旋转图标),显示自动重试进度。
Retryable(限流/流控):用户可自助恢复,通常只需等待或升级。使用黄色提示,明确显示剩余等待时间或升级路径。
Degraded(部分功能可用):核心流程仍可继续。使用蓝色提示,说明可用功能并提供替代方案。
诊断方法:三个判定问
诊断错误状态组件是否触发 ERR-001 语义断层模式,
需验证三个语义约束条件
用户恢复路径完整性、系统自动恢复标识、上下文持久性声明
任一约束校验未通过时,即判定该组件存在语义断层。
语义契约:ERR-001
基于上述分类法,我将错误状态的语义约束形式化为YAML契约
该契约定义了四种错误级别的语义令牌、视觉映射和用户行动。
当AI生成错误状态界面时,此契约可被编译为Prompt前缀注入生成指令,或被前端组件库消费为Props校验规则。
验证:语义分级器
我设计的在线语义分级器可输入任意错误文案,自动匹配语义级别并输出建议的视觉映射和用户行动。
例如输入"请求过于频繁,请稍后再试",系统匹配到retryable级别,建议黄色提示、时钟图标、等待倒计时或升级路径。