复杂系统如何失效

Hacker News Top 论文

摘要

本文讨论了复杂系统失效的基本原理,强调失效是固有的,而灾难需要多个同时失效的事件发生。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/08/23 16:39

# 复杂系统如何失效 来源:https://how.complexsystems.fail/ ## 复杂系统本质上是高危系统。(https://how.complexsystems.fail/#1) 所有有趣的系统(例如交通、医疗、发电)在其本质上都是固有且不可避免地具有危险性。危害暴露的频率有时可以改变,但系统中涉及的过程本身就具有内在且不可简化的危险性。正是这些危害的存在,推动了针对危害的防御措施的建立,这些防御措施正是此类系统的特征。 ## 复杂系统针对失效构建了严密而成功的防御。(https://how.complexsystems.fail/#2) 失效的高后果随着时间推移,促成了针对失效的多层防御体系的建立。这些防御包括明显的技术组成部分(例如备份系统、设备的“安全”功能)和人的组成部分(例如培训、知识),还包括各种组织、制度和监管层面的防御(例如政策与程序、认证、工作规则、团队培训)。这些措施的效果是提供了一系列通常能将运行引离事故轨道的屏障。 ## 灾难性事故需要多重失效叠加——单一故障点不足以导致灾难。(https://how.complexsystems.fail/#3) 这一系列防御体系是有效的。系统运行总体上是成功的。当小的、看似无害的故障相互结合,为系统性事故创造机会时,才会发生明显的灾难性失效。每一个小故障对于引发灾难都是必要的,但只有它们的组合才足以导致失效。换句话说,失效的机会比明显的系统事故要多得多。大多数初始失效轨迹会被设计好的系统安全部件所阻断。那些到达运行层面的轨迹,大部分也会被阻断,通常是由操作人员完成的。 ## 复杂系统内部存在不断变化的潜在失效组合。(https://how.complexsystems.fail/#4) 这些系统的复杂性使其在运行时不可避免地存在多种缺陷。由于这些缺陷单独都不足以导致失效,因此在运行中被视为次要因素。彻底消除所有潜在失效主要受经济成本限制,同时也因为在事先很难预见此类失效如何可能促成事故。失效会因技术变化、工作组织方式以及为消除失效所做的努力而不断变化。 ## 复杂系统在降级模式下运行。(https://how.complexsystems.fail/#5) 前述观点的一个推论是,复杂系统在“带病”状态下运行。系统之所以能持续运行,是因为它包含大量冗余设计,也因为人们能够使其运作,尽管存在许多缺陷。事故后审查几乎总会指出该系统有先前的“准事故”历史,这些准事故几乎酿成灾难。认为在明显事故发生前就应识别出这些降级状态的论点,通常基于对系统性能的天真假设。系统运行是动态的,组成要素(组织、人员、技术)不断失效并被替换。 ## 灾难性事故总是近在咫尺。(https://how.complexsystems.fail/#6) 复杂系统蕴含着灾难性失效的潜能。人类操作人员几乎总是与这些潜在失效在物理和时间上紧密相邻——灾难可能随时、在几乎任何地方发生。灾难性后果的潜在可能性是复杂系统的标志。无法消除此类灾难性失效的可能性;这种失效的可能性由系统自身本质所决定,始终存在。 ## 事故后将原因归结为“根本原因”在本质上是错误的。(https://how.complexsystems.fail/#7) 因为明显的失效需要多重故障,所以事故没有孤立的“原因”。事故有多个促成因素。其中每一个因素单独都不足以引发事故。只有将这些因素结合在一起,才足以导致事故。实际上,正是这些原因相互连接,创造了事故所需的条件。因此,不可能分离出事故的“根本原因”。基于“根本原因”这类推理的评估,反映的并非对失效本质的技术理解,而是社会文化层面的需求,即需要将结果归咎于特定的、局部的力量或事件。(https://how.complexsystems.fail/#footnote-1) 1 (https://how.complexsystems.fail/#7)人类学领域的田野研究最清晰地展示了“原因”这一概念的社会建构性(参见 Goldman L (1993), The Culture of Coincidence: accident and absolute liability in Huli, New York: Clarendon Press; 以及 Tasca L (1990), The Social Construction of Human Error, Unpublished doctoral dissertation, Department of Sociology, State University of New York at Stonybrook) ## 后见之明偏见会影响对事故后人员表现的评估。(https://how.complexsystems.fail/#8) 对结果的了解使得事件的某些方面在事后看来,似乎比当时操作人员实际感受到的更为显著。这意味着,对人员表现进行*事后*事故分析是不准确的。对结果的认知“毒害”了事故后观察者重现操作人员在事故发生前对同样因素看法的能力。似乎操作人员“本应知道”这些因素会“不可避免地”导致事故。(https://how.complexsystems.fail/#footnote-2) *后见之明偏见是事故调查的主要障碍,尤其涉及专业人员表现时。* 2 (https://how.complexsystems.fail/#8)这并非医学或技术判断的特点,而是人类所有关于过去事件及其原因的认知的共性。 ## 人类操作人员具有双重角色:作为生产者与作为失效的防御者。(https://how.complexsystems.fail/#9) 系统操作人员运行系统以生产其期望的产品,同时也努力预防事故。系统运行的这种动态特质,在生产需求与潜在失效可能性之间的平衡,是不可避免的。局外人很少承认这种角色的双重性。在没有事故发生的时期,生产角色被强调。事故发生后,抵御失效的角色被强调。无论何时,局外人的看法都误解了操作人员同时、持续地投入这两种角色的状态。 ## 所有操作人员的行为都是博弈。(https://how.complexsystems.fail/#10) 事故发生后,明显的失效看起来往往是不可避免的,操作人员的行为则被视作失误或刻意无视某些迫在眉睫的失效。但所有操作人员的行为实际上都是博弈,即在面对不确定结果时采取的行动。不确定的程度可能时刻变化。操作人员的行为是博弈这一点在事故后看来是明确的;通常,*事后*分析认为这些博弈是糟糕的。但反过来看:成功的结局同样是博弈的结果;这一点并未被广泛认识到。 ## 执行端的行动消解了所有模糊性。(https://how.complexsystems.fail/#11) 组织在生产目标、资源高效利用、运营经济性、成本以及可接受的低和高后果事故风险之间的关系上,往往是模糊的,有时甚至是故意的。所有这些模糊性都由处于系统执行端的操作人员的行动来消解。事故后,操作人员的行动可能被认定为“错误”或“违规”,但这些评估深受后见之明偏见的影响,并忽视了其他驱动因素,尤其是生产压力。 ## 人类操作人员是复杂系统中的适应性要素。(https://how.complexsystems.fail/#12) 操作人员和一线管理层积极调整系统,以最大化产出并最小化事故。这些调整往往是即时发生的。其中一些调整包括:(1) 重组系统,以减少脆弱部分暴露于失效的风险。(2) 将关键资源集中在预期需求较高的区域。(3) 为应对预期和非预期故障提供退避或恢复的途径。(4) 建立早期检测系统性能变化的方法,以便优雅地缩减生产或采取其他增强韧性的手段。 ## 复杂系统中的人类专业知识在不断变化。(https://how.complexsystems.fail/#13) 复杂系统的运行和管理需要大量的人类专业知识。这种专业知识的性质会随着技术变化而变化,但也因需要替代离开的专家而变化。在任何情况下,培训和精炼技能与专业知识都是系统本身功能的一部分。因此,在任何时刻,一个给定的复杂系统都会包含具有不同专业知识水平的操作人员和受训者。与专业知识相关的关键问题源于:(1) 需要将稀缺的专业知识用作应对最困难或要求最高的生产需求的资源;(2) 需要为未来使用培养专业知识。 ## 变化会引入新的失效形式。(https://how.complexsystems.fail/#14) 可靠系统中明显事故的低发生率可能会鼓励进行变革,特别是采用新技术,以减少低后果但高频次的失效。这些变化实际上可能为新的、低频次但高后果的失效创造机会。当新技术被用于消除众所周知的系统失效或获得高精度性能时,它们常常会引入通向大规模、灾难性失效的新路径。通常,这些新的、罕见的灾难性事故,其影响甚至比被新技术消除的那些更大。这些新的失效形式在事先很难察觉;注意力主要集中在变革所带来的所谓有益特性上。因为这些新的高后果事故发生率很低,在事故发生前可能发生多次系统变更,使得技术对失效的贡献难以看清。 ## 对“原因”的看法限制了对未来事件防御措施的有效性。(https://how.complexsystems.fail/#15) 事故后针对“人为错误”的补救措施,通常基于阻断那些可能“导致”事故的活动。这些末端干预措施对减少进一步事故的可能性收效甚微。事实上,相同事故发生的可能性已经极低,因为潜在失效的模式在不断变化。事故后的补救措施非但没有增加安全性,反而通常增加了系统的耦合度和复杂性。这增加了潜在失效的数量,也使得检测和阻断事故轨迹更加困难。 ## 安全是系统的特性,而非其组成部分的特性。(https://how.complexsystems.fail/#16) 安全是系统涌现的属性;它不存在于个人、设备、组织或系统的某个部门中。安全不能被购买或制造;它不是与系统其他组成部分分离的一个特性。这意味着安全不能像原料或素材那样被操纵。任何系统中的安全状态总是动态的;持续的系统变化确保了危害及其管理始终处于变化之中。 ## 人们持续创造安全。(https://how.complexsystems.fail/#17) 无失效运行是人们努力将系统保持在可接受性能边界内的活动结果。这些活动大部分属于正常运行范畴,表面上简单直接。但由于系统运行从不毫无问题,人类操作人员对不断变化条件的调整,实际上在时刻创造着安全。这些调整通常只是从可用响应库中选择一个训练有素的常规程序;但有时,调整也可能是新颖的组合或全新方法的创造。 ## 无失效运行需要失效经验。(https://how.complexsystems.fail/#18) 认识危害并成功操控系统运行以保持在可接受性能边界内,需要与失效有密切接触。在操作人员能够识别“性能包线边缘”的系统中,更有可能出现更强健的系统性能。这个边缘是系统性能开始恶化、变得难以预测或不易恢复的地方。在本质高危的系统中,期望操作人员能够遭遇并理解危害,从而导向整体上理想的性能。安全性的提高依赖于为操作人员提供对危害的校准视图。这也依赖于让他们理解其行动如何将系统性能推向或远离性能包线的边缘。

相似文章

论协调失灵

Reddit r/AI_Agents

一篇分析协调失灵概念的学术论文,可能涉及多智能体系统或经济语境。