VOCABULARY / 词条
互锁
Interlock
一种强制约束:在必要条件满足之前,某个操作根本无法被执行。它不是提醒用户注意顺序,而是让错误的顺序在结构上不可能发生。

识别特征
- 条件不满足时,操作不可用且无法被绕过
- 系统说明缺的是哪个条件,而不是只说"不可用"
- 条件一旦满足,约束自行解除,无需额外步骤
概念边界
互锁的判定标准是"做不到",而不是"被劝阻"。弹出一个确认框、显示一条警告、把按钮调成灰色但仍可点击——这些都不是互锁,因为错误的顺序仍然可以发生。它与一般的防错也不同:防错涵盖提示、校验、撤销等所有减少失误的手段,互锁只是其中最强硬的一种,代价也最高。因为它剥夺了用户在特殊情况下自行判断的余地,所以只应用在后果严重且不可逆的地方;把它用在普通操作上,会把每一次正常使用都变成一次闯关。
什么时候考虑它
- 顺序错误会造成不可逆的损失,例如数据丢失或资金损失
- 操作会影响到本人之外的其他人,事后无法补救
- 前置条件是客观可判定的,而不是需要人来权衡的
什么时候慎用
- 后果轻微或可撤销,互锁只是增加了一道摩擦
- 前置条件的判断本身可能出错,用户却没有申诉或覆盖的余地
- 用它锁住的其实是商业目的而不是安全,例如不填够信息就不让退出
取舍
互锁把一整类顺序错误彻底消除,代价是它同时消除了例外:当系统对前置条件的判断本身出错时,用户没有任何办法继续,只能求助于系统之外。
条件规则 · 编辑建议
相关词条
防错涵盖提示、校验与撤销等多种手段,互锁是其中最强硬的一种:它不减少概率,而是把可能性去掉。
互锁由客观条件把关,人工审批由人把关;条件可判定时用前者,需要权衡时用后者。
它剥夺了用户自行判断的余地;这一代价只在后果不可逆时才值得付。
以安全之名锁住出口,实际上是在退出路径上设障,与互锁的正当用途无关。
来源与支持范围
该条目说明互锁是工程与安全系统中常用的特性或装置,用来在防护装置未就位或所需条件未满足之前阻止机器、设备与流程运行;使用互锁的目的包括防止或降低操作者受伤、设备损坏,以及"动作以错误顺序或以不安全方式被完成"的风险。本词条的定义与"顺序"这一核心据此转述。
检索日期:2026-09-16 · 快照待确认该条目把 poka-yoke 定义为流程中任何帮助操作者避免失误与缺陷的机制——通过在人为错误发生时预防、纠正或引起注意来实现——并记录该概念有时也被称为"强制功能"(forcing function)或"行为塑形约束"(behavior-shaping constraint);本词条据此把互锁定位为这一族手段中最强硬的一种,其"只用于严重后果"的取舍属编辑判断。
检索日期:2026-09-16 · 快照待确认定义参考以上来源;数字界面示例、选择建议、条件关系及配方由本样例编辑,尚未经用户研究验证。
类型扩展与实现说明
本词条尚无可操作示例;插画为编辑示意,展示条件未满足与已满足两种状态,不代表已验证的实现。应用到产品前仍须确认后果确实不可逆,并为判断出错的情况准备申诉路径。
{
"evidenceType": "源自工程安全实践的强制约束概念,在交互设计中被归入防错手段一族",
"limit": "本词条不判断某个具体操作是否严重到值得互锁,也不提供失误率数据;这一取舍须由产品按后果的可逆性自行判断。"
}完整 Agent 条目 JSON
{
"id": "interlock",
"type": "principle",
"name": {
"zh": "互锁",
"en": "Interlock"
},
"aliases": [
"Interlocking",
"Sequence Lock",
"联锁",
"顺序锁定"
],
"granularity": "component",
"intents": [
"prevent-error",
"confirm-action"
],
"tags": [
"防错",
"顺序",
"前置条件",
"安全",
"约束"
],
"definition": "一种强制约束:在必要条件满足之前,某个操作根本无法被执行。它不是提醒用户注意顺序,而是让错误的顺序在结构上不可能发生。",
"boundary": "互锁的判定标准是\"做不到\",而不是\"被劝阻\"。弹出一个确认框、显示一条警告、把按钮调成灰色但仍可点击——这些都不是互锁,因为错误的顺序仍然可以发生。它与一般的防错也不同:防错涵盖提示、校验、撤销等所有减少失误的手段,互锁只是其中最强硬的一种,代价也最高。因为它剥夺了用户在特殊情况下自行判断的余地,所以只应用在后果严重且不可逆的地方;把它用在普通操作上,会把每一次正常使用都变成一次闯关。",
"signature": [
"条件不满足时,操作不可用且无法被绕过",
"系统说明缺的是哪个条件,而不是只说\"不可用\"",
"条件一旦满足,约束自行解除,无需额外步骤"
],
"when": [
"顺序错误会造成不可逆的损失,例如数据丢失或资金损失",
"操作会影响到本人之外的其他人,事后无法补救",
"前置条件是客观可判定的,而不是需要人来权衡的"
],
"when_not": [
"后果轻微或可撤销,互锁只是增加了一道摩擦",
"前置条件的判断本身可能出错,用户却没有申诉或覆盖的余地",
"用它锁住的其实是商业目的而不是安全,例如不填够信息就不让退出"
],
"tradeoff": "互锁把一整类顺序错误彻底消除,代价是它同时消除了例外:当系统对前置条件的判断本身出错时,用户没有任何办法继续,只能求助于系统之外。",
"comparison": {
"focus": "让错误的操作顺序无法发生",
"mechanism": "条件未满足前操作不可执行,且无法绕过",
"cost": "同时消除了例外情况下的人工判断余地"
},
"sources": [
{
"id": "interlock-wikipedia",
"title": "Wikipedia · Interlock (engineering)",
"url": "https://en.wikipedia.org/wiki/Interlock",
"claim": "该条目说明互锁是工程与安全系统中常用的特性或装置,用来在防护装置未就位或所需条件未满足之前阻止机器、设备与流程运行;使用互锁的目的包括防止或降低操作者受伤、设备损坏,以及\"动作以错误顺序或以不安全方式被完成\"的风险。本词条的定义与\"顺序\"这一核心据此转述。",
"checkedAt": "2026-09-16",
"archive": {
"lookupUrl": "https://web.archive.org/web/20260916*/https://en.wikipedia.org/wiki/Interlock",
"status": "pending",
"checkedAt": "2026-09-22T11:56:27.812Z",
"error": "status-request-failed",
"jobId": "spn2-ceefb5ca25267935a17e08479ce3ba2e805b506f"
}
},
{
"id": "interlock-pokayoke",
"title": "Wikipedia · Poka-yoke",
"url": "https://en.wikipedia.org/wiki/Poka-yoke",
"claim": "该条目把 poka-yoke 定义为流程中任何帮助操作者避免失误与缺陷的机制——通过在人为错误发生时预防、纠正或引起注意来实现——并记录该概念有时也被称为\"强制功能\"(forcing function)或\"行为塑形约束\"(behavior-shaping constraint);本词条据此把互锁定位为这一族手段中最强硬的一种,其\"只用于严重后果\"的取舍属编辑判断。",
"checkedAt": "2026-09-16",
"archive": {
"lookupUrl": "https://web.archive.org/web/20260916*/https://en.wikipedia.org/wiki/Poka-yoke",
"status": "unconfirmed",
"checkedAt": "2026-09-16T17:38:41.161Z",
"error": "status-request-failed",
"jobId": "spn2-6a3ff4d457a1759d36865144e6ba8d17b7c7a5e4"
}
}
],
"relations": [
{
"target": "error-prevention",
"kind": "realized_by",
"condition": "某一类失误必须被彻底排除而不只是减少",
"reason": "防错涵盖提示、校验与撤销等多种手段,互锁是其中最强硬的一种:它不减少概率,而是把可能性去掉。",
"basis": "editorial"
},
{
"target": "human-approval",
"kind": "alternative",
"condition": "某个动作在执行前需要额外的把关",
"reason": "互锁由客观条件把关,人工审批由人把关;条件可判定时用前者,需要权衡时用后者。",
"basis": "editorial"
},
{
"target": "user-control",
"kind": "conflicts_when",
"condition": "互锁被用在后果并不严重的普通操作上",
"reason": "它剥夺了用户自行判断的余地;这一代价只在后果不可逆时才值得付。",
"basis": "editorial"
},
{
"target": "obstruction",
"kind": "conflicts_when",
"condition": "被锁住的是退出、注销或退订一类用户想要离开的动作",
"reason": "以安全之名锁住出口,实际上是在退出路径上设障,与互锁的正当用途无关。",
"basis": "editorial"
}
],
"rules": [
{
"when": "某个操作因条件未满足而不可用",
"instruction": "说明缺少的是哪一个条件以及如何满足它,而不是只把控件置灰。",
"strength": "must",
"basis": "editorial"
},
{
"when": "系统对前置条件的判断可能出错",
"instruction": "提供一条人工申诉或覆盖的路径,并记录谁在什么时候覆盖了它。",
"strength": "must",
"basis": "editorial"
}
],
"principle": {
"evidenceType": "源自工程安全实践的强制约束概念,在交互设计中被归入防错手段一族",
"limit": "本词条不判断某个具体操作是否严重到值得互锁,也不提供失误率数据;这一取舍须由产品按后果的可逆性自行判断。"
},
"demo": null,
"version": "0.1.0",
"editorialStatus": "drafted",
"requirements": [],
"demoCapabilities": [],
"implementationNote": "本词条尚无可操作示例;插画为编辑示意,展示条件未满足与已满足两种状态,不代表已验证的实现。应用到产品前仍须确认后果确实不可逆,并为判断出错的情况准备申诉路径。",
"image": {
"src": "/images/interlock.webp",
"alt": "一张对照示意图:左侧一个虚构面板中的绿色操作按钮被一道橙色横杠压住,右侧排着灰色占位文字条,面板上方的一排条件指示中有的已完成、有的仍为空;右侧同一面板的条件指示全部打勾,横杠消失,按钮成为可点击的橙色。"
},
"searchTerms": [
"error prevention",
"sequence",
"precondition",
"safety",
"constraint"
]
}