用标准操作单元的时间常数累加估算
别名: KLM · 击键层模型 · 操作时间估算 · 单位算子
概念解释
击键层模型(Keystroke-Level Model, KLM)把熟练任务拆成标准操作单元——按键、指向、鼠标移动、拖拽、按钮按下、心理准备、系统响应——并为每类分配时间常数,按序列累加估算无错误完成时间。它是 GOMS 家族里最轻量的一个成员:GOMS 需要先建立目标层级和选择规则才能分解方法,KLM 则跳过这一层,直接假设方法已知、路径唯一,只做"这条已知路径要花多久"这一件事,代价是换来了远低于完整 GOMS 分析的建模成本。
机制
KLM 之所以能把复杂的人类操作简化成几个固定类别的时间常数相加,依赖的是一个关键假设:只要任务路径已知、用户足够熟练、执行过程中不出错,操作序列本身就是确定的,确定的序列才能被拆成独立的单元逐个计时再相加。这个假设把"预测耗时"这个原本涉及认知、动机和环境的复杂问题,压缩成了一道纯粹的算术题——按键次数乘以按键常数,加上指向次数乘以指向常数,再加上心理准备和系统等待的次数与时长。分解时必须先把整条输入流按时间顺序列出来,再给每一步标注类别、发生次数和持续时间;系统响应这一项比较特殊,因为它不由用户操作决定,需要单独实测或者用历史数据估算,不能套用固定常数。这套方法天生适合比较键盘鼠标类任务的设计变体,尤其是当两个方案在步骤数、输入量或者等待发生的位置上存在差异时,KLM 能把这些差异转成具体的数字差。
怎么研究
研究时要先定义清楚任务、设备、输入方式和熟练用户实际采用的操作路径,再把这条路径按 K(按键)、P(指向)、B(按钮)、H(移动手到设备)、M(心理准备)、R(系统响应)这几类编码。记录每一类操作单元的重复次数,系统响应部分要用真实测量值而不是凭经验假设,把各项加总得到预测总时后,再和熟练用户的真实完成时间做比较。如果预测值和实测值之间存在明显误差,需要逐项排查误差来源:触摸目标是不是比预期小导致指向变慢、输入法的联想或自动补全是不是改变了按键次数、系统等待的实际分布和假设值差多少,还是用户实际采用的策略本身和分解时假设的路径不一致。
边界
KLM 不预测学习过程、错误、犹豫、协作行为、多任务切换和更复杂的认知负荷,这些都超出了它"熟练无错的单一路径"这个前提所能覆盖的范围。触屏、语音交互、眼动控制和延迟波动较大的网络环境,各自都有和传统键盘鼠标环境不同的操作特性,直接套用桌面场景标定出来的常数会系统性地偏离真实值,需要针对新的输入方式重新扩展操作类别或者重新标定常数,而不是简单地把旧常数搬过来用。如果任务本身的操作路径不稳定——比如不同用户为了达成同一个目标走了完全不同的操作序列——那么无论常数标定得多准,累加出来的结果都会失真,因为模型算的从来不是"这个目标平均要多久",而是"这一条具体路径要多久"。
怎么落地
- 为每个候选设计方案单独建立一份操作序列表,逐条标注每个操作单元属于哪一类、重复了几次。
- 比较不同设计方案时,重点看操作总数、心理准备次数、长距离移动和系统等待这几项指标的差异,而不是只看总耗时这一个数字。
- 用少数几名真正熟练的用户实测校准关键的时间常数,不要不加验证地直接沿用文献或其他产品里的旧数值。
- 验证办法:把 KLM 给出的时间估算,和错误率、可发现性、恢复成本这几项数据放在同一份报告里一起呈现,避免读者误以为一个耗时数字就足以说明这个设计好不好用。