# 複雑システム障害論 ## 定義 [[Richard I. Cook]](Cognitive Technologies Laboratory, University of Chicago)が 1998 年に発表した 18 の命題からなる障害論。複雑システム(医療・輸送・発電・ソフトウェアインフラ等)における障害の本質・評価・帰属を体系化し、「根本原因」という概念の社会的構築性を指摘した。SRE・安全工学・ヒューマンファクタ研究の正典テキスト。([[@1998__CtL__How Complex Systems Fail]]) ## 18 命題の構造 ### 構造と防御(命題 1〜6): 複雑システムの恒常的な障害状態 | 命題 | 核心 | |--|--| | 1 | 本質的危険性 — 危険は排除不可能 | | 2 | 多層防御 — 通常は機能する | | 3 | 複数障害の組み合わせが破滅を生む | | 4 | **潜在的障害の混合を常に内包する** | | 5 | **劣化モードで稼働する** | | 6 | 破滅ポテンシャルは常に存在する | 命題 3〜5 は [[潜在的障害]] の概念に集約される。 ### 事故分析の認識論(命題 7〜8): 事後分析の限界 **命題 7: 根本原因帰属は根本的に誤りである** 複数障害が必要条件を構成するため、単一の「根本原因」は存在しない。RCA(Root Cause Analysis)は技術的理解ではなく、「特定の原因・出来事に責任を帰属させる社会的・文化的必要性」を反映する行為。([[@1998__CtL__How Complex Systems Fail]] 命題 7) **命題 8: ヒンドサイトバイアス** 結果知識が、事故前の実践者の視点の再現を不可能にする。→ [[ヒンドサイトバイアス]] ### 人間の役割(命題 9〜13): 適応的要素としての人間 **命題 9**: 生産者と障害防御者の**二重の役割**——外部者はどちらか一方を事後的に強調するが、実践者は常に両者を同時に担う。 **命題 10**: **すべての行動は賭け**——不確実な結果に直面した行為。成功も賭けの結果。 **命題 11: Sharp End**——組織の曖昧さはすべて最前線の実践者(sharp end)の行動によって解消される。生産圧力が「違反」と後から呼ばれる行動の原動力。 **命題 12**: **人間は複雑システムの適応的要素**——4 形態の適応: (1) 脆弱部の再構成、(2) 高需要域へのリソース集中、(3) 回復経路の確保、(4) 早期劣化検知。 **命題 13**: 人間の専門知識は絶えず変化する——技術変化と専門家の交代。 ### 変化・対策・安全性(命題 14〜18): 安全性の動的な性質 **命題 14**: 変化は新たな障害形態をもたらす——高頻度低影響障害を除去しようとする変化が、低頻度高影響障害を生む。 **命題 15**: 「人的エラー」への事後対策は複雑性を高める——終端対策は同一事故を防がず、新たな潜在的障害を増やす。 **命題 16: 安全性は創発的特性**——特定の人・デバイス・部門に宿るのではなく、システム全体の動的状態として存在する。 **命題 17: 人々が継続的に安全性を創る**——実践者の瞬時の適応が安全性を生成する。この事実は通常時に不可視。 **命題 18: エッジ・オブ・エンベロープ**——システムが性能劣化し始める境界の把握が安全性向上の前提。ハザードへの「調整済み視界(calibrated view)」が必要。 ## 横断的知見 - **根本原因否定と AIOps の緊張**: Cook の命題 7 は「根本原因分析」という用語そのものを問題視するが、AIOps・SRE ではこの用語が標準として使われ続けている。[[LLMによる根本原因分析]] は Cook が「社会的行為」と批判した RCA を自動化しようとする試みであり、「何を自動化しているのか」の再解釈が必要。(Source: [[@1998__CtL__How Complex Systems Fail]], [[LLMによる根本原因分析]]) - **劣化モードとメタステーブル障害**: 命題 5(劣化モードで稼働)は [[Metastable Failure]] の前史として読める。メタステーブル障害は「常に劣化モードで動いているシステムが、過渡的トリガを受けて自己持続的崩壊に転落するパターン」として位置づけられる。 - **適応的人間と自動化の皮肉**: 命題 12・17(人間の適応的役割)は [[自動化の皮肉]](Bainbridge 1983)と相補——自動化が進むほど人間の適応能力が重要になるが、その能力は使われないことで低下する。Cook は人間の適応を安全性の生成源として肯定的に捉える点で、Bainbridge の「皮肉」を強化する。 - **なめらかなシステムとの共鳴**: 命題 12・17(人間が継続的に安全性を創る)は [[なめらかなシステム]](三宅 DICOMO2018/2025)の「利用者・情報システム・開発運用者が継続的に相互影響する総体」という観点と共鳴する。どちらも人間の主体的関与を安全性・サービス品質の中心に置く。 ## 未解決の問い - RCA という実践を「社会的行為」と認めた上で、それでも「有用な RCA」を設計するにはどのような概念的転換が必要か。「根本原因」を「寄与因子」に置き換えるだけで十分か。 - 命題 18(エッジ・オブ・エンベロープの把握)をソフトウェアシステムの観点で実現する手段は何か——SLO のエラーバジェット消費速度や異常検知はその一形態か。 - 命題 14(変化が新障害を生む)を、CI/CD 高速デプロイメント環境で実証する事例はどの程度蓄積されているか。 ## 関連 - ソース: [[@1998__CtL__How Complex Systems Fail]] - 概念: [[潜在的障害]] / [[ヒンドサイトバイアス]] / [[根本原因分析]] / [[自動化の皮肉]] / [[Metastable Failure]] / [[なめらかなシステム]] - 実体: [[Richard I. Cook]] - 関連 MOC: [[SRE - MOC]] ## 出典 - [[@1998__CtL__How Complex Systems Fail]](Cook 1998, CtL; copyright 1998, 1999, 2000)